#include #include #include //using namespace tree; namespace creaImageIO { const int ID_COMBO = 140; // CTor WxEditFieldsPanel::WxEditFieldsPanel(wxWindow *parent, wxDialog* dial, WxGimmickView* view, tree::Node* nod, const std::vector name, const std::vector key) : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER | wxSYSTEM_MENU | wxCLOSE_BOX | wxMAXIMIZE_BOX | wxMINIMIZE_BOX | wxCAPTION ), dialog(dial), node (nod), names(name), keys(key), mView(view) { GimmickDebugMessage(1,"WxCustomizeConfigPanel::WxCustomizeConfigPanel" <::const_iterator it; for(it=names.begin();it!=names.end();++it) { as.Add(crea::std2wx(*it)); } attributes=new wxComboBox(this, ID_COMBO, crea::std2wx(names.front()), wxPoint(110, 10), wxDefaultSize,as); std::string val=node->GetAttribute(keys[0]); if(val.compare("")==0){val="?";} wxStaticText * av=new wxStaticText(this,-1,_T(" Current Value: "), wxPoint(5,40)); actualVal=new wxStaticText(this,-1,crea::std2wx(val), wxPoint(110,40)); wxStaticText * nv=new wxStaticText(this,-1,_T(" New Value: "), wxPoint(5,70)); newVal=new wxTextCtrl(this, wxID_ANY, crea::std2wx(val), wxPoint(110,70), wxSize(220,20)); wxButton *save = new wxButton(this,wxID_ANY,_T("Save Changes"), wxPoint(5,100) ); Connect( save->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &WxEditFieldsPanel::OnEdit ); Layout(); } /// Destructor WxEditFieldsPanel::~WxEditFieldsPanel() { GimmickDebugMessage(1,"WxEditFieldsPanel::~WxEditFieldsPanel" <GetValue()); int sel=attributes->GetSelection(); if(sel==-1) { sel=0; } mView->OnFieldsEdited(node,names[sel],keys[sel],val); dialog->Destroy(); } void WxEditFieldsPanel::OnComboChange(wxCommandEvent& event) { std::string val=node->GetAttribute(keys[attributes->GetSelection()]); if(val.compare("")==0){val="?";} actualVal->SetLabel(crea::std2wx(val)); newVal->SetValue(crea::std2wx(val)); } //====================================================================== BEGIN_EVENT_TABLE(WxEditFieldsPanel, wxPanel) EVT_COMBOBOX (ID_COMBO,WxEditFieldsPanel::OnComboChange) END_EVENT_TABLE() //====================================================================== } // EO namespace creaImageIO