Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
Replaced code for PREF in GEO with ProcessIntegerValue.
[xestiaab/.git] / source / widgets / XABContactMenu.h
1 // XABContactMenu.cpp - XABContactMenu widget header
2 //
3 // (c) 2012-2015 Xestia Software Development.
4 //
5 // This file is part of Xestia Address Book.
6 //
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.
10 //
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.
15 //
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__
22 #include <map>
23 #include <string>
24 #include <wx/wx.h>
25 #include <wx/listctrl.h>
26 #include <wx/app.h>
28 enum {
29         XABCONTACTMENU_MAIN,
30         XABCONTACTMENU_SEARCH
31 };
33 class XABContactMenuADT : public wxMenu
34 {
36         private:
37                 
38         protected:
39                 virtual void ProcessMenuItemClick(wxCommandEvent& event) {event.Skip();};
40         public:
41                 XABContactMenuADT(){};
42                 ~XABContactMenuADT(){};
44 };
46 class XABContactMenu : public XABContactMenuADT
47 {
48         private:
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,
56                         wxString MenuName, 
57                         wxString MenuDescription,
58                         int ItemID,
59                         wxItemKind ItemType);
60         protected:
61                 void ProcessMenuItemClick(wxCommandEvent& event);
62         public:
63                 XABContactMenu(int MenuType);
64                 ~XABContactMenu();
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();
72                 
73 };
75 #endif
Xestia Software Development
Yn Maystri
© 2006 - 2019 Xestia Software Development
Software

Xestia Address Book
Xestia Calendar
Development

Xestia Gelforn
Everything else

About
News
Privacy Policy