summaryrefslogtreecommitdiff
path: root/examples/ConfigViewer/ValueListCtrl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/ConfigViewer/ValueListCtrl.cpp')
-rw-r--r--examples/ConfigViewer/ValueListCtrl.cpp227
1 files changed, 0 insertions, 227 deletions
diff --git a/examples/ConfigViewer/ValueListCtrl.cpp b/examples/ConfigViewer/ValueListCtrl.cpp
deleted file mode 100644
index 93c9af14fcb..00000000000
--- a/examples/ConfigViewer/ValueListCtrl.cpp
+++ /dev/null
@@ -1,227 +0,0 @@
-// $Id$
-#include "stdafx.h"
-#include "ValueListCtrl.h"
-#include "MainFrame.h"
-#include "ValueDlg.h"
-
-
-enum {VALUEMODIFY=200, VALUEDELETE, VALUERENAME};
-
-BEGIN_EVENT_TABLE(ValueListCtrl, wxListCtrl)
- EVT_RIGHT_DOWN(ValueListCtrl::OnRightDown)
- EVT_MENU(VALUEMODIFY, ValueListCtrl::OnModify)
- EVT_MENU(VALUEDELETE, ValueListCtrl::OnDelete)
- EVT_MENU(VALUERENAME, ValueListCtrl::OnRename)
-END_EVENT_TABLE()
-
-
-ValueListCtrl::ValueListCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name)
-: wxListCtrl(parent, id, pos, size, style | wxLC_REPORT | wxLC_SINGLE_SEL, validator, name)
-{
- InsertColumn(0, "Name");
- InsertColumn(1, "Type");
- InsertColumn(2, "Data");
-}
-
-ValueListCtrl::~ValueListCtrl()
-{
-}
-
-void ValueListCtrl::DisplaySection(const ACE_Configuration_Section_Key& Key)
-{
- m_Key = Key;
- DeleteAllItems();
- m_pConfig = MainFrame::Instance()->GetpConfig();
- ACE_TString Name;
- int Index = 0;
- ACE_Configuration::VALUETYPE Type;
- ACE_TString StringValue;
- u_int UINTValue;
- while(!m_pConfig->enumerate_values(Key, Index, Name, Type))
- {
- int Row = InsertItem(0, Name.fast_rep());
- switch(Type)
- {
- case ACE_Configuration::STRING:
- SetItem(Row, 1, "String");
- m_pConfig->get_string_value(Key, Name.fast_rep(), StringValue);
- SetItem(Row, 2, StringValue.fast_rep());
- break;
- case ACE_Configuration::INTEGER:
- {
- SetItem(Row, 1, "Integer");
- m_pConfig->get_integer_value(Key, Name.fast_rep(), UINTValue);
- wxString Text;
- Text.sprintf("%d", UINTValue);
- SetItem(Row, 2, Text);
- }
- break;
- case ACE_Configuration::BINARY:
- SetItem(Row, 1, "Binary");
- break;
- }
- SetItemData(Row, Type);
- ++Index;
- }
-}
-
-long ValueListCtrl::GetSelectedItem()
-{
- return GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
-}
-
-void ValueListCtrl::SelectItem(long ItemID)
-{
- // XXX Something isn't right here... When I use a mask it doesn't work at
- // all someone explain..
- long State = wxLIST_STATE_SELECTED | wxLIST_STATE_FOCUSED;
- SetItemState(ItemID, State, State);
-}
-
-void ValueListCtrl::OnRightDown(wxMouseEvent& event)
-{
- int Flags = wxLIST_HITTEST_ONITEM;
- long ItemID = HitTest(wxPoint(event.m_x, event.m_y), Flags);
- if(ItemID < 0)
- {
- return;
- }
- SelectItem(ItemID);
-
- wxMenu* pMenu = new wxMenu;
- pMenu->Append(VALUEMODIFY, "Modify");
- pMenu->AppendSeparator();
- pMenu->Append(VALUEDELETE, "Delete");
- pMenu->Append(VALUERENAME, "Rename");
- PopupMenu(pMenu, event.m_x, event.m_y);
- delete pMenu;
-}
-
-void ValueListCtrl::OnModify(wxCommandEvent& event)
-{
- long Item = GetSelectedItem();
- if(Item == -1)
- {
- return ;
- }
- wxListItem ListItem;
- ACE_Configuration::VALUETYPE Type = (ACE_Configuration::VALUETYPE)GetItemData(Item);
- wxString Name = GetItemText(Item);
-
- switch(Type)
- {
- case ACE_Configuration::STRING:
- {
- ACE_TString Value;
- m_pConfig->get_string_value(m_Key, Name, Value);
- wxString ValueText(Value.fast_rep());
- ValueDlg Dlg(this, Name, ValueText);
- if(Dlg.ShowModal() != wxID_OK)
- {
- return;
- }
-
- Value = (const char*)Dlg.GetStringValue();
- m_pConfig->set_string_value(m_Key, Name, Value);
- }
- break;
- case ACE_Configuration::INTEGER:
- {
- u_int Value;
- m_pConfig->get_integer_value(m_Key, Name, Value);
- ValueDlg Dlg(this, Name, Value);
- if(Dlg.ShowModal() != wxID_OK)
- {
- return;
- }
-
- Value = Dlg.GetUINTValue();
- m_pConfig->set_integer_value(m_Key, Name, Value);
-
- }
- break;
- case ACE_Configuration::BINARY:
- {
- wxMessageBox("Binary modification not supported (why don't you implement it?)");
- //assert(0);
- }
- break;
- }
- DisplaySection(m_Key);
-}
-
-void ValueListCtrl::OnDelete(wxCommandEvent& event)
-{
- wxMessageDialog Dlg(this, "Are you sure you want to delete this value?", "Confirm Value Delete", wxYES_NO | wxICON_EXCLAMATION );
- if(Dlg.ShowModal() != wxID_YES)
- {
- return;
- }
- long Item = GetSelectedItem();
- if(Item == -1)
- {
- return ;
- }
- wxString Text = GetItemText(Item);
- m_pConfig->remove_value(m_Key, Text);
- DeleteItem(Item);
-}
-
-void ValueListCtrl::OnRename(wxCommandEvent& event)
-{
- long Item = GetSelectedItem();
- if(Item == -1)
- {
- return ;
- }
- wxListItem ListItem;
- ACE_Configuration::VALUETYPE Type = (ACE_Configuration::VALUETYPE)GetItemData(Item);
- wxString Name = GetItemText(Item);
- wxString Message;
- Message.sprintf("Enter new name for '%s'", Name);
- wxTextEntryDialog Dlg(this, Message, "Please enter text", Name);
- if(Dlg.ShowModal() != wxID_OK)
- {
- return;
- }
- wxString NewName = Dlg.GetValue();
- if(NewName == Name)
- {
- return;
- }
-
- // XXX Check to see if an entry with this new name already exists
-
- switch(Type)
- {
- case ACE_Configuration::STRING:
- {
- ACE_TString Value;
- m_pConfig->get_string_value(m_Key, Name, Value);
- m_pConfig->set_string_value(m_Key, NewName, Value);
- }
- break;
- case ACE_Configuration::INTEGER:
- {
- u_int Value;
- m_pConfig->get_integer_value(m_Key, Name, Value);
- m_pConfig->set_integer_value(m_Key, NewName, Value);
- }
- break;
- case ACE_Configuration::BINARY:
- {
- wxMessageBox("Rename binary not supported (Why don't you implement it?)");
- assert(0);
- }
- }
- m_pConfig->remove_value(m_Key, Name);
- DisplaySection(m_Key);
-}
-
-void ValueListCtrl::ChangeConfig(ACE_Configuration* pConfig)
-{
- m_pConfig = pConfig;
- DisplaySection(pConfig->root_section());
-}
-
-