FLTK 1.3.0
|
00001 // 00002 // "$Id$" 00003 // 00004 // Tab header file for the Fast Light Tool Kit (FLTK). 00005 // 00006 // Copyright 1998-2010 by Bill Spitzak and others. 00007 // 00008 // This library is free software; you can redistribute it and/or 00009 // modify it under the terms of the GNU Library General Public 00010 // License as published by the Free Software Foundation; either 00011 // version 2 of the License, or (at your option) any later version. 00012 // 00013 // This library is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00016 // Library General Public License for more details. 00017 // 00018 // You should have received a copy of the GNU Library General Public 00019 // License along with this library; if not, write to the Free Software 00020 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 00021 // USA. 00022 // 00023 // Please report all bugs and problems on the following page: 00024 // 00025 // http://www.fltk.org/str.php 00026 // 00027 00028 /* \file 00029 Fl_Tabs widget . */ 00030 00031 #ifndef Fl_Tabs_H 00032 #define Fl_Tabs_H 00033 00034 #include "Fl_Group.H" 00035 00062 class FL_EXPORT Fl_Tabs : public Fl_Group { 00063 Fl_Widget *value_; 00064 Fl_Widget *push_; 00065 int *tab_pos; // array of x-offsets of tabs per child + 1 00066 int *tab_width; // array of widths of tabs per child + 1 00067 int tab_count; // array size 00068 int tab_positions(); // allocate and calculate tab positions 00069 void clear_tab_positions(); 00070 int tab_height(); 00071 void draw_tab(int x1, int x2, int W, int H, Fl_Widget* o, int sel=0); 00072 protected: 00073 void redraw_tabs(); 00074 void draw(); 00075 00076 public: 00077 int handle(int); 00078 Fl_Widget *value(); 00079 int value(Fl_Widget *); 00080 Fl_Widget *push() const {return push_;} 00081 int push(Fl_Widget *); 00082 Fl_Tabs(int,int,int,int,const char * = 0); 00083 Fl_Widget *which(int event_x, int event_y); 00084 ~Fl_Tabs(); 00085 void client_area(int &rx, int &ry, int &rw, int &rh, int tabh=0); 00086 }; 00087 00088 #endif 00089 00090 // 00091 // End of "$Id$". 00092 //