Home | News | Projects | Releases
Bugs | RFE | Repositories | Help
frmContactEditor: Stop XAB crashing when pressing Modify/Delete
[xestiaab/.git] / source / contacteditor / frmContactEditor-Other.cpp
1 // frmContactEditor-Other.cpp - frmContactEditor Other tab subroutines.
2 //
3 // (c) 2012-2016 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 #include "frmContactEditor.h"
20 #include "frmContactEditorVendor.h"
21 #include "frmContactEditorXToken.h"
23 void frmContactEditor::AddVendorNamespace( wxCommandEvent& event )
24 {
25         
26         // Bring up the window for adding vendor namespace data.
27     
28         frmContactEditorVendor *frameCEVen = new frmContactEditorVendor ( this );
29         frameCEVen->SetEditorMode(FALSE);
30         frameCEVen->SetupPointers(&ContactEditorData.VendorList,
31                 &ContactEditorData.VendorListPEN,
32                 &ContactEditorData.VendorListElement,
33                 lboVendorNamespace,
34                 (intValueSeek));
35         frameCEVen->ShowModal();
36         delete frameCEVen;
37         frameCEVen = NULL;
38         
39 }
41 void frmContactEditor::ModifyVendorNamespace( wxCommandEvent& event )
42 {
43         
44         // Bring up the window for modifying vendor namespace data.
45         
46         long longSelected = -1;
47         int intSelectedData = 0;
48     
49         if (lboVendorNamespace->GetItemCount() == 0 || !GetSelectedItem(lboVendorNamespace,
50                 &longSelected,
51                 &intSelectedData)){
52                 return;
53         }
54     
55         frmContactEditorVendor *frameCEVen = new frmContactEditorVendor ( this );
56         frameCEVen->SetupPointers(&ContactEditorData.VendorList,
57                 &ContactEditorData.VendorListPEN,
58                 &ContactEditorData.VendorListElement,
59                 lboVendorNamespace,
60                 intSelectedData);
61         frameCEVen->SetEditorMode(TRUE);
62         frameCEVen->ShowModal();
63         delete frameCEVen;
64         frameCEVen = NULL;
65         
66 }
68 void frmContactEditor::DeleteVendorNamespace( wxCommandEvent& event )
69 {
70         
71         // Bring up the window for deleting vendor namespace data.
72         
73         long longSelected = -1;
74         int intSelectedData = 0;
75     
76         if (lboVendorNamespace->GetItemCount() == 0 || !GetSelectedItem(lboVendorNamespace,
77                 &longSelected,
78                 &intSelectedData)){
79                 return;
80         }
81     
82         lboVendorNamespace->DeleteItem(longSelected);
83     
84         DeleteMapData(intSelectedData, &ContactEditorData.VendorList, &ContactEditorData.VendorListPEN,
85                 &ContactEditorData.VendorListElement);
87 }
89 void frmContactEditor::AddXToken( wxCommandEvent& event )
90 {
91         
92         // Bring up the window for adding extended data.
93             
94         frmContactEditorXToken *frameCEXT = new frmContactEditorXToken ( this );
95         frameCEXT->SetEditorMode(FALSE);
96         frameCEXT->SetupPointers(&ContactEditorData.XTokenList,
97                 &ContactEditorData.XTokenListTokens,
98                 lboXToken,
99                 (intValueSeek));
100         frameCEXT->ShowModal();
101         delete frameCEXT;
102         frameCEXT = NULL;
103         
106 void frmContactEditor::ModifyXToken( wxCommandEvent& event )
108         
109         // Bring up the window for modifying extended data.
110         
111         long longSelected = -1;
112         int intSelectedData = 0;
113     
114         if (lboXToken->GetItemCount() == 0 || !GetSelectedItem(lboXToken,
115         
116                 &longSelected,
117                 &intSelectedData)){
118                 return;
119                 
120         }
121     
122         frmContactEditorXToken *frameCEXT = new frmContactEditorXToken ( this );
123         frameCEXT->SetupPointers(&ContactEditorData.XTokenList,
124                 &ContactEditorData.XTokenListTokens,
125                 lboXToken,
126                 intSelectedData);
127         frameCEXT->SetEditorMode(TRUE);
128         frameCEXT->ShowModal();
129         delete frameCEXT;
130         frameCEXT = NULL;
131         
134 void frmContactEditor::DeleteXToken( wxCommandEvent& event )
136         
137         // Bring up the window for deleting extended data.
138         
139         long longSelected = -1;
140         int intSelectedData = 0;
141     
142         if (lboXToken->GetItemCount() == 0 || !GetSelectedItem(lboXToken,
143                 &longSelected,
144                 &intSelectedData)){
145                 return;
146         }
147     
148         lboXToken->DeleteItem(longSelected);
149     
150         DeleteMapData(intSelectedData, &ContactEditorData.XTokenList, &ContactEditorData.XTokenListTokens);
151     
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