void create_featext_frame(Widget w, XtPointer client_data, XtPointer call_data) { int x, y, i; Widget dialog; set_wait_cursor(); if (feui.top == NULL) { char *label2[3]; label2[0] = "Accept"; label2[1] = "Close"; XmGetPos(app_shell, 0, &x, &y); feui.top = XmCreateDialogShell(app_shell, "Feature Extraction", NULL, 0); handle_close(feui.top); XtVaSetValues(feui.top, XmNx, x, XmNy, y, NULL); dialog = XmCreateRowColumn(feui.top, "dialog_rc", NULL, 0); feui.tograph = CreateGraphChoice(dialog, "Results to graph: ", maxgraph, 1); feui.feature_item = CreatePanelChoice0(dialog, "Feature:", 3, 24, "Y minimum", "Y maximum", "Y average", "Y std. dev.", "Y median", "X minimum", "X maximum", "X average", "X std. dev.", "X median", "Frequency", "Period", "Zero crossing", "Rise time", "Fall time", "Slope", "Y intercept", "Set length", "Half maximal width", "Barycenter X", "Barycenter Y", "X(Y max)", "Y(X max)", NULL, 0); feui.xval_item = CreatePanelChoice(dialog, "X values from:", 5, "Index", "Legends", "X from Set", "Y from set", NULL, 0 ); for (i = 0; i < 4; i++) { XtAddCallback(feui.xval_item[2 + i], XmNactivateCallback, (XtCallbackProc) do_fext_toggle, (XtPointer) i); } XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, dialog, NULL); feui.legload_rc= XmCreateRowColumn(dialog, "fext_legload_rc", NULL, 0); feui.absic_graph = CreateGraphChoice(feui.legload_rc, "Abscissa from graph: ",maxgraph,0); for(i=0; i<maxgraph; i++ ) XtAddCallback(feui.absic_graph[2 + i], XmNactivateCallback, (XtCallbackProc) do_gto_setsel_update, (XtPointer) i); feui.absic_set = CreateSetSelector(feui.legload_rc, "set:", SET_SELECT_ACTIVE, FILTER_SELECT_NONE, 0, SELECTION_TYPE_SINGLE); update_save_set_list( feui.absic_set, 0 ); XtManageChild(feui.legload_rc); XtSetSensitive(feui.legload_rc, False); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, dialog, NULL); CreateCommandButtons(dialog, 2, but2, label2); XtAddCallback(but2[0], XmNactivateCallback, (XtCallbackProc) do_fext_proc,(XtPointer) & feui); XtAddCallback(but2[1], XmNactivateCallback, (XtCallbackProc)destroy_dialog,(XtPointer)feui.top); XtManageChild(dialog); } XtRaise(feui.top); unset_wait_cursor(); }
void do_props_proc(Widget w, XtPointer client_data, XtPointer call_data) { int x, y; static Widget top, acceptcallback; Widget dialog; EditPoints *ep = (EditPoints *) client_data; set_wait_cursor(); if (top == NULL) { Widget but1[2]; char *label1[2]; label1[0] = "Accept"; label1[1] = "Close"; XmGetPos(app_shell, 0, &x, &y); top = XmCreateDialogShell(app_shell, "Edit set props", NULL, 0); handle_close(top); XtVaSetValues(top, XmNx, x, XmNy, y, NULL); dialog = XmCreateRowColumn(top, "dialog_rc", NULL, 0); editp_col_item = CreatePanelChoice(dialog, "Apply to column:", 8, "1", "2", "3", "4", "5", "6", "All", NULL, 0); editp_format_item = CreatePanelChoice(dialog, "Format:", 4, "Decimal", "General", "Exponential", NULL, 0); editp_precision_item = CreatePanelChoice(dialog, "Precision:", 16, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", NULL, 0); editp_width_item = CreatePanelChoice0(dialog, "Width:", 5, 21, "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", NULL, 0); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, dialog, NULL); CreateCommandButtons(dialog, 2, but1, label1); XtAddCallback(but1[0], XmNactivateCallback, (XtCallbackProc) do_accept_props, (XtPointer) ep); XtAddCallback(but1[1], XmNactivateCallback, (XtCallbackProc) destroy_dialog, (XtPointer) top); XtManageChild(dialog); acceptcallback = but1[0]; } XtRemoveAllCallbacks(acceptcallback, XmNactivateCallback); XtAddCallback(acceptcallback, XmNactivateCallback, (XtCallbackProc) do_accept_props, (XtPointer) ep); update_props(ep); XtRaise(top); unset_wait_cursor(); }
static void do_ticklabels_proc(Widget w, XtPointer client_data, XtPointer call_data) { Widget wlabel, rc; int x, y; set_wait_cursor(); if (ticklabel_frame == NULL) { char *label1[2]; label1[0] = "Accept"; label1[1] = "Close"; XmGetPos(app_shell, 0, &x, &y); ticklabel_frame = XmCreateDialogShell(app_shell, "Tick labels", NULL, 0); handle_close(ticklabel_frame); XtVaSetValues(ticklabel_frame, XmNx, x, XmNy, y, NULL); ticklabel_panel = XmCreateRowColumn(ticklabel_frame, "ticklabel_rc", NULL, 0); tlfont = CreatePanelChoice(ticklabel_panel, "Font:", 11, "Times-Roman", "Times-Bold", "Times-Italic", "Times-BoldItalic", "Helvetica", "Helvetica-Bold", "Helvetica-Oblique", "Helvetica-BoldOblique", "Greek", "Symbol", 0, 0); rc = XmCreateRowColumn(ticklabel_panel, "rc", NULL, 0); XtVaSetValues(rc, XmNorientation, XmHORIZONTAL, NULL); tlcolor = CreateColorChoice(rc, "Color:", 0); tllinew = CreatePanelChoice(rc, "Line width:", 10, "1", "2", "3", "4", "5", "6", "7", "8", "9", 0, 0); XtManageChild(rc); rc = XmCreateRowColumn(ticklabel_panel, "rc", NULL, 0); XtVaSetValues(rc, XmNorientation, XmHORIZONTAL, NULL); wlabel = XtVaCreateManagedWidget("Char size:", xmLabelWidgetClass, rc, NULL); tlcharsize = XtVaCreateManagedWidget("stringsize", xmScaleWidgetClass, rc, XmNminimum, 0, XmNmaximum, 400, XmNvalue, 0, XmNshowValue, True, XmNprocessingDirection, XmMAX_ON_RIGHT, XmNorientation, XmHORIZONTAL, NULL); XtManageChild(rc); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, ticklabel_panel, NULL); tlform = CreatePanelChoice0(ticklabel_panel, "Format:", 4, 30, "Decimal", "Exponential", "Power", "General", "DD-MM-YY", "MM-DD-YY", "YY-MM-DD", "MM-YY", "MM-DD", "Month-DD", "DD-Month", "Month (abrev.)", "Month (abrev.)-YY", "Month", "Day of week (abrev.)", "Day of week", "Day of year", "HH:MM:SS.s", "MM-DD HH:MM:SS.s", "MM-DD-YY HH:MM:SS.s", "YY-MM-DD HH:MM:SS.s", "Degrees (lon)", "DD MM' (lon)", "DD MM' SS.s\" (lon)", "MM' SS.s\" (lon)", "Degrees (lat)", "DD MM' (lat)", "DD MM' SS.s\" (lat)", "MM' SS.s\" (lat)", 0, 0); tlprec = CreatePanelChoice(ticklabel_panel, "Precision:", 11, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 0, 0); tlappstr = CreateTextItem2(ticklabel_panel, 10, "Append to labels:"); tlprestr = CreateTextItem2(ticklabel_panel, 10, "Prepend to labels:"); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, ticklabel_panel, NULL); tlstagger = CreatePanelChoice(ticklabel_panel, "Stagger labels:", 11, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 0, 0); tlskip = CreatePanelChoice(ticklabel_panel, "Skip every:", 11, "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", 0, 0); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, ticklabel_panel, NULL); rc = XmCreateRowColumn(ticklabel_panel, "rc", NULL, 0); XtVaSetValues(rc, XmNorientation, XmHORIZONTAL, NULL); tlstarttype = CreatePanelChoice(rc, "Start labels at:", 3, "Graph min", "Specified:", 0, 0); tlstart = XtVaCreateManagedWidget("tlstart", xmTextWidgetClass, rc, XmNtraversalOn, True, XmNcolumns, 10, NULL); XtManageChild(rc); rc = XmCreateRowColumn(ticklabel_panel, "rc", NULL, 0); XtVaSetValues(rc, XmNorientation, XmHORIZONTAL, NULL); tlstoptype = CreatePanelChoice(rc, "Stop labels at:", 3, "Graph max", "Specified:", 0, 0); tlstop = XtVaCreateManagedWidget("tlstop", xmTextWidgetClass, rc, XmNtraversalOn, True, XmNcolumns, 10, NULL); XtManageChild(rc); tlloc = (Widget *) CreatePanelChoice(ticklabel_panel, "Location:", 3, "On ticks", "Between ticks", NULL, NULL); rc = XmCreateRowColumn(ticklabel_panel, "rc", NULL, 0); XtVaSetValues(rc, XmNorientation, XmHORIZONTAL, NULL); tllayout = (Widget *) CreatePanelChoice(rc, "Layout:", 4, "Horizontal", "Vertical", "Specified (degrees):", NULL, NULL); tlangle = XtVaCreateManagedWidget("ticklangle", xmScaleWidgetClass, rc, XmNminimum, 0, XmNmaximum, 360, XmNvalue, 100, XmNshowValue, True, XmNprocessingDirection, XmMAX_ON_RIGHT, XmNorientation, XmHORIZONTAL, NULL); XtManageChild(rc); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, ticklabel_panel, NULL); ticklop = CreatePanelChoice(ticklabel_panel, "Draw tick labels on:", 4, "Normal side", "Opposite side", "Both", 0, 0); tlsign = CreatePanelChoice(ticklabel_panel, "Sign of label:", 4, "As is", "Absolute value", "Negate", NULL, 0); ticklabel_applyto = CreatePanelChoice(ticklabel_panel, "Apply to:", 5, "Current axis", "All axes, current graph", "Current axis, all graphs", "All axes, all graphs", NULL, 0); XtVaCreateManagedWidget("sep", xmSeparatorWidgetClass, ticklabel_panel, NULL); CreateCommandButtons(ticklabel_panel, 2, but1, label1); XtAddCallback(but1[0], XmNactivateCallback, (XtCallbackProc) accept_ticklabel_proc, (XtPointer) 0); XtAddCallback(but1[1], XmNactivateCallback, (XtCallbackProc) destroy_dialog, (XtPointer) ticklabel_frame); XtManageChild(ticklabel_panel); } XtRaise(ticklabel_frame); update_ticklabel_items(cg); unset_wait_cursor(); }