📄 ui_menu.c
字号:
if (!ui) return; if (ui->shell) { XtPopdown (ui->shell); ui->shell = 0; } switch (item) { case VIEW_ARRAY: MovieOff(); UIArrayRaise (); ViewArray (ui->across,ui->down,ui->start,ui->delta); break; case VIEW_FRONT: ViewSetMovie (MOVIE_FRONT); break; case VIEW_SIDE: ViewSetMovie (MOVIE_SIDE); break; case VIEW_TOP: ViewSetMovie (MOVIE_TOP); break; case VIEW_FENCE: MovieOff (); UIFenceRaise (); break; case VIEW_TRANSP: MovieOff(); UITranspRaise (); UIToggleSet (ui->shape_stretch,0); UIToggleSet (ui->shape_true,0); UIToggleSet (ui->shape_pixel,1); break; } ViewSetStyle (item); ui->style = item; UISyzeReset (); }/* color choice callback */UIColorChoice (widget,item)Widget widget;int item; { if (item > 8) return; ColorSetChoice (item); ColorSwitch (); }/* overlay choice callback */UIOverlayChoice (widget,item)Widget widget;int item; { ColorSetOverlay (item); ColorSwitch (); }/* backround choice callback */UIMarkChoice (widget,item)Widget widget;int item; { if (item > 4) return; ColorSetMark (item); }/* background choice callback */UIBackgroundChoice (widget,item)Widget widget;int item; { if (item > 4) return; ColorSetBackground (item); }/* region neighborhood callback */UINeighborhoodChoice (widget,item)Widget widget;int item; { switch (item) { case 0: RegionSetNeighborhood (MARK_FACE); break; case 1: RegionSetNeighborhood (MARK_FACE|MARK_EDGE); break; case 2: RegionSetNeighborhood (MARK_FACE|MARK_EDGE|MARK_CORNER); break; } }/* status choice callback */UIStatusChoice (widget,item)Widget widget;int item; { extern Data data; extern View view; /* switch on status menu entry */ if (!view || !data) return; switch (item) { case 0: DataInfo(data); break; case 1: DataValueInfo(data); break; case 2: AxisInfo(DataAxis(data,DATA_VALUE)); break; case 3: AxisInfo(DataAxis(data,DATA_AXIS1)); break; case 4: AxisInfo(DataAxis(data,DATA_AXIS2)); break; case 5: AxisInfo(DataAxis(data,DATA_AXIS3)); break; case 6: AxisInfo(DataAxis(data,DATA_AXIS4)); break; case 7: AxisInfo(DataAxis(data,DATA_AXIS5)); break; case 8: ViewInfo(view); break; case 9: MapInfo(ViewMap(view,AXIS_DOWN)); break; case 10: MapInfo(ViewMap(view,AXIS_ACROSS)); break; case 11: MapInfo(ViewMap(view,AXIS_DEEP)); break; case 12: MapInfo(ViewMap(view,AXIS_4D)); break; case 13: MapInfo(ViewMap(view,AXIS_5D)); break; case 14: MapInfo(ViewMap(view,AXIS_COLOR)); break; case 15: ColorInfo(); break; case 16: RenderInfo(view); break; case 17: DrawInfo(); break; case 18: UIMouseInfo(); break; case 19: MovieInfo(); break; case 20: PickInfo(); break; case 21: PickListInfo(); break; case 22: PikInfo(); break; case 23: RegionInfo(); break; case 24: PlaneListInfo(); break; } }UIHelpChoice (widget,item)Widget widget;int item; { WidgetList list; switch (item) { case 0: UIHelpPrint ("USAGE","FILE FORMATS"); break; case 1: UIHelpPrint ("FILE FORMATS","WINDOWS"); break; case 2: UIHelpPrint ("WINDOWS","MOUSE USAGE"); break; case 3: UIHelpPrint ("MOUSE USAGE","INTERACTIVE"); break; case 4: UIHelpPrint ("MAIN","STYLE"); break; case 5: UIHelpPrint ("STYLE","ORIENT"); break; case 6: UIHelpPrint ("ORIENT","SIZE"); break; case 7: UIHelpPrint ("SIZE","MOVIE"); break; case 8: UIHelpPrint ("MOVIE","COLOR"); break; case 9: UIHelpPrint ("COLOR","PICK"); break; case 10: UIHelpPrint ("PICK","EDIT"); break; case 11: UIHelpPrint ("EDIT","SECTION"); break; case 12: UIHelpPrint ("SECTION","STATUS"); break; case 13: UIHelpPrint ("STATUS","HELP"); break; case 14: UIHelpPrint ("HELP","END"); break; } }/* print text on screen */UIHelpPrint (start,finish)char *start, *finish; { char *startp=0, *finishp=0, save; extern char *help, *strstr(); startp = strstr (help,start); finishp = strstr (help,finish); if (startp == 0 || finishp == 0) return; UIInfo (startp); }/* mouse info */UIMouseInfo () { UIMessage ("MOUSE LEFT: zoom; MIDDLE: navigate; RIGHT: pick"); }/* dump vgrid floats callback */UIDumpFloats () { Widget widget; extern Data data; extern UIDumpFloats2(); string filename; if (!data) return; widget = XmCreatePromptDialog (ui->application, "files", NULL, 0); sprintf (filename, "%s_dump_vgrid", DataShortName(data)); XtVaSetValues (widget, XmNselectionLabelString, CS("Type dump-vgrid-float file name:"), XmNtextString, CS (filename), NULL); XtAddCallback (widget, XmNokCallback, (XtCallbackProc)UIDumpFloats2, NULL); XtAddCallback (widget, XmNcancelCallback, (XtCallbackProc)XtDestroyWidget, NULL); XtManageChild (widget); }UIDumpFloats2 (widget,stuff,cbs)Widget widget;XtPointer stuff;XmFileSelectionBoxCallbackStruct *cbs; { extern Data data; char *filename; int fd; XmStringGetLtoR (cbs->value, XmSTRING_DEFAULT_CHARSET, &filename); if ((fd = creat (filename,0444)) < 0) { UIMessage ("cant create dump file"); } else { DataDumpFloats (data,filename,fd); XtDestroyWidget (widget); } }/* dump vgrid bytess callback */UIDumpBytes () { Widget widget; extern Data data; extern UIDumpBytes2(); string filename; if (!data) return; widget = XmCreatePromptDialog (ui->application, "files", NULL, 0); sprintf (filename, "%s_dump_vgrid", DataShortName(data)); XtVaSetValues (widget, XmNselectionLabelString, CS("Type dump-vgrid-byte file name:"), XmNtextString, CS (filename), NULL); XtAddCallback (widget, XmNokCallback, (XtCallbackProc)UIDumpBytes2, NULL); XtAddCallback (widget, XmNcancelCallback, (XtCallbackProc)XtDestroyWidget, NULL); XtManageChild (widget); }UIDumpBytes2 (widget,stuff,cbs)Widget widget;XtPointer stuff;XmFileSelectionBoxCallbackStruct *cbs; { extern Data data; char *filename; int fd; XmStringGetLtoR (cbs->value, XmSTRING_DEFAULT_CHARSET, &filename); if ((fd = creat (filename,0444)) < 0) { UIMessage ("cant create dump file"); } else { DataDumpBytes (data,filename,fd); XtDestroyWidget (widget); } }/* save parameters callback */FILE *savefd = 0;UISavePar () { Widget widget; extern Data data; extern UISavePar2(); string filename; if (!data) return; widget = XmCreatePromptDialog (ui->application, "files", NULL, 0); sprintf (filename, "%s_save_H", DataShortName(data)); XtVaSetValues (widget, XmNselectionLabelString, CS("Type save-pars file name:"), XmNtextString, CS (filename), NULL); XtAddCallback (widget, XmNokCallback, (XtCallbackProc)UISavePar2, NULL); XtAddCallback (widget, XmNcancelCallback, (XtCallbackProc)XtDestroyWidget, NULL); XtManageChild (widget); }UISavePar2 (widget,stuff,cbs)Widget widget;XtPointer stuff;XmFileSelectionBoxCallbackStruct *cbs; { extern Data data; extern View view; string filename; Message message; char* hack_ptr; hack_ptr = (char*)&filename; if (!data || !view) return; XmStringGetLtoR (cbs->value, XmSTRING_DEFAULT_CHARSET, &hack_ptr); if ((savefd = fopen (filename,"w+")) == NULL) { UIMessage ("cant create restart-par file"); } else { DataSavePar (data); ViewSavePar (view); ColorSavePar (); RenderSavePar (); MovieSavePar (); PickSavePar (); RegionSavePar (); fclose (savefd); XtDestroyWidget (widget); sprintf (message, "Restart parameters saved in file %s",filename); UIMessage (message); } }/* write save message */UISaveMessage (message)Message message; { extern FILE *savefd; fprintf (savefd,"%s\n",message); }/* exit program callback */UIQuit () { extern PikList pik;#if 0 PikWrite (pik->file,fopen(pik->file,"w"));#endif DrawFreePixmaps (); XCloseDisplay(UIDisplay()); exit (); }/* default oreintation callback */UIOrient0 () { ViewOrient0 (); }/* dump axis callbacks */UIDownDump () { extern View view; MapDump (ViewMap(view,AXIS_DOWN)); }UIAcrossDump () { extern View view; MapDump (ViewMap(view,AXIS_ACROSS)); }UIDeepDump () { extern View view; MapDump (ViewMap(view,AXIS_DEEP)); }/* swap axis callbacks */UISwapFrontSide () { ViewSwapAxis (AXIS_ACROSS,AXIS_DEEP); UISyzeReset (); UIArrayReset (0); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }UISwapSideTop () { ViewSwapAxis (AXIS_DOWN,AXIS_ACROSS); UISyzeReset (); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }UISwapTopFront () { ViewSwapAxis (AXIS_DOWN,AXIS_DEEP); UISyzeReset (); UIArrayReset (0); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }UISwapFrontExtra () { ViewSwapAxis (AXIS_DEEP,AXIS_4D); UISyzeReset (); UIArrayReset (0); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }UISwapSideExtra () { ViewSwapAxis (AXIS_ACROSS,AXIS_4D); UISyzeReset (); UIArrayReset (0); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }UISwapTopExtra () { ViewSwapAxis (AXIS_DOWN,AXIS_4D); UISyzeReset (); UIArrayReset (0); if (ui->style == VIEW_ARRAY) UIArrayDraw(); }/* axis flip callbacks */UIFlipDown () { ViewFlipAxis (AXIS_DOWN); UISyzeReset (); }UIFlipAcross () { ViewFlipAxis (AXIS_ACROSS); UISyzeReset (); }UIFlipDeep () { ViewFlipAxis (AXIS_DEEP); UISyzeReset (); }/* set shape callback */UISizeChoice (widget,item)Widget widget;int item; { WidgetList list; if (item > 2) return; LIST (menu); XtVaSetValues (list[(item+1)%3],XmNset,False,NULL); XtVaSetValues (list[(item+2)%3],XmNset,False,NULL); ViewSetShape (item); }/* interpolation choice callback */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -