diff options
Diffstat (limited to 'examples/ConfigViewer/ConfigTreeCtrl.cpp')
-rw-r--r-- | examples/ConfigViewer/ConfigTreeCtrl.cpp | 229 |
1 files changed, 0 insertions, 229 deletions
diff --git a/examples/ConfigViewer/ConfigTreeCtrl.cpp b/examples/ConfigViewer/ConfigTreeCtrl.cpp deleted file mode 100644 index 7700272b9ba..00000000000 --- a/examples/ConfigViewer/ConfigTreeCtrl.cpp +++ /dev/null @@ -1,229 +0,0 @@ -// $Id$ -#include "stdafx.h" -#include "ConfigTreeCtrl.h" -#include "MainFrame.h" -#include "ValueDlg.h" -#include "ValueListCtrl.h" - -enum {CFGNEWKEY=100, CFGNEWSTRING, CFGNEWUINT, CFGNEWBINARY, CFGNEWSUBMENU, CFGFIND, CFGDELETE, CFGRENAME, CFGCOPYKEYNAME}; - - -BEGIN_EVENT_TABLE(ConfigTreeCtrl, wxTreeCtrl) - EVT_RIGHT_DOWN(ConfigTreeCtrl::OnRightDown) - EVT_RIGHT_UP(ConfigTreeCtrl::OnRightUp) - EVT_MENU(CFGNEWKEY, ConfigTreeCtrl::OnNewKey) - EVT_MENU(CFGNEWSTRING, ConfigTreeCtrl::OnNewString) - EVT_MENU(CFGNEWUINT, ConfigTreeCtrl::OnNewUINT) - EVT_MENU(CFGNEWBINARY, ConfigTreeCtrl::OnNewBinary) - EVT_MENU(CFGFIND, ConfigTreeCtrl::OnFind) - EVT_MENU(CFGDELETE, ConfigTreeCtrl::OnDelete) - EVT_TREE_SEL_CHANGED(FRAME_TREE, ConfigTreeCtrl::OnSelChanged) -END_EVENT_TABLE() - - -ConfigTreeCtrl::ConfigTreeCtrl(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator, const wxString& name) -: wxTreeCtrl(parent, id, pos, size, style, validator, name) -{ - // Load the tree - LoadTree(); -} - -ConfigTreeCtrl::~ConfigTreeCtrl() -{ -} - -void ConfigTreeCtrl::LoadTree() -{ - m_pConfig = MainFrame::Instance()->GetpConfig(); - const ACE_Configuration_Section_Key& Key = m_pConfig->root_section(); - wxTreeItemId Root = AppendItem(GetRootItem(), "Root"); - LoadSection(Root, Key); -} - -void ConfigTreeCtrl::LoadSection(wxTreeItemId& ParentItem, const ACE_Configuration_Section_Key& Key) -{ - ACE_TString Name; - int Index = 0; - while(!m_pConfig->enumerate_sections(Key, Index, Name)) - { - wxTreeItemId Item = AppendItem(ParentItem, Name.fast_rep()); - ACE_Configuration_Section_Key Child; - m_pConfig->open_section(Key, Name.fast_rep(), 0, Child); - LoadSection( Item, Child); - ++Index; - } -} - -void ConfigTreeCtrl::OnRightDown(wxMouseEvent& event) -{ - //EndEditLabel(TRUE); - int Flags = wxTREE_HITTEST_ONITEMLABEL | wxTREE_HITTEST_ONITEMICON; - long ItemID = HitTest(wxPoint(event.m_x, event.m_y), Flags); - SelectItem(ItemID); -} - -void ConfigTreeCtrl::OnRightUp(wxMouseEvent& event) -{ - wxTreeItemId ItemID = GetSelection(); - - wxMenu* pMenu = new wxMenu; - wxMenu* pNewMenu = new wxMenu; - pNewMenu->Append(CFGNEWKEY, "Key"); - pNewMenu->AppendSeparator(); - pNewMenu->Append(CFGNEWSTRING, "String"); - pNewMenu->Append(CFGNEWUINT, "Unsigned Int"); - //pNewMenu->Append(CFGNEWBINARY, "Binary"); - pMenu->Append(CFGNEWSUBMENU, "New", pNewMenu); - pMenu->Append(CFGFIND, "Find"); - pMenu->AppendSeparator(); - pMenu->Append(CFGDELETE, "Delete"); - //pMenu->Append(CFGRENAME, "Rename"); // not supported - //pMenu->AppendSeparator(); - //pMenu->Append(CFGCOPYKEYNAME, "Copy Key Name"); // not supported - PopupMenu(pMenu, event.m_x, event.m_y); - delete pMenu; -} - -void ConfigTreeCtrl::ResolveKey(wxTreeItemId Item, ACE_Configuration_Section_Key& Key) -{ - wxTreeItemId OriginalItem = Item; - ACE_TString Path(""); - ACE_TString Temp; - while(Item != GetRootItem()) - { - wxString Text = GetItemText(Item); - Temp = Path; - Path = Text.c_str(); - if(Temp.length()) - { - Path += "\\"; - Path += Temp; - } - Item = GetParent(Item); - } - if(Path.length()) - { - m_pConfig->expand_path(m_pConfig->root_section(), Path, Key, 0); - } - else - { - Key = m_pConfig->root_section(); - } -} - - -void ConfigTreeCtrl::OnNewKey(wxCommandEvent& event) -{ - wxTextEntryDialog Dlg(this, "Test", "Key Name"); - if(Dlg.ShowModal() != wxID_OK) - { - return; - } - - wxString Value = Dlg.GetValue(); - - // Get the key for this node - wxTreeItemId ItemID = GetSelection(); - ACE_Configuration_Section_Key Key, NewKey; - ResolveKey(ItemID, Key); - m_pConfig->open_section(Key, Value, 1, NewKey); - wxTreeItemId NewItemID = AppendItem(ItemID, Value); - EnsureVisible(NewItemID); -} - -void ConfigTreeCtrl::OnNewString(wxCommandEvent& event) -{ - ValueDlg Dlg(this, true); - if(Dlg.ShowModal() != wxID_OK) - { - return; - } - - ACE_TString Value = Dlg.GetStringValue(); - ACE_TString Name = Dlg.GetName(); - - // Get the key for this node - wxTreeItemId ItemID = GetSelection(); - ACE_Configuration_Section_Key Key; - ResolveKey(ItemID, Key); - m_pConfig->set_string_value(Key, Name.fast_rep(), Value); - m_pListCtrl->DisplaySection(Key); -} - -void ConfigTreeCtrl::OnNewUINT(wxCommandEvent& event) -{ - ValueDlg Dlg(this, false); - if(Dlg.ShowModal() != wxID_OK) - { - return; - } - - u_int Value = Dlg.GetUINTValue(); - ACE_TString Name = Dlg.GetName(); - - // Get the key for this node - wxTreeItemId ItemID = GetSelection(); - ACE_Configuration_Section_Key Key; - ResolveKey(ItemID, Key); - m_pConfig->set_integer_value(Key, Name.fast_rep(), Value); - m_pListCtrl->DisplaySection(Key); -} - -void ConfigTreeCtrl::OnNewBinary(wxCommandEvent& event) -{ - assert(0); - /* - ValueDlg Dlg(this, true); - if(Dlg.ShowModal() != wxID_OK) - { - return; - } - - ACE_TString Value = Dlg.GetStringValue(); - ACE_TString Name = Dlg.GetName(); - - // Get the key for this node - wxTreeItemId ItemID = GetSelection(); - ACE_Configuration_Section_Key Key; - ResolveKey(ItemID, Key); - m_pConfig->set_string_value(Key, Name.fast_rep(), Value); - m_pListCtrl->DisplaySection(Key); - */ -} - -void ConfigTreeCtrl::OnSelChanged(wxTreeEvent& event) -{ - wxTreeItemId ItemID = GetSelection(); - ACE_Configuration_Section_Key Key; - ResolveKey(ItemID, Key); - m_pListCtrl->DisplaySection(Key); -} - -void ConfigTreeCtrl::OnFind(wxCommandEvent& event) -{ -} - -void ConfigTreeCtrl::OnDelete(wxCommandEvent& event) -{ - wxTreeItemId ItemID = GetSelection(); - wxTreeItemId Parent = GetParent(ItemID); - ACE_Configuration_Section_Key Key; - ResolveKey(Parent, Key); - wxMessageDialog Dlg(this, "Are you sure you want to delete this section?", "Confirm Section Delete", wxYES_NO | wxICON_EXCLAMATION ); - if(Dlg.ShowModal() != wxID_YES) - { - return; - } - wxString Text = GetItemText(ItemID); - m_pConfig->remove_section(Key, Text, 1); - // Reload parent - Delete(ItemID); -} - -void ConfigTreeCtrl::ChangeConfig(ACE_Configuration* pConfig) -{ - m_pConfig = pConfig; - DeleteAllItems(); - LoadTree(); -} - |