Main Page   Modules   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

Fl_Tabs.h

00001 /*
00002  * $Id: Fl_Tabs.h,v 1.7 2003/06/16 19:42:02 laza2000 Exp $
00003  *
00004  * Extended Fast Light Toolkit (EFLTK)
00005  * Copyright (C) 2002-2003 by EDE-Team
00006  * WWW: http://www.sourceforge.net/projects/ede
00007  *
00008  * Fast Light Toolkit (FLTK)
00009  * Copyright (C) 1998-2003 by Bill Spitzak and others.
00010  * WWW: http://www.fltk.org
00011  *
00012  * This library is distributed under the GNU LIBRARY GENERAL PUBLIC LICENSE
00013  * version 2. See COPYING for details.
00014  *
00015  * Author : Alexey Parshin
00016  * Email  : alexey@fltk.net
00017  *
00018  * Please report all bugs and problems to "efltk-bugs@fltk.net"
00019  *
00020  */
00021 
00022 #ifndef _Fl_Tabs_H_
00023 #define _Fl_Tabs_H_
00024 
00025 #include "Fl_Group.h"
00026 
00027 class Fl_Scroll;
00028 class Fl_Tabs_Matrix;
00029 class Fl_Tab_Info;
00030 
00032 class FL_API Fl_Tabs : public Fl_Group {
00033     friend class Fl_Tabs_Matrix;
00034 public:
00035     static Fl_Named_Style* default_style;
00036 
00038     Fl_Tabs(int x,int y,int w,int h,const char *label = 0);
00039 
00041     Fl_Tabs(const char* l = 0,int layout_size=30,Fl_Align layout_al=FL_ALIGN_TOP,int label_w=-1);
00042 
00044     virtual ~Fl_Tabs();
00045 
00046     Fl_Group* new_group(const char *label);
00047     Fl_Scroll* new_scroll(const char *label);
00048     Fl_Group* new_page(const char *label) { return (Fl_Group*)new_scroll(label); }
00049 
00050     Fl_Widget *value();
00051     int value(Fl_Widget *);
00052 
00053     Fl_Widget *push() const {return push_;}
00054     int push(Fl_Widget *);
00055 
00056     Fl_Widget *which(int event_x, int event_y);
00057 
00058     void show_tabs(bool st);
00059     bool show_tabs() { return m_showTabs; }
00060 
00061     void tabs_mode(Fl_Align tm);
00062     Fl_Align tabs_mode() { return m_tabsMode; }
00063 
00064     virtual void draw();
00065     virtual void layout();
00066     virtual int handle(int);
00067 
00068 protected:
00069     bool m_showTabs;
00070     int  m_tabsWidth;
00071     int  m_tabsHeight;
00072     int  m_rowHeight;
00073     void draw_tab(Fl_Tab_Info *tab, Fl_Flags flags);
00074     Fl_Group* last_tab();
00075 
00076     void resize_tabs();
00077     void extend_tabs();
00078 
00079     Fl_Scroll*  create_new_scroll(const char *label);
00080     Fl_Group*   create_new_group(const char *label);
00081 
00082 private:    
00083     void ctor_init();
00084 
00085     Fl_Widget        *value_;
00086     Fl_Widget        *push_;
00087     Fl_Tabs_Matrix   *m_tabsMatrix;
00088     int               m_autoColorIndex;
00089     Fl_Align          m_tabsMode;
00090 };
00091 
00092 #endif

Generated on Thu Jul 31 15:33:45 2003 for eFLTK by doxygen1.2.15