mirror of
https://github.com/fltk/fltk.git
synced 2026-05-25 00:53:39 +08:00
Starting to add a GUI to manage the IDE database.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.3@7169 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
This commit is contained in:
@@ -90,6 +90,7 @@ public:
|
||||
*/
|
||||
int plugins() { return groups(); }
|
||||
Fl_Plugin *plugin(int index);
|
||||
Fl_Plugin *plugin(const char *name);
|
||||
Fl_Preferences::ID addPlugin(const char *name, Fl_Plugin *plugin);
|
||||
|
||||
static void removePlugin(Fl_Preferences::ID id);
|
||||
|
||||
@@ -1214,6 +1214,10 @@ refUUID:70CAD944-56A3-4023-82FD-502E5360886A
|
||||
|
||||
refUUID:CF86DE45-3D24-44F4-B37C-F404B836B3E4
|
||||
|
||||
[./targets/apps/9AFEE04E-0E02-4697-B615-91B4D887674E/sources/D51DDFC4-57D2-4FE1-9E73-3CB4B41C72FF]
|
||||
|
||||
refUUID:C3D42E72-8BB2-4D9E-A5C7-F845E117C1AB
|
||||
|
||||
[./targets/apps/9AFEE04E-0E02-4697-B615-91B4D887674E/sources/A29B936C-3904-4CFF-BAAD-1454631CA22F]
|
||||
|
||||
refUUID:D6D7D90E-247B-40A3-93E9-5751AF5D8A51
|
||||
@@ -5093,3 +5097,7 @@ pathAndName:test/utf8.cxx
|
||||
[./files/B083E2D8-F2AA-432C-8AB2-7918D1E4DBF9]
|
||||
|
||||
pathAndName:test/valuators.fl
|
||||
|
||||
[./files/C3D42E72-8BB2-4D9E-A5C7-F845E117C1AB]
|
||||
|
||||
pathAndName:fluid/ide_support_ui.cxx
|
||||
|
||||
@@ -825,6 +825,8 @@ public:
|
||||
virtual int test(const char *a1=0L, const char *a2=0L, const char *a3=0L) {
|
||||
return 0;
|
||||
}
|
||||
// show a GUI panel to edit some data
|
||||
virtual void show_panel() { }
|
||||
};
|
||||
|
||||
|
||||
|
||||
+32
-11
@@ -217,6 +217,17 @@ fluid_prefs.set("show_comments", show_comments);
|
||||
redraw_browser();
|
||||
}
|
||||
|
||||
Fl_Check_Button *show_coredevmenus_button=(Fl_Check_Button *)0;
|
||||
|
||||
static void cb_show_coredevmenus_button(Fl_Check_Button*, void*) {
|
||||
show_coredevmenus = show_coredevmenus_button->value();
|
||||
fluid_prefs.set("show_coredevmenus", show_coredevmenus);
|
||||
if (show_coredevmenus)
|
||||
dbmanager_item->show();
|
||||
else
|
||||
dbmanager_item->hide();
|
||||
}
|
||||
|
||||
Fl_Spinner *recent_spinner=(Fl_Spinner *)0;
|
||||
|
||||
static void cb_recent_spinner(Fl_Spinner*, void*) {
|
||||
@@ -229,8 +240,8 @@ static void cb_Close1(Fl_Button*, void*) {
|
||||
}
|
||||
|
||||
Fl_Double_Window* make_settings_window() {
|
||||
{ settings_window = new Fl_Double_Window(342, 242, "GUI Settings");
|
||||
{ scheme_choice = new Fl_Choice(116, 10, 115, 25, "Scheme:");
|
||||
{ settings_window = new Fl_Double_Window(342, 269, "GUI Settings");
|
||||
{ scheme_choice = new Fl_Choice(116, 10, 115, 25, "Scheme: ");
|
||||
scheme_choice->down_box(FL_BORDER_BOX);
|
||||
scheme_choice->labelfont(1);
|
||||
scheme_choice->callback((Fl_Callback*)scheme_cb);
|
||||
@@ -240,10 +251,14 @@ Fl_Double_Window* make_settings_window() {
|
||||
scheme_choice->value(s);
|
||||
scheme_cb(0, 0);
|
||||
} // Fl_Choice* scheme_choice
|
||||
{ Fl_Group* o = new Fl_Group(70, 40, 266, 128, "Options:\n\n\n\n\n");
|
||||
{ Fl_Group* o = new Fl_Group(116, 43, 220, 149);
|
||||
o->labelfont(1);
|
||||
o->align(Fl_Align(FL_ALIGN_LEFT));
|
||||
{ tooltips_button = new Fl_Check_Button(116, 40, 113, 25, "Show Tooltips");
|
||||
{ Fl_Box* o = new Fl_Box(116, 43, 1, 25, "Options: ");
|
||||
o->labelfont(1);
|
||||
o->align(Fl_Align(FL_ALIGN_LEFT));
|
||||
} // Fl_Box* o
|
||||
{ tooltips_button = new Fl_Check_Button(116, 43, 113, 25, "Show Tooltips");
|
||||
tooltips_button->down_box(FL_DOWN_BOX);
|
||||
tooltips_button->callback((Fl_Callback*)cb_tooltips_button);
|
||||
int b;
|
||||
@@ -251,38 +266,44 @@ Fl_Double_Window* make_settings_window() {
|
||||
tooltips_button->value(b);
|
||||
Fl_Tooltip::enable(b);
|
||||
} // Fl_Check_Button* tooltips_button
|
||||
{ completion_button = new Fl_Check_Button(116, 65, 186, 25, "Show Completion Dialogs");
|
||||
{ completion_button = new Fl_Check_Button(116, 68, 186, 25, "Show Completion Dialogs");
|
||||
completion_button->down_box(FL_DOWN_BOX);
|
||||
completion_button->callback((Fl_Callback*)cb_completion_button);
|
||||
int b;
|
||||
fluid_prefs.get("show_completion_dialogs", b, 1);
|
||||
completion_button->value(b);
|
||||
} // Fl_Check_Button* completion_button
|
||||
{ openlast_button = new Fl_Check_Button(115, 90, 215, 25, "Open Previous File on Startup");
|
||||
{ openlast_button = new Fl_Check_Button(116, 93, 214, 25, "Open Previous File on Startup");
|
||||
openlast_button->down_box(FL_DOWN_BOX);
|
||||
openlast_button->callback((Fl_Callback*)cb_openlast_button);
|
||||
int b;
|
||||
fluid_prefs.get("open_previous_file", b, 0);
|
||||
openlast_button->value(b);
|
||||
} // Fl_Check_Button* openlast_button
|
||||
{ prevpos_button = new Fl_Check_Button(115, 115, 210, 25, "Remember Window Positions");
|
||||
{ prevpos_button = new Fl_Check_Button(116, 118, 209, 25, "Remember Window Positions");
|
||||
prevpos_button->down_box(FL_DOWN_BOX);
|
||||
prevpos_button->callback((Fl_Callback*)cb_prevpos_button);
|
||||
int b;
|
||||
fluid_prefs.get("prev_window_pos", b, 1);
|
||||
prevpos_button->value(b);
|
||||
} // Fl_Check_Button* prevpos_button
|
||||
{ show_comments_button = new Fl_Check_Button(115, 140, 210, 25, "Show Comments in Browser");
|
||||
{ show_comments_button = new Fl_Check_Button(116, 143, 209, 25, "Show Comments in Browser");
|
||||
show_comments_button->down_box(FL_DOWN_BOX);
|
||||
show_comments_button->callback((Fl_Callback*)cb_show_comments_button);
|
||||
fluid_prefs.get("show_comments", show_comments, 1);
|
||||
show_comments_button->value(show_comments);
|
||||
} // Fl_Check_Button* show_comments_button
|
||||
{ show_coredevmenus_button = new Fl_Check_Button(116, 167, 209, 25, "Show Core Developer Menus");
|
||||
show_coredevmenus_button->down_box(FL_DOWN_BOX);
|
||||
show_coredevmenus_button->callback((Fl_Callback*)cb_show_coredevmenus_button);
|
||||
fluid_prefs.get("show_coredevmenus", show_coredevmenus, 0);
|
||||
show_coredevmenus_button->value(show_coredevmenus);
|
||||
if (!show_coredevmenus) dbmanager_item->hide();
|
||||
} // Fl_Check_Button* show_coredevmenus_button
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
{ recent_spinner = new Fl_Spinner(115, 170, 40, 25, "# Recent Files:");
|
||||
{ recent_spinner = new Fl_Spinner(115, 199, 40, 25, "# Recent Files: ");
|
||||
recent_spinner->labelfont(1);
|
||||
recent_spinner->value(1);
|
||||
recent_spinner->callback((Fl_Callback*)cb_recent_spinner);
|
||||
recent_spinner->when(FL_WHEN_CHANGED);
|
||||
int c;
|
||||
@@ -290,7 +311,7 @@ Fl_Double_Window* make_settings_window() {
|
||||
recent_spinner->maximum(10);
|
||||
recent_spinner->value(c);
|
||||
} // Fl_Spinner* recent_spinner
|
||||
{ Fl_Button* o = new Fl_Button(266, 205, 64, 25, "Close");
|
||||
{ Fl_Button* o = new Fl_Button(266, 231, 64, 25, "Close");
|
||||
o->tooltip("Close this dialog.");
|
||||
o->callback((Fl_Callback*)cb_Close1);
|
||||
} // Fl_Button* o
|
||||
|
||||
+51
-38
@@ -31,26 +31,31 @@ comment {//
|
||||
} {in_source in_header
|
||||
}
|
||||
|
||||
decl {\#include <FL/Fl_Text_Buffer.H>} {public
|
||||
decl {\#include <FL/Fl_Text_Buffer.H>} {public local
|
||||
}
|
||||
|
||||
decl {\#include <FL/Fl_Text_Display.H>} {public
|
||||
decl {\#include <FL/Fl_Text_Display.H>} {public local
|
||||
}
|
||||
|
||||
decl {extern void load_history();} {public
|
||||
decl {extern void load_history();} {public local
|
||||
}
|
||||
|
||||
decl {extern void redraw_browser();} {public
|
||||
decl {extern void redraw_browser();} {public local
|
||||
}
|
||||
|
||||
decl {extern int show_comments;} {public
|
||||
decl {extern int show_comments;} {public local
|
||||
}
|
||||
|
||||
Function {make_project_window()} {selected
|
||||
} {
|
||||
decl {extern int show_coredevmenus;} {public local
|
||||
}
|
||||
|
||||
decl {extern class Fl_Menu_Item *dbmanager_item;} {public local
|
||||
}
|
||||
|
||||
Function {make_project_window()} {} {
|
||||
Fl_Window project_window {
|
||||
label {Project Settings}
|
||||
xywh {312 395 358 207} type Double
|
||||
xywh {393 460 358 207} type Double
|
||||
code0 {\#include <FL/Fl_Preferences.H>}
|
||||
code1 {\#include <FL/Fl_Tooltip.H>} modal visible
|
||||
} {
|
||||
@@ -140,26 +145,25 @@ Function {make_project_window()} {selected
|
||||
}
|
||||
}
|
||||
|
||||
decl {extern void i18n_cb(Fl_Choice *,void *);} {public
|
||||
decl {extern void i18n_cb(Fl_Choice *,void *);} {public local
|
||||
}
|
||||
|
||||
decl {extern Fl_Preferences fluid_prefs;} {public
|
||||
decl {extern Fl_Preferences fluid_prefs;} {public local
|
||||
}
|
||||
|
||||
decl {Fl_Text_Buffer *shell_run_buffer;} {public
|
||||
decl {Fl_Text_Buffer *shell_run_buffer;} {public local
|
||||
}
|
||||
|
||||
decl {void scheme_cb(Fl_Choice *, void *);} {public
|
||||
decl {void scheme_cb(Fl_Choice *, void *);} {public local
|
||||
}
|
||||
|
||||
Function {make_settings_window()} {open
|
||||
} {
|
||||
Function {make_settings_window()} {} {
|
||||
Fl_Window settings_window {
|
||||
label {GUI Settings} open
|
||||
xywh {393 191 342 242} type Double non_modal visible
|
||||
xywh {393 191 342 269} type Double non_modal visible
|
||||
} {
|
||||
Fl_Choice scheme_choice {
|
||||
label {Scheme:}
|
||||
label {Scheme: }
|
||||
callback scheme_cb open
|
||||
xywh {116 10 115 25} down_box BORDER_BOX labelfont 1
|
||||
code0 {int s;}
|
||||
@@ -184,20 +188,18 @@ Function {make_settings_window()} {open
|
||||
xywh {10 10 35 25}
|
||||
}
|
||||
}
|
||||
Fl_Group {} {
|
||||
label {Options:
|
||||
|
||||
|
||||
|
||||
|
||||
} open
|
||||
xywh {70 40 266 128} labelfont 1 align 4
|
||||
Fl_Group {} {open
|
||||
xywh {116 43 220 149} labelfont 1 align 4
|
||||
} {
|
||||
Fl_Box {} {
|
||||
label {Options: }
|
||||
xywh {116 43 1 25} labelfont 1 align 4
|
||||
}
|
||||
Fl_Check_Button tooltips_button {
|
||||
label {Show Tooltips}
|
||||
callback {Fl_Tooltip::enable(tooltips_button->value());
|
||||
fluid_prefs.set("show_tooltips", tooltips_button->value());}
|
||||
xywh {116 40 113 25} down_box DOWN_BOX
|
||||
xywh {116 43 113 25} down_box DOWN_BOX
|
||||
code0 {int b;}
|
||||
code1 {fluid_prefs.get("show_tooltips", b, 1);}
|
||||
code2 {tooltips_button->value(b);}
|
||||
@@ -206,7 +208,7 @@ fluid_prefs.set("show_tooltips", tooltips_button->value());}
|
||||
Fl_Check_Button completion_button {
|
||||
label {Show Completion Dialogs}
|
||||
callback {fluid_prefs.set("show_completion_dialogs", completion_button->value());}
|
||||
xywh {116 65 186 25} down_box DOWN_BOX
|
||||
xywh {116 68 186 25} down_box DOWN_BOX
|
||||
code0 {int b;}
|
||||
code1 {fluid_prefs.get("show_completion_dialogs", b, 1);}
|
||||
code2 {completion_button->value(b);}
|
||||
@@ -214,7 +216,7 @@ fluid_prefs.set("show_tooltips", tooltips_button->value());}
|
||||
Fl_Check_Button openlast_button {
|
||||
label {Open Previous File on Startup}
|
||||
callback {fluid_prefs.set("open_previous_file", openlast_button->value());}
|
||||
xywh {115 90 215 25} down_box DOWN_BOX
|
||||
xywh {116 93 214 25} down_box DOWN_BOX
|
||||
code0 {int b;}
|
||||
code1 {fluid_prefs.get("open_previous_file", b, 0);}
|
||||
code2 {openlast_button->value(b);}
|
||||
@@ -222,7 +224,7 @@ fluid_prefs.set("show_tooltips", tooltips_button->value());}
|
||||
Fl_Check_Button prevpos_button {
|
||||
label {Remember Window Positions}
|
||||
callback {fluid_prefs.set("prev_window_pos", prevpos_button->value());}
|
||||
xywh {115 115 210 25} down_box DOWN_BOX
|
||||
xywh {116 118 209 25} down_box DOWN_BOX
|
||||
code0 {int b;}
|
||||
code1 {fluid_prefs.get("prev_window_pos", b, 1);}
|
||||
code2 {prevpos_button->value(b);}
|
||||
@@ -232,16 +234,29 @@ fluid_prefs.set("show_tooltips", tooltips_button->value());}
|
||||
callback {show_comments = show_comments_button->value();
|
||||
fluid_prefs.set("show_comments", show_comments);
|
||||
redraw_browser();}
|
||||
xywh {115 140 210 25} down_box DOWN_BOX
|
||||
xywh {116 143 209 25} down_box DOWN_BOX
|
||||
code1 {fluid_prefs.get("show_comments", show_comments, 1);}
|
||||
code2 {show_comments_button->value(show_comments);}
|
||||
}
|
||||
Fl_Check_Button show_coredevmenus_button {
|
||||
label {Show Core Developer Menus}
|
||||
callback {show_coredevmenus = show_coredevmenus_button->value();
|
||||
fluid_prefs.set("show_coredevmenus", show_coredevmenus);
|
||||
if (show_coredevmenus)
|
||||
dbmanager_item->show();
|
||||
else
|
||||
dbmanager_item->hide();}
|
||||
xywh {116 167 209 25} down_box DOWN_BOX
|
||||
code1 {fluid_prefs.get("show_coredevmenus", show_coredevmenus, 0);}
|
||||
code2 {show_coredevmenus_button->value(show_coredevmenus);}
|
||||
code3 {if (!show_coredevmenus) dbmanager_item->hide();}
|
||||
}
|
||||
}
|
||||
Fl_Spinner recent_spinner {
|
||||
label {\# Recent Files:}
|
||||
label {\# Recent Files: }
|
||||
callback {fluid_prefs.set("recent_files", recent_spinner->value());
|
||||
load_history();}
|
||||
xywh {115 170 40 25} labelfont 1 when 1 value 1
|
||||
xywh {115 199 40 25} labelfont 1 when 1
|
||||
code0 {int c;}
|
||||
code1 {fluid_prefs.get("recent_files", c, 5);}
|
||||
code2 {recent_spinner->maximum(10);}
|
||||
@@ -250,16 +265,15 @@ load_history();}
|
||||
Fl_Button {} {
|
||||
label Close
|
||||
callback {settings_window->hide();}
|
||||
tooltip {Close this dialog.} xywh {266 205 64 25}
|
||||
tooltip {Close this dialog.} xywh {266 231 64 25}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Function {make_shell_window()} {open
|
||||
} {
|
||||
Function {make_shell_window()} {} {
|
||||
Fl_Window shell_window {
|
||||
label {Shell Command}
|
||||
xywh {682 167 365 125} type Double visible
|
||||
xywh {741 195 365 125} type Double visible
|
||||
} {
|
||||
Fl_Input shell_command_input {
|
||||
label {Command:}
|
||||
@@ -321,11 +335,10 @@ Function {make_shell_window()} {open
|
||||
}
|
||||
}
|
||||
|
||||
Function {make_layout_window()} {open
|
||||
} {
|
||||
Function {make_layout_window()} {} {
|
||||
Fl_Window grid_window {
|
||||
label {Layout Settings} open
|
||||
xywh {676 337 285 245} type Double non_modal visible
|
||||
xywh {760 427 285 245} type Double non_modal visible
|
||||
} {
|
||||
Fl_Input horizontal_input {
|
||||
label x
|
||||
|
||||
@@ -35,6 +35,8 @@
|
||||
extern void load_history();
|
||||
extern void redraw_browser();
|
||||
extern int show_comments;
|
||||
extern int show_coredevmenus;
|
||||
extern class Fl_Menu_Item *dbmanager_item;
|
||||
#include <FL/Fl_Double_Window.H>
|
||||
#include <FL/Fl_Preferences.H>
|
||||
#include <FL/Fl_Tooltip.H>
|
||||
@@ -75,6 +77,7 @@ extern Fl_Check_Button *completion_button;
|
||||
extern Fl_Check_Button *openlast_button;
|
||||
extern Fl_Check_Button *prevpos_button;
|
||||
extern Fl_Check_Button *show_comments_button;
|
||||
extern Fl_Check_Button *show_coredevmenus_button;
|
||||
#include <FL/Fl_Spinner.H>
|
||||
extern Fl_Spinner *recent_spinner;
|
||||
Fl_Double_Window* make_settings_window();
|
||||
|
||||
+23
-34
@@ -25,7 +25,7 @@
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
|
||||
#undef IDE_SUPPORT
|
||||
#define IDE_SUPPORT
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/Fl_Double_Window.H>
|
||||
@@ -102,6 +102,7 @@ int gridy = 5;
|
||||
int snap = 1;
|
||||
int show_guides = 1;
|
||||
int show_comments = 1;
|
||||
int show_coredevmenus = 1;
|
||||
|
||||
// File history info...
|
||||
char absolute_history[10][1024];
|
||||
@@ -117,6 +118,7 @@ Fl_Menu_Item *save_item = 0L;
|
||||
Fl_Menu_Item *history_item = 0L;
|
||||
Fl_Menu_Item *widgetbin_item = 0L;
|
||||
Fl_Menu_Item *sourceview_item = 0L;
|
||||
Fl_Menu_Item *dbmanager_item = 0L;
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
|
||||
@@ -1579,43 +1581,28 @@ void print_cb(Fl_Return_Button *, void *) {
|
||||
}
|
||||
#endif // WIN32 && !__CYGWIN__
|
||||
|
||||
void fltkdb_cb(Fl_Widget*, void*)
|
||||
{
|
||||
int i;
|
||||
void fltkdb_cb(Fl_Widget*, void*) {
|
||||
Fl_Plugin_Manager pm("commandline");
|
||||
for (i=0; i<pm.plugins(); i++) {
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin(i);
|
||||
if (strcmp(pi->name(), "FltkDB.fluid.fltk.org")==0) {
|
||||
pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db");
|
||||
break;
|
||||
}
|
||||
}
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin("FltkDB.fluid.fltk.org");
|
||||
if (pi) pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db");
|
||||
}
|
||||
|
||||
void dbxcode_cb(Fl_Widget*, void*)
|
||||
{
|
||||
int i;
|
||||
void dbxcode_cb(Fl_Widget*, void*) {
|
||||
Fl_Plugin_Manager pm("commandline");
|
||||
for (i=0; i<pm.plugins(); i++) {
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin(i);
|
||||
if (strcmp(pi->name(), "ideXcode.fluid.fltk.org")==0) {
|
||||
pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db", "/Users/matt/dev/fltk-test");
|
||||
break;
|
||||
}
|
||||
}
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin("ideXcode.fluid.fltk.org");
|
||||
if (pi) pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db", "/Users/matt/dev/fltk-1.3.0");
|
||||
}
|
||||
|
||||
void dbvisualc_cb(Fl_Widget*, void*)
|
||||
{
|
||||
int i;
|
||||
void dbvisualc_cb(Fl_Widget*, void*) {
|
||||
Fl_Plugin_Manager pm("commandline");
|
||||
for (i=0; i<pm.plugins(); i++) {
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin(i);
|
||||
if (strcmp(pi->name(), "ideVisualC.fluid.fltk.org")==0) {
|
||||
pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db", "/Users/matt/dev/fltk-1.3.0");
|
||||
break;
|
||||
}
|
||||
}
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin("ideVisualC.fluid.fltk.org");
|
||||
if (pi) pi->test("/Users/matt/dev/fltk-1.3.0/fltk.db", "/Users/matt/dev/fltk-1.3.0");
|
||||
}
|
||||
|
||||
void show_dbmanager_cb(Fl_Widget*, void*) {
|
||||
Fl_Plugin_Manager pm("commandline");
|
||||
Fl_Commandline_Plugin *pi = (Fl_Commandline_Plugin*)pm.plugin("FltkDB.fluid.fltk.org");
|
||||
if (pi) pi->show_panel();
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////
|
||||
@@ -1671,6 +1658,7 @@ Fl_Menu_Item Main_Menu[] = {
|
||||
{"Show Source Code...",FL_ALT+FL_SHIFT+'s', (Fl_Callback*)toggle_sourceview_cb, 0, FL_MENU_DIVIDER},
|
||||
{"Pro&ject Settings...",FL_ALT+'p',show_project_cb},
|
||||
{"GU&I Settings...",FL_ALT+FL_SHIFT+'p',show_settings_cb},
|
||||
{"Manage &FLTK Database...",0,show_dbmanager_cb},
|
||||
{0},
|
||||
{"&New", 0, 0, (void *)New_Menu, FL_SUBMENU_POINTER},
|
||||
{"&Layout",0,0,0,FL_SUBMENU},
|
||||
@@ -1715,9 +1703,9 @@ Fl_Menu_Item Main_Menu[] = {
|
||||
#endif
|
||||
{0},
|
||||
{"&Help",0,0,0,FL_SUBMENU},
|
||||
{"&Rapid development with FLUID...",0,help_cb},
|
||||
{"&FLTK Programmers Manual...",0,manual_cb, 0, FL_MENU_DIVIDER},
|
||||
{"&About FLUID...",0,about_cb},
|
||||
{"&On FLUID...",0,help_cb},
|
||||
{"&Manual...",0,manual_cb},
|
||||
{0},
|
||||
{0}};
|
||||
|
||||
@@ -1807,7 +1795,6 @@ void make_main_window() {
|
||||
fluid_prefs.get("widget_size", Fl_Widget_Type::default_size, 14);
|
||||
fluid_prefs.get("show_comments", show_comments, 1);
|
||||
make_layout_window();
|
||||
make_settings_window();
|
||||
make_shell_window();
|
||||
}
|
||||
|
||||
@@ -1826,6 +1813,7 @@ void make_main_window() {
|
||||
history_item = (Fl_Menu_Item*)main_menubar->find_item(open_history_cb);
|
||||
widgetbin_item = (Fl_Menu_Item*)main_menubar->find_item(toggle_widgetbin_cb);
|
||||
sourceview_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)toggle_sourceview_cb);
|
||||
dbmanager_item = (Fl_Menu_Item*)main_menubar->find_item((Fl_Callback*)show_dbmanager_cb);
|
||||
main_menubar->global();
|
||||
fill_in_New_Menu();
|
||||
main_window->end();
|
||||
@@ -1833,6 +1821,7 @@ void make_main_window() {
|
||||
|
||||
if (!compile_only) {
|
||||
load_history();
|
||||
make_settings_window();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+18
-1
@@ -103,6 +103,7 @@
|
||||
*/
|
||||
|
||||
#include "ide_support.h"
|
||||
#include "ide_support_ui.h"
|
||||
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/fl_ask.H>
|
||||
@@ -632,6 +633,7 @@ int create_new_database(const char *filename)
|
||||
fluid_app.add_source(files_db, "fluid/fluid.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/function_panel.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/ide_support.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/ide_support_ui.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/ide_visualc.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/ide_xcode.cxx");
|
||||
fluid_app.add_source(files_db, "fluid/template_panel.cxx");
|
||||
@@ -1125,11 +1127,21 @@ int create_new_database(const char *filename)
|
||||
demo_db.depends_on(db);
|
||||
}
|
||||
|
||||
db->flush();
|
||||
db->flush();
|
||||
delete db;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void ui_load_database(const char *filename)
|
||||
{
|
||||
Fl_Preferences *db = new Fl_Preferences(filename, "fltk.org", 0);
|
||||
db->copyTo(dbmanager_tree);
|
||||
dbmanager_tree->redraw();
|
||||
delete db;
|
||||
}
|
||||
|
||||
|
||||
// Make this module into a plugin
|
||||
|
||||
extern int exit_early;
|
||||
@@ -1160,6 +1172,11 @@ public:
|
||||
create_new_database(a1);
|
||||
return 0;
|
||||
}
|
||||
void show_panel() {
|
||||
if (!dbmanager_window)
|
||||
make_dbmanager_window();
|
||||
dbmanager_window->show();
|
||||
}
|
||||
};
|
||||
|
||||
Fl_FltkDB_Plugin FltkDB_Plugin;
|
||||
|
||||
+3
-1
@@ -103,8 +103,10 @@ char with_xcode(Fl_Preferences::ID id);
|
||||
char with_visualc(Fl_Preferences::ID id);
|
||||
char with_makefile(Fl_Preferences::ID id);
|
||||
|
||||
void ui_load_database(const char *filename);
|
||||
|
||||
#endif
|
||||
|
||||
//
|
||||
// End of "$Id: ide_support.h 6981 2009-12-25 20:53:22Z matt $".
|
||||
//
|
||||
//
|
||||
|
||||
@@ -0,0 +1,86 @@
|
||||
//
|
||||
// "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $"
|
||||
//
|
||||
// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 1998-2009 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2 of the License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
// USA.
|
||||
//
|
||||
// Please report all bugs and problems on the following page:
|
||||
//
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
|
||||
// generated by Fast Light User Interface Designer (fluid) version 1.0300
|
||||
|
||||
#include "ide_support_ui.h"
|
||||
#include "ide_support.h"
|
||||
#include <FL/Fl_File_Chooser.H>
|
||||
|
||||
Fl_Double_Window *dbmanager_window=(Fl_Double_Window *)0;
|
||||
|
||||
static void cb_fileopen(Fl_Button*, void*) {
|
||||
const char *filename = fl_file_chooser("Load Database", "*.db", 0, 0);
|
||||
if (filename) {
|
||||
ui_load_database(filename);
|
||||
};
|
||||
}
|
||||
|
||||
Fl_Tree *dbmanager_tree=(Fl_Tree *)0;
|
||||
|
||||
Fl_Double_Window* make_dbmanager_window() {
|
||||
{ dbmanager_window = new Fl_Double_Window(409, 510);
|
||||
{ new Fl_File_Input(80, 4, 280, 36, "Database:");
|
||||
} // Fl_File_Input* o
|
||||
{ Fl_Button* o = new Fl_Button(360, 14, 36, 26, "@fileopen");
|
||||
o->labelcolor((Fl_Color)94);
|
||||
o->callback((Fl_Callback*)cb_fileopen);
|
||||
} // Fl_Button* o
|
||||
{ dbmanager_tree = new Fl_Tree(12, 52, 208, 444);
|
||||
dbmanager_tree->box(FL_DOWN_BOX);
|
||||
dbmanager_tree->color((Fl_Color)55);
|
||||
dbmanager_tree->selection_color(FL_BACKGROUND_COLOR);
|
||||
dbmanager_tree->labeltype(FL_NORMAL_LABEL);
|
||||
dbmanager_tree->labelfont(0);
|
||||
dbmanager_tree->labelsize(14);
|
||||
dbmanager_tree->labelcolor(FL_FOREGROUND_COLOR);
|
||||
dbmanager_tree->align(Fl_Align(FL_ALIGN_CENTER));
|
||||
dbmanager_tree->when(FL_WHEN_RELEASE);
|
||||
Fl_Group::current()->resizable(dbmanager_tree);
|
||||
dbmanager_tree->showroot(0);
|
||||
dbmanager_tree->labelsize(12);
|
||||
} // Fl_Tree* dbmanager_tree
|
||||
{ Fl_Group* o = new Fl_Group(232, 52, 164, 444);
|
||||
{ new Fl_Button(304, 468, 92, 28, "Close");
|
||||
} // Fl_Button* o
|
||||
{ Fl_Group* o = new Fl_Group(232, 128, 164, 340);
|
||||
o->end();
|
||||
Fl_Group::current()->resizable(o);
|
||||
} // Fl_Group* o
|
||||
{ Fl_Box* o = new Fl_Box(232, 52, 164, 76, "Show editor\nfor selected\nItem here");
|
||||
o->box(FL_THIN_DOWN_BOX);
|
||||
} // Fl_Box* o
|
||||
o->end();
|
||||
} // Fl_Group* o
|
||||
dbmanager_window->end();
|
||||
} // Fl_Double_Window* dbmanager_window
|
||||
return dbmanager_window;
|
||||
}
|
||||
|
||||
//
|
||||
// End of "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $".
|
||||
//
|
||||
@@ -0,0 +1,90 @@
|
||||
# data file for the Fltk User Interface Designer (fluid)
|
||||
version 1.0300
|
||||
header_name {.h}
|
||||
code_name {.cxx}
|
||||
comment {//
|
||||
// "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $"
|
||||
//
|
||||
// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 1998-2009 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2 of the License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
// USA.
|
||||
//
|
||||
// Please report all bugs and problems on the following page:
|
||||
//
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
} {in_source in_header
|
||||
}
|
||||
|
||||
decl {\#include <FL/Fl_Tree.H>} {public local
|
||||
}
|
||||
|
||||
decl {\#include "ide_support.h"} {private global
|
||||
}
|
||||
|
||||
decl {\#include <FL/Fl_File_Chooser.H>} {selected private global
|
||||
}
|
||||
|
||||
Function {make_dbmanager_window()} {open
|
||||
} {
|
||||
Fl_Window dbmanager_window {open
|
||||
xywh {459 167 409 510} type Double resizable visible
|
||||
} {
|
||||
Fl_File_Input {} {
|
||||
label {Database:}
|
||||
xywh {80 4 280 36}
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {@fileopen}
|
||||
callback {const char *filename = fl_file_chooser("Load Database", "*.db", 0, 0);
|
||||
if (filename) {
|
||||
ui_load_database(filename);
|
||||
}}
|
||||
xywh {360 14 36 26} labelcolor 94
|
||||
}
|
||||
Fl_Box dbmanager_tree {
|
||||
xywh {12 52 208 444} box DOWN_BOX color 55 resizable
|
||||
code0 {dbmanager_tree->showroot(0);}
|
||||
code1 {dbmanager_tree->labelsize(12);}
|
||||
class Fl_Tree
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {232 52 164 444}
|
||||
} {
|
||||
Fl_Button {} {
|
||||
label Close
|
||||
xywh {304 468 92 28}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {232 128 164 340} resizable
|
||||
} {}
|
||||
Fl_Box {} {
|
||||
label {Show editor
|
||||
for selected
|
||||
Item here}
|
||||
xywh {232 52 164 76} box THIN_DOWN_BOX
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
comment {
|
||||
//
|
||||
// End of "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $".
|
||||
//} {in_source in_header
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
//
|
||||
// "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $"
|
||||
//
|
||||
// Setting and shell dialogs for the Fast Light Tool Kit (FLTK).
|
||||
//
|
||||
// Copyright 1998-2009 by Bill Spitzak and others.
|
||||
//
|
||||
// This library is free software; you can redistribute it and/or
|
||||
// modify it under the terms of the GNU Library General Public
|
||||
// License as published by the Free Software Foundation; either
|
||||
// version 2 of the License, or (at your option) any later version.
|
||||
//
|
||||
// This library is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
// Library General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Library General Public
|
||||
// License along with this library; if not, write to the Free Software
|
||||
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
|
||||
// USA.
|
||||
//
|
||||
// Please report all bugs and problems on the following page:
|
||||
//
|
||||
// http://www.fltk.org/str.php
|
||||
//
|
||||
|
||||
// generated by Fast Light User Interface Designer (fluid) version 1.0300
|
||||
|
||||
#ifndef ide_support_ui_h
|
||||
#define ide_support_ui_h
|
||||
#include <FL/Fl.H>
|
||||
#include <FL/Fl_Tree.H>
|
||||
#include <FL/Fl_Double_Window.H>
|
||||
extern Fl_Double_Window *dbmanager_window;
|
||||
#include <FL/Fl_File_Input.H>
|
||||
#include <FL/Fl_Button.H>
|
||||
extern Fl_Tree *dbmanager_tree;
|
||||
#include <FL/Fl_Group.H>
|
||||
#include <FL/Fl_Box.H>
|
||||
Fl_Double_Window* make_dbmanager_window();
|
||||
#endif
|
||||
|
||||
//
|
||||
// End of "$Id: ide_support_ui.fl 6614 2009-01-01 16:11:32Z matt $".
|
||||
//
|
||||
@@ -764,6 +764,7 @@ void generate_fltk_VisualC6_support(const char *filename, const char *targetpath
|
||||
new Fl_Preferences(filename, "fltk.org", 0);
|
||||
VisualC6_IDE ide(*db, targetpath);
|
||||
ide.write();
|
||||
delete db;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -1664,6 +1664,7 @@ void generate_fltk_Xcode3_support(const char *filename, const char *targetpath)
|
||||
new Fl_Preferences(filename, "fltk.org", 0);
|
||||
Xcode3_IDE ide(*db, targetpath);
|
||||
ide.write();
|
||||
delete db;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -159,6 +159,10 @@ SOURCE=..\..\fluid\ide_support.cxx
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\fluid\ide_support_ui.cxx
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
SOURCE=..\..\fluid\ide_visualc.cxx
|
||||
# End Source File
|
||||
# Begin Source File
|
||||
|
||||
+9762
-9758
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* "$Id: config.g 7131 2010-02-21 21:38:02Z matt $"
|
||||
* "$Id: ide_xcode.cxx 7146 2010-02-25 21:21:04Z matt $"
|
||||
*
|
||||
* Configuration file for the Fast Light Tool Kit (FLTK).
|
||||
*
|
||||
@@ -50,5 +50,5 @@
|
||||
#define HAVE_DLSYM 1
|
||||
|
||||
/*
|
||||
* End of "$Id: config.h 7131 2010-02-21 21:38:02Z matt $".
|
||||
* End of "$Id: ide_xcode.cxx 7146 2010-02-25 21:21:04Z matt $".
|
||||
*/
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.fltk.fltk_forms</string>
|
||||
<string>org.fltk.fltkforms</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.fltk.fltk_gl</string>
|
||||
<string>org.fltk.fltkgl</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.fltk.fltk_images</string>
|
||||
<string>org.fltk.fltkimages</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.fltk.fltk_jpeg</string>
|
||||
<string>org.fltk.fltkjpeg</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>${EXECUTABLE_NAME}</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>org.fltk.fltk_png</string>
|
||||
<string>org.fltk.fltkpng</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
|
||||
@@ -1857,6 +1857,23 @@ Fl_Plugin *Fl_Plugin_Manager::plugin(int index)
|
||||
return ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Return the address of a plugin by name.
|
||||
*/
|
||||
Fl_Plugin *Fl_Plugin_Manager::plugin(const char *name)
|
||||
{
|
||||
char buf[32];
|
||||
Fl_Plugin *ret = 0;
|
||||
if (groupExists(name)) {
|
||||
Fl_Preferences pin(this, name);
|
||||
pin.get("address", buf, "@0", 32);
|
||||
sscanf(buf, "@%p", &ret);
|
||||
return ret;
|
||||
} else {
|
||||
return 0L;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief This function adds a new plugin to the databse.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user