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:
Matthias Melcher
2010-02-27 22:38:25 +00:00
parent 5f1ca6a2b0
commit c35463fdbe
23 changed files with 10155 additions and 9850 deletions
+1
View File
@@ -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);
+8
View File
@@ -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
+2
View File
@@ -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
View File
@@ -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
View File
@@ -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
+3
View File
@@ -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
View File
@@ -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
View File
@@ -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
View File
@@ -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 $".
//
//
+86
View File
@@ -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 $".
//
+90
View File
@@ -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
}
+46
View File
@@ -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 $".
//
+1
View File
@@ -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;
}
+1
View File
@@ -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;
}
+4
View File
@@ -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
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -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 $".
*/
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+1 -1
View File
@@ -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>
+17
View File
@@ -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.
*