📄 ui_menu.c
字号:
case 22: PikInfo(); break; case 23: RegionInfo(); break; case 24: PlaneListInfo(); break; }}/*--------------------------------------------------------------------*\ UIHelpChoice() selects one of the help dialogs and displays it in a popup text window.\*--------------------------------------------------------------------*/void UIHelpChoice(Widget widget, int item){ 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; }}/*--------------------------------------------------------------------*\ UIHelpPrint() extracts the help text and passes it to the text widget for display.\*--------------------------------------------------------------------*/void UIHelpPrint(char *start, char *finish){ char *startp = 0, *finishp = 0; extern char *help; startp = strstr(help, start); finishp = strstr(help, finish); if (startp == 0 || finishp == 0) { return; } UIInfo(startp);}/* mouse info *//*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UIMouseInfo(void){ UIMessage("MOUSE LEFT: zoom; MIDDLE: navigate; RIGHT: pick");}/* dump vgrid floats callback *//*--------------------------------------------------------------------*\ UIDumpFloats() dumps the data volume as a C style binary float file such as is used by ximage, xwigb, etc from the CWP/SU package.\*--------------------------------------------------------------------*/void UIDumpFloats(void){ Widget widget; extern Data data; string filename; if (!data) { return; } widget = XmCreatePromptDialog(ui->application, "files", NULL, 0); sprintf(filename, "%s_dump_vgrid", DataShortName(data)); XtVaSetValues(widget, XmNselectionLabelString, XmStringCreateSimple("Enter dump-vgrid-float file name:"), XmNtextString, XmStringCreateSimple(filename), NULL); XtAddCallback(widget, XmNokCallback, (XtCallbackProc) UIDumpFloats2, NULL); XtAddCallback(widget, XmNcancelCallback, (XtCallbackProc) XtDestroyWidget, NULL); XtManageChild(widget);}void UIDumpFloats2(Widget widget, XtPointer stuff, XmFileSelectionBoxCallbackStruct * cbs){ extern Data data; char *filename; int fd; XmStringGetLtoR(cbs->value, XmSTRING_DEFAULT_CHARSET, &filename); if ((fd = creat(filename, 0644)) < 0) { UIMessage("cant create dump file"); } else { DataDumpFloats(data, filename, fd); XtDestroyWidget(widget); }}/* dump vgrid bytess callback *//*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UIDumpBytes(void){ Widget widget; extern Data data; string filename; if (!data) { return; } widget = XmCreatePromptDialog(ui->application, "files", NULL, 0); sprintf(filename, "%s_dump_vgrid", DataShortName(data)); XtVaSetValues(widget, XmNselectionLabelString, XmStringCreateSimple("Enter dump-vgrid-byte file name:"), XmNtextString, XmStringCreateSimple(filename), NULL); XtAddCallback(widget, XmNokCallback, (XtCallbackProc) UIDumpBytes2, NULL); XtAddCallback(widget, XmNcancelCallback, (XtCallbackProc) XtDestroyWidget, NULL); XtManageChild(widget);}/*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UIDumpBytes2(Widget widget, XtPointer stuff, XmFileSelectionBoxCallbackStruct * cbs){ extern Data data; char *filename; int fd; XmStringGetLtoR(cbs->value, XmSTRING_DEFAULT_CHARSET, &filename); if ((fd = creat(filename, 0644)) < 0) { UIMessage("cant create dump file"); } else { DataDumpBytes(data, filename, fd); XtDestroyWidget(widget); }}/* save parameters callback *//*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UISavePar(void){ Widget widget; extern Data data; string filename; if (!data) { return; } widget = XmCreatePromptDialog(ui->application, "files", NULL, 0); sprintf(filename, "%s_save_H", DataShortName(data)); XtVaSetValues(widget, XmNselectionLabelString, XmStringCreateSimple("Enter save-pars file name:"), XmNtextString, XmStringCreateSimple(filename), NULL); XtAddCallback(widget, XmNokCallback, (XtCallbackProc) UISavePar2, NULL); XtAddCallback(widget, XmNcancelCallback, (XtCallbackProc) XtDestroyWidget, NULL); XtManageChild(widget);}/*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UISavePar2(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(hack_ptr, "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 *//*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UISaveMessage(char *message){ extern FILE *savefd; fprintf(savefd, "%s\n", message);}/* exit program callback *//*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UIQuit(void){ int i; extern int nfiles; extern PikList pikSet[]; extern PikList pik; int modified = 0; for (i = 0; i < nfiles; i++) { if (pikSet[i]->changed) { pik = pikSet[i]; modified++; } } if (modified) { UISaveChanges(); } else { UIExit(); }}/*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/void UISaveAll(void){ int i; extern int nfiles; extern PikList pikSet[]; extern PikList pik; int modified = 0; for (i = 0; i < nfiles; i++) { if (pikSet[i]->changed) { pik = pikSet[i]; UIPikWrite3(); } } UIExit();}/*--------------------------------------------------------------------*\\*--------------------------------------------------------------------*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -