1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*!
@file
@author George Evmenov
@date 01/2010
*/
#ifndef _fc5cc036_f17c_438e_abbe_d543bc806f31_
#define _fc5cc036_f17c_438e_abbe_d543bc806f31_
#include "BaseLayout/BaseLayout.h"
#include "WidgetContainer.h"
#include "Dialog.h"
#include "OpenSaveFileDialog.h"
#include "sigslot.h"
namespace tools
{
ATTRIBUTE_CLASS_LAYOUT(CodeGenerator, "CodeGeneratorWindow.layout");
class CodeGenerator :
public wraps::BaseLayout,
public Dialog,
public sigslot::has_slots<>
{
public:
CodeGenerator();
~CodeGenerator();
void loadTemplate();
void saveTemplate();
private:
void parseTemplate(MyGUI::xml::ElementPtr _node, const std::string& _file, MyGUI::Version _version);
std::string stringToUpperCase(const std::string& _str);
void printWidgetDeclaration(WidgetContainer* _container, std::ofstream& _stream);
void notifyGeneratePressed(MyGUI::Widget* _sender);
void notifyCancel(MyGUI::Widget* _sender);
void notifyWindowButtonPressed(MyGUI::Window* _sender, const std::string& _name);
void notifyBrowseHeader(MyGUI::Widget* _sender);
void notifyBrowseSource(MyGUI::Widget* _sender);
void notifyEndDialogOpenSaveFile(Dialog* _sender, bool _result);
virtual void onDoModal();
virtual void onEndModal();
private:
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mPanelNameEdit, "PanelName");
MyGUI::EditBox* mPanelNameEdit;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mPanelNamespaceEdit, "PanelNamespace");
MyGUI::EditBox* mPanelNamespaceEdit;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mSourceDirectoryEdit, "SourceDirectory");
MyGUI::EditBox* mSourceDirectoryEdit;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mIncludeDirectoryEdit, "IncludeDirectory");
MyGUI::EditBox* mIncludeDirectoryEdit;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mGenerateButton, "Generate");
MyGUI::Button* mGenerateButton;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mCancel, "Cancel");
MyGUI::Button* mCancel;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mBrowseHeader, "BrowseHeader");
MyGUI::Button* mBrowseHeader;
ATTRIBUTE_FIELD_WIDGET_NAME(CodeGenerator, mBrowseSource, "BrowseSource");
MyGUI::Button* mBrowseSource;
MyGUI::MapString mTemplateFiles;
MyGUI::MapString mTemplateStrings;
OpenSaveFileDialog* mOpenSaveFileDialog;
};
}
#endif
|