137 dashtab = g_malloc0 (
sizeof*dashtab);
215 else if (
axis < 0.0025)
219 else if (
axis < 0.005)
223 else if (
axis < 0.025)
227 else if (
axis < 0.05)
231 else if (
axis < 0.25)
235 else if (
axis < 0.5 )
239 else if (
axis < 1.5 )
275 else if (
axis < 1000)
279 else if (
axis < 5000)
283 else if (
axis < 10000)
287 else if (
axis < 50000)
291 else if (
axis < 100000)
295 else if (
axis < 500000)
299 else if (
axis < 1000000)
317 x_min =
resol[0] * this_proj -> curves[rid][cid] -> frame_pos[0][0];
318 x_max =
resol[0] * this_proj -> curves[rid][cid] -> frame_pos[0][1];
319 y_max =
resol[1] * (1.0 - this_proj -> curves[rid][cid] -> frame_pos[1][1]);
321 y_min =
resol[1] * (1.0 - this_proj -> curves[rid][cid] -> frame_pos[1][0]);
374 for (i=0; i<interv; i++)
390void save_curve_ (
int * interv,
double datacurve[* interv],
int * cid,
int * rid)
405 int inter = (* rid ==
SP) ? * interv/2 + 1: * interv;
422 for (i=0; i<inter; i++)
424 active_project -> curves[* rid][* cid] -> data[1][i] = datacurve[i*2];
455 for ( i = 0 ; i < this_proj -> numc[
c] ; i ++ )
457 if (this_proj -> curves[
c][i])
459 if (this_proj -> curves[
c][i] -> window)
465 g_free (this_proj -> curves[
c][i] ->
path);
466 this_proj -> curves[
c][i] ->
path = NULL;
494 if (this_proj -> idcc[j] != NULL)
496 for (k=0; k<this_proj -> numc[j]; k++)
498 if (this_proj -> curves[j][k] -> extrac > 0)
500 ctmp = this_proj -> curves[j][k] -> extrac -> first;
501 for (l=0; l<this_proj -> curves[j][k] -> extrac -> extras; l++)
503 if (ctmp ->
id.
a ==
a && ctmp ->
id.
b ==
b && ctmp ->
id.
c ==
c)
505 remove_extra (this_proj -> curves[j][k] -> extrac, ctmp);
508 if (ctmp -> next != NULL) ctmp = ctmp -> next;
530 for (i=0 ; i<this_proj -> numc[
c]; i ++)
532 if (this_proj -> curves[
c][i])
537 if (this_proj -> curves[
c][i] -> data[j])
539 free (this_proj -> curves[
c][i] -> data[j]);
540 this_proj -> curves[
c][i] -> data[j] = NULL;
543 if (this_proj -> curves[
c][i] -> name)
545 g_free (this_proj -> curves[
c][i] -> name);
546 this_proj -> curves[
c][i] -> name = NULL;
548 g_free (this_proj -> curves[
c][i]);
549 this_proj -> curves[
c][i] = NULL;
568 for (k=0; k<this_proj -> numc[j]; k++)
570 if (this_proj -> curves[j][k] ->
plot != NULL)
574 gtk_widget_queue_draw (this_proj -> curves[j][k] ->
plot);
Callback declarations for main window.
Variable declarations for the curve layout edition window.
void set_curve_data_zero(int rid, int cid, int interv)
initialize curve data
void adjust_tool_model(int calc, int curve, gchar *string_path)
adjust the content of the tool box tree model
void save_curve_(int *interv, double datacurve[*interv], int *cid, int *rid)
save calculation results from Fortran90
void erase_curves(project *this_proj, int c)
free all curve(s) data
double scale(double axe)
find appropriate major tick spacing based on axis length
void hide_curves(project *this_proj, int c)
for project hide all curves for a calculation
void prep_plot(project *this_proj, int rid, int cid)
prepare curve plot (setting up variables for the plot)
curve_dash * selectdash(int iddash)
setup dash pointer
void update_curve(gpointer data)
update curve rendering
void clean_this_curve_window(int cid, int rid)
free curve window data
void remove_this_curve_from_extras(int a, int b, int c)
free all target (a,b,c) curve from other curve(s) extra(s)
void update_curves()
update all curve(s) rendering for all project(s) in the workspace
Variable declarations for the curve widget Functions for interactions with the curve widget.
void autoscale_axis(project *this_proj, int rid, int cid, int aid)
autoscale axis
void remove_extra(ExtraSets *sets, CurveExtra *ctmp)
remove data from extra set(s)
double * duplicate_double(int num, double *old_val)
copy a list of double
double * allocdouble(int val)
allocate a double * pointer
Global variable declarations Global convenience function declarations Global data structure defin...
gboolean is_the_widget_visible(GtkWidget *widg)
test if a GtkWidget exist, then return if it is visible or not
void hide_the_widgets(GtkWidget *widg)
hide GtkWidget
project * get_project_by_id(int p)
get project pointer using id number
struct axis axis
axis layout data structure
Messaging function declarations.
Function declarations for reading atomes project file Function declarations for saving atomes proje...