29 #ifndef _GG_StyleFactory_h_
30 #define _GG_StyleFactory_h_
51 class RadioButtonGroup;
64 struct UnicodeCharset;
90 virtual boost::shared_ptr<Font> DefaultFont(
unsigned int pts = 12)
const;
95 virtual boost::shared_ptr<Font> DefaultFont(
unsigned int pts,
101 virtual Button* NewButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
102 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
106 virtual StateButton* NewStateButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
108 Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
119 virtual DynamicGraphic* NewDynamicGraphic(
X x,
Y y,
X w,
Y h,
bool loop,
X frame_width,
Y frame_height,
120 int margin,
const std::vector<boost::shared_ptr<Texture> >& textures,
125 virtual Edit* NewEdit(
X x,
Y y,
X w,
const std::string& str,
const boost::shared_ptr<Font>& font,
126 Clr color,
Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
130 virtual ListBox* NewListBox(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior = CLR_ZERO,
134 virtual MenuBar* NewMenuBar(
X x,
Y y,
X w,
const boost::shared_ptr<Font>& font,
135 Clr text_color = CLR_WHITE,
Clr color = CLR_BLACK,
136 Clr interior = CLR_SHADOW)
const;
139 virtual MultiEdit* NewMultiEdit(
X x,
Y y,
X w,
Y h,
const std::string& str,
141 Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
159 virtual Spin<int>* NewIntSpin(
X x,
Y y,
X w,
int value,
int step,
int min,
int max,
bool edits,
160 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
164 virtual Spin<double>* NewDoubleSpin(
X x,
Y y,
X w,
double value,
double step,
double min,
double max,
bool edits,
165 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
169 virtual StaticGraphic* NewStaticGraphic(
X x,
Y y,
X w,
Y h,
const boost::shared_ptr<Texture>& texture,
173 virtual TabBar* NewTabBar(
X x,
Y y,
X w,
const boost::shared_ptr<Font>& font,
Clr color,
178 virtual TextControl* NewTextControl(
X x,
Y y,
X w,
Y h,
const std::string& str,
179 const boost::shared_ptr<Font>& font,
Clr color = CLR_BLACK,
183 virtual TextControl* NewTextControl(
X x,
Y y,
const std::string& str,
const boost::shared_ptr<Font>& font,
188 virtual GroupBox* NewGroupBox(
X x,
Y y,
X w,
Y h,
const std::string& label,
const boost::shared_ptr<Font>& font,
189 Clr color,
Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
195 virtual ListBox* NewDropDownListListBox(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior = CLR_ZERO,
199 virtual Scroll* NewListBoxVScroll(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior,
203 virtual Scroll* NewListBoxHScroll(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior,
207 virtual Scroll* NewMultiEditVScroll(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior,
211 virtual Scroll* NewMultiEditHScroll(
X x,
Y y,
X w,
Y h,
Clr color,
Clr interior,
215 virtual Button* NewScrollUpButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
216 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
220 virtual Button* NewScrollDownButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
221 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
225 virtual Button* NewVScrollTabButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
226 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
230 virtual Button* NewScrollLeftButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
231 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
235 virtual Button* NewScrollRightButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
236 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
240 virtual Button* NewHScrollTabButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
241 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
245 virtual Button* NewVSliderTabButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
246 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
250 virtual Button* NewHSliderTabButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
251 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
255 virtual Button* NewSpinIncrButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
256 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
260 virtual Button* NewSpinDecrButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
261 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
265 virtual Edit* NewSpinEdit(
X x,
Y y,
X w,
const std::string& str,
const boost::shared_ptr<Font>& font,
266 Clr color,
Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
270 virtual StateButton* NewTabBarTab(
X x,
Y y,
X w,
Y h,
const std::string& str,
272 Clr text_color = CLR_BLACK,
Clr interior = CLR_ZERO,
276 virtual Button* NewTabBarLeftButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
277 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
281 virtual Button* NewTabBarRightButton(
X x,
Y y,
X w,
Y h,
const std::string& str,
282 const boost::shared_ptr<Font>& font,
Clr color,
Clr text_color = CLR_BLACK,
288 virtual TabWnd* NewTabWnd(
X x,
Y y,
X w,
Y h,
const boost::shared_ptr<Font>& font,
Clr color,
295 virtual ColorDlg* NewColorDlg(
X x,
Y y,
const boost::shared_ptr<Font>& font,
296 Clr dialog_color,
Clr border_color,
Clr text_color = CLR_BLACK)
const;
299 virtual ColorDlg* NewColorDlg(
X x,
Y y,
Clr original_color,
const boost::shared_ptr<Font>& font,
300 Clr dialog_color,
Clr border_color,
Clr text_color = CLR_BLACK)
const;
303 virtual FileDlg* NewFileDlg(
const std::string& directory,
const std::string& filename,
bool save,
bool multi,
304 const boost::shared_ptr<Font>& font,
Clr color,
Clr border_color,
305 Clr text_color = CLR_BLACK)
const;
309 const boost::shared_ptr<Font>& font,
Clr color,
Clr border_color,
310 Clr button_color,
Clr text_color,
int buttons,
const std::string& zero =
"",
311 const std::string& one =
"",
const std::string& two =
"")
const;
315 virtual ThreeButtonDlg* NewThreeButtonDlg(
X w,
Y h,
const std::string& msg,
const boost::shared_ptr<Font>& font,
316 Clr color,
Clr border_color,
Clr button_color,
Clr text_color,
int buttons,
317 const std::string& zero =
"",
const std::string& one =
"",
318 const std::string& two =
"")
const;
323 virtual void DeleteWnd(
Wnd* wnd)
const;
326 static const std::string& DefaultFontName();