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 FXSHUTTER_H
00025 #define FXSHUTTER_H
00026
00027 #ifndef FXVERTICALFRAME_H
00028 #include "FXVerticalFrame.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00034 class FXShutter;
00035 class FXButton;
00036 class FXScrollWindow;
00037 class FXShutterItem;
00038
00039
00046 class FXAPI FXShutterItem : public FXVerticalFrame {
00047 FXDECLARE(FXShutterItem)
00048 friend class FXShutter;
00049 protected:
00050 FXButton *button;
00051 FXScrollWindow *scrollWindow;
00052 FXVerticalFrame *content;
00053 protected:
00054 FXShutterItem(){}
00055 private:
00056 FXShutterItem(const FXShutterItem&);
00057 FXShutterItem &operator=(const FXShutterItem&);
00058 public:
00059 long onFocusUp(FXObject*,FXSelector,void*);
00060 long onFocusDown(FXObject*,FXSelector,void*);
00061 long onCmdButton(FXObject*,FXSelector,void*);
00062 public:
00063 enum{
00064 ID_SHUTTERITEM_BUTTON=FXVerticalFrame::ID_LAST,
00065 ID_LAST
00066 };
00067 public:
00069 FXShutterItem(FXShutter *p,const FXString& text=FXString::null,FXIcon* icon=NULL,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,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00070
00072 FXButton* getButton() const { return button; }
00073
00075 FXVerticalFrame* getContent() const { return content; }
00076
00078 void setHelpText(const FXString& text);
00079
00081 FXString getHelpText() const;
00082
00084 void setTipText(const FXString& text);
00085
00087 FXString getTipText() const;
00088
00090 virtual ~FXShutterItem();
00091 };
00092
00093
00099 class FXAPI FXShutter : public FXVerticalFrame {
00100 FXDECLARE(FXShutter)
00101 friend class FXShutterItem;
00102 protected:
00103 FXint current;
00104 FXint closing;
00105 FXint heightIncrement;
00106 FXint closingHeight;
00107 FXbool closingHadScrollbar;
00108 protected:
00109 FXShutter(){}
00110 private:
00111 FXShutter(const FXShutter&);
00112 FXShutter &operator=(const FXShutter&);
00113 public:
00114 long onFocusUp(FXObject*,FXSelector,void*);
00115 long onFocusDown(FXObject*,FXSelector,void*);
00116 long onTimeout(FXObject*,FXSelector,void*);
00117 long onOpenItem(FXObject*,FXSelector,void*);
00118 long onCmdSetValue(FXObject*,FXSelector,void*);
00119 long onCmdSetIntValue(FXObject*,FXSelector,void*);
00120 long onCmdGetIntValue(FXObject*,FXSelector,void*);
00121 long onCmdOpen(FXObject*,FXSelector,void*);
00122 long onUpdOpen(FXObject*,FXSelector,void*);
00123 public:
00124 enum{
00125 ID_SHUTTER_TIMEOUT=FXVerticalFrame::ID_LAST,
00126 ID_OPEN_SHUTTERITEM,
00127 ID_OPEN_FIRST,
00128 ID_OPEN_LAST=ID_OPEN_FIRST+1000,
00129 ID_LAST
00130 };
00131 public:
00132
00134 FXShutter(FXComposite *p,FXObject* tgt=NULL,FXSelector sel=0,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,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00135
00137 virtual void layout();
00138
00140 virtual void setCurrent(FXint panel);
00141
00143 FXint getCurrent() const { return current; }
00144
00146 virtual ~FXShutter();
00147 };
00148
00149 }
00150
00151 #endif