30 #include "Fl_Scrollbar.H"
33 #define FL_NORMAL_BROWSER 0
34 #define FL_SELECT_BROWSER 1
35 #define FL_HOLD_BROWSER 2
36 #define FL_MULTI_BROWSER 3
38 #define FL_SORT_ASCENDING 0
39 #define FL_SORT_DESCENDING 1
77 class FL_EXPORT Fl_Browser_ : public Fl_Group {
90 void *redraw1,*redraw2;
104 virtual void *item_first()
const = 0;
110 virtual void *item_next(
void *item)
const = 0;
116 virtual void *item_prev(
void *item)
const = 0;
131 virtual int item_height(
void *item)
const = 0;
139 virtual int item_width(
void *item)
const = 0;
140 virtual int item_quick_height(
void *item)
const ;
145 virtual void item_draw(
void *item,
int X,
int Y,
int W,
int H)
const = 0;
151 virtual const char *
item_text(
void *item)
const { (void)item;
return 0L; }
157 virtual void item_swap(
void *a,
void *b) { (void)a; (void)b; }
164 virtual void *
item_at(
int index)
const { (void)index;
return 0L; }
166 virtual int full_width()
const ;
167 virtual int full_height()
const ;
168 virtual int incr_height()
const ;
170 virtual void item_select(
void *item,
int val=1);
171 virtual int item_selected(
void *item)
const ;
177 void *
top()
const {
return top_; }
187 void deleting(
void *item);
188 void replacing(
void *a,
void *b);
189 void swapping(
void *a,
void *b);
190 void inserting(
void *a,
void *b);
191 int displayed(
void *item)
const ;
192 void redraw_line(
void *item);
198 void bbox(
int &X,
int &Y,
int &W,
int &H)
const;
199 int leftedge()
const;
200 void *find_item(
int ypos);
203 Fl_Browser_(
int X,
int Y,
int W,
int H,
const char *L=0);
216 int handle(
int event);
217 void resize(
int X,
int Y,
int W,
int H);
219 int select(
void *item,
int val=1,
int docallbacks=0);
220 int select_only(
void *item,
int docallbacks=0);
221 int deselect(
int docallbacks=0);
230 void position(
int pos);
240 void display(
void *item);
256 HORIZONTAL_ALWAYS = 5,
326 return(scrollbar_size_);
348 scrollbar_size_ = newSize;
381 void sort(
int flags=0);