📄 ui_panel.c
字号:
UILabelReset();}void UILabelClose(void){ XtPopdown(ui->l_shell);}/********************************* TRANSPARENT PANEL ******************************//* initialize transparency control panel */void UITranspInit(void){ Widget widget, parent; if( ui->t_shell ){ return; } ui->t_shell = XtVaCreatePopupShell("transparent", xmDialogShellWidgetClass, ui->main, XmNtitle, XmStringCreateSimple("TRANSPARANCY PARAMETERS"), NULL); ui->t_base = XtVaCreateWidget("base", xmRowColumnWidgetClass, ui->t_shell, XmNorientation, XmVERTICAL, NULL); XtVaCreateManagedWidget("TRANSP PARAMETERS:", xmLabelWidgetClass, ui->t_base, NULL); widget = XtVaCreateManagedWidget("low_transp", xmScaleWidgetClass, ui->t_base, XmNvalue, RENDER_LOW_TRANSP, XmNshowValue, True, XmNtitleString, XmStringCreateSimple("MIN TRANSPARENCY"), XmNorientation, XmHORIZONTAL, NULL); XtAddCallback(widget, XmNvalueChangedCallback, (XtCallbackProc) UITranspLow, NULL); widget = XtVaCreateManagedWidget("high_transp", xmScaleWidgetClass, ui->t_base, XmNvalue, RENDER_HIGH_TRANSP, XmNshowValue, True, XmNtitleString, XmStringCreateSimple("MAX TRANSPARENCY"), XmNorientation, XmHORIZONTAL, NULL); XtAddCallback(widget, XmNvalueChangedCallback, (XtCallbackProc) UITranspHigh, NULL); widget = XtVaCreateManagedWidget("vol_transp", xmScaleWidgetClass, ui->t_base, XmNvalue, RENDER_VOL_TRANSP, XmNshowValue, True, XmNtitleString, XmStringCreateSimple("TRANSPARENCY"), XmNorientation, XmHORIZONTAL, NULL); XtAddCallback(widget, XmNvalueChangedCallback, (XtCallbackProc) UITranspGradient, NULL); widget = XmVaCreateSimpleRadioBox(ui->t_base, "rate", 1, (XtCallbackProc) UITranspRate, XmVaRADIOBUTTON, XmStringCreateSimple("Draw Altogether"), NULL, NULL, NULL, XmVaRADIOBUTTON, XmStringCreateSimple("Draw Tenth Chunks"), NULL, NULL, NULL, XmVaRADIOBUTTON, XmStringCreateSimple("Draw Each Plane"), NULL, NULL, NULL, NULL); XtManageChild(widget); XtVaCreateManagedWidget("line", xmSeparatorWidgetClass, ui->t_base, NULL); widget = XtVaCreateManagedWidget("DRAW", xmPushButtonWidgetClass, ui->t_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) ViewDrawAll, NULL); widget = XtVaCreateManagedWidget("CLOSE", xmPushButtonWidgetClass, ui->t_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UITranspClose, NULL); XtManageChild(ui->t_base); XtManageChild(ui->t_shell);}void UITranspRaise(void){ UITranspInit(); ui->shell = ui->t_shell; XtPopup(ui->t_shell, XtGrabNone);}void UITranspClose(void){ XtPopdown(ui->t_shell); ui->shell = 0;}void UITranspLow(Widget widget, XtPointer client, XmScaleCallbackStruct * data){ RenderSetLow(data->value);}void UITranspHigh(Widget widget, XtPointer client, XmScaleCallbackStruct * data){ RenderSetHigh(data->value);}void UITranspGradient(Widget widget, XtPointer client, XmScaleCallbackStruct * data){ RenderSetGradient(data->value);}void UITranspRate(Widget widget, int item){ ViewSetTranspRate(item);}void UIFenceInit(void){ Widget widget; if( ui->f_shell ){ return; } ui->f_shell = XtVaCreatePopupShell("fence", xmDialogShellWidgetClass, ui->main, XmNtitle, XmStringCreateSimple("FENCE PARAMETERS"), NULL); ui->f_base = XtVaCreateWidget("base", xmRowColumnWidgetClass, ui->f_shell, XmNorientation, XmVERTICAL, NULL); XtVaCreateManagedWidget("FENCE PARAMETERS:", xmLabelWidgetClass, ui->f_base, NULL); widget = XtVaCreateManagedWidget("TOGGLE FRONT", xmPushButtonWidgetClass, ui->f_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UIFenceFront, NULL); widget = XtVaCreateManagedWidget("TOGGLE SIDE", xmPushButtonWidgetClass, ui->f_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UIFenceSide, NULL); widget = XtVaCreateManagedWidget("TOGGLE TOP", xmPushButtonWidgetClass, ui->f_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UIFenceTop, NULL); widget = XtVaCreateManagedWidget("transp", xmScaleWidgetClass, ui->f_base, XmNorientation, XmHORIZONTAL, XmNvalue, 0, XmNtitleString, XmStringCreateSimple("TRANSPARENCY"), XmNshowValue, True, NULL); XtAddCallback(widget, XmNvalueChangedCallback, (XtCallbackProc) UIFenceOpacity, NULL); XtVaCreateManagedWidget("line", xmSeparatorWidgetClass, ui->f_base, NULL); widget = XtVaCreateManagedWidget("DRAW", xmPushButtonWidgetClass, ui->f_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) ViewDrawAll, NULL); widget = XtVaCreateManagedWidget("CLOSE", xmPushButtonWidgetClass, ui->f_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UIFenceClose, NULL); XtManageChild(ui->f_base); XtManageChild(ui->f_shell);}void UIFenceRaise(void){ UIFenceInit(); ui->shell = ui->f_shell; XtPopup(ui->f_shell, XtGrabNone);}void UIFenceClose(void){ XtPopdown(ui->f_shell); ui->shell = 0;}void UIFenceFront(void){ ViewToggleFence(DRAW_FRONT);}void UIFenceSide(void){ ViewToggleFence(DRAW_SIDE);}void UIFenceTop(void){ ViewToggleFence(DRAW_TOP);}void UIFenceOpacity(Widget widget, XtPointer client, XmScaleCallbackStruct * data){ RenderSetFenceTransp(data->value);}void UIInfoInit(void){ Widget widget; extern char *help; ui->i_shell = XtVaCreatePopupShell("text", xmDialogShellWidgetClass, ui->main, XmNtitle, XmStringCreateSimple("HELP INFOMATION"), NULL); ui->i_base = XtVaCreateWidget("base", xmRowColumnWidgetClass, ui->i_shell, XmNorientation, XmVERTICAL, NULL); XtVaCreateManagedWidget("HELP INFORMATION:", xmLabelWidgetClass, ui->i_base, NULL); ui->i_text = XmCreateScrolledText(ui->i_base, "textw", NULL, NULL); XtVaSetValues(ui->i_text, XmNvalue, help, XmNcolumns, 80, XmNrows, 30, XmNeditMode, XmMULTI_LINE_EDIT, XmNeditable, False, NULL); XtManageChild(ui->i_text); XtVaCreateManagedWidget("line", xmSeparatorWidgetClass, ui->i_base, NULL); widget = XtVaCreateManagedWidget("CLOSE", xmPushButtonWidgetClass, ui->i_base, NULL); XtAddCallback(widget, XmNactivateCallback, (XtCallbackProc) UIInfoClose, NULL); XtManageChild(ui->i_base); XtManageChild(ui->i_shell);}void UIInfo(char *text){ extern char *help; if( ui->i_shell == 0 ){ UIInfoInit(); } DrawWatch(1); XtVaSetValues(ui->i_text, XmNtopCharacter, (int) (text - help), NULL); XtPopup(ui->i_shell, XtGrabNone); DrawWatch(0);}void UIInfoClose(void){ XtPopdown(ui->i_shell);}void UISyzeRaise(void){ UISyzeInit(); UISyzeReset(); XtPopup(ui->z_shell, XtGrabNone);}void UISyzeInit(void){ Widget parent; if( ui->z_shell ){ return; } ui->z_shell = XtVaCreatePopupShell("syze", xmDialogShellWidgetClass, ui->main, XmNtitle, XmStringCreateSimple("SIZE PARAMETERS"), NULL); ui->z_base = XtVaCreateWidget("z_base", xmRowColumnWidgetClass, ui->z_shell, XmNorientation, XmVERTICAL, NULL); parent = ui->z_base; ui->z_min[AXIS_DOWN] = XtVaCreateManagedWidget("DOWN: min", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DOWN: min"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_max[AXIS_DOWN] = XtVaCreateManagedWidget("DOWN: max", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DOWN: max"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_frame[AXIS_DOWN] = XtVaCreateManagedWidget("DOWN: frame", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DOWN: frame"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_pixels[AXIS_DOWN] = XtVaCreateManagedWidget("DOWN: pixels", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DOWN: pixels"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; XtVaCreateManagedWidget("line", xmSeparatorWidgetClass, ui->z_base, NULL); ui->z_min[AXIS_ACROSS] = XtVaCreateManagedWidget("ACROSS: min", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("ACROSS: min"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_max[AXIS_ACROSS] = XtVaCreateManagedWidget("ACROSS: max", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("ACROSS: max"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_frame[AXIS_ACROSS] = XtVaCreateManagedWidget("ACROSS: frame", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("ACROSS: frame"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_pixels[AXIS_ACROSS] = XtVaCreateManagedWidget("ACROSS: pixels", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("ACROSS: pixels"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; XtVaCreateManagedWidget("line", xmSeparatorWidgetClass, ui->z_base, NULL); ui->z_min[AXIS_DEEP] = XtVaCreateManagedWidget("DEEP: min", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DEEP: min"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_max[AXIS_DEEP] = XtVaCreateManagedWidget("DEEP: max", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DEEP: max"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_frame[AXIS_DEEP] = XtVaCreateManagedWidget("DEEP: frame", xmScaleWidgetClass, parent, XmNtitleString, XmStringCreateSimple("DEEP: frame"), XmNwidth, 250, XmNshowValue, True, XmNorientation, XmHORIZONTAL, NULL);; ui->z_pixe
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -