|
NIREP
|
00001 00002 // Name: ViewWidgetCommands.cpp 00003 // Purpose: 00004 // Author: 00005 // Modified by: 00006 // Created: 11/08/2010 11:03:40 00007 // RCS-ID: 00008 // Copyright: 00009 // Licence: 00011 00012 // For compilers that support precompilation, includes "wx/wx.h". 00013 #include "wx/wxprec.h" 00014 00015 #ifdef __BORLANDC__ 00016 #pragma hdrstop 00017 #endif 00018 00019 #ifndef WX_PRECOMP 00020 #include "wx/wx.h" 00021 #endif 00022 00025 00026 #include "ViewWidgetCommands.h" 00027 00028 #include "ViewEvaluatorCommands.h" 00029 00032 00033 00034 /* 00035 * ViewWidgetCommands type definition 00036 */ 00037 00038 IMPLEMENT_CLASS( ViewWidgetCommands, wxFrame ) 00039 00040 00041 /* 00042 * ViewWidgetCommands event table definition 00043 */ 00044 00045 BEGIN_EVENT_TABLE( ViewWidgetCommands, wxFrame ) 00046 00048 EVT_TEXT( ID_TEXTCTRL14, ViewWidgetCommands::OnTextctrl14TextUpdated ) 00049 00050 EVT_TEXT( ID_TEXTCTRL15, ViewWidgetCommands::OnTextctrl15TextUpdated ) 00051 00052 EVT_BUTTON( ID_BUTTON21, ViewWidgetCommands::OnButton21Click ) 00053 00054 EVT_BUTTON( ID_BUTTON17, ViewWidgetCommands::OnButton17Click ) 00055 00056 EVT_BUTTON( ID_BUTTON18, ViewWidgetCommands::OnButton18Click ) 00057 00058 EVT_BUTTON( ID_BACK, ViewWidgetCommands::OnBackClick ) 00059 00060 EVT_BUTTON( ID_SHOW, ViewWidgetCommands::OnShowClick ) 00061 00063 00064 END_EVENT_TABLE() 00065 00066 00067 /* 00068 * ViewWidgetCommands constructors 00069 */ 00070 00071 ViewWidgetCommands::ViewWidgetCommands() 00072 { 00073 Init(); 00074 } 00075 00076 ViewWidgetCommands::ViewWidgetCommands( wxWindow* parent, ViewEvaluatorCommands * vec, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) 00077 { 00078 Init(); 00079 m_previousVEC = vec; 00080 Create( parent, id, caption, pos, size, style ); 00081 } 00082 00083 00084 /* 00085 * ViewWidgetCommands creator 00086 */ 00087 00088 bool ViewWidgetCommands::Create( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) 00089 { 00091 wxFrame::Create( parent, id, caption, pos, size, style ); 00092 00093 CreateControls(); 00094 Centre(); 00096 return true; 00097 } 00098 00099 00100 /* 00101 * ViewWidgetCommands destructor 00102 */ 00103 00104 ViewWidgetCommands::~ViewWidgetCommands() 00105 { 00108 } 00109 00110 00111 /* 00112 * Member initialisation 00113 */ 00114 00115 void ViewWidgetCommands::Init() 00116 { 00118 m_row = NULL; 00119 m_col = NULL; 00120 m_widgetGrid = NULL; 00121 m_widgetCommandGrid = NULL; 00122 m_attributeList = NULL; 00123 m_attributeGrid = NULL; 00124 m_previousVEC = NULL; 00126 } 00127 00128 00129 /* 00130 * Control creation for ViewWidgetCommands 00131 */ 00132 00133 void ViewWidgetCommands::CreateControls() 00134 { 00136 ViewWidgetCommands* itemFrame1 = this; 00137 00138 wxScrolledWindow* itemScrolledWindow2 = new wxScrolledWindow( itemFrame1, ID_SCROLLEDWINDOW5, wxDefaultPosition, wxSize(100, 100), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL ); 00139 itemScrolledWindow2->SetScrollbars(1, 1, 0, 0); 00140 wxFlexGridSizer* itemFlexGridSizer3 = new wxFlexGridSizer(0, 1, 0, 0); 00141 itemFlexGridSizer3->AddGrowableRow(2); 00142 itemFlexGridSizer3->AddGrowableRow(7); 00143 itemFlexGridSizer3->AddGrowableCol(0); 00144 itemScrolledWindow2->SetSizer(itemFlexGridSizer3); 00145 00146 wxStaticText* itemStaticText4 = new wxStaticText( itemScrolledWindow2, wxID_STATIC, _("Widget Commands"), wxDefaultPosition, wxDefaultSize, 0 ); 00147 itemStaticText4->SetFont(wxFont(16, wxSWISS, wxNORMAL, wxNORMAL, false, wxT("Tahoma"))); 00148 itemFlexGridSizer3->Add(itemStaticText4, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00149 00150 wxBoxSizer* itemBoxSizer5 = new wxBoxSizer(wxVERTICAL); 00151 itemFlexGridSizer3->Add(itemBoxSizer5, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00152 wxBoxSizer* itemBoxSizer6 = new wxBoxSizer(wxHORIZONTAL); 00153 itemBoxSizer5->Add(itemBoxSizer6, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); 00154 wxStaticText* itemStaticText7 = new wxStaticText( itemScrolledWindow2, wxID_STATIC, _("Row Size"), wxDefaultPosition, wxDefaultSize, 0 ); 00155 itemBoxSizer6->Add(itemStaticText7, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00156 00157 m_row = new wxTextCtrl( itemScrolledWindow2, ID_TEXTCTRL14, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 00158 itemBoxSizer6->Add(m_row, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00159 00160 wxBoxSizer* itemBoxSizer9 = new wxBoxSizer(wxHORIZONTAL); 00161 itemBoxSizer5->Add(itemBoxSizer9, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5); 00162 wxStaticText* itemStaticText10 = new wxStaticText( itemScrolledWindow2, wxID_STATIC, _("Column Size"), wxDefaultPosition, wxDefaultSize, 0 ); 00163 itemBoxSizer9->Add(itemStaticText10, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00164 00165 m_col = new wxTextCtrl( itemScrolledWindow2, ID_TEXTCTRL15, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 ); 00166 itemBoxSizer9->Add(m_col, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00167 00168 m_widgetGrid = new wxGrid( itemScrolledWindow2, ID_WIDGET_GRID, wxDefaultPosition, wxSize(200, 150), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL ); 00169 m_widgetGrid->SetDefaultColSize(50); 00170 m_widgetGrid->SetDefaultRowSize(25); 00171 m_widgetGrid->SetColLabelSize(25); 00172 m_widgetGrid->SetRowLabelSize(50); 00173 m_widgetGrid->CreateGrid(5, 5, wxGrid::wxGridSelectCells); 00174 itemFlexGridSizer3->Add(m_widgetGrid, 0, wxGROW|wxGROW|wxALL, 5); 00175 00176 m_widgetCommandGrid = new wxGrid( itemScrolledWindow2, ID_WIDGET_COMMAND_GRID, wxDefaultPosition, wxSize(200, 150), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL ); 00177 m_widgetCommandGrid->SetDefaultColSize(50); 00178 m_widgetCommandGrid->SetDefaultRowSize(25); 00179 m_widgetCommandGrid->SetColLabelSize(25); 00180 m_widgetCommandGrid->SetRowLabelSize(50); 00181 m_widgetCommandGrid->CreateGrid(1, 3, wxGrid::wxGridSelectCells); 00182 itemFlexGridSizer3->Add(m_widgetCommandGrid, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); 00183 00184 wxBoxSizer* itemBoxSizer14 = new wxBoxSizer(wxHORIZONTAL); 00185 itemFlexGridSizer3->Add(itemBoxSizer14, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00186 wxButton* itemButton15 = new wxButton( itemScrolledWindow2, ID_BUTTON15, _("Add Command"), wxDefaultPosition, wxDefaultSize, 0 ); 00187 itemBoxSizer14->Add(itemButton15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00188 00189 wxButton* itemButton16 = new wxButton( itemScrolledWindow2, ID_BUTTON16, _("Delete Command"), wxDefaultPosition, wxDefaultSize, 0 ); 00190 itemBoxSizer14->Add(itemButton16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00191 00192 wxButton* itemButton17 = new wxButton( itemScrolledWindow2, ID_BUTTON21, _("Show >>"), wxDefaultPosition, wxDefaultSize, 0 ); 00193 itemFlexGridSizer3->Add(itemButton17, 0, wxALIGN_LEFT|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00194 00195 wxStaticText* itemStaticText18 = new wxStaticText( itemScrolledWindow2, wxID_STATIC, _("Display Attributes"), wxDefaultPosition, wxDefaultSize, 0 ); 00196 itemStaticText18->Show(false); 00197 itemFlexGridSizer3->Add(itemStaticText18, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00198 00199 wxArrayString m_attributeListStrings; 00200 m_attributeList = new wxListBox( itemScrolledWindow2, ID_ATTRIBUTE_LIST, wxDefaultPosition, wxDefaultSize, m_attributeListStrings, wxLB_SINGLE ); 00201 m_attributeList->Show(false); 00202 itemFlexGridSizer3->Add(m_attributeList, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00203 00204 m_attributeGrid = new wxGrid( itemScrolledWindow2, ID_ATTRIBUTE_GRID, wxDefaultPosition, wxSize(300, 100), wxSUNKEN_BORDER|wxHSCROLL|wxVSCROLL ); 00205 m_attributeGrid->Show(false); 00206 m_attributeGrid->SetDefaultColSize(100); 00207 m_attributeGrid->SetDefaultRowSize(40); 00208 m_attributeGrid->SetColLabelSize(25); 00209 m_attributeGrid->SetRowLabelSize(50); 00210 m_attributeGrid->CreateGrid(1, 2, wxGrid::wxGridSelectCells); 00211 itemFlexGridSizer3->Add(m_attributeGrid, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5); 00212 00213 wxBoxSizer* itemBoxSizer21 = new wxBoxSizer(wxHORIZONTAL); 00214 itemFlexGridSizer3->Add(itemBoxSizer21, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00215 wxButton* itemButton22 = new wxButton( itemScrolledWindow2, ID_BUTTON17, _("Add Attribute"), wxDefaultPosition, wxDefaultSize, 0 ); 00216 itemButton22->Show(false); 00217 itemBoxSizer21->Add(itemButton22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00218 00219 wxButton* itemButton23 = new wxButton( itemScrolledWindow2, ID_BUTTON18, _("Delete Attribute"), wxDefaultPosition, wxDefaultSize, 0 ); 00220 itemButton23->Show(false); 00221 itemBoxSizer21->Add(itemButton23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00222 00223 00224 if(m_previousVEC != NULL) { 00225 wxBoxSizer* itemBoxSizer24 = new wxBoxSizer(wxHORIZONTAL); 00226 itemFlexGridSizer3->Add(itemBoxSizer24, 0, wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL|wxALL, 5); 00227 wxButton* itemButton25 = new wxButton( itemScrolledWindow2, ID_BACK, _("Back"), wxDefaultPosition, wxDefaultSize, 0 ); 00228 itemBoxSizer24->Add(itemButton25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00229 00230 wxButton* itemButton26 = new wxButton( itemScrolledWindow2, ID_SHOW, _("Show"), wxDefaultPosition, wxDefaultSize, 0 ); 00231 itemBoxSizer24->Add(itemButton26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); 00232 } 00233 00234 itemScrolledWindow2->FitInside(); 00235 00237 } 00238 00239 00240 /* 00241 * Should we show tooltips? 00242 */ 00243 00244 bool ViewWidgetCommands::ShowToolTips() 00245 { 00246 return true; 00247 } 00248 00249 /* 00250 * Get bitmap resources 00251 */ 00252 00253 wxBitmap ViewWidgetCommands::GetBitmapResource( const wxString& name ) 00254 { 00255 // Bitmap retrieval 00257 wxUnusedVar(name); 00258 return wxNullBitmap; 00260 } 00261 00262 /* 00263 * Get icon resources 00264 */ 00265 00266 wxIcon ViewWidgetCommands::GetIconResource( const wxString& name ) 00267 { 00268 // Icon retrieval 00270 wxUnusedVar(name); 00271 return wxNullIcon; 00273 } 00274 00275 00276 /* 00277 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON17 00278 */ 00279 00280 void ViewWidgetCommands::OnButton17Click( wxCommandEvent& event ) 00281 { 00283 // Before editing this code, remove the block markers. 00284 event.Skip(); 00286 } 00287 00288 00289 /* 00290 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON18 00291 */ 00292 00293 void ViewWidgetCommands::OnButton18Click( wxCommandEvent& event ) 00294 { 00296 // Before editing this code, remove the block markers. 00297 event.Skip(); 00299 } 00300 00301 00302 /* 00303 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON22 00304 */ 00305 00306 void ViewWidgetCommands::OnBackClick( wxCommandEvent& event ) 00307 { 00308 this->Show(false); 00309 if(m_previousVEC != NULL) { 00310 m_previousVEC->Show(); 00311 } 00312 } 00313 00314 00315 /* 00316 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON23 00317 */ 00318 00319 void ViewWidgetCommands::OnShowClick( wxCommandEvent& event ) 00320 { 00321 if(m_previousVEC != NULL) { 00322 m_previousVEC->Close(); 00323 } 00324 this->Close(); 00325 } 00326 00327 00328 /* 00329 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_TEXTCTRL14 00330 */ 00331 00332 void ViewWidgetCommands::OnTextctrl14TextUpdated( wxCommandEvent& event ) 00333 { 00335 // Before editing this code, remove the block markers. 00336 event.Skip(); 00338 } 00339 00340 00341 /* 00342 * wxEVT_COMMAND_TEXT_UPDATED event handler for ID_TEXTCTRL15 00343 */ 00344 00345 void ViewWidgetCommands::OnTextctrl15TextUpdated( wxCommandEvent& event ) 00346 { 00348 // Before editing this code, remove the block markers. 00349 event.Skip(); 00351 } 00352 00353 00354 /* 00355 * wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_BUTTON21 00356 */ 00357 00358 void ViewWidgetCommands::OnButton21Click( wxCommandEvent& event ) 00359 { 00361 // Before editing this code, remove the block markers. 00362 event.Skip(); 00364 } 00365