diff options
| -rw-r--r-- | CHANGES | 22 | ||||
| -rw-r--r-- | FL/Fl_Help_Dialog.H | 2 | ||||
| -rw-r--r-- | FL/Fl_Menu_.H | 5 | ||||
| -rw-r--r-- | FL/Fl_Text_Display.H | 6 | ||||
| -rw-r--r-- | FL/glut.H | 6 | ||||
| -rw-r--r-- | documentation/Fl_Menu_.html | 20 | ||||
| -rw-r--r-- | documentation/Fl_Text_Display.html | 6 | ||||
| -rw-r--r-- | fluid/Fl_Function_Type.cxx | 33 | ||||
| -rw-r--r-- | fluid/Fl_Type.h | 6 | ||||
| -rw-r--r-- | fluid/function_panel.cxx | 31 | ||||
| -rw-r--r-- | fluid/function_panel.fl | 52 | ||||
| -rw-r--r-- | fluid/function_panel.h | 8 | ||||
| -rw-r--r-- | src/Fl_Help_Dialog.cxx | 20 | ||||
| -rw-r--r-- | src/Fl_Help_Dialog.fl | 16 | ||||
| -rw-r--r-- | src/Fl_Menu_.cxx | 41 | ||||
| -rw-r--r-- | src/Fl_Scroll.cxx | 20 | ||||
| -rw-r--r-- | src/Fl_Slider.cxx | 14 | ||||
| -rw-r--r-- | src/Fl_Sys_Menu_Bar.cxx | 8 | ||||
| -rw-r--r-- | src/Fl_mac.cxx | 8 | ||||
| -rw-r--r-- | src/Makefile | 5 | ||||
| -rw-r--r-- | src/filename_absolute.cxx | 14 |
21 files changed, 244 insertions, 99 deletions
@@ -2,6 +2,28 @@ CHANGES IN FLTK 1.1.5rc1 - Documentation updates (STR #245, STR #250, STR #277, STR #281) + - Fl_Value_Slider::draw_bg() didn't always apply the + clipping rectangle (STR #235) + - fl_filename_relative() returned the wrong string if + the absolute pathname was equal to the current working + directory (STR #224) + - Fl_Help_Dialog didn't correctly restore the scroll + position when going forward/back in the link history + if the file changed (STR #218) + - glutGetModifiers() did not mask off extra state bits, + confusing some GLUT-based applications (STR #213) + - Fixed mouse capture problems on MacOS X (STR #209, STR + #229) + - Fl_Sys_Menu_Bar is now built into the library for + MacOS X (STR #229) + - Fl_Menu_ now provides item_pathname() methods to get + the "pathname" of a menu item, e.g. "File/Quit" (STR + #283) + - Fl_Text_Display now provides cursor_color() methods to + get and set the cursor color (STR #271) + - Fl_Scroll didn't honor FL_NO_BOX (STR #305) + - FLUID declaration blocks didn't support public/private + definitions (STR #301) - Fl_Preferences incorrectly created the preferences directory before necessary (STR #247) - The WIN32 project files still defined the (obsolete) diff --git a/FL/Fl_Help_Dialog.H b/FL/Fl_Help_Dialog.H index b76752be6..40a329c77 100644 --- a/FL/Fl_Help_Dialog.H +++ b/FL/Fl_Help_Dialog.H @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0104 +// generated by Fast Light User Interface Designer (fluid) version 1.0105 #ifndef Fl_Help_Dialog_H #define Fl_Help_Dialog_H diff --git a/FL/Fl_Menu_.H b/FL/Fl_Menu_.H index 7e52f028f..71192dd22 100644 --- a/FL/Fl_Menu_.H +++ b/FL/Fl_Menu_.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu_.H,v 1.7.2.4.2.7 2003/06/15 04:47:28 easysw Exp $" +// "$Id: Fl_Menu_.H,v 1.7.2.4.2.8 2004/03/11 05:17:10 easysw Exp $" // // Menu base class header file for the Fast Light Tool Kit (FLTK). // @@ -45,6 +45,7 @@ protected: unsigned textcolor_; public: + int item_pathname(char *name, int namelen, const Fl_Menu_Item *finditem=0) const; const Fl_Menu_Item* picked(const Fl_Menu_Item*); Fl_Menu_(int,int,int,int,const char * =0); @@ -94,5 +95,5 @@ public: #endif // -// End of "$Id: Fl_Menu_.H,v 1.7.2.4.2.7 2003/06/15 04:47:28 easysw Exp $". +// End of "$Id: Fl_Menu_.H,v 1.7.2.4.2.8 2004/03/11 05:17:10 easysw Exp $". // diff --git a/FL/Fl_Text_Display.H b/FL/Fl_Text_Display.H index 0574cf998..dff814141 100644 --- a/FL/Fl_Text_Display.H +++ b/FL/Fl_Text_Display.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Text_Display.H,v 1.4.2.13 2003/01/30 21:40:18 easysw Exp $" +// "$Id: Fl_Text_Display.H,v 1.4.2.14 2004/03/11 05:17:11 easysw Exp $" // // Header file for Fl_Text_Display class. // @@ -98,6 +98,8 @@ class FL_EXPORT Fl_Text_Display: public Fl_Group { void show_cursor(int b = 1); void hide_cursor() { show_cursor(0); } void cursor_style(int style); + Fl_Color cursor_color() const {return mCursor_color;} + void cursor_color(Fl_Color n) {mCursor_color = n;} int scrollbar_width() { return scrollbar_width_; } Fl_Align scrollbar_align() { return scrollbar_align_; } void scrollbar_width(int W) { scrollbar_width_ = W; } @@ -288,5 +290,5 @@ class FL_EXPORT Fl_Text_Display: public Fl_Group { #endif // -// End of "$Id: Fl_Text_Display.H,v 1.4.2.13 2003/01/30 21:40:18 easysw Exp $". +// End of "$Id: Fl_Text_Display.H,v 1.4.2.14 2004/03/11 05:17:11 easysw Exp $". // @@ -1,5 +1,5 @@ // -// "$Id: glut.H,v 1.6.2.10.2.5 2003/01/30 21:40:50 easysw Exp $" +// "$Id: glut.H,v 1.6.2.10.2.6 2004/03/11 05:17:11 easysw Exp $" // // GLUT emulation header file for the Fast Light Tool Kit (FLTK). // @@ -367,11 +367,11 @@ enum { //#define GLUT_NUM_DIALS 608 //#define GLUT_NUM_TABLET_BUTTONS 609 -inline int glutGetModifiers() {return Fl::event_state();} // WARNING: these values are different than GLUT uses: # define GLUT_ACTIVE_SHIFT FL_SHIFT # define GLUT_ACTIVE_CTRL FL_CTRL # define GLUT_ACTIVE_ALT FL_ALT +inline int glutGetModifiers() {return Fl::event_state() & (GLUT_ACTIVE_SHIFT | GLUT_ACTIVE_CTRL | GLUT_ACTIVE_ALT);} int glutLayerGet(GLenum); # define GLUT_OVERLAY_POSSIBLE 800 @@ -470,5 +470,5 @@ extern void APIENTRY glutSolidIcosahedron(); #endif /* !__glut_h__ */ // -// End of "$Id: glut.H,v 1.6.2.10.2.5 2003/01/30 21:40:50 easysw Exp $". +// End of "$Id: glut.H,v 1.6.2.10.2.6 2004/03/11 05:17:11 easysw Exp $". // diff --git a/documentation/Fl_Menu_.html b/documentation/Fl_Menu_.html index 19aebbe7d..5aee92324 100644 --- a/documentation/Fl_Menu_.html +++ b/documentation/Fl_Menu_.html @@ -45,6 +45,7 @@ be "private": a dynamically allocated array managed by the Fl_Menu_. <LI><A href=#Fl_Menu_.copy>copy</A></LI> <LI><A href=#Fl_Menu_.down_box>down_box</A></LI> <LI><A href=#Fl_Menu_.global>global</A></LI> +<LI><A href=#Fl_Menu_.item_pathname>global</A></LI> <LI><A href=#Fl_Menu_.menu>menu</A></LI> </UL> </TD><TD align=left valign=top> @@ -213,6 +214,25 @@ not have to be put in a window at all). <P>Currently there can be only one <TT>global()</TT>menu. Setting a new one will replace the old one. There is no way to remove the <TT> global()</TT> setting (so don't destroy the widget!)</P> + +<h4><a name='Fl_Menu_.item_pathnaem'>int Fl_Menu_::item_pathname(char *name, int namelen ) const;</a><br> +int Fl_Menu_::item_pathname(char *name, int namelen, + const Fl_Menu_Item *finditem) const;</h4> + +<p>Returns the 'menu pathname' (eg. "File/Quit") for the recently picked item in user supplied string 'name'. Useful in the callback function for a menu item, to determine the last picked item's 'menu pathname' string. + +<p>If finditem is specified, name will contain the 'menu pathname' for that item. + +<p>Returns: + +<ul> + <li>0 - OK: 'name' has the pathname, guaranteed not longer than namelen + <li>-1 - Failed: 'finditem' was not found in the menu + <li>-2 - Failed: 'name' is not large enough to handle the menu names +</ul> + +<p>In the case of errors (-1 or -2), 'name' will be an empty string. + <H4><A name=Fl_Menu_.text>const char* Fl_Menu_::text() const <BR> const char* Fl_Menu_::text(int i) const</A></H4> Returns the title of the last item chosen, or of item <TT>i</TT>. diff --git a/documentation/Fl_Text_Display.html b/documentation/Fl_Text_Display.html index d16677583..fe0eea83e 100644 --- a/documentation/Fl_Text_Display.html +++ b/documentation/Fl_Text_Display.html @@ -43,6 +43,7 @@ class. <LI><A HREF="#Fl_Text_Display.Fl_Text_Display">Fl_Text_Display</A></LI> <LI><A HREF="#Fl_Text_Display.~Fl_Text_Display">~Fl_Text_Display</A></LI> <LI><A HREF="#Fl_Text_Display.buffer">buffer</A></LI> + <LI><A HREF="#Fl_Text_Display.cursor_color">cursor_color</A></LI> <LI><A HREF="#Fl_Text_Display.cursor_style">cursor_style</A></LI> <LI><A HREF="#Fl_Text_Display.hide_cursor">hide_cursor</A></LI> <LI><A HREF="#Fl_Text_Display.highlight_data">highlight_data</A></LI> @@ -93,6 +94,11 @@ Fl_Text_Buffer* buffer();</A></H4> <P>Sets or gets the current text buffer associated with the text widget. Multiple text widgets can be associated with the same text buffer. +<H4><A NAME="Fl_Text_Display.cursor_color">void cursor_color(Fl_Color c);</A><br> +Fl_Color cursor_color();</H4> + +<P>Sets or gets the text cursor color. + <H4><A NAME="Fl_Text_Display.cursor_style">void cursor_style(int style);</A></H4> <P>Sets the text cursor style to one of the following: diff --git a/fluid/Fl_Function_Type.cxx b/fluid/Fl_Function_Type.cxx index d9c0aeeec..79007988f 100644 --- a/fluid/Fl_Function_Type.cxx +++ b/fluid/Fl_Function_Type.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.13 2003/08/02 21:17:30 easysw Exp $" +// "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.14 2004/03/11 05:17:11 easysw Exp $" // // C function type code for the Fast Light Tool Kit (FLTK). // @@ -433,7 +433,16 @@ void Fl_CodeBlock_Type::write_code2() { //////////////////////////////////////////////////////////////// -int Fl_Decl_Type::is_public() const {return public_;} +int Fl_Decl_Type::is_public() const +{ + Fl_Type *p = Fl_Type::current; + while (p && !p->is_decl_block()) p = p->parent; + if(p && p->is_public() && public_) + return public_; + else if(!p) + return public_; + return 0; +} Fl_Type *Fl_Decl_Type::make() { Fl_Type *p = Fl_Type::current; @@ -525,11 +534,14 @@ void Fl_Decl_Type::write_code2() {} //////////////////////////////////////////////////////////////// +int Fl_DeclBlock_Type::is_public() const {return public_;} + Fl_Type *Fl_DeclBlock_Type::make() { Fl_Type *p = Fl_Type::current; while (p && !p->is_decl_block()) p = p->parent; Fl_DeclBlock_Type *o = new Fl_DeclBlock_Type(); o->name("#if 1"); + o->public_ = 0; o->after = strdup("#endif"); o->add(p); o->factory = this; @@ -538,12 +550,15 @@ Fl_Type *Fl_DeclBlock_Type::make() { void Fl_DeclBlock_Type::write_properties() { Fl_Type::write_properties(); + if (public_) write_string("public"); write_string("after"); write_word(after); } void Fl_DeclBlock_Type::read_property(const char *c) { - if (!strcmp(c,"after")) { + if(!strcmp(c,"public")) { + public_ = 1; + } else if (!strcmp(c,"after")) { storestring(read_word(),after); } else { Fl_Type::read_property(c); @@ -553,6 +568,7 @@ void Fl_DeclBlock_Type::read_property(const char *c) { void Fl_DeclBlock_Type::open() { if (!declblock_panel) make_declblock_panel(); decl_before_input->static_value(name()); + declblock_public_button->value(public_); decl_after_input->static_value(after); declblock_panel->show(); const char* message = 0; @@ -574,6 +590,7 @@ void Fl_DeclBlock_Type::open() { message = c_check(c&&c[0]=='#' ? c+1 : c); if (message) continue; storestring(c,after); + public_ = declblock_public_button->value(); break; } BREAK2: @@ -584,12 +601,16 @@ Fl_DeclBlock_Type Fl_DeclBlock_type; void Fl_DeclBlock_Type::write_code1() { const char* c = name(); - if (c) write_c("%s\n", c); + if (public_) + write_h("%s\n", c); + write_c("%s\n", c); } void Fl_DeclBlock_Type::write_code2() { const char* c = after; - if (c) write_c("%s\n", c); + if (public_) + write_h("%s\n", c); + write_c("%s\n", c); } //////////////////////////////////////////////////////////////// @@ -740,5 +761,5 @@ void Fl_Class_Type::write_code2() { } // -// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.13 2003/08/02 21:17:30 easysw Exp $". +// End of "$Id: Fl_Function_Type.cxx,v 1.15.2.16.2.14 2004/03/11 05:17:11 easysw Exp $". // diff --git a/fluid/Fl_Type.h b/fluid/Fl_Type.h index c5346e72c..30a898608 100644 --- a/fluid/Fl_Type.h +++ b/fluid/Fl_Type.h @@ -1,5 +1,5 @@ // -// "$Id: Fl_Type.h,v 1.5.2.11.2.10 2003/09/03 19:50:54 easysw Exp $" +// "$Id: Fl_Type.h,v 1.5.2.11.2.11 2004/03/11 05:17:11 easysw Exp $" // // Widget type header file for the Fast Light Tool Kit (FLTK). // @@ -197,6 +197,7 @@ public: class Fl_DeclBlock_Type : public Fl_Type { const char* after; + char public_; public: Fl_Type *make(); void write_code1(); @@ -207,6 +208,7 @@ public: void read_property(const char *); int is_parent() const {return 1;} int is_decl_block() const {return 1;} + virtual int is_public() const; int pixmapID() { return 11; } }; @@ -594,5 +596,5 @@ int storestring(const char *n, const char * & p, int nostrip=0); extern int include_H_from_C; // -// End of "$Id: Fl_Type.h,v 1.5.2.11.2.10 2003/09/03 19:50:54 easysw Exp $". +// End of "$Id: Fl_Type.h,v 1.5.2.11.2.11 2004/03/11 05:17:11 easysw Exp $". // diff --git a/fluid/function_panel.cxx b/fluid/function_panel.cxx index f560da475..f2fba6ec0 100644 --- a/fluid/function_panel.cxx +++ b/fluid/function_panel.cxx @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0104 +// generated by Fast Light User Interface Designer (fluid) version 1.0105 #include "function_panel.h" #include <FL/Fl_Pixmap.H> @@ -73,7 +73,7 @@ Fl_Button *code_panel_cancel=(Fl_Button *)0; Fl_Window* make_code_panel() { Fl_Window* w; - { Fl_Window* o = code_panel = new Fl_Window(548, 175, "code"); + { Fl_Window* o = code_panel = new Fl_Window(545, 175, "code"); w = o; { Fl_Group* o = new Fl_Group(10, 10, 525, 120); o->box(FL_DOWN_FRAME); @@ -153,11 +153,13 @@ Fl_Return_Button *declblock_panel_ok=(Fl_Return_Button *)0; Fl_Button *declblock_panel_cancel=(Fl_Button *)0; +Fl_Light_Button *declblock_public_button=(Fl_Light_Button *)0; + Fl_Window* make_declblock_panel() { Fl_Window* w; - { Fl_Window* o = declblock_panel = new Fl_Window(295, 130, "declaration block"); + { Fl_Window* o = declblock_panel = new Fl_Window(295, 155, "declaration block"); w = o; - { Fl_Input* o = decl_before_input = new Fl_Input(10, 10, 275, 25); + { Fl_Input* o = decl_before_input = new Fl_Input(10, 35, 275, 25); o->tooltip("#ifdef or similar conditional declaration block."); o->labelsize(12); o->textfont(4); @@ -165,22 +167,27 @@ Fl_Window* make_declblock_panel() { o->when(FL_WHEN_NEVER); Fl_Group::current()->resizable(o); } - { Fl_Box* o = new Fl_Box(10, 35, 275, 25, "\"\\n...child code...\\n\" is inserted here"); + { Fl_Box* o = new Fl_Box(10, 60, 275, 25, "\"\\n...child code...\\n\" is inserted here"); o->align(FL_ALIGN_LEFT|FL_ALIGN_INSIDE); } - { Fl_Input* o = decl_after_input = new Fl_Input(10, 60, 275, 25); + { Fl_Input* o = decl_after_input = new Fl_Input(10, 85, 275, 25); o->tooltip("#endif or similar declaration code block."); o->labelsize(12); o->textfont(4); o->align(FL_ALIGN_TOP_LEFT); o->when(FL_WHEN_NEVER); } - { Fl_Return_Button* o = declblock_panel_ok = new Fl_Return_Button(120, 95, 80, 25, "OK"); + { Fl_Return_Button* o = declblock_panel_ok = new Fl_Return_Button(120, 120, 80, 25, "OK"); w->hotspot(o); } - { Fl_Button* o = declblock_panel_cancel = new Fl_Button(205, 95, 80, 25, "Cancel"); + { Fl_Button* o = declblock_panel_cancel = new Fl_Button(205, 120, 80, 25, "Cancel"); o->shortcut(0xff1b); } + { Fl_Light_Button* o = declblock_public_button = new Fl_Light_Button(9, 6, 65, 25, "public"); + o->tooltip("Make the declaration publicly accessible."); + o->labelsize(10); + o->when(FL_WHEN_NEVER); + } o->set_modal(); o->end(); } @@ -280,11 +287,11 @@ void type_make_cb(Fl_Widget*w,void*d) { if (t) {select_only(t); modflag = 1; t->open();} } -Fl_Double_Window *widgetbin_panel=(Fl_Double_Window *)0; +Fl_Window *widgetbin_panel=(Fl_Window *)0; -Fl_Double_Window* make_widgetbin() { - Fl_Double_Window* w; - { Fl_Double_Window* o = widgetbin_panel = new Fl_Double_Window(443, 100, "Bin"); +Fl_Window* make_widgetbin() { + Fl_Window* w; + { Fl_Window* o = widgetbin_panel = new Fl_Window(440, 100, "Bin"); w = o; { Fl_Group* o = new Fl_Group(3, 3, 50, 74); o->box(FL_THIN_DOWN_BOX); diff --git a/fluid/function_panel.fl b/fluid/function_panel.fl index 97eb8b843..5b7f84ce0 100644 --- a/fluid/function_panel.fl +++ b/fluid/function_panel.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0104 +version 1.0105 header_name {.h} code_name {.cxx} decl {\#include <FL/Fl_Pixmap.H>} {} @@ -16,7 +16,7 @@ Function {make_function_panel()} {open } { Fl_Window function_panel { label {function/method} open - xywh {774 432 285 170} resizable modal visible + xywh {909 450 285 170} type Single hide resizable modal } { Fl_Light_Button f_public_button { label public @@ -49,7 +49,7 @@ Function {make_code_panel()} {open } { Fl_Window code_panel { label code open - xywh {327 261 548 175} resizable modal visible + xywh {327 261 545 175} type Single hide resizable modal } { Fl_Group {} {open xywh {10 10 525 120} box DOWN_FRAME resizable @@ -75,8 +75,8 @@ Function {make_code_panel()} {open Function {make_codeblock_panel()} {open } { Fl_Window codeblock_panel { - label codeblock open - xywh {289 462 295 130} resizable modal visible + label codeblock open selected + xywh {289 462 295 130} type Single hide resizable modal } { Fl_Input code_before_input { tooltip {\#ifdef or similar conditional code block.} xywh {10 10 275 25} labelsize 12 align 5 when 0 textfont 4 resizable @@ -103,25 +103,29 @@ Function {make_declblock_panel()} {open } { Fl_Window declblock_panel { label {declaration block} open - xywh {184 572 295 130} resizable modal visible + xywh {184 572 295 155} type Single hide resizable modal } { Fl_Input decl_before_input { - tooltip {\#ifdef or similar conditional declaration block.} xywh {10 10 275 25} labelsize 12 align 5 when 0 textfont 4 resizable + tooltip {\#ifdef or similar conditional declaration block.} xywh {10 35 275 25} labelsize 12 align 5 when 0 textfont 4 resizable } Fl_Box {} { label {"\\n...child code...\\n" is inserted here} - xywh {10 35 275 25} align 20 + xywh {10 60 275 25} align 20 } Fl_Input decl_after_input { - tooltip {\#endif or similar declaration code block.} xywh {10 60 275 25} labelsize 12 align 5 when 0 textfont 4 + tooltip {\#endif or similar declaration code block.} xywh {10 85 275 25} labelsize 12 align 5 when 0 textfont 4 } Fl_Return_Button declblock_panel_ok { label OK - xywh {120 95 80 25} hotspot + xywh {120 120 80 25} hotspot } Fl_Button declblock_panel_cancel { label Cancel - xywh {205 95 80 25} shortcut 0xff1b + xywh {205 120 80 25} shortcut 0xff1b + } + Fl_Light_Button declblock_public_button { + label public + tooltip {Make the declaration publicly accessible.} xywh {9 6 65 25} labelsize 10 when 0 } } } @@ -130,7 +134,7 @@ Function {make_decl_panel()} {open } { Fl_Window decl_panel { label declaration open - xywh {393 601 290 180} resizable visible + xywh {393 601 290 180} type Single hide resizable } { Fl_Light_Button decl_public_button { label public @@ -155,7 +159,7 @@ Function {make_class_panel()} {open } { Fl_Window class_panel { label class open - xywh {517 797 285 170} resizable modal visible + xywh {517 797 285 170} type Single hide resizable modal } { Fl_Light_Button c_public_button { label public @@ -190,10 +194,10 @@ Function {make_widgetbin()} {open } { Fl_Window widgetbin_panel { label Bin open - xywh {325 137 443 100} type Double - code0 {o->size(o->w(),80);} non_modal visible + xywh {325 137 440 100} type Single hide + code0 {o->size(o->w(),80);} non_modal } { - Fl_Group {} {open + Fl_Group {} { xywh {3 3 50 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -233,7 +237,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[11]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {55 3 74 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -279,7 +283,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[21]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {131 3 50 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -319,7 +323,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[4]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {183 3 74 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -377,7 +381,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[45]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {259 3 50 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -411,7 +415,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[30]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {311 3 50 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -445,7 +449,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[15]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {363 3 26 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -467,7 +471,7 @@ Function {make_widgetbin()} {open code0 {o->image(pixmap[33]);} } } - Fl_Group {} {open + Fl_Group {} { xywh {391 3 50 74} box THIN_DOWN_BOX } { Fl_Button {} { @@ -490,7 +494,7 @@ Function {make_widgetbin()} {open } Fl_Button {} { user_data {"Fl_Progress"} - callback type_make_cb selected + callback type_make_cb tooltip Progress xywh {392 52 24 24} box THIN_UP_BOX code0 {o->image(pixmap[36]);} } diff --git a/fluid/function_panel.h b/fluid/function_panel.h index b7f312067..2f57f16b6 100644 --- a/fluid/function_panel.h +++ b/fluid/function_panel.h @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0104 +// generated by Fast Light User Interface Designer (fluid) version 1.0105 #ifndef function_panel_h #define function_panel_h @@ -35,6 +35,7 @@ extern Fl_Input *decl_before_input; extern Fl_Input *decl_after_input; extern Fl_Return_Button *declblock_panel_ok; extern Fl_Button *declblock_panel_cancel; +extern Fl_Light_Button *declblock_public_button; Fl_Window* make_declblock_panel(); extern Fl_Window *decl_panel; extern Fl_Light_Button *decl_public_button; @@ -50,8 +51,7 @@ extern Fl_Return_Button *c_panel_ok; extern Fl_Button *c_panel_cancel; Fl_Window* make_class_panel(); void type_make_cb(Fl_Widget*w,void*d); -#include <FL/Fl_Double_Window.H> -extern Fl_Double_Window *widgetbin_panel; +extern Fl_Window *widgetbin_panel; extern void type_make_cb(Fl_Button*, void*); -Fl_Double_Window* make_widgetbin(); +Fl_Window* make_widgetbin(); #endif diff --git a/src/Fl_Help_Dialog.cxx b/src/Fl_Help_Dialog.cxx index eab956c1b..aadee5495 100644 --- a/src/Fl_Help_Dialog.cxx +++ b/src/Fl_Help_Dialog.cxx @@ -1,4 +1,4 @@ -// generated by Fast Light User Interface Designer (fluid) version 1.0104 +// generated by Fast Light User Interface Designer (fluid) version 1.0105 #include "../FL/Fl_Help_Dialog.H" #include "flstring.h" @@ -55,10 +55,12 @@ if (index_ == 0) forward_->activate(); +int l = line_[index_]; + if (strcmp(view_->filename(), file_[index_]) != 0) view_->load(file_[index_]); -view_->topline(line_[index_]); +view_->topline(l); } void Fl_Help_Dialog::cb_back_(Fl_Button* o, void* v) { ((Fl_Help_Dialog*)(o->parent()->user_data()))->cb_back__i(o,v); @@ -73,10 +75,12 @@ if (index_ >= max_) back_->activate(); +int l = view_->topline(); + if (strcmp(view_->filename(), file_[index_]) != 0) view_->load(file_[index_]); -view_->topline(line_[index_]); +view_->topline(l); } void Fl_Help_Dialog::cb_forward_(Fl_Button* o, void* v) { ((Fl_Help_Dialog*)(o->parent()->user_data()))->cb_forward__i(o,v); @@ -120,12 +124,12 @@ Fl_Help_Dialog::Fl_Help_Dialog() { o->user_data((void*)(this)); { Fl_Help_View* o = view_ = new Fl_Help_View(10, 10, 510, 330); o->box(FL_DOWN_BOX); - o->color(49); - o->selection_color(15); + o->color(FL_BACKGROUND_COLOR); + o->selection_color(FL_SELECTION_COLOR); o->labeltype(FL_NORMAL_LABEL); o->labelfont(0); o->labelsize(14); - o->labelcolor(56); + o->labelcolor(FL_BLACK); o->callback((Fl_Callback*)cb_view_); o->align(FL_ALIGN_TOP); o->when(FL_WHEN_RELEASE); @@ -139,13 +143,13 @@ Fl_Help_Dialog::Fl_Help_Dialog() { { Fl_Button* o = back_ = new Fl_Button(355, 350, 25, 25, "@<-"); o->tooltip("Show the previous help page."); o->shortcut(0xff51); - o->labelcolor(2); + o->labelcolor((Fl_Color)2); o->callback((Fl_Callback*)cb_back_); } { Fl_Button* o = forward_ = new Fl_Button(390, 350, 25, 25, "@->"); o->tooltip("Show the next help page."); o->shortcut(0xff53); - o->labelcolor(2); + o->labelcolor((Fl_Color)2); o->callback((Fl_Callback*)cb_forward_); } { Fl_Button* o = smaller_ = new Fl_Button(285, 350, 25, 25, "F"); diff --git a/src/Fl_Help_Dialog.fl b/src/Fl_Help_Dialog.fl index dff63a7f9..7647aaab6 100644 --- a/src/Fl_Help_Dialog.fl +++ b/src/Fl_Help_Dialog.fl @@ -1,5 +1,5 @@ # data file for the Fltk User Interface Designer (fluid) -version 1.0104 +version 1.0105 header_name {../FL/Fl_Help_Dialog.H} code_name {.cxx} decl {\#include "flstring.h"} {} @@ -17,7 +17,7 @@ class FL_EXPORT Fl_Help_Dialog {open } { Fl_Window window_ { label {Help Dialog} open - private xywh {398 65 530 385} type Double resizable visible + private xywh {398 65 530 385} type Double hide resizable } { Fl_Group view_ { callback {if (view_->changed()) @@ -48,7 +48,7 @@ else if (view_->filename()) { strlcpy(file_[index_], view_->filename(), sizeof(file_[0])); line_[index_] = view_->topline(); -}} open +}} open selected private xywh {10 10 510 330} box DOWN_BOX selection_color 15 resizable code0 {\#include <FL/Fl_Help_View.H>} class Fl_Help_View @@ -69,10 +69,12 @@ if (index_ == 0) forward_->activate(); +int l = line_[index_]; + if (strcmp(view_->filename(), file_[index_]) != 0) view_->load(file_[index_]); -view_->topline(line_[index_]);} +view_->topline(l);} private tooltip {Show the previous help page.} xywh {355 350 25 25} shortcut 0xff51 labelcolor 2 } Fl_Button forward_ { @@ -85,10 +87,12 @@ if (index_ >= max_) back_->activate(); +int l = view_->topline(); + if (strcmp(view_->filename(), file_[index_]) != 0) view_->load(file_[index_]); -view_->topline(line_[index_]);} +view_->topline(l);} private tooltip {Show the next help page.} xywh {390 350 25 25} shortcut 0xff53 labelcolor 2 } Fl_Button smaller_ { @@ -112,7 +116,7 @@ smaller_->activate();} private tooltip {Make the help text larger.} xywh {320 350 25 25} labelfont 1 labelsize 16 } Fl_Input find_ { - callback {find_pos_ = view_->find(find_->value(), find_pos_);} selected + callback {find_pos_ = view_->find(find_->value(), find_pos_);} private xywh {10 350 265 25} when 10 } } diff --git a/src/Fl_Menu_.cxx b/src/Fl_Menu_.cxx index 6b9567547..56ca4e4b3 100644 --- a/src/Fl_Menu_.cxx +++ b/src/Fl_Menu_.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Menu_.cxx,v 1.7.2.8.2.6 2003/01/30 21:42:11 easysw Exp $" +// "$Id: Fl_Menu_.cxx,v 1.7.2.8.2.7 2004/03/11 05:17:12 easysw Exp $" // // Common menu code for the Fast Light Tool Kit (FLTK). // @@ -36,6 +36,43 @@ #include <stdio.h> #include <stdlib.h> +// Set 'pathname' of specified menuitem +// If finditem==NULL, mvalue() is used (the most recently picked menuitem) +// Returns: +// 0 : OK +// -1 : item not found (name="") +// -2 : 'name' not large enough (name="") +// +#define SAFE_STRCAT(s) \ + { len += strlen(s); if ( len >= namelen ) { *name='\0'; return(-2); } else strcat(name,(s)); } +int Fl_Menu_::item_pathname(char *name, int namelen, const Fl_Menu_Item *finditem) const { + int len = 0; + finditem = finditem ? finditem : mvalue(); + name[0] = '\0'; + for ( int t=0; t<size(); t++ ) { + const Fl_Menu_Item *m = &(menu()[t]); + if ( m->submenu() ) { // submenu? descend + if ( *name ) SAFE_STRCAT("/"); + SAFE_STRCAT(m->label()); + } else { + if ( m->label() ) { // menu item? + if ( m == finditem ) { // found? tack on itemname, done. + SAFE_STRCAT("/"); + SAFE_STRCAT(m->label()); + return(0); + } + } else { // end of submenu? pop + char *ss = strrchr(name, '/'); + if ( ss ) { *ss = 0; len = strlen(name); } // "File/Edit" -> "File" + else { name[0] = '\0'; len = 0; } // "File" -> "" + continue; + } + } + } + *name = '\0'; + return(-1); // item not found +} + int Fl_Menu_::value(const Fl_Menu_Item* m) { clear_changed(); if (value_ != m) {value_ = m; return 1;} @@ -150,5 +187,5 @@ void Fl_Menu_::clear() { } // -// End of "$Id: Fl_Menu_.cxx,v 1.7.2.8.2.6 2003/01/30 21:42:11 easysw Exp $". +// End of "$Id: Fl_Menu_.cxx,v 1.7.2.8.2.7 2004/03/11 05:17:12 easysw Exp $". // diff --git a/src/Fl_Scroll.cxx b/src/Fl_Scroll.cxx index 7d09eb8ae..6e2f6a7a7 100644 --- a/src/Fl_Scroll.cxx +++ b/src/Fl_Scroll.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Scroll.cxx,v 1.7.2.6.2.5 2003/06/15 04:41:16 easysw Exp $" +// "$Id: Fl_Scroll.cxx,v 1.7.2.6.2.6 2004/03/11 05:17:12 easysw Exp $" // // Scroll widget for the Fast Light Tool Kit (FLTK). // @@ -74,13 +74,15 @@ void Fl_Scroll::draw_clip(void* v,int X, int Y, int W, int H) { if (NB > B) B = NB; } // fill any area to right & bottom of widgets: - if (R < X+W && B > Y) { - fl_color(s->color()); - fl_rectf(R,Y,X+W-R,B-Y); - } - if (B < Y+H) { - fl_color(s->color()); - fl_rectf(X,B,W,Y+H-B); + if (s->box()) { + if (R < X+W && B > Y) { + fl_color(s->color()); + fl_rectf(R,Y,X+W-R,B-Y); + } + if (B < Y+H) { + fl_color(s->color()); + fl_rectf(X,B,W,Y+H-B); + } } fl_pop_clip(); } @@ -266,5 +268,5 @@ int Fl_Scroll::handle(int event) { } // -// End of "$Id: Fl_Scroll.cxx,v 1.7.2.6.2.5 2003/06/15 04:41:16 easysw Exp $". +// End of "$Id: Fl_Scroll.cxx,v 1.7.2.6.2.6 2004/03/11 05:17:12 easysw Exp $". // diff --git a/src/Fl_Slider.cxx b/src/Fl_Slider.cxx index 921dd5b64..4ceb16af8 100644 --- a/src/Fl_Slider.cxx +++ b/src/Fl_Slider.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Slider.cxx,v 1.8.2.10.2.13 2003/01/30 21:42:44 easysw Exp $" +// "$Id: Fl_Slider.cxx,v 1.8.2.10.2.14 2004/03/11 05:17:12 easysw Exp $" // // Slider widget for the Fast Light Tool Kit (FLTK). // @@ -83,13 +83,9 @@ int Fl_Slider::scrollvalue(int p, int W, int t, int l) { // actually it ranges from 0 to 1/(1-size). void Fl_Slider::draw_bg(int X, int Y, int W, int H) { - if (!(damage()&FL_DAMAGE_ALL)) { // not a complete redraw - fl_push_clip(X, Y, W, H); - draw_box(); - fl_pop_clip(); - } else { - draw_box(); - } + fl_push_clip(X, Y, W, H); + draw_box(); + fl_pop_clip(); Fl_Color black = active_r() ? FL_FOREGROUND_COLOR : FL_INACTIVE_COLOR; if (type() == FL_VERT_NICE_SLIDER) { @@ -290,5 +286,5 @@ int Fl_Slider::handle(int event) { } // -// End of "$Id: Fl_Slider.cxx,v 1.8.2.10.2.13 2003/01/30 21:42:44 easysw Exp $". +// End of "$Id: Fl_Slider.cxx,v 1.8.2.10.2.14 2004/03/11 05:17:12 easysw Exp $". // diff --git a/src/Fl_Sys_Menu_Bar.cxx b/src/Fl_Sys_Menu_Bar.cxx index 7ea2eeec5..6870b2a5f 100644 --- a/src/Fl_Sys_Menu_Bar.cxx +++ b/src/Fl_Sys_Menu_Bar.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.7 2003/06/12 01:36:18 easysw Exp $" +// "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.8 2004/03/11 05:17:12 easysw Exp $" // // MacOS system menu bar widget for the Fast Light Tool Kit (FLTK). // @@ -48,6 +48,8 @@ * Changing the menu items has no effect on the menu bar. */ +#if defined(__APPLE__) + #include <FL/X.H> #include <FL/Fl.H> #include <FL/Fl_Sys_Menu_Bar.H> @@ -315,6 +317,8 @@ int Fl_Menu_Bar::handle(int event) { } */ +#endif /* __APPLE__ */ + // -// End of "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.7 2003/06/12 01:36:18 easysw Exp $". +// End of "$Id: Fl_Sys_Menu_Bar.cxx,v 1.1.2.8 2004/03/11 05:17:12 easysw Exp $". // diff --git a/src/Fl_mac.cxx b/src/Fl_mac.cxx index bfda9b7b1..2b9e528a0 100644 --- a/src/Fl_mac.cxx +++ b/src/Fl_mac.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_mac.cxx,v 1.1.2.51 2003/08/02 05:54:43 matthiaswm Exp $" +// "$Id: Fl_mac.cxx,v 1.1.2.52 2004/03/11 05:17:12 easysw Exp $" // // MacOS specific code for the Fast Light Tool Kit (FLTK). // @@ -377,8 +377,10 @@ static pascal OSStatus carbonDispatchHandler( EventHandlerCallRef nextHandler, E case kEventMouseDragged: if ( fl_capture ) ret = SendEventToEventTarget( event, GetWindowEventTarget( fl_capture ) ); - else if ( fl_os_capture ) + else if ( fl_os_capture ){ ret = SendEventToEventTarget( event, GetWindowEventTarget( fl_os_capture ) ); + fl_os_capture = 0; + } break; } break; @@ -1877,6 +1879,6 @@ void Fl::paste(Fl_Widget &receiver, int clipboard) { // -// End of "$Id: Fl_mac.cxx,v 1.1.2.51 2003/08/02 05:54:43 matthiaswm Exp $". +// End of "$Id: Fl_mac.cxx,v 1.1.2.52 2004/03/11 05:17:12 easysw Exp $". // diff --git a/src/Makefile b/src/Makefile index d93a3ac6b..834647684 100644 --- a/src/Makefile +++ b/src/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile,v 1.18.2.14.2.54 2003/08/24 13:09:06 easysw Exp $" +# "$Id: Makefile,v 1.18.2.14.2.55 2004/03/11 05:17:12 easysw Exp $" # # Library makefile for the Fast Light Tool Kit (FLTK). # @@ -55,6 +55,7 @@ CPPFILES = \ Fl_Menu.cxx \ Fl_Menu_.cxx \ Fl_Menu_Bar.cxx \ + Fl_Sys_Menu_Bar.cxx \ Fl_Menu_Button.cxx \ Fl_Menu_Window.cxx \ Fl_Menu_add.cxx \ @@ -582,5 +583,5 @@ uninstall: # -# End of "$Id: Makefile,v 1.18.2.14.2.54 2003/08/24 13:09:06 easysw Exp $". +# End of "$Id: Makefile,v 1.18.2.14.2.55 2004/03/11 05:17:12 easysw Exp $". # diff --git a/src/filename_absolute.cxx b/src/filename_absolute.cxx index 6ce6d7042..5a70d9d77 100644 --- a/src/filename_absolute.cxx +++ b/src/filename_absolute.cxx @@ -1,5 +1,5 @@ // -// "$Id: filename_absolute.cxx,v 1.5.2.4.2.10 2003/01/30 21:43:20 easysw Exp $" +// "$Id: filename_absolute.cxx,v 1.5.2.4.2.11 2004/03/11 05:17:12 easysw Exp $" // // Filename expansion routines for the Fast Light Tool Kit (FLTK). // @@ -132,6 +132,11 @@ fl_filename_relative(char *to, // O - Relative filename } #if defined(WIN32) || defined(__EMX__) + if (!strcasecmp(from, cwd)) { + strlcpy(to, ".", tolen); + return (1); + } + if (*from != *cwd) { // Not the same drive... strlcpy(to, from, tolen); @@ -139,6 +144,11 @@ fl_filename_relative(char *to, // O - Relative filename } for (slash = from + 2, newslash = cwd + 2; #else + if (!strcmp(from, cwd)) { + strlcpy(to, ".", tolen); + return (1); + } + for (slash = from, newslash = cwd; #endif // WIN32 || __EMX__ *slash != '\0' && *newslash != '\0'; @@ -176,5 +186,5 @@ fl_filename_relative(char *to, // O - Relative filename // -// End of "$Id: filename_absolute.cxx,v 1.5.2.4.2.10 2003/01/30 21:43:20 easysw Exp $". +// End of "$Id: filename_absolute.cxx,v 1.5.2.4.2.11 2004/03/11 05:17:12 easysw Exp $". // |
