⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_panel.c

📁 seismic software,very useful
💻 C
📖 第 1 页 / 共 5 页
字号:
                  XmNvalue, AxisScaledValue(axis, ui->start), NULL);    XtVaSetValues(ui->a_end,                  XmNdecimalPoints, AxisPrec(axis),                  XmNminimum, AxisScaledValue(axis, 0),                  XmNmaximum, AxisScaledValue(axis, AxisSize(axis) - 1),                  XmNvalue, AxisScaledValue(axis,                                            (ui->across * ui->down * ui->delta +                                             ui->start) <                                            (AxisSize(axis) -                                             1) ? AxisScaledValue(axis,                                                                  ui->across *                                                                  ui->down *                                                                  ui->delta +                                                                  ui->                                                                  start) :                                            AxisScaledValue(axis,                                                            AxisSize(axis) -                                                            1)), NULL);}/* execute array control panel settings */void UIArrayDraw(void){    extern View view;    Axis     axis;    int      iaxis, value;    if( ui->dir != AxisDir(axis = MapAxis(ViewMap(view, AXIS_DEEP))) ){        if( ui->dir == AxisDir(axis = MapAxis(ViewMap(view, AXIS_ACROSS))) ){            MapSwap(ViewMap(view, AXIS_DEEP), ViewMap(view, AXIS_ACROSS));        } else {            axis = MapAxis(ViewMap(view, AXIS_DOWN));            MapSwap(ViewMap(view, AXIS_DEEP), ViewMap(view, AXIS_DOWN));        }    }    XtVaGetValues(ui->a_across, XmNvalue, &ui->across, NULL);    XtVaGetValues(ui->a_down, XmNvalue, &ui->down, NULL);    XtVaGetValues(ui->a_delta, XmNvalue, &value, NULL);    ui->delta = AxisScaledIndex(axis, value + AxisScaledValue(axis, 0));    XtVaGetValues(ui->a_start, XmNvalue, &value, NULL);    ui->start = AxisScaledIndex(axis, value);    ViewArray(ui->across, ui->down, ui->start, ui->delta);    UISizeReset();}/* close array control panel */void UIArrayClose(void){    XtPopdown(ui->a_shell);    ui->shell = 0;}/* synchronize array end slider with other array slider adjustments */void UIArrayEndAdjust(void){    extern Data data;    Axis     axis;    int      max, value;    axis = DataAxis(data, ui->dir);    XtVaGetValues(ui->a_across, XmNvalue, &ui->across, NULL);    XtVaGetValues(ui->a_down, XmNvalue, &ui->down, NULL);    XtVaGetValues(ui->a_delta, XmNvalue, &value, NULL);    ui->delta = AxisScaledIndex(axis, value + AxisScaledValue(axis, 0));    XtVaGetValues(ui->a_start, XmNvalue, &value, NULL);    ui->start = AxisScaledIndex(axis, value);    XtVaGetValues(ui->a_end, XmNmaximum, &value, NULL);    max = AxisScaledIndex(axis, value);    XtVaSetValues(ui->a_end,                  XmNvalue, max <                  (ui->start + ui->down * ui->across * ui->delta) ?                  AxisScaledValue(axis, max) :                  AxisScaledValue(axis,                                  ui->start +                                  ui->down * ui->across * ui->delta), NULL);}/* synchronize array delta slider with array end slider changes */void UIArrayDeltaAdjust(void){    int      last, max, value;    extern Data data;    Axis     axis;    axis = DataAxis(data, ui->dir);    XtVaGetValues(ui->a_across, XmNvalue, &ui->across, NULL);    XtVaGetValues(ui->a_down, XmNvalue, &ui->down, NULL);    XtVaGetValues(ui->a_start, XmNvalue, &value, NULL);    ui->start = AxisScaledIndex(axis, value);    XtVaGetValues(ui->a_end, XmNvalue, &value, NULL);    last = AxisScaledIndex(axis, value);    ui->delta = (last - ui->start - 1) / (ui->across * ui->down);    ui->delta = ui->delta > 1 ? ui->delta : 1;    ui->delta = ui->delta < 50 ? ui->delta : 50;    XtVaSetValues(ui->a_delta,                  XmNvalue,                  irint(AxisScale(axis) * AxisDelta(axis) * ui->delta),                  NULL);}void UIArrayShape(int n, int *across, int *down){    double   sqrt(double);    int      across_, down_;    if( n < 4 ){        across_ = n;        down_ = 1;    } else {        across_ = (int) sqrt((double) n);        down_ = n / across_;        if( across_ * down_ < n ){            across_++;        }    }    across_ = across_ > 1 ? across_ : 1;    down_ = down_ > 1 ? down_ : 1;    across_ = across_ < 50 ? across_ : 50;    down_ = down_ < 50 ? down_ : 50;    *across = across_;    *down = down_;}/********************************* LABEL PANEL ******************************/void UILabelInit(void){    extern View view;    string   svalue;    Widget   parent;    if( ui->l_shell ){        return;    }    ui->l_shell =        XtVaCreatePopupShell("label", xmDialogShellWidgetClass, ui->main,                             XmNtitle, XmStringCreateSimple("LABEL PARAMETERS"),                             NULL);    ui->l_base =        XtVaCreateWidget("l_base", xmRowColumnWidgetClass, ui->l_shell,                         XmNnumColumns, 9, XmNpacking, XmPACK_COLUMN,                         XmNorientation, XmHORIZONTAL, NULL);    parent = ui->l_base;    XtVaCreateManagedWidget("TITLE", xmLabelWidgetClass, parent, NULL);;    ui->l_title =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("COLOR", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("DOWN", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("ACROSS", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("DEEP", xmLabelWidgetClass, parent, NULL);;    XtVaCreateManagedWidget("LABEL", xmLabelWidgetClass, parent, NULL);;    ui->l_label[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_label[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_label[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_label[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("ORIGIN", xmLabelWidgetClass, parent, NULL);;    ui->l_first[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_first[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_first[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_first[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("DELTA", xmLabelWidgetClass, parent, NULL);;    ui->l_delta[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_delta[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_delta[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_delta[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("MIN TIC", xmLabelWidgetClass, parent, NULL);;    ui->l_tic0[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic0[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic0[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic0[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("TIC INC", xmLabelWidgetClass, parent, NULL);;    ui->l_dtic[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_dtic[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_dtic[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_dtic[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    XtVaCreateManagedWidget("MAX TIC", xmLabelWidgetClass, parent, NULL);;    ui->l_tic2[AXIS_COLOR] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic2[AXIS_DOWN] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic2[AXIS_ACROSS] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    ui->l_tic2[AXIS_DEEP] =        XtVaCreateManagedWidget("var", xmTextFieldWidgetClass, parent,                                XmNcolumns, 6, NULL);;    {        Widget   widget;        widget =            XtVaCreateManagedWidget("EXECUTE SETTINGS", xmPushButtonWidgetClass,                                    parent, NULL);        XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UILabelDraw,                      NULL);};    {        Widget   widget;        widget =            XtVaCreateManagedWidget("CURRENT SETTINGS", xmPushButtonWidgetClass,                                    parent, NULL);        XtAddCallback(widget, XmNactivateCallback,                      (XtCallbackProc) UILabelReset, NULL);    };    {        Widget   widget;        widget =            XtVaCreateManagedWidget("CLOSE", xmPushButtonWidgetClass, parent,                                    NULL);            XtAddCallback(widget, XmNactivateCallback,                          (XtCallbackProc) UILabelClose, NULL);    };    XtManageChild(ui->l_base);}void UILabelRaise(void){    UILabelInit();    UILabelReset();    XtPopup(ui->l_shell, XtGrabNone);}void UILabelReset(void){    int      i;    extern View view;    extern Data data;    string   svalue;    XtVaSetValues(ui->l_title, XmNvalue, DataTitle(data), NULL);    for( i = 0; i < 4; i++ ){        XtVaSetValues(ui->l_label[i], XmNvalue,                      AxisLabel(MapAxis(view->map[i])), NULL);        sprintf(svalue, "%g", AxisFirst(MapAxis(view->map[i])));        XtVaSetValues(ui->l_first[i], XmNvalue, svalue, NULL);        sprintf(svalue, "%g", AxisDelta(MapAxis(view->map[i])));        XtVaSetValues(ui->l_delta[i], XmNvalue, svalue, NULL);        sprintf(svalue, "%g", MapTic0(view->map[i]));        XtVaSetValues(ui->l_tic0[i], XmNvalue, svalue, NULL);        sprintf(svalue, "%g", MapDtic(view->map[i]));        XtVaSetValues(ui->l_dtic[i], XmNvalue, svalue, NULL);        sprintf(svalue, "%g", MapTic2(view->map[i]));        XtVaSetValues(ui->l_tic2[i], XmNvalue, svalue, NULL);    }}void UILabelDraw(void){    extern Data data;    extern View view;    char    *svalue;    double   atof(const char *);    int      i, daxis, dtics;    XtVaGetValues(ui->l_title, XmNvalue, &svalue, NULL);    strcpy(data->title, svalue);    for( i = 0; i < 4; i++ ){        daxis = 0;        dtics = 0;        XtVaGetValues(ui->l_label[i], XmNvalue, &svalue, NULL);        strcpy(view->map[i]->axis->label, svalue);        XtVaGetValues(ui->l_first[i], XmNvalue, &svalue, NULL);        if( view->map[i]->axis->first != atof(svalue) ){            view->map[i]->axis->first = atof(svalue);            daxis = 1;        }        XtVaGetValues(ui->l_delta[i], XmNvalue, &svalue, NULL);        if( view->map[i]->axis->delta != atof(svalue) ){            view->map[i]->axis->delta = atof(svalue);            daxis = 1;        }        XtVaGetValues(ui->l_tic0[i], XmNvalue, &svalue, NULL);        if( view->map[i]->tic0 != atof(svalue) ){            view->map[i]->tic0 = atof(svalue);            dtics = 1;        }        XtVaGetValues(ui->l_dtic[i], XmNvalue, &svalue, NULL);        if( view->map[i]->dtic != atof(svalue) ){            view->map[i]->dtic = atof(svalue);            dtics = 1;        }        XtVaGetValues(ui->l_tic2[i], XmNvalue, &svalue, NULL);        if( view->map[i]->tic2 != atof(svalue) ){            view->map[i]->tic2 = atof(svalue);            dtics = 1;        }        if( daxis ){            AxisSetValues(view->map[i]->axis);            MapSetTics(view->map[i]);        }    }    ViewDrawAll();    ColorbarDraw();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -