summaryrefslogtreecommitdiff
path: root/FL
diff options
context:
space:
mode:
authorMichael R Sweet <michael.r.sweet@gmail.com>2001-08-11 14:49:51 +0000
committerMichael R Sweet <michael.r.sweet@gmail.com>2001-08-11 14:49:51 +0000
commit64859c22f78f736eb9c44e5bd45dbbfafdab24d1 (patch)
treedfc31353ae060200dd0e3dd1f8345edb86929c9d /FL
parent90781ce4280770f05bdeab21bf2c8e268f1b55fc (diff)
Add more widgets from the bazaar...
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@1571 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL')
-rw-r--r--FL/Fl_Check_Browser.H87
-rw-r--r--FL/Fl_FileBrowser.H21
-rw-r--r--FL/Fl_FileIcon.H52
-rw-r--r--FL/Fl_Progress.H68
4 files changed, 191 insertions, 37 deletions
diff --git a/FL/Fl_Check_Browser.H b/FL/Fl_Check_Browser.H
new file mode 100644
index 000000000..cd008b287
--- /dev/null
+++ b/FL/Fl_Check_Browser.H
@@ -0,0 +1,87 @@
+//
+// "$Id: Fl_Check_Browser.H,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $"
+//
+// Fl_Check_Browser header file for the Fast Light Tool Kit (FLTK).
+//
+// Copyright 1998-2001 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 to "fltk-bugs@fltk.org".
+//
+
+#ifndef Fl_Check_Browser_H
+#define Fl_Check_Browser_H
+
+#include "Fl.H"
+#include "Fl_Browser_.H"
+
+class Fl_Check_Browser : public Fl_Browser_ {
+ /* required routines for Fl_Browser_ subclass: */
+
+ FL_EXPORT void *item_first() const;
+ FL_EXPORT void *item_next(void *) const;
+ FL_EXPORT void *item_prev(void *) const;
+ FL_EXPORT int item_height(void *) const;
+ FL_EXPORT int item_width(void *) const;
+ FL_EXPORT void item_draw(void *, int, int, int, int) const;
+ FL_EXPORT void item_select(void *, int);
+ FL_EXPORT int item_selected(void *) const;
+
+ /* private data */
+
+ struct cb_item {
+ cb_item *next;
+ cb_item *prev;
+ char checked;
+ char selected;
+ char *text;
+ };
+
+ cb_item *first;
+ cb_item *last;
+ cb_item *cache;
+ int cached_item;
+ int nitems_;
+ int nchecked_;
+ FL_EXPORT cb_item *find_item(int) const;
+ FL_EXPORT int lineno(cb_item *) const;
+
+ public:
+
+ FL_EXPORT Fl_Check_Browser(int x, int y, int w, int h, const char *l = 0);
+
+ FL_EXPORT int add(char *s); // add an (unchecked) item
+ FL_EXPORT int add(char *s, int b); // add an item and set checked
+ // both return the new nitems()
+ FL_EXPORT void clear(); // delete all items
+ int nitems() const { return nitems_; }
+ int nchecked() const { return nchecked_; }
+ FL_EXPORT int checked(int item) const;
+ FL_EXPORT void checked(int item, int b);
+ void set_checked(int item) { checked(item, 1); }
+ FL_EXPORT void check_all();
+ FL_EXPORT void check_none();
+ FL_EXPORT int value() const; // currently selected item
+ FL_EXPORT char *text(int item) const; // returns pointer to internal buffer
+};
+
+#endif // Fl_Check_Browser_H
+
+//
+// End of "$Id: Fl_Check_Browser.H,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $".
+//
+
diff --git a/FL/Fl_FileBrowser.H b/FL/Fl_FileBrowser.H
index b0cc38432..2d788580e 100644
--- a/FL/Fl_FileBrowser.H
+++ b/FL/Fl_FileBrowser.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_FileBrowser.H,v 1.4.2.1 2001/08/02 16:17:04 easysw Exp $"
+// "$Id: Fl_FileBrowser.H,v 1.4.2.2 2001/08/11 14:49:51 easysw Exp $"
//
// FileBrowser definitions.
//
@@ -51,23 +51,22 @@ class Fl_FileBrowser : public Fl_Browser
int incr_height() const { return (item_height(0)); }
public:
- Fl_FileBrowser(int, int, int, int, const char * = 0);
+ FL_EXPORT Fl_FileBrowser(int, int, int, int, const char * = 0);
- uchar iconsize() const { return (iconsize_); };
- void iconsize(uchar s) { iconsize_ = s; redraw(); };
+ uchar iconsize() const { return (iconsize_); };
+ void iconsize(uchar s) { iconsize_ = s; redraw(); };
- void filter(const char *pattern);
- const char *filter() const { return (pattern_); };
+ FL_EXPORT void filter(const char *pattern);
+ const char *filter() const { return (pattern_); };
- int load(const char *directory);
-
- uchar textsize() const { return (Fl_Browser::textsize()); };
- void textsize(uchar s) { Fl_Browser::textsize(s); iconsize_ = 3 * s / 2; };
+ FL_EXPORT int load(const char *directory);
+ uchar textsize() const { return (Fl_Browser::textsize()); };
+ void textsize(uchar s) { Fl_Browser::textsize(s); iconsize_ = 3 * s / 2; };
};
#endif // !_Fl_FileBrowser_H_
//
-// End of "$Id: Fl_FileBrowser.H,v 1.4.2.1 2001/08/02 16:17:04 easysw Exp $".
+// End of "$Id: Fl_FileBrowser.H,v 1.4.2.2 2001/08/11 14:49:51 easysw Exp $".
//
diff --git a/FL/Fl_FileIcon.H b/FL/Fl_FileIcon.H
index ae777b969..791907ffa 100644
--- a/FL/Fl_FileIcon.H
+++ b/FL/Fl_FileIcon.H
@@ -1,5 +1,5 @@
//
-// "$Id: Fl_FileIcon.H,v 1.1.2.1 2001/08/02 16:17:04 easysw Exp $"
+// "$Id: Fl_FileIcon.H,v 1.1.2.2 2001/08/11 14:49:51 easysw Exp $"
//
// Fl_FileIcon definitions.
//
@@ -39,7 +39,7 @@
class Fl_FileIcon //// Icon data
{
- static Fl_FileIcon *first_; // Pointer to first icon/filetype
+ FL_EXPORT static Fl_FileIcon *first_; // Pointer to first icon/filetype
Fl_FileIcon *next_; // Pointer to next icon/filetype
const char *pattern_; // Pattern string
int type_; // Match only if directory or file?
@@ -70,36 +70,36 @@ class Fl_FileIcon //// Icon data
VERTEX // Followed by scaled X,Y
};
- Fl_FileIcon(const char *p, int t, int nd = 0, short *d = 0);
- ~Fl_FileIcon();
+ FL_EXPORT Fl_FileIcon(const char *p, int t, int nd = 0, short *d = 0);
+ FL_EXPORT ~Fl_FileIcon();
- short *add(short d);
- short *add_color(short c)
- { short *d = add(COLOR); add(c); return (d); }
- short *add_vertex(int x, int y)
- { short *d = add(VERTEX); add(x); add(y); return (d); }
- short *add_vertex(float x, float y)
- { short *d = add(VERTEX); add((int)(x * 10000.0));
- add((int)(y * 10000.0)); return (d); }
- void clear() { num_data_ = 0; }
- void draw(int x, int y, int w, int h, Fl_Color ic, int active = 1);
- void label(Fl_Widget *w);
- static void labeltype(const Fl_Label *o, int x, int y, int w, int h, Fl_Align a);
- void load(const char *f);
- void load_fti(const char *fti);
- void load_xpm(const char *xpm);
- const char *pattern() { return (pattern_); }
- int size() { return (num_data_); }
- int type() { return (type_); }
- short *value() { return (data_); }
+ FL_EXPORT short *add(short d);
+ short *add_color(short c)
+ { short *d = add(COLOR); add(c); return (d); }
+ short *add_vertex(int x, int y)
+ { short *d = add(VERTEX); add(x); add(y); return (d); }
+ short *add_vertex(float x, float y)
+ { short *d = add(VERTEX); add((int)(x * 10000.0));
+ add((int)(y * 10000.0)); return (d); }
+ void clear() { num_data_ = 0; }
+ FL_EXPORT void draw(int x, int y, int w, int h, Fl_Color ic, int active = 1);
+ FL_EXPORT void label(Fl_Widget *w);
+ FL_EXPORT static void labeltype(const Fl_Label *o, int x, int y, int w, int h, Fl_Align a);
+ FL_EXPORT void load(const char *f);
+ FL_EXPORT void load_fti(const char *fti);
+ FL_EXPORT void load_xpm(const char *xpm);
+ const char *pattern() { return (pattern_); }
+ int size() { return (num_data_); }
+ int type() { return (type_); }
+ short *value() { return (data_); }
- static Fl_FileIcon *find(const char *filename, int filetype = ANY);
+ FL_EXPORT static Fl_FileIcon *find(const char *filename, int filetype = ANY);
static Fl_FileIcon *first() { return (first_); }
- static void load_system_icons(void);
+ FL_EXPORT static void load_system_icons(void);
};
#endif // !_Fl_Fl_FileIcon_H_
//
-// End of "$Id: Fl_FileIcon.H,v 1.1.2.1 2001/08/02 16:17:04 easysw Exp $".
+// End of "$Id: Fl_FileIcon.H,v 1.1.2.2 2001/08/11 14:49:51 easysw Exp $".
//
diff --git a/FL/Fl_Progress.H b/FL/Fl_Progress.H
new file mode 100644
index 000000000..717e60525
--- /dev/null
+++ b/FL/Fl_Progress.H
@@ -0,0 +1,68 @@
+//
+// "$Id: Fl_Progress.H,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $"
+//
+// Progress bar widget definitions.
+//
+// Copyright 2000-2001 by Michael Sweet.
+//
+// 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 to "fltk-bugs@fltk.org".
+//
+
+#ifndef _Fl_Progress_H_
+# define _Fl_Progress_H_
+
+//
+// Include necessary headers.
+//
+
+#include "Fl_Widget.H"
+
+
+//
+// Progress class...
+//
+
+class Fl_Progress : public Fl_Widget
+{
+ float value_,
+ minimum_,
+ maximum_;
+
+ protected:
+
+ FL_EXPORT virtual void draw();
+
+ public:
+
+ FL_EXPORT Fl_Progress(int x, int y, int w, int h, const char *l = 0);
+
+ void maximum(float v) { maximum_ = v; redraw(); }
+ float maximum() const { return (maximum_); }
+
+ void minimum(float v) { minimum_ = v; redraw(); }
+ float minimum() const { return (minimum_); }
+
+ void value(float v) { value_ = v; redraw(); }
+ float value() const { return (value_); }
+};
+
+#endif // !_Fl_Progress_H_
+
+//
+// End of "$Id: Fl_Progress.H,v 1.1.2.1 2001/08/11 14:49:51 easysw Exp $".
+//