////////////////////////////////////////////////////////////////////// // This file was auto-generated by codelite's wxCrafter Plugin // wxCrafter project file: TileMapDialogs.wxcp // Do not modify this file by hand! ////////////////////////////////////////////////////////////////////// #include "TileMapDialogs.h" // Declare the bitmap loading function extern void wxCF6DCInitBitmapResources(); static bool bBitmapLoaded = false; TileMapObjectEditorBase::TileMapObjectEditorBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCF6DCInitBitmapResources(); bBitmapLoaded = true; } m_auimgr178 = new wxAuiManager; m_auimgr178->SetManagedWindow( this ); m_auimgr178->SetFlags( wxAUI_MGR_LIVE_RESIZE|wxAUI_MGR_VENETIAN_BLINDS_HINT|wxAUI_MGR_TRANSPARENT_HINT|wxAUI_MGR_TRANSPARENT_DRAG|wxAUI_MGR_ALLOW_FLOATING); m_auimgr178->GetArtProvider()->SetMetric(wxAUI_DOCKART_GRADIENT_TYPE, wxAUI_GRADIENT_NONE); m_tileSetPropertiesPanel = new wxPanel(this, ID_TILESETPANEL, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL); m_auimgr178->AddPane(m_tileSetPropertiesPanel, wxAuiPaneInfo().Name(wxT("TILESETPANEL")).Caption(_("Tileset")).Direction(wxAUI_DOCK_LEFT).Layer(0).Row(0).Position(0).BestSize(400,550).MinSize(400,550).CaptionVisible(true).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); wxFlexGridSizer* flexGridSizer5 = new wxFlexGridSizer(6, 1, 0, 0); flexGridSizer5->SetFlexibleDirection( wxBOTH ); flexGridSizer5->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer5->AddGrowableCol(0); flexGridSizer5->AddGrowableRow(1); m_tileSetPropertiesPanel->SetSizer(flexGridSizer5); m_tileSetToolBar = new wxToolBar(m_tileSetPropertiesPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTB_HORZ_TEXT|wxTB_NODIVIDER|wxTB_FLAT); m_tileSetToolBar->SetToolBitmapSize(wxSize(16,16)); flexGridSizer5->Add(m_tileSetToolBar, 0, wxALL, 5); m_tileSetToolBar->AddTool(CONFIGURE_TILESET_TOOL_ID, _("Configure the tileset"), wxXmlResource::Get()->LoadBitmap(wxT("options16")), wxNullBitmap, wxITEM_NORMAL, wxT(""), wxT(""), NULL); m_tileSetToolBar->AddTool(EDIT_MASK_TOOL_ID, _("Edit current tile collision mask"), wxXmlResource::Get()->LoadBitmap(wxT("maskEdit16")), wxNullBitmap, wxITEM_NORMAL, wxT(""), wxT(""), NULL); m_tileSetToolBar->Realize(); m_tileSetPanel = new TileSetPanel(m_tileSetPropertiesPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxFULL_REPAINT_ON_RESIZE|wxHSCROLL|wxVSCROLL); m_tileSetPanel->SetScrollRate(5, 5); flexGridSizer5->Add(m_tileSetPanel, 0, wxALL|wxEXPAND, 5); m_mainPanel = new wxPanel(this, ID_MAINPANEL, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL); m_auimgr178->AddPane(m_mainPanel, wxAuiPaneInfo().Name(wxT("MAINPANEL")).Direction(wxAUI_DOCK_CENTER).Layer(0).Row(0).Position(0).BestSize(600,800).MinSize(600,800).Fixed().CaptionVisible(false).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); m_auimgr178->Update(); wxFlexGridSizer* flexGridSizer200 = new wxFlexGridSizer(3, 1, 0, 0); flexGridSizer200->SetFlexibleDirection( wxBOTH ); flexGridSizer200->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer200->AddGrowableCol(0); flexGridSizer200->AddGrowableRow(1); m_mainPanel->SetSizer(flexGridSizer200); m_mainPanelToolbar = new wxToolBar(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTB_HORZ_TEXT|wxTB_NODIVIDER); m_mainPanelToolbar->SetToolBitmapSize(wxSize(16,16)); flexGridSizer200->Add(m_mainPanelToolbar, 0, wxALL, 5); m_mainPanelToolbar->AddTool(CHANGE_MAP_SIZE_TOOL_ID, _("Change map size"), wxXmlResource::Get()->LoadBitmap(wxT("options16")), wxNullBitmap, wxITEM_NORMAL, wxT(""), wxT(""), NULL); m_mainPanelToolbar->AddSeparator(); m_staticText355 = new wxStaticText(m_mainPanelToolbar, wxID_ANY, _("Current layer:"), wxDefaultPosition, wxSize(-1,-1), 0); m_mainPanelToolbar->AddControl(m_staticText355); wxArrayString m_layerChoiceArr; m_layerChoiceArr.Add(wxT("Back")); m_layerChoiceArr.Add(wxT("Middle")); m_layerChoiceArr.Add(wxT("Top")); m_layerChoice = new wxChoice(m_mainPanelToolbar, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), m_layerChoiceArr, 0); m_layerChoice->SetSelection(0); m_mainPanelToolbar->AddControl(m_layerChoice); m_mainPanelToolbar->AddSeparator(); m_mainPanelToolbar->AddTool(HIDE_UPPER_LAYERS_TOOL_ID, _("Hide upper layers"), wxXmlResource::Get()->LoadBitmap(wxT("layer16")), wxNullBitmap, wxITEM_CHECK, wxT(""), wxT(""), NULL); m_mainPanelToolbar->Realize(); wxFlexGridSizer* flexGridSizer7 = new wxFlexGridSizer(4, 1, 0, 0); flexGridSizer7->SetFlexibleDirection( wxBOTH ); flexGridSizer7->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer7->AddGrowableCol(0); flexGridSizer7->AddGrowableRow(0); flexGridSizer200->Add(flexGridSizer7, 1, wxALL|wxEXPAND, 5); m_tileMapPanel = new TileMapPanel(m_mainPanel, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxFULL_REPAINT_ON_RESIZE|wxHSCROLL|wxVSCROLL); m_tileMapPanel->SetScrollRate(5, 5); flexGridSizer7->Add(m_tileMapPanel, 0, wxALL|wxEXPAND, 5); m_stdBtnSizer60 = new wxStdDialogButtonSizer(); flexGridSizer200->Add(m_stdBtnSizer60, 0, wxALL|wxEXPAND, 5); m_button62 = new wxButton(m_mainPanel, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer60->AddButton(m_button62); m_button64 = new wxButton(m_mainPanel, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer60->AddButton(m_button64); m_stdBtnSizer60->Realize(); SetMinSize( wxSize(850,550) ); SetSizeHints(850,550); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events this->Connect(CONFIGURE_TILESET_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnTileSetConfigureButtonClicked), NULL, this); this->Connect(CHANGE_MAP_SIZE_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnChangeMapSizeButtonClicked), NULL, this); m_layerChoice->Connect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TileMapObjectEditorBase::OnLayerChoiceChanged), NULL, this); this->Connect(HIDE_UPPER_LAYERS_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnHideUpperLayerChecked), NULL, this); m_button62->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnOkButtonPressed), NULL, this); m_button64->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnCancelButtonPressed), NULL, this); } TileMapObjectEditorBase::~TileMapObjectEditorBase() { this->Disconnect(CONFIGURE_TILESET_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnTileSetConfigureButtonClicked), NULL, this); this->Disconnect(CHANGE_MAP_SIZE_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnChangeMapSizeButtonClicked), NULL, this); m_layerChoice->Disconnect(wxEVT_COMMAND_CHOICE_SELECTED, wxCommandEventHandler(TileMapObjectEditorBase::OnLayerChoiceChanged), NULL, this); this->Disconnect(HIDE_UPPER_LAYERS_TOOL_ID, wxEVT_COMMAND_TOOL_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnHideUpperLayerChecked), NULL, this); m_button62->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnOkButtonPressed), NULL, this); m_button64->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapObjectEditorBase::OnCancelButtonPressed), NULL, this); m_auimgr178->UnInit(); delete m_auimgr178; } TileSetConfigurationEditorBase::TileSetConfigurationEditorBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCF6DCInitBitmapResources(); bBitmapLoaded = true; } m_auimgr = new wxAuiManager; m_auimgr->SetManagedWindow( this ); m_auimgr->SetFlags( wxAUI_MGR_LIVE_RESIZE|wxAUI_MGR_TRANSPARENT_HINT|wxAUI_MGR_TRANSPARENT_DRAG|wxAUI_MGR_ALLOW_ACTIVE_PANE|wxAUI_MGR_ALLOW_FLOATING); m_auimgr->GetArtProvider()->SetMetric(wxAUI_DOCKART_GRADIENT_TYPE, wxAUI_GRADIENT_NONE); m_mainPanel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1,-1), wxTAB_TRAVERSAL); m_auimgr->AddPane(m_mainPanel, wxAuiPaneInfo().Name(wxT("MAINPANEL")).Direction(wxAUI_DOCK_CENTER).Layer(0).Row(0).Position(0).BestSize(100,100).MinSize(100,100).MaxSize(100,100).Fixed().CaptionVisible(false).MaximizeButton(false).CloseButton(false).MinimizeButton(false).PinButton(false)); m_auimgr->Update(); wxFlexGridSizer* flexGridSizer2671 = new wxFlexGridSizer(0, 1, 0, 0); flexGridSizer2671->SetFlexibleDirection( wxBOTH ); flexGridSizer2671->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer2671->AddGrowableCol(0); flexGridSizer2671->AddGrowableRow(2); m_mainPanel->SetSizer(flexGridSizer2671); m_staticText335 = new wxStaticText(m_mainPanel, wxID_ANY, _("The tileset is the texture containing all the tiles which will be used in your tilemap object."), wxDefaultPosition, wxSize(-1,-1), 0); wxFont m_staticText335Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText335Font.SetWeight(wxFONTWEIGHT_BOLD); m_staticText335->SetFont(m_staticText335Font); flexGridSizer2671->Add(m_staticText335, 0, wxALL, 5); m_staticText337 = new wxStaticText(m_mainPanel, wxID_ANY, _("Note: the tilemap object needs to have all the tiles in a single texture."), wxDefaultPosition, wxSize(-1,-1), 0); wxFont m_staticText337Font = wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT); m_staticText337Font.SetStyle(wxFONTSTYLE_ITALIC); m_staticText337->SetFont(m_staticText337Font); flexGridSizer2671->Add(m_staticText337, 0, wxALL, 5); wxFlexGridSizer* flexGridSizer2692 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer2692->SetFlexibleDirection( wxBOTH ); flexGridSizer2692->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer2692->AddGrowableCol(1); flexGridSizer2671->Add(flexGridSizer2692, 1, wxALL|wxEXPAND, 5); m_staticText287 = new wxStaticText(m_mainPanel, wxID_ANY, _("Tileset texture:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer2692->Add(m_staticText287, 0, wxALL|wxALIGN_CENTER|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); wxFlexGridSizer* flexGridSizer295 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer295->SetFlexibleDirection( wxBOTH ); flexGridSizer295->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer295->AddGrowableCol(0); flexGridSizer295->AddGrowableRow(0); flexGridSizer2692->Add(flexGridSizer295, 1, wxALL|wxEXPAND, 5); m_textureNameTextCtrl = new wxTextCtrl(m_mainPanel, wxID_ANY, wxT(""), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer295->Add(m_textureNameTextCtrl, 0, wxALL|wxEXPAND, 5); m_setTextureButton = new wxBitmapButton(m_mainPanel, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("image16")), wxDefaultPosition, wxSize(-1,-1), wxBU_AUTODRAW); flexGridSizer295->Add(m_setTextureButton, 0, wxALL, 5); flexGridSizer2692->Add(0, 0, 1, wxALL, 5); m_staticBitmap331 = new wxStaticBitmap(m_mainPanel, wxID_ANY, wxXmlResource::Get()->LoadBitmap(wxT("TileMapExplainPicture")), wxDefaultPosition, wxSize(-1,-1), 0 ); flexGridSizer2692->Add(m_staticBitmap331, 0, wxALL|wxEXPAND|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_staticText301 = new wxStaticText(m_mainPanel, wxID_ANY, _("Tile size:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer2692->Add(m_staticText301, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); wxFlexGridSizer* flexGridSizer303 = new wxFlexGridSizer(1, 4, 0, 0); flexGridSizer303->SetFlexibleDirection( wxBOTH ); flexGridSizer303->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer303->AddGrowableCol(0); flexGridSizer303->AddGrowableCol(2); flexGridSizer303->AddGrowableRow(0); flexGridSizer2692->Add(flexGridSizer303, 1, wxALL|wxEXPAND, 5); m_tileWidthSpin = new wxSpinCtrl(m_mainPanel, wxID_ANY, wxT("24"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_tileWidthSpin->SetRange(1, 10000); m_tileWidthSpin->SetValue(24); flexGridSizer303->Add(m_tileWidthSpin, 0, wxALL|wxEXPAND, 5); m_staticText307 = new wxStaticText(m_mainPanel, wxID_ANY, _("x"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer303->Add(m_staticText307, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_tileHeightSpin = new wxSpinCtrl(m_mainPanel, wxID_ANY, wxT("24"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_tileHeightSpin->SetRange(1, 10000); m_tileHeightSpin->SetValue(24); flexGridSizer303->Add(m_tileHeightSpin, 0, wxALL|wxEXPAND, 5); m_staticText311 = new wxStaticText(m_mainPanel, wxID_ANY, _("pixels"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer303->Add(m_staticText311, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_staticText313 = new wxStaticText(m_mainPanel, wxID_ANY, _("Tile spacing:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer2692->Add(m_staticText313, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); wxFlexGridSizer* flexGridSizer317 = new wxFlexGridSizer(1, 4, 0, 0); flexGridSizer317->SetFlexibleDirection( wxBOTH ); flexGridSizer317->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer317->AddGrowableCol(0); flexGridSizer317->AddGrowableCol(2); flexGridSizer317->AddGrowableRow(0); flexGridSizer2692->Add(flexGridSizer317, 1, wxALL|wxEXPAND, 5); m_spacingWidthSpin = new wxSpinCtrl(m_mainPanel, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_spacingWidthSpin->SetRange(0, 10000); m_spacingWidthSpin->SetValue(0); flexGridSizer317->Add(m_spacingWidthSpin, 0, wxALL|wxEXPAND, 5); m_staticText325 = new wxStaticText(m_mainPanel, wxID_ANY, _("x"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer317->Add(m_staticText325, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5); m_spacingHeightSpin = new wxSpinCtrl(m_mainPanel, wxID_ANY, wxT("0"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_spacingHeightSpin->SetRange(0, 10000); m_spacingHeightSpin->SetValue(0); flexGridSizer317->Add(m_spacingHeightSpin, 0, wxALL|wxEXPAND, 5); m_staticText329 = new wxStaticText(m_mainPanel, wxID_ANY, _("pixels"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer317->Add(m_staticText329, 0, wxALL|wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL, 5); m_stdBtnSizer2713 = new wxStdDialogButtonSizer(); flexGridSizer2671->Add(m_stdBtnSizer2713, 0, wxALL|wxALIGN_RIGHT, 5); m_okButton = new wxButton(m_mainPanel, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer2713->AddButton(m_okButton); m_cancelButton = new wxButton(m_mainPanel, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer2713->AddButton(m_cancelButton); m_stdBtnSizer2713->Realize(); SetSizeHints(750,400); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events m_setTextureButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnSetTextureButtonClicked), NULL, this); m_okButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnOkButtonClicked), NULL, this); m_cancelButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnCancelButtonClicked), NULL, this); } TileSetConfigurationEditorBase::~TileSetConfigurationEditorBase() { m_setTextureButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnSetTextureButtonClicked), NULL, this); m_okButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnOkButtonClicked), NULL, this); m_cancelButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileSetConfigurationEditorBase::OnCancelButtonClicked), NULL, this); m_auimgr->UnInit(); delete m_auimgr; } TileMapConfigurationEditorBase::TileMapConfigurationEditorBase(wxWindow* parent, wxWindowID id, const wxString& title, const wxPoint& pos, const wxSize& size, long style) : wxDialog(parent, id, title, pos, size, style) { if ( !bBitmapLoaded ) { // We need to initialise the default bitmap handler wxXmlResource::Get()->AddHandler(new wxBitmapXmlHandler); wxCF6DCInitBitmapResources(); bBitmapLoaded = true; } wxFlexGridSizer* flexGridSizer367 = new wxFlexGridSizer(0, 1, 0, 0); flexGridSizer367->SetFlexibleDirection( wxBOTH ); flexGridSizer367->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer367->AddGrowableCol(0); flexGridSizer367->AddGrowableRow(0); this->SetSizer(flexGridSizer367); wxFlexGridSizer* flexGridSizer369 = new wxFlexGridSizer(0, 2, 0, 0); flexGridSizer369->SetFlexibleDirection( wxBOTH ); flexGridSizer369->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer369->AddGrowableCol(1); flexGridSizer367->Add(flexGridSizer369, 1, wxALL|wxEXPAND, 5); m_staticText378 = new wxStaticText(this, wxID_ANY, _("Map size:"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer369->Add(m_staticText378, 0, wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5); wxFlexGridSizer* flexGridSizer380 = new wxFlexGridSizer(1, 4, 0, 0); flexGridSizer380->SetFlexibleDirection( wxBOTH ); flexGridSizer380->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); flexGridSizer380->AddGrowableCol(0); flexGridSizer380->AddGrowableCol(2); flexGridSizer369->Add(flexGridSizer380, 1, wxALL|wxEXPAND, 5); m_mapWidthSpin = new wxSpinCtrl(this, wxID_ANY, wxT("10"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_mapWidthSpin->SetRange(1, 100000); m_mapWidthSpin->SetValue(10); flexGridSizer380->Add(m_mapWidthSpin, 0, wxALL|wxEXPAND, 5); m_staticText384 = new wxStaticText(this, wxID_ANY, _("x"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer380->Add(m_staticText384, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); m_mapHeightSpin = new wxSpinCtrl(this, wxID_ANY, wxT("5"), wxDefaultPosition, wxSize(-1,-1), wxSP_ARROW_KEYS); m_mapHeightSpin->SetRange(1, 100000); m_mapHeightSpin->SetValue(5); flexGridSizer380->Add(m_mapHeightSpin, 0, wxALL|wxEXPAND, 5); m_staticText388 = new wxStaticText(this, wxID_ANY, _("tiles"), wxDefaultPosition, wxSize(-1,-1), 0); flexGridSizer380->Add(m_staticText388, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5); m_stdBtnSizer371 = new wxStdDialogButtonSizer(); flexGridSizer367->Add(m_stdBtnSizer371, 0, wxALL|wxEXPAND, 5); m_okButton = new wxButton(this, wxID_OK, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer371->AddButton(m_okButton); m_cancelButton = new wxButton(this, wxID_CANCEL, wxT(""), wxDefaultPosition, wxSize(-1, -1), 0); m_stdBtnSizer371->AddButton(m_cancelButton); m_stdBtnSizer371->Realize(); SetSizeHints(500,300); if ( GetSizer() ) { GetSizer()->Fit(this); } Centre(wxBOTH); // Connect events m_okButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapConfigurationEditorBase::OnOkPressed), NULL, this); m_cancelButton->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapConfigurationEditorBase::OnCancelPressed), NULL, this); } TileMapConfigurationEditorBase::~TileMapConfigurationEditorBase() { m_okButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapConfigurationEditorBase::OnOkPressed), NULL, this); m_cancelButton->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(TileMapConfigurationEditorBase::OnCancelPressed), NULL, this); }