]> git.saurik.com Git - wxWidgets.git/commitdiff
added popup menu demo
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 27 May 2001 02:16:09 +0000 (02:16 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 27 May 2001 02:16:09 +0000 (02:16 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10342 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

samples/treectrl/treectrl.cpp
samples/treectrl/treectrl.h

index e04b74f31442af5cf4c64b19aff9d451bd2fc63b..2bb7c13e98f6b6b545f2f0783592d030fbc7edcb 100644 (file)
@@ -117,6 +117,9 @@ BEGIN_EVENT_TABLE(MyTreeCtrl, wxTreeCtrl)
     EVT_TREE_ITEM_EXPANDING(TreeTest_Ctrl, MyTreeCtrl::OnItemExpanding)
     EVT_TREE_ITEM_COLLAPSED(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsed)
     EVT_TREE_ITEM_COLLAPSING(TreeTest_Ctrl, MyTreeCtrl::OnItemCollapsing)
+    EVT_TREE_ITEM_RIGHT_CLICK(TreeTest_Ctrl, MyTreeCtrl::OnItemRightClick)
+
+    EVT_RIGHT_UP(MyTreeCtrl::OnRMouseUp)
     EVT_TREE_SEL_CHANGED(TreeTest_Ctrl, MyTreeCtrl::OnSelChanged)
     EVT_TREE_SEL_CHANGING(TreeTest_Ctrl, MyTreeCtrl::OnSelChanging)
     EVT_TREE_KEY_DOWN(TreeTest_Ctrl, MyTreeCtrl::OnTreeKeyDown)
@@ -841,6 +844,36 @@ void MyTreeCtrl::OnItemActivated(wxTreeEvent& event)
     wxLogMessage("OnItemActivated");
 }
 
+void MyTreeCtrl::OnItemRightClick(wxTreeEvent& event)
+{
+    ShowMenu(event.GetItem(), event.GetPoint());
+}
+
+void MyTreeCtrl::OnRMouseUp(wxMouseEvent& event)
+{
+    wxPoint pt = event.GetPosition();
+    ShowMenu(HitTest(pt), pt);
+}
+
+void MyTreeCtrl::ShowMenu(wxTreeItemId id, const wxPoint& pt)
+{
+    wxString title;
+    if ( id.IsOk() )
+    {
+        title << _T("Menu for ") << GetItemText(id);
+    }
+    else
+    {
+        title = _T("Menu for no particular item");
+    }
+
+    wxMenu menu(title);
+    menu.Append(TreeTest_About, _T("&About..."));
+    menu.Append(TreeTest_Dump, _T("&Dump"));
+
+    PopupMenu(&menu, pt);
+}
+
 void MyTreeCtrl::OnRMouseDClick(wxMouseEvent& event)
 {
     wxTreeItemId id = HitTest(event.GetPosition());
index fc3d5931b3f84644e48d1da1dc75289d74e3f595..3f89a7206487f84d9c1828f83eab3f9d29368ca6 100644 (file)
@@ -70,7 +70,10 @@ public:
     void OnBeginLabelEdit(wxTreeEvent& event);
     void OnEndLabelEdit(wxTreeEvent& event);
     void OnDeleteItem(wxTreeEvent& event);
+    void OnRMouseUp(wxMouseEvent& event);
     void OnGetInfo(wxTreeEvent& event);
+    void OnTreeRMouseClick(wxTreeEvent& event);
+    void OnItemRightClick(wxTreeEvent& event);
     void OnSetInfo(wxTreeEvent& event);
     void OnItemExpanded(wxTreeEvent& event);
     void OnItemExpanding(wxTreeEvent& event);
@@ -94,6 +97,8 @@ public:
 
     void DoToggleIcon(const wxTreeItemId& item);
 
+    void ShowMenu(wxTreeItemId id, const wxPoint& pt);
+
 protected:
     virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);