28 #include "Fl_Scrollbar.H" 31 #define FL_NORMAL_BROWSER 0 32 #define FL_SELECT_BROWSER 1 33 #define FL_HOLD_BROWSER 2 34 #define FL_MULTI_BROWSER 3 36 #define FL_SORT_ASCENDING 0 37 #define FL_SORT_DESCENDING 1 76 class FL_EXPORT Fl_Browser_ : public Fl_Group { 89 void *redraw1,*redraw2;
103 virtual void *item_first()
const = 0;
109 virtual void *item_next(
void *item)
const = 0;
115 virtual void *item_prev(
void *item)
const = 0;
130 virtual int item_height(
void *item)
const = 0;
138 virtual int item_width(
void *item)
const = 0;
139 virtual int item_quick_height(
void *item)
const ;
144 virtual void item_draw(
void *item,
int X,
int Y,
int W,
int H)
const = 0;
150 virtual const char *
item_text(
void *item)
const { (void)item;
return 0L; }
156 virtual void item_swap(
void *a,
void *b) { (void)a; (void)b; }
163 virtual void *
item_at(
int index)
const { (void)index;
return 0L; }
165 virtual int full_width()
const ;
166 virtual int full_height()
const ;
167 virtual int incr_height()
const ;
169 virtual void item_select(
void *item,
int val=1);
170 virtual int item_selected(
void *item)
const ;
176 void *
top()
const {
return top_; }
186 void deleting(
void *item);
187 void replacing(
void *a,
void *b);
188 void swapping(
void *a,
void *b);
189 void inserting(
void *a,
void *b);
190 int displayed(
void *item)
const ;
191 void redraw_line(
void *item);
197 void bbox(
int &X,
int &Y,
int &W,
int &H)
const;
198 int leftedge()
const;
199 void *find_item(
int ypos);
202 Fl_Browser_(
int X,
int Y,
int W,
int H,
const char *L=0);
215 int handle(
int event);
216 void resize(
int X,
int Y,
int W,
int H);
218 int select(
void *item,
int val=1,
int docallbacks=0);
219 int select_only(
void *item,
int docallbacks=0);
220 int deselect(
int docallbacks=0);
229 void position(
int pos);
239 void display(
void *item);
255 HORIZONTAL_ALWAYS = 5,
325 return(scrollbar_size_);
347 scrollbar_size_ = newSize;
376 void sort(
int flags=0);
uchar has_scrollbar() const
Returns the current scrollbar mode, see Fl_Browser_::has_scrollbar(uchar)
Definition: Fl_Browser_.H:262
void scrollbar_left()
Moves the vertical scrollbar to the lefthand side of the list.
Definition: Fl_Browser_.H:375
Fl_Font textfont() const
Gets the default text font for the lines in the browser.
Definition: Fl_Browser_.H:291
void textcolor(Fl_Color col)
Sets the default text color for the lines in the browser to color col.
Definition: Fl_Browser_.H:313
This is the base class for browsers.
Definition: Fl_Browser_.H:76
void scrollbar_right()
Moves the vertical scrollbar to the righthand side of the list.
Definition: Fl_Browser_.H:370
int position() const
Gets the vertical scroll position of the list as a pixel position pos.
Definition: Fl_Browser_.H:228
Fl_Scrollbar hscrollbar
Horizontal scrollbar.
Definition: Fl_Browser_.H:213
void * top() const
Returns the item that appears at the top of the list.
Definition: Fl_Browser_.H:176
int scrollbar_size() const
Gets the current size of the scrollbars' troughs, in pixels.
Definition: Fl_Browser_.H:324
virtual void * item_last() const
This method must be provided by the subclass to return the last item in the list. ...
Definition: Fl_Browser_.H:121
void textfont(Fl_Font font)
Sets the default text font for the lines in the browser to font.
Definition: Fl_Browser_.H:295
Fl_Scrollbar scrollbar
Vertical scrollbar.
Definition: Fl_Browser_.H:209
virtual void * item_at(int index) const
This method must be provided by the subclass to return the item for the specified index...
Definition: Fl_Browser_.H:163
virtual void item_swap(void *a, void *b)
This optional method should be provided by the subclass to efficiently swap browser items a and b...
Definition: Fl_Browser_.H:156
The Fl_Scroll widget was scrolled.
Definition: Enumerations.H:1216
Fl_Fontsize textsize() const
Gets the default text size (in pixels) for the lines in the browser.
Definition: Fl_Browser_.H:300
void * selection() const
Returns the item currently selected, or NULL if there is no selection.
Definition: Fl_Browser_.H:184
void textsize(Fl_Fontsize newSize)
Sets the default text size (in pixels) for the lines in the browser to size.
Definition: Fl_Browser_.H:304
int Fl_Fontsize
Size of a font in pixels.
Definition: Enumerations.H:1014
int scrollbar_width() const
Returns the global value Fl::scrollbar_size().
Definition: Fl_Browser_.H:354
void has_scrollbar(uchar mode)
Sets whether the widget should have scrollbars or not (default Fl_Browser_::BOTH).
Definition: Fl_Browser_.H:285
Fl_Color textcolor() const
Gets the default text color for the lines in the browser.
Definition: Fl_Browser_.H:309
virtual const char * item_text(void *item) const
This optional method returns a string (label) that may be used for sorting.
Definition: Fl_Browser_.H:150
void scrollbar_size(int newSize)
Sets the pixel size of the scrollbars' troughs to newSize, in pixels.
Definition: Fl_Browser_.H:346
int hposition() const
Gets the horizontal scroll position of the list as a pixel position pos.
Definition: Fl_Browser_.H:237
unsigned int Fl_Color
An FLTK color value; see also Colors.
Definition: Enumerations.H:1042
static int scrollbar_size()
Gets the default scrollbar size used by Fl_Browser_, Fl_Help_View, Fl_Scroll, and Fl_Text_Display wid...
Definition: Fl.cxx:222
int Fl_Font
A font number is an index into the internal font table.
Definition: Enumerations.H:985
void redraw_lines()
This method will cause the entire list to be redrawn.
Definition: Fl_Browser_.H:196
const Fl_Align FL_ALIGN_LEFT
Align the label at the left of the widget.
Definition: Enumerations.H:923
void scrollbar_width(int width)
Sets the global Fl::scrollbar_size(), and forces this instance of the widget to use it...
Definition: Fl_Browser_.H:362
unsigned char uchar
unsigned char
Definition: fl_types.h:28
const Fl_Align FL_ALIGN_RIGHT
Align the label to the right of the widget.
Definition: Enumerations.H:926