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 FXSWITCHER_H
00025 #define FXSWITCHER_H
00026
00027 #ifndef FXPACKER_H
00028 #include "FXPacker.h"
00029 #endif
00030
00031 namespace FX {
00032
00034 enum {
00035 SWITCHER_HCOLLAPSE = 0x00020000,
00036 SWITCHER_VCOLLAPSE = 0x00040000
00037 };
00038
00039
00055 class FXAPI FXSwitcher : public FXPacker {
00056 FXDECLARE(FXSwitcher)
00057 protected:
00058 FXint current;
00059 protected:
00060 FXSwitcher(){}
00061 private:
00062 FXSwitcher(const FXSwitcher&);
00063 FXSwitcher& operator=(const FXSwitcher&);
00064 public:
00065 long onPaint(FXObject*,FXSelector,void*);
00066 long onCmdSetValue(FXObject*,FXSelector,void*);
00067 long onCmdSetIntValue(FXObject*,FXSelector,void*);
00068 long onCmdGetIntValue(FXObject*,FXSelector,void*);
00069 long onCmdOpen(FXObject*,FXSelector,void*);
00070 long onUpdOpen(FXObject*,FXSelector,void*);
00071 public:
00072 enum {
00073 ID_OPEN_FIRST=FXPacker::ID_LAST,
00074 ID_OPEN_SECOND,
00075 ID_OPEN_THIRD,
00076 ID_OPEN_FOURTH,
00077 ID_OPEN_FIFTH,
00078 ID_OPEN_SIXTH,
00079 ID_OPEN_SEVENTH,
00080 ID_OPEN_EIGHTH,
00081 ID_OPEN_NINETH,
00082 ID_OPEN_TENTH,
00083 ID_OPEN_LAST=ID_OPEN_FIRST+100,
00084 ID_LAST
00085 };
00086 public:
00087
00089 FXSwitcher(FXComposite *p,FXuint opts=0,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);
00090
00092 virtual FXint getDefaultWidth();
00093
00095 virtual FXint getDefaultHeight();
00096
00098 virtual void layout();
00099
00101 void setCurrent(FXint index,FXbool notify=FALSE);
00102
00104 FXint getCurrent() const { return current; }
00105
00107 void setSwitcherStyle(FXuint style);
00108
00110 FXuint getSwitcherStyle() const;
00111
00113 virtual void save(FXStream& store) const;
00114
00116 virtual void load(FXStream& store);
00117 };
00118
00119 }
00120
00121 #endif