00001
00002
00003
00004
00005
00006
00007
00008
00009 #ifndef THEME_H
00010 #define THEME_H
00011
00012 #include <fx.h>
00013
00019 #include <gwen-gui-fox16/fox16_gui.hpp>
00020
00021
00022
00023 #define THEMEBUTTON ThemeButton
00024 #define THEMETEXTFIELD ThemeTextField
00025 #define THEMECOMBOBOX ThemeComboBox
00026 #define THEMELABEL ThemeLabel
00027 #define THEMEVERTICALFRAME ThemeVerticalFrame
00028 #define THEMEHORIZONTALFRAME ThemeHorizontalFrame
00029 #define THEMEMENUBUTTON ThemeMenuButton
00030 #define THEMEHEADERITEM ThemeHeaderItem
00031 #define THEMETABITEM ThemeTabItem
00032
00033
00034
00035 class FOX16GUI_API ThemeButton : public FXButton {
00036 FXDECLARE( ThemeButton );
00037
00038 protected:
00039 ThemeButton() {}
00040
00041 public:
00042 ThemeButton(FXComposite* p,const FXString& text,FXIcon* ic=NULL,
00043 FXObject* tgt=NULL,FXSelector sel=0,FXuint opts=BUTTON_NORMAL,
00044 FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint pl=DEFAULT_PAD,
00045 FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00046
00047 long onPaint(FXObject*,FXSelector,void* ptr);
00048 };
00049
00050
00051
00052 class FOX16GUI_API ThemeTextField : public FXTextField {
00053 FXDECLARE( ThemeTextField );
00054
00055 protected:
00056 ThemeTextField() {}
00057
00058 public:
00059 ThemeTextField(FXComposite* p,FXint ncols,FXObject* tgt=NULL,FXSelector sel=0,
00060 FXuint opts=TEXTFIELD_NORMAL,FXint x=0,FXint y=0,FXint w=0,
00061 FXint h=0,FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00062
00063 long onPaint(FXObject*,FXSelector,void* ptr);
00064
00065 protected:
00066 void drawFrame(FXDCWindow& dc,FXint x,FXint y,FXint w,FXint h);
00067 };
00068
00069
00070
00071
00072 FOX16GUI_API void init_theme( FXApp *app );
00073
00074
00075
00076
00077 class FOX16GUI_API ThemeComboBox : public FXComboBox {
00078 FXDECLARE( ThemeComboBox );
00079
00080 protected:
00081 ThemeComboBox() {}
00082
00083 public:
00084 ThemeComboBox(FXComposite *p,FXint cols,FXObject* tgt=NULL,FXSelector sel=0,
00085 FXuint opts=COMBOBOX_NORMAL,FXint x=0,FXint y=0,FXint w=0,FXint h=0,
00086 FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00087
00088 long onPaint(FXObject*,FXSelector,void* ptr);
00089 };
00090
00091
00092
00093
00094 class FOX16GUI_API ThemeLabel : public FXLabel {
00095 FXDECLARE( ThemeLabel );
00096
00097 protected:
00098 ThemeLabel() {}
00099
00100 public:
00101 ThemeLabel(FXComposite* p,const FXString& text,FXIcon* ic=0,FXuint opts=LABEL_NORMAL,
00102 FXint x=0,FXint y=0,FXint w=0,FXint h=0,
00103 FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00104
00105 long onPaint(FXObject*,FXSelector,void* ptr);
00106 };
00107
00108
00109
00110
00111 class FOX16GUI_API ThemeTabItem : public FXTabItem {
00112 FXDECLARE( ThemeTabItem );
00113
00114 protected:
00115 ThemeTabItem() {}
00116
00117 public:
00118 ThemeTabItem(FXTabBar* p,const FXString& text,FXIcon* ic=0,
00119 FXuint opts=TAB_TOP_NORMAL,
00120 FXint x=0,FXint y=0,FXint w=0,FXint h=0,
00121 FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,
00122 FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00123 };
00124
00125
00126
00127
00128 class FOX16GUI_API ThemeVerticalFrame : public FXVerticalFrame {
00129 protected:
00130 ThemeVerticalFrame() {}
00131
00132 public:
00133 ThemeVerticalFrame(FXComposite *p,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0,
00134 FXint pl=DEFAULT_SPACING,FXint pr=DEFAULT_SPACING,FXint pt=DEFAULT_SPACING,
00135 FXint pb=DEFAULT_SPACING,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00136 };
00137
00138
00139
00140
00141 class FOX16GUI_API ThemeHorizontalFrame : public FXHorizontalFrame {
00142 protected:
00143 ThemeHorizontalFrame() {}
00144
00145 public:
00146 ThemeHorizontalFrame(FXComposite *p,FXuint opts=0,FXint x=0,FXint y=0,FXint w=0,FXint h=0,FXint
00147 pl=DEFAULT_SPACING,FXint pr=DEFAULT_SPACING,FXint pt=DEFAULT_SPACING,
00148 FXint pb=DEFAULT_SPACING,FXint hs=DEFAULT_SPACING,FXint vs=DEFAULT_SPACING);
00149 };
00150
00151
00152
00153
00154 class FOX16GUI_API ThemeMenuButton : public FXMenuButton {
00155 FXDECLARE( ThemeMenuButton );
00156
00157 protected:
00158 ThemeMenuButton() {}
00159
00160 public:
00161 ThemeMenuButton(FXComposite* p,const FXString& text,FXIcon* ic=NULL,
00162 FXPopup* pup=NULL,
00163 FXuint opts=JUSTIFY_NORMAL|ICON_BEFORE_TEXT|MENUBUTTON_DOWN,
00164 FXint x=0,FXint y=0,FXint w=0,FXint h=0,
00165 FXint pl=DEFAULT_PAD,FXint pr=DEFAULT_PAD,
00166 FXint pt=DEFAULT_PAD,FXint pb=DEFAULT_PAD);
00167
00168
00169 long onPaint(FXObject*,FXSelector,void* ptr);
00170
00171 FXint getDefaultWidth();
00172 };
00173
00174
00175
00176 class FOX16GUI_API ThemeHeaderItem : public FXHeaderItem {
00177 protected:
00178 ThemeHeaderItem() {}
00179
00180 public:
00181 ThemeHeaderItem(const FXString& text, FXIcon* ic=NULL, FXint s=0, void* ptr=NULL);
00182
00183 void draw(const FXHeader* header,FXDC& dc,FXint x,FXint y,FXint w,FXint h);
00184
00185 };
00186
00187
00188
00189 #endif
00190