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 FXWIZARD_H
00025 #define FXWIZARD_H
00026
00027 #ifndef FXDIALOGBOX_H
00028 #include "FXDialogBox.h"
00029 #endif
00030
00031 namespace FX {
00032
00033
00034 class FXImage;
00035 class FXIcon;
00036 class FXImageFrame;
00037 class FXButton;
00038 class FXSwitcher;
00039
00040
00048 class FXAPI FXWizard : public FXDialogBox {
00049 FXDECLARE(FXWizard)
00050 protected:
00051 FXHorizontalFrame *buttons;
00052 FXImageFrame *sidebar;
00053 FXButton *advance;
00054 FXButton *retreat;
00055 FXButton *finish;
00056 FXButton *cancel;
00057 FXSwitcher *panels;
00058 FXIcon *finishicon;
00059 FXIcon *nexticon;
00060 FXIcon *backicon;
00061 protected:
00062 FXWizard(){}
00063 void construct();
00064 private:
00065 FXWizard(const FXWizard&);
00066 FXWizard &operator=(const FXWizard&);
00067 public:
00068 long onUpdFinish(FXObject*,FXSelector,void*);
00069 long onCmdNext(FXObject*,FXSelector,void*);
00070 long onUpdNext(FXObject*,FXSelector,void*);
00071 long onCmdBack(FXObject*,FXSelector,void*);
00072 long onUpdBack(FXObject*,FXSelector,void*);
00073 public:
00074 enum {
00075 ID_NEXT=FXDialogBox::ID_LAST,
00076 ID_BACK,
00077 ID_LAST
00078 };
00079 public:
00080
00082 FXWizard(FXApp* a,const FXString& name,FXImage *image,FXuint opts=DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=10,FXint pr=10,FXint pt=10,FXint pb=10,FXint hs=10,FXint vs=10);
00083
00085 FXWizard(FXWindow* owner,const FXString& name,FXImage *image,FXuint opts=DECOR_TITLE|DECOR_BORDER|DECOR_RESIZE,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=10,FXint pr=10,FXint pt=10,FXint pb=10,FXint hs=10,FXint vs=10);
00086
00088 FXHorizontalFrame *buttonFrame() const { return buttons; }
00089
00091 FXButton *advanceButton() const { return advance; }
00092
00094 FXButton *retreatButton() const { return retreat; }
00095
00097 FXButton *finishButton() const { return finish; }
00098
00100 FXButton *cancelButton() const { return cancel; }
00101
00103 FXSwitcher *getContainer() const { return panels; }
00104
00106 void setImage(FXImage* img);
00107
00109 FXImage* getImage() const;
00110
00112 FXint getNumPanels() const;
00113
00115 void setCurrentPanel(FXint index);
00116
00118 FXint getCurrentPanel() const;
00119
00121 virtual void save(FXStream& store) const;
00122
00124 virtual void load(FXStream& store);
00125
00126
00127 virtual ~FXWizard();
00128 };
00129
00130 }
00131
00132 #endif