diff options
| author | Albrecht Schlosser <albrechts.fltk@online.de> | 2017-03-06 16:54:33 +0000 |
|---|---|---|
| committer | Albrecht Schlosser <albrechts.fltk@online.de> | 2017-03-06 16:54:33 +0000 |
| commit | 18bb55545e6f99e9ab80900db65222e8b98aee13 (patch) | |
| tree | cb0239f5da7b528ee159fbc0f0f6f8468460407e /FL/Fl_Tabs.H | |
| parent | 168979e6fb9e338ba9c6033d14dba7c2c04782f6 (diff) | |
Fl_Tabs: improve tab label drawing (STR #3075, STR #3076).
New method Fl_Tabs::tab_align() supports icons in tabs (STR #3076).
This commit also enables drawing labels of Fl_Window children (STR #3075).
Setting tab_align(FL_IMAGE_NEXT_TO_TEXT) draws images (icons) in the tab
labels if the child has an image(). Currently this draws the image() even
if the child is deactived (so it should presumably draw the deimage()).
Todo: Label measurement and Fl_Windows as children still need fixups.
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12185 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'FL/Fl_Tabs.H')
| -rw-r--r-- | FL/Fl_Tabs.H | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/FL/Fl_Tabs.H b/FL/Fl_Tabs.H index 3d75db81d..06c23aee5 100644 --- a/FL/Fl_Tabs.H +++ b/FL/Fl_Tabs.H @@ -208,6 +208,7 @@ class FL_EXPORT Fl_Tabs : public Fl_Group { int tab_height(); void draw_tab(int x1, int x2, int W, int H, Fl_Widget* o, int sel=0); protected: + Fl_Align tab_align_; // tab label alignment void redraw_tabs(); void draw(); @@ -231,6 +232,24 @@ public: Fl_Widget *which(int event_x, int event_y); ~Fl_Tabs(); void client_area(int &rx, int &ry, int &rw, int &rh, int tabh=0); + /** + Sets the tab label alignment. + + The default is FL_ALIGN_CENTER so tab labels are centered, but since + the label space is measured (per label) to fit the labels, there + wouldn't be any difference if labels were aligned left or right. + + If you want to show an image (icon) next to the group's label you can + set a different label alignment. FL_ALIGN_IMAGE_NEXT_TO_TEXT is the + recommended alignment to show the icon left of the text. + */ + void tab_align(Fl_Align a) {tab_align_ = a;} + /** + Gets the tab label alignment. + + \see tab_align(Fl_Align) + */ + Fl_Align tab_align() const {return tab_align_;} }; #endif |
