📄 multiple.fl
字号:
# data file for the FLTK User Interface Designer (FLUID)version 2.0001 images_dir ./ header_name {.h} code_name {.cxx} gridx 1 gridy 1 snap 1decl {\#include <fltk/Fl_FancyMultiEditor.h>} {public} decl {\#include <fltk/fl_file_chooser.h>} {public} decl {\#include <fltk/filename.h>} {public} decl {\#include <fltk/Fl_Menu_.h>} {public} decl {\#include <fltk/Fl_Item_Group.h>} {public} decl {void AddToWindowMenu(Fl_FancyMultiEditor *editor, long sessid, const char *menuname, Fl_Menu_ *menu); } {public} decl {void RemoveFromWindowMenu(Fl_FancyMultiEditor *editor, long sessid, Fl_Menu_* mainmenu, Fl_Item_Group* winmenu);} {public} decl {Fl_Item_Group *WindowMenu = NULL;} {} decl {bool CloseSession(Fl_Menu_ *menu, Fl_Item_Group *WindowMenu, Fl_FancyMultiEditor *ed);} {public} decl {bool ExitOK(Fl_Menu_ *menu, Fl_Item_Group *WindowMenu, Fl_FancyMultiEditor *ed);} {public} decl {void ChangeWindowMenu(Fl_FancyMultiEditor *editor, const char *oldname, Fl_Menu_* mainmenu, Fl_Item_Group* winmenu);} {public} decl {char *Win23Dummy = "........................................................................................................................................";} {} decl {// Win32Dummy is a kludge for Win32 release compile, see the readme} {} Function {} {open} { Fl_Window myWindow { label {Test Window} open xywh {349 341 306 240} resizable visible } { Fl_Box myEditor { private xywh {3 23 299 212} resizable box DOWN_BOX color 7 selection_color 14 code0 {o->textfont(FL_HELVETICA);} code1 {o->textsize(14);} class Fl_FancyMultiEditor } Fl_Menu_Bar MenuBar {open xywh {-2 -1 310 21} box THIN_UP_BOX } { Fl_Item_Group {} { label {&File} open } { Fl_Item {} { label {&New} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {long sessid = v->NewSession();if(sessid >= 0) AddToWindowMenu(v, sessid, "&Window", MenuBar);myWindow->label(v->SessionName());} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Open} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {char *fn;fn = fl_file_chooser("Open File", NULL, NULL);if(fn){ long sessid = v->NewSession(fn); AddToWindowMenu(v, sessid, "&Window", MenuBar); myWindow->label(v->SessionName());}} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Insert File} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {char *fn;fn = fl_file_chooser("Open File", NULL, NULL);if(fn) { FILE *file = fopen(fn, "r"); if(file) { v->LoadFrom(file); fclose(file); } }} code0 {o->user_data((void *)myEditor);} } Fl_Divider {} { } Fl_Item {} { label {&Save} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {const char *fn = v->CurrentFileName();if (!fn || (!fn[0])){ fn = fl_file_chooser("Save As", NULL, NULL); if(fn) { wString oldname = v->SessionName(); v->SaveCurrent(fn); ChangeWindowMenu(v, oldname.Get(), MenuBar, WindowMenu); }}else v->SaveCurrent(fn);} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {Save &As} user_data NULL user_data_type {Fl_FancyMultiEditor *} callback {const char *fn = fl_file_chooser("Save As", NULL, NULL);if(fn){ wString oldname = v->SessionName(); v->SaveCurrent(fn); ChangeWindowMenu(v, oldname.Get(), MenuBar, WindowMenu);}} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Close} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {CloseSession(MenuBar, WindowMenu, v);} code0 {o->user_data((void *)myEditor);} } Fl_Divider {} { } Fl_Item {} { label {E&xit} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {if(ExitOK((Fl_Menu_*)o, WindowMenu, v)) myWindow->hide();} code0 {o->user_data((void *)myEditor);} } } Fl_Item_Group {} { label {&Edit} open } { Fl_Item {} { label {Cu&t} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->Cut();} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Copy} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->Copy();} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Paste} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->Paste();} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {Toggle &Read-Only} callback {Fl_Editor *p = (Fl_Editor *)v;p->readonly(!p->readonly());} code0 {o->user_data((void *)myEditor);} } } Fl_Item_Group {} { label {&Search} open } { Fl_Item {} { label {&Find} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->Find();} shortcut 0x40066 code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {Find &Again} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->FindNext();} shortcut 0xffc0 code0 {o->user_data((void *)myEditor);} } Fl_Divider {} {selected } Fl_Item {} { label {&Replace} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->Replace();} code0 {o->user_data((void *)myEditor);} } } Fl_Item_Group {} { label {&Window} open code0 {WindowMenu = o;} } { Fl_Item {} { label {&Next} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->NextSession();myWindow->label(v->SessionName());} code0 {o->user_data((void *)myEditor);} } Fl_Item {} { label {&Previous} user_data NULL user_data_type {Fl_FancyMultiEditor*} callback {v->PreviousSession();myWindow->label(v->SessionName());} code0 {o->user_data((void *)myEditor);} } } } } code {long sessid = myEditor->Fl_MultiEditor::Session();AddToWindowMenu(myEditor, sessid, "&Window", MenuBar);myWindow->label(myEditor->SessionName());} {}}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -