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

📄 multiple.fl

📁 基于fltk的一个文本编辑器源代码
💻 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 + -