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
00034
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
00046
00047
00048
00049
00050
00051
00052
00053 class FXAPI FXTabBar : public FXPacker {
00054 FXDECLARE(FXTabBar)
00055 protected:
00056 FXint current;
00057 protected:
00058 FXTabBar(){}
00059 private:
00060 FXTabBar(const FXTabBar&);
00061 FXTabBar& operator=(const FXTabBar&);
00062 public:
00063 long onPaint(FXObject*,FXSelector,void*);
00064 long onFocusNext(FXObject*,FXSelector,void*);
00065 long onFocusPrev(FXObject*,FXSelector,void*);
00066 long onFocusUp(FXObject*,FXSelector,void*);
00067 long onFocusDown(FXObject*,FXSelector,void*);
00068 long onFocusLeft(FXObject*,FXSelector,void*);
00069 long onFocusRight(FXObject*,FXSelector,void*);
00070 long onCmdOpenItem(FXObject*,FXSelector,void*);
00071 long onCmdSetValue(FXObject*,FXSelector,void*);
00072 long onCmdSetIntValue(FXObject*,FXSelector,void*);
00073 long onCmdGetIntValue(FXObject*,FXSelector,void*);
00074 long onCmdOpen(FXObject*,FXSelector,void*);
00075 long onUpdOpen(FXObject*,FXSelector,void*);
00076 public:
00077 enum {
00078 ID_OPEN_ITEM=FXPacker::ID_LAST,
00079 ID_OPEN_FIRST,
00080 ID_OPEN_SECOND,
00081 ID_OPEN_THIRD,
00082 ID_OPEN_FOURTH,
00083 ID_OPEN_FIFTH,
00084 ID_OPEN_SIXTH,
00085 ID_OPEN_SEVENTH,
00086 ID_OPEN_EIGHTH,
00087 ID_OPEN_NINETH,
00088 ID_OPEN_TENTH,
00089 ID_OPEN_LAST=ID_OPEN_FIRST+100,
00090 ID_LAST
00091 };
00092 public:
00093
00094
00095 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);
00096
00097
00098 virtual FXint getDefaultWidth();
00099
00100
00101 virtual FXint getDefaultHeight();
00102
00103
00104 virtual void layout();
00105
00106
00107
00108
00109
00110
00111 virtual void setCurrent(FXint panel,FXbool notify=FALSE);
00112
00113
00114 FXint getCurrent() const { return current; }
00115
00116
00117 FXuint getTabStyle() const;
00118
00119
00120 void setTabStyle(FXuint style);
00121
00122
00123 virtual void save(FXStream& store) const;
00124
00125
00126 virtual void load(FXStream& store);
00127 };
00128
00129 }
00130
00131 #endif