messagedialog.h

Go to the documentation of this file.
00001 /*
00002      This file is part of Advanced Strategic Command; http://www.asc-hq.de
00003      Copyright (C) 1994-2010  Martin Bickel  and  Marc Schellenberger
00004  
00005      This program is free software; you can redistribute it and/or modify
00006      it under the terms of the GNU General Public License as published by
00007      the Free Software Foundation; either version 2 of the License, or
00008      (at your option) any later version.
00009  
00010      This program is distributed in the hope that it will be useful,
00011      but WITHOUT ANY WARRANTY; without even the implied warranty of
00012      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00013      GNU General Public License for more details.
00014  
00015      You should have received a copy of the GNU General Public License
00016      along with this program; see the file COPYING. If not, write to the 
00017      Free Software Foundation, Inc., 59 Temple Place, Suite 330, 
00018      Boston, MA  02111-1307  USA
00019 */
00020 
00021 
00022 #ifndef messagedialogH
00023 #define messagedialogH
00024 
00025 #include <map>
00026 
00027 #include "../paradialog.h"
00028 class TextRenderer;
00029 
00030 class PG_RichEdit;
00031 class PG_CheckButton;
00032 
00033 class  MessageDialog : public ASC_PG_Dialog {
00034       bool defaultKeysActive;
00035    public:
00049       MessageDialog(PG_Widget* parent, const PG_Rect& r, const std::string& windowtitle, const std::string& windowtext, const std::string& btn1text, const std::string& btn2text, PG_Label::TextAlign textalign = PG_Label::CENTER, const std::string& style="MessageBox", bool rememberCheckbox = false );
00050 
00051 
00063       MessageDialog(PG_Widget* parent, const PG_Rect& r, const std::string& windowtitle, const std::string& windowtext, const std::string& btn1text, PG_Label::TextAlign textalign = PG_Label::CENTER, const std::string& style="MessageBox");
00064 
00075       MessageDialog(PG_Widget* parent, const PG_Rect& r, const std::string& windowtitle, const std::string& windowtext, PG_Label::TextAlign textalign = PG_Label::CENTER, const std::string& style="MessageBox");
00076         
00077       ~MessageDialog();
00078 
00079       void LoadThemeStyle(const std::string& widgettype);
00080 
00081       PG_Widget* getTextBox();
00082 
00083       void EnableDefaultKeys( bool enable );
00084 
00085       void SetText( const std::string& text ) ;
00086       
00087       
00088       bool remberChoice();
00089 
00090    protected:
00091 
00097       virtual bool handleButton(PG_Button* button);
00098 
00099       PG_Button* my_btnok;
00100       PG_Button* my_btncancel;
00101 
00102       PG_CheckButton* checkbox;
00103 
00104       bool eventKeyDown (const SDL_KeyboardEvent *key);
00105         
00106          
00107    private:
00108 
00109       TextRenderer* my_textbox;
00110       int my_msgalign;
00111 
00112       void Init(const std::string& windowtext, int textalign, const std::string& style) ;
00113 };
00114 
00115 extern int  new_choice_dlg(const ASCString& title, const ASCString& leftButton, const ASCString& rightButton );
00116 extern int  new_choice_dlg(const ASCString& title, const ASCString& shortTitle, const ASCString& leftButton, const ASCString& rightButton, bool& saveResult );
00117 extern PG_Rect calcMessageBoxSize( const ASCString& message );
00118 
00119 #endif
00120 

Generated on Mon May 21 01:26:35 2012 for Advanced Strategic Command by  doxygen 1.5.1