1 // XABContactMenu.cpp - XABContactMenu widget header
3 // (c) 2012-2015 Xestia Software Development.
5 // This file is part of Xestia Address Book.
7 // Xestia Address Book is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by the
9 // Free Software Foundation, version 3 of the license.
11 // Xestia Address Book is distributed in the hope that it will be useful,
12 // but WITHOUT ANY WARRANTY; without even the implied warranty of
13 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 // GNU General Public License for more details.
16 // You should have received a copy of the GNU General Public License along
17 // with Xestia Address Book. If not, see <http://www.gnu.org/licenses/>
19 #ifndef __WIDGETS_XABCONTACTMENU__
20 #define __WIDGETS_XABCONTACTMENU__
25 #include <wx/listctrl.h>
33 class XABContactMenuADT : public wxMenu
39 virtual void ProcessMenuItemClick(wxCommandEvent& event) {event.Skip();};
41 XABContactMenuADT(){};
42 ~XABContactMenuADT(){};
46 class XABContactMenu : public XABContactMenuADT
49 std::map<std::string, wxMenuItem*> MenuItems = {};
50 int MenuType = XABCONTACTMENU_MAIN;
51 wxListCtrl *ContactListCtrl = NULL;
52 wxWindow *WindowPtr = NULL;
53 bool EnableAccountSettings = FALSE;
54 bool SearchModeOnly = FALSE;
55 void AppendMenuItem(wxString ObjectName,
57 wxString MenuDescription,
61 void ProcessMenuItemClick(wxCommandEvent& event);
63 XABContactMenu(int MenuType);
65 void SetupPointersSearch(wxWindow* WindowPtrIn,
66 wxListCtrl* ContactListCtrlIn,
67 bool SearchModeOnlyIn);
68 void SetupPointers(wxWindow* WindowPtrIn,
69 wxListCtrl* ContactListCtrlIn,
70 bool EnableAccountSettingsIn);
71 wxMenu* MenuPointer();