00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef FXTABBAR_H
00025 #define FXTABBAR_H
00026
00027 #ifndef FXPACKER_H
00028 #include "FXPacker.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00035 enum {
00036 TABBOOK_TOPTABS = 0,
00037 TABBOOK_BOTTOMTABS = 0x00020000,
00038 TABBOOK_SIDEWAYS = 0x00040000,
00039 TABBOOK_LEFTTABS = TABBOOK_SIDEWAYS|TABBOOK_TOPTABS,
00040 TABBOOK_RIGHTTABS = TABBOOK_SIDEWAYS|TABBOOK_BOTTOMTABS,
00041 TABBOOK_NORMAL = TABBOOK_TOPTABS
00042 };
00043
00044
00045
00056 class FXAPI FXTabBar : public FXPacker {
00057 FXDECLARE(FXTabBar)
00058 protected:
00059 FXint current;
00060 FXint shift;
00061 protected:
00062 FXTabBar(){}
00063 private:
00064 FXTabBar(const FXTabBar&);
00065 FXTabBar& operator=(const FXTabBar&);
00066 public:
00067 long onPaint(FXObject*,FXSelector,void*);
00068 long onFocusNext(FXObject*,FXSelector,void*);
00069 long onFocusPrev(FXObject*,FXSelector,void*);
00070 long onFocusUp(FXObject*,FXSelector,void*);
00071 long onFocusDown(FXObject*,FXSelector,void*);
00072 long onFocusLeft(FXObject*,FXSelector,void*);
00073 long onFocusRight(FXObject*,FXSelector,void*);
00074 long onCmdOpenItem(FXObject*,FXSelector,void*);
00075 long onCmdSetValue(FXObject*,FXSelector,void*);
00076 long onCmdSetIntValue(FXObject*,FXSelector,void*);
00077 long onCmdGetIntValue(FXObject*,FXSelector,void*);
00078 long onCmdOpen(FXObject*,FXSelector,void*);
00079 long onUpdOpen(FXObject*,FXSelector,void*);
00080 public:
00081 enum {
00082 ID_OPEN_ITEM=FXPacker::ID_LAST,
00083 ID_OPEN_FIRST,
00084 ID_OPEN_SECOND,
00085 ID_OPEN_THIRD,
00086 ID_OPEN_FOURTH,
00087 ID_OPEN_FIFTH,
00088 ID_OPEN_SIXTH,
00089 ID_OPEN_SEVENTH,
00090 ID_OPEN_EIGHTH,
00091 ID_OPEN_NINETH,
00092 ID_OPEN_TENTH,
00093 ID_OPEN_LAST=ID_OPEN_FIRST+100,
00094 ID_LAST
00095 };
00096 public:
00097
00099 FXTabBar(FXComposite* p,FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=TABBOOK_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_SPACING,FXint pr=DEFAULT_SPACING,FXint pt=DEFAULT_SPACING,FXint pb=DEFAULT_SPACING);
00100
00102 virtual FXint getDefaultWidth();
00103
00105 virtual FXint getDefaultHeight();
00106
00108 virtual void layout();
00109
00115 virtual void setCurrent(FXint panel,FXbool notify=FALSE);
00116
00118 FXint getCurrent() const { return current; }
00119
00121 FXuint getTabStyle() const;
00122
00124 void setTabStyle(FXuint style);
00125
00127 virtual void save(FXStream& store) const;
00128
00130 virtual void load(FXStream& store);
00131 };
00132
00133 }
00134
00135 #endif