00001
00019 #ifndef CUI_MESSAGEBOX_H
00020 #define CUI_MESSAGEBOX_H
00021
00022 #include "UI_Lib.h"
00023 #include "UI_types.h"
00024 #include "CUI_Button.h"
00025 #include "CUI_SliderBar.h"
00026 #include "CUI_Control.h"
00027 #include "CUI_ScrollableTextBox.h"
00028
00032
00033 #define UI_MB_OK 0x01
00034
00035 #define UI_MB_YES 0x02
00036
00037 #define UI_MB_NO 0x04
00038
00039 #define UI_MB_YESNO 0x06
00040
00042
00060 class GLGUI_ENTRY CUI_MessageBox : public CUI_Control
00061 {
00062 public:
00063
00064
00068 CUI_MessageBox(
00069 CUI_UI *ui = NULL, float x = 0, float y = 0, float x2 = 1, float y2 = 1,
00070 CUI_Frame *parent = NULL, IUI_Shader *shader = NULL,
00071 IUI_Shader *cursor = NULL, CUI_CoordSys *coordsys = NULL,
00072
00073 char *message = NULL, char *title = NULL, IUI_Shader *icon = NULL,
00074 unsigned short type = UI_MB_OK
00075 );
00076
00077
00079 virtual ~CUI_MessageBox();
00080
00082 virtual bool SetUI( CUI_UI *ui );
00083
00085
00088 virtual bool ProcessKey( unsigned long key );
00089
00091
00099 virtual bool CallbackFunc( int id, int numparam, void *param );
00100
00102 virtual bool SetFont( IUI_Font *font );
00103
00105 virtual bool SetMessage( char *text )
00106 { return m_messageFrame->SetText( text ); }
00107
00109 virtual bool SetTitle( char *text )
00110 { return m_titleFrame->SetText( text ); }
00111
00113 virtual bool SetIcon( IUI_Shader *icon )
00114 { return m_iconFrame->SetShader( icon ); }
00115
00117 virtual bool SetType( unsigned short type );
00118
00120 virtual bool SetButtonShaders( IUI_Shader *shader = NULL, IUI_Shader *hover = NULL, IUI_Shader *click = NULL );
00121
00123 virtual bool SetOptionalButtonShaders( IUI_Shader *shader = NULL, IUI_Shader *hover = NULL, IUI_Shader *click = NULL );
00124
00126 virtual bool SetScrollShaders( IUI_Shader *shader = NULL, IUI_Shader *barShader = NULL );
00127
00129 virtual bool SetTextBoxShader( IUI_Shader *shader );
00130
00132 virtual bool SetTextBoxSize( unsigned int columns, unsigned int rows )
00133 { return m_messageFrame->SetTextBoxSize( columns, rows ); }
00134
00135 protected:
00136
00138 CUI_Widget *m_titleFrame;
00139
00141 CUI_ScrollableTextBox *m_messageFrame;
00142
00144 CUI_Frame *m_iconFrame;
00145
00147 CUI_Button *m_defaultButton;
00148
00150 CUI_Button *m_optionalButton;
00151
00153
00156 unsigned short m_type;
00157
00159 unsigned short m_selected;
00160 };
00161
00162 #endif