From 7e8ec10e6d9a50ea7a4cea0d00cf7566135c8a15 Mon Sep 17 00:00:00 2001 From: Michael R Sweet Date: Thu, 18 Apr 2002 20:37:29 +0000 Subject: Add missing docos for Fl_Progress. Add Fl_File_Chooser::directory_label, filename_label, and filter_label static string pointers for labels (allows for I18N of the file chooser). Fix typos in other docos. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@2098 ea41ed52-d2ee-0310-a9c1-e6b18d33e121 --- FL/Fl_File_Chooser.H | 37 ++++++----- FL/Fl_Progress.H | 8 +-- documentation/Fl.html | 5 ++ documentation/Fl_Button.html | 2 +- documentation/Fl_Progress.html | 65 +++++++++++++++++++ documentation/Fl_Widget.html | 2 +- documentation/fltk.book | 3 +- documentation/widgets.html | 2 + src/Fl_File_Chooser.cxx | 142 +++++++++++++++++++++-------------------- src/Fl_File_Chooser.fl | 91 ++++++++++++++------------ 10 files changed, 223 insertions(+), 134 deletions(-) create mode 100644 documentation/Fl_Progress.html diff --git a/FL/Fl_File_Chooser.H b/FL/Fl_File_Chooser.H index 4be5bb883..a9ca0f824 100644 --- a/FL/Fl_File_Chooser.H +++ b/FL/Fl_File_Chooser.H @@ -7,12 +7,12 @@ #include #include #include -#include +#include #include -#include #include +#include #include -#include +#include class Fl_File_Chooser { public: @@ -22,28 +22,28 @@ private: Fl_Window *window; inline void cb_window_i(Fl_Window*, void*); static void cb_window(Fl_Window*, void*); - Fl_File_Browser *fileList; - inline void cb_fileList_i(Fl_File_Browser*, void*); - static void cb_fileList(Fl_File_Browser*, void*); - inline void cb_Cancel_i(Fl_Button*, void*); - static void cb_Cancel(Fl_Button*, void*); - Fl_Return_Button *okButton; - inline void cb_okButton_i(Fl_Return_Button*, void*); - static void cb_okButton(Fl_Return_Button*, void*); - Fl_Input *fileName; - inline void cb_fileName_i(Fl_Input*, void*); - static void cb_fileName(Fl_Input*, void*); + Fl_Choice *dirMenu; + inline void cb_dirMenu_i(Fl_Choice*, void*); + static void cb_dirMenu(Fl_Choice*, void*); Fl_Button *upButton; inline void cb_upButton_i(Fl_Button*, void*); static void cb_upButton(Fl_Button*, void*); Fl_Button *newButton; inline void cb_newButton_i(Fl_Button*, void*); static void cb_newButton(Fl_Button*, void*); - Fl_Choice *dirMenu; - inline void cb_dirMenu_i(Fl_Choice*, void*); - static void cb_dirMenu(Fl_Choice*, void*); inline void cb__i(Fl_Button*, void*); static void cb_(Fl_Button*, void*); + Fl_File_Browser *fileList; + inline void cb_fileList_i(Fl_File_Browser*, void*); + static void cb_fileList(Fl_File_Browser*, void*); + Fl_Input *fileName; + inline void cb_fileName_i(Fl_Input*, void*); + static void cb_fileName(Fl_Input*, void*); + Fl_Return_Button *okButton; + inline void cb_okButton_i(Fl_Return_Button*, void*); + static void cb_okButton(Fl_Return_Button*, void*); + inline void cb_Cancel_i(Fl_Button*, void*); + static void cb_Cancel(Fl_Button*, void*); void (*callback_)(Fl_File_Chooser*, void *); void *data_; char directory_[1024]; @@ -80,6 +80,9 @@ public: const char *value(int f = 1); void value(const char *filename); int visible(); + static const char *directory_label; + static const char *filename_label; + static const char *filter_label; }; extern FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname); extern FL_EXPORT char *fl_file_chooser(const char *message,const char *pat,const char *fname); diff --git a/FL/Fl_Progress.H b/FL/Fl_Progress.H index c950d40e1..a1f95bf2c 100644 --- a/FL/Fl_Progress.H +++ b/FL/Fl_Progress.H @@ -1,5 +1,5 @@ // -// "$Id: Fl_Progress.H,v 1.1.2.2 2002/01/01 15:11:28 easysw Exp $" +// "$Id: Fl_Progress.H,v 1.1.2.3 2002/04/18 20:37:29 easysw Exp $" // // Progress bar widget definitions. // @@ -40,8 +40,8 @@ class Fl_Progress : public Fl_Widget { float value_, - minimum_, - maximum_; + minimum_, + maximum_; protected: @@ -64,5 +64,5 @@ class Fl_Progress : public Fl_Widget #endif // !_Fl_Progress_H_ // -// End of "$Id: Fl_Progress.H,v 1.1.2.2 2002/01/01 15:11:28 easysw Exp $". +// End of "$Id: Fl_Progress.H,v 1.1.2.3 2002/04/18 20:37:29 easysw Exp $". // diff --git a/documentation/Fl.html b/documentation/Fl.html index 15e52dece..65b5cd4dd 100644 --- a/documentation/Fl.html +++ b/documentation/Fl.html @@ -1043,6 +1043,11 @@ done.

void set_idle(void (*cb)());

+

Sets an idle callback. + +

This method is obsolete - use the add_idle() method instead. +

void set_labeltype(Fl_Labeltype,Fl_Label_Draw_F*,Fl_Label_Measure_F*);
void set_labeltype(Fl_Labeltype, Fl_Labeltype from);

diff --git a/documentation/Fl_Button.html b/documentation/Fl_Button.html index e6ee1e733..533d4066a 100644 --- a/documentation/Fl_Button.html +++ b/documentation/Fl_Button.html @@ -67,7 +67,7 @@ w, int h, const char *label = 0) The constructor creates the button using the position, size, and label.

Fl_Button::~Fl_Button(void)

- The destructor removed the button. + The destructor removes the button.

int Fl_Button::clear()

Same as value(0).

Fl_Boxtype Fl_Button::down_box() const diff --git a/documentation/Fl_Progress.html b/documentation/Fl_Progress.html new file mode 100644 index 000000000..d20d14a54 --- /dev/null +++ b/documentation/Fl_Progress.html @@ -0,0 +1,65 @@ + + + + +

class Fl_Progress

+ +
+ +

Class Hierarchy

+ + + +

Include Files

+ +
    +#include <FL/Fl_Progress.H>
    +
+ +

Description

+ +

The Fl_Progress widget displays a progress bar for the +user. + +

Methods

+ + + +

Fl_Progress::Fl_Progress(int x, int y, int w, int h, const char *label = 0)

+ +

The constructor creates the progress bar using the position, +size, and label. + +

Fl_Progress::~Fl_Progress(void)

+ +

The destructor removes the progress bar. + +

void maximum(float v); +
float maximum() const;

+ +

Gets or sets the maximum value in the progress widget. + +

void minimum(float v); +
float minimum() const;

+ +

Gets or sets the minimum value in the progress widget. + +

void value(float v); +
float value() const;

+ +

Gets or sets the current value in the progress widget. + + + diff --git a/documentation/Fl_Widget.html b/documentation/Fl_Widget.html index 457edde55..ce6249cbd 100644 --- a/documentation/Fl_Widget.html +++ b/documentation/Fl_Widget.html @@ -9,7 +9,7 @@ | +----Fl_Box, Fl_Browser_, Fl_Button, Fl_Chart, Fl_Clock, Fl_Free, Fl_Group, Fl_Input_, Fl_Menu_, Fl_Positioner, - Fl_Timer, Fl_Valuator + Fl_Progress, Fl_Timer, Fl_Valuator

Include Files

diff --git a/documentation/fltk.book b/documentation/fltk.book index 74ebf3d15..7df87427f 100644 --- a/documentation/fltk.book +++ b/documentation/fltk.book @@ -1,4 +1,4 @@ -#HTMLDOC 1.8.17 +#HTMLDOC 1.8.19 -t pdf13 -f fltk.pdf --book --toclevels 2 --no-numbered --toctitle "Table of Contents" --title --titleimage FL.gif --linkstyle underline --size Universal --left 1.00in --right 0.50in --top 0.50in --bottom 0.50in --header .t. --footer h.1 --tocheader .t. --tocfooter ..i --duplex --portrait --color --no-pscommands --no-xrxcomments --compression=9 --jpeg=50 --fontsize 11.0 --fontspacing 1.2 --headingfont Helvetica --bodyfont Times --headfootsize 11.0 --headfootfont Helvetica --charset 8859-1 --links --no-truetype --pagemode outline --pagelayout single --firstpage c1 --pageeffect none --pageduration 10 --effectduration 1.0 --no-encryption --permissions all --owner-password "" --user-password "" --browserwidth 680 preface.html intro.html @@ -60,6 +60,7 @@ Fl_Pixmap.html Fl_PNG_Image.html Fl_PNM_Image.html Fl_Positioner.html +Fl_Progress.html Fl_Repeat_Button.html Fl_RGB_Image.html Fl_Return_Button.html diff --git a/documentation/widgets.html b/documentation/widgets.html index 24501e406..f93f6a3b3 100644 --- a/documentation/widgets.html +++ b/documentation/widgets.html @@ -63,6 +63,7 @@ description of the fl_ functions, see Fl_PNG_Image
Fl_PNM_Image
Fl_Positioner
+Fl_Progress
Fl_Repeat_Button
Fl_Return_Button
Fl_RGB_Image
@@ -195,6 +196,7 @@ description of the fl_ functions, see
  • Fl_Menu_Button
  • Fl_Positioner +
  • Fl_Progress
  • Fl_Timer
  • Fl_Valuator
      diff --git a/src/Fl_File_Chooser.cxx b/src/Fl_File_Chooser.cxx index ac62bc549..ce636f75b 100644 --- a/src/Fl_File_Chooser.cxx +++ b/src/Fl_File_Chooser.cxx @@ -2,6 +2,10 @@ #include "../FL/Fl_File_Chooser.H" +const char *Fl_File_Chooser::directory_label = "Directory:"; +const char *Fl_File_Chooser::filename_label = "Filename:"; +const char *Fl_File_Chooser::filter_label = "New Filter?"; + inline void Fl_File_Chooser::cb_window_i(Fl_Window*, void*) { fileList->deselect(); fileName->value(""); @@ -11,38 +15,17 @@ void Fl_File_Chooser::cb_window(Fl_Window* o, void* v) { ((Fl_File_Chooser*)(o->user_data()))->cb_window_i(o,v); } -inline void Fl_File_Chooser::cb_fileList_i(Fl_File_Browser*, void*) { - fileListCB(); -} -void Fl_File_Chooser::cb_fileList(Fl_File_Browser* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); -} - -inline void Fl_File_Chooser::cb_Cancel_i(Fl_Button*, void*) { - fileList->deselect(); -fileName->value(""); -window->hide(); -} -void Fl_File_Chooser::cb_Cancel(Fl_Button* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); -} - -inline void Fl_File_Chooser::cb_okButton_i(Fl_Return_Button*, void*) { - // Do any callback that is registered... -if (callback_) - (*callback_)(this, data_); - -window->hide(); -} -void Fl_File_Chooser::cb_okButton(Fl_Return_Button* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); -} +inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) { + char pathname[1024]; +int i; -inline void Fl_File_Chooser::cb_fileName_i(Fl_Input*, void*) { - fileNameCB(); +pathname[0] = '\0'; +for (i = 1; i <= dirMenu->value(); i ++) + strcat(pathname, dirMenu->text(i)); +directory(pathname); } -void Fl_File_Chooser::cb_fileName(Fl_Input* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); +void Fl_File_Chooser::cb_dirMenu(Fl_Choice* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); } inline void Fl_File_Chooser::cb_upButton_i(Fl_Button*, void*) { @@ -70,22 +53,9 @@ static unsigned char idata_new[] = \200\1\200\377\377\0\0"; static Fl_Bitmap image_new(idata_new, 16, 16); -inline void Fl_File_Chooser::cb_dirMenu_i(Fl_Choice*, void*) { - char pathname[1024]; -int i; - -pathname[0] = '\0'; -for (i = 1; i <= dirMenu->value(); i ++) - strcat(pathname, dirMenu->text(i)); -directory(pathname); -} -void Fl_File_Chooser::cb_dirMenu(Fl_Choice* o, void* v) { - ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_dirMenu_i(o,v); -} - inline void Fl_File_Chooser::cb__i(Fl_Button*, void*) { const char *f; -if ((f = fl_input("New Filter?", +if ((f = fl_input(filter_label, fileList->filter())) != NULL) { fileList->filter(f); @@ -100,30 +70,50 @@ static unsigned char idata_allfiles[] = "\374?\4 \4 \4 \204!\244%\304#\364/\364/\304#\244%\204!\4 \4 \4 \374?"; static Fl_Bitmap image_allfiles(idata_allfiles, 16, 16); +inline void Fl_File_Chooser::cb_fileList_i(Fl_File_Browser*, void*) { + fileListCB(); +} +void Fl_File_Chooser::cb_fileList(Fl_File_Browser* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileList_i(o,v); +} + +inline void Fl_File_Chooser::cb_fileName_i(Fl_Input*, void*) { + fileNameCB(); +} +void Fl_File_Chooser::cb_fileName(Fl_Input* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_fileName_i(o,v); +} + +inline void Fl_File_Chooser::cb_okButton_i(Fl_Return_Button*, void*) { + // Do any callback that is registered... +if (callback_) + (*callback_)(this, data_); + +window->hide(); +} +void Fl_File_Chooser::cb_okButton(Fl_Return_Button* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_okButton_i(o,v); +} + +inline void Fl_File_Chooser::cb_Cancel_i(Fl_Button*, void*) { + fileList->deselect(); +fileName->value(""); +window->hide(); +} +void Fl_File_Chooser::cb_Cancel(Fl_Button* o, void* v) { + ((Fl_File_Chooser*)(o->parent()->user_data()))->cb_Cancel_i(o,v); +} + Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char *title) { Fl_Window* w; { Fl_Window* o = window = new Fl_Window(375, 315, "Pick a File"); w = o; o->callback((Fl_Callback*)cb_window, (void*)(this)); - { Fl_File_Browser* o = fileList = new Fl_File_Browser(10, 45, 355, 180); - o->type(2); - o->callback((Fl_Callback*)cb_fileList); - Fl_Group::current()->resizable(o); - w->hotspot(o); - } - { Fl_Button* o = new Fl_Button(285, 280, 80, 25, "Cancel"); - o->callback((Fl_Callback*)cb_Cancel); - o->label(fl_cancel); - } - { Fl_Return_Button* o = okButton = new Fl_Return_Button(200, 280, 75, 25, "OK"); - o->callback((Fl_Callback*)cb_okButton); - okButton->label(fl_ok); - } - { Fl_Input* o = fileName = new Fl_Input(10, 245, 355, 25, "Filename:"); - o->callback((Fl_Callback*)cb_fileName); - o->align(FL_ALIGN_TOP_LEFT); - o->when(FL_WHEN_ENTER_KEY); - fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS); + { Fl_Choice* o = dirMenu = new Fl_Choice(95, 10, 180, 25, "Directory:"); + o->tooltip("Choose a parent directory."); + o->down_box(FL_BORDER_BOX); + o->callback((Fl_Callback*)cb_dirMenu); + dirMenu->label(directory_label); } { Fl_Button* o = upButton = new Fl_Button(280, 10, 25, 25); o->tooltip("Show the parent directory."); @@ -137,11 +127,6 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char o->labelsize(8); o->callback((Fl_Callback*)cb_newButton); } - { Fl_Choice* o = dirMenu = new Fl_Choice(95, 10, 180, 25, "Directory:"); - o->tooltip("Choose a parent directory."); - o->down_box(FL_BORDER_BOX); - o->callback((Fl_Callback*)cb_dirMenu); - } { Fl_Button* o = new Fl_Button(340, 10, 25, 25); o->tooltip("Change the filename filter."); o->image(image_allfiles); @@ -150,6 +135,27 @@ Fl_File_Chooser::Fl_File_Chooser(const char *d, const char *p, int t, const char o->callback((Fl_Callback*)cb_); o->align(FL_ALIGN_CENTER|FL_ALIGN_INSIDE); } + { Fl_File_Browser* o = fileList = new Fl_File_Browser(10, 45, 355, 180); + o->type(2); + o->callback((Fl_Callback*)cb_fileList); + Fl_Group::current()->resizable(o); + w->hotspot(o); + } + { Fl_Input* o = fileName = new Fl_Input(10, 245, 355, 25, "Filename:"); + o->callback((Fl_Callback*)cb_fileName); + o->align(FL_ALIGN_TOP_LEFT); + o->when(FL_WHEN_ENTER_KEY); + fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS); + fileName->label(filename_label); + } + { Fl_Return_Button* o = okButton = new Fl_Return_Button(200, 280, 75, 25, "OK"); + o->callback((Fl_Callback*)cb_okButton); + okButton->label(fl_ok); + } + { Fl_Button* o = new Fl_Button(285, 280, 80, 25, "Cancel"); + o->callback((Fl_Callback*)cb_Cancel); + o->label(fl_cancel); + } if (title) window->label(title); o->set_modal(); o->end(); diff --git a/src/Fl_File_Chooser.fl b/src/Fl_File_Chooser.fl index 456e5af00..f29b6f6c2 100644 --- a/src/Fl_File_Chooser.fl +++ b/src/Fl_File_Chooser.fl @@ -22,45 +22,6 @@ window->hide();} open code2 {\#include } code3 {\#include } modal visible } { - Fl_Browser fileList { - callback {fileListCB();} - private xywh {10 45 355 180} type Hold resizable hotspot - code0 {\#include } - class Fl_File_Browser - } - Fl_Button {} { - label Cancel - callback {fileList->deselect(); -fileName->value(""); -window->hide();} - private xywh {285 280 80 25} - code0 {o->label(fl_cancel);} - } - Fl_Return_Button okButton { - label OK - callback {// Do any callback that is registered... -if (callback_) - (*callback_)(this, data_); - -window->hide();} - private xywh {200 280 75 25} - code0 {\#include } - code1 {okButton->label(fl_ok);} - } - Fl_Input fileName { - label {Filename:} - callback {fileNameCB();} - private xywh {10 245 355 25} align 5 when 8 - code0 {fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS);} - } - Fl_Button upButton { - callback {up();} - private tooltip {Show the parent directory.} image {up.xbm} xywh {280 10 25 25} labelsize 8 - } - Fl_Button newButton { - callback {newdir();} - private tooltip {Create a new directory.} image {new.xbm} xywh {310 10 25 25} labelsize 8 - } Fl_Choice dirMenu { label {Directory:} callback {char pathname[1024]; @@ -71,10 +32,19 @@ for (i = 1; i <= dirMenu->value(); i ++) strcat(pathname, dirMenu->text(i)); directory(pathname);} open private tooltip {Choose a parent directory.} xywh {95 10 180 25} down_box BORDER_BOX + code0 {dirMenu->label(directory_label);} } {} + Fl_Button upButton { + callback {up();} + private tooltip {Show the parent directory.} image {up.xbm} xywh {280 10 25 25} labelsize 8 + } + Fl_Button newButton { + callback {newdir();} + private tooltip {Create a new directory.} image {new.xbm} xywh {310 10 25 25} labelsize 8 + } Fl_Button {} { callback {const char *f; -if ((f = fl_input("New Filter?", +if ((f = fl_input(filter_label, fileList->filter())) != NULL) { fileList->filter(f); @@ -83,6 +53,38 @@ if ((f = fl_input("New Filter?", private tooltip {Change the filename filter.} image {allfiles.xbm} xywh {340 10 25 25} labelsize 28 labelcolor 4 align 16 code0 {\#include } } + Fl_Browser fileList { + callback {fileListCB();} + private xywh {10 45 355 180} type Hold resizable hotspot + code0 {\#include } + class Fl_File_Browser + } + Fl_Input fileName { + label {Filename:} + callback {fileNameCB();} + private xywh {10 245 355 25} align 5 when 8 + code0 {fileName->when(FL_WHEN_CHANGED | FL_WHEN_ENTER_KEY_ALWAYS);} + code1 {fileName->label(filename_label);} + } + Fl_Return_Button okButton { + label OK + callback {// Do any callback that is registered... +if (callback_) + (*callback_)(this, data_); + +window->hide();} + private xywh {200 280 75 25} + code0 {\#include } + code1 {okButton->label(fl_ok);} + } + Fl_Button {} { + label Cancel + callback {fileList->deselect(); +fileName->value(""); +window->hide();} + private xywh {285 280 80 25} + code0 {o->label(fl_cancel);} + } } code {window->size_range(375, 315, 375); fileList->filter(p); @@ -154,8 +156,7 @@ rescan();} {} } { code {window->hotspot(fileList); window->show(); -fileList->deselect();} {selected - } +fileList->deselect();} {} } Function {shown()} {return_type int } { @@ -213,6 +214,12 @@ else } { code {return window->visible();} {} } + decl {static const char *directory_label = "Directory:";} {public + } + decl {static const char *filename_label = "Filename:";} {public + } + decl {static const char *filter_label = "New Filter?";} {selected public + } } decl {FL_EXPORT char *fl_dir_chooser(const char *message,const char *fname);} {public -- cgit v1.2.3