1 // frmContactEditor.h - frmContactEditor form header.
3 // (c) 2012-2016 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 __frmContactEditor__
20 #define __frmContactEditor__
27 #include <SFML/Audio.hpp>
31 Subclass of frmContactEditorADT, which is generated by wxFormBuilder.
34 #include "../AppXestiaAddrBk.h"
35 #include "../vcard/vcard.h"
36 #include "../common/textprocessing.h"
37 #include "../common/etag.h"
38 #include "../common/timers.h"
40 #include "../actmgr/frmActivityMgr.h"
41 #include "../frmMain.h"
43 #include "cdo/ContactDataObject.h"
45 #define CE_NICKNAME wxT("Nickname")
46 #define CE_ADDRESS wxT("Address")
47 #define CE_EMAIL wxT("Email")
48 #define CE_IM wxT("IM")
49 #define CE_TELEPHONE wxT("Telephone")
50 #define CE_LANG wxT("Languages")
51 #define CE_TZ wxT("Timezone")
52 #define CE_RELATED wxT("Related")
53 #define CE_WEBSITE wxT("Websites")
54 #define CE_TITLE wxT("Titles")
55 #define CE_GEOPOSITION wxT("Geoposition")
56 #define CE_ROLE wxT("Roles")
57 #define CE_ORG wxT("Organisations")
58 #define CE_NOTE wxT("Notes")
59 #define CE_CATEGORIES wxT("Categories")
60 #define CE_GROUPS wxT("Groups")
61 #define CE_PICTURES wxT("Pictures")
62 #define CE_SOUNDS wxT("Sounds")
63 #define CE_CALENDAR wxT("Calendar")
64 #define CE_KEY wxT("Key")
65 #define CE_TOKEN wxT("Token")
67 //// end generated include
70 struct frmActivityMgr;
72 // Special Audio Stream for detecting when a sound has stopped playing.
73 class AudioStream: public sf::Music
77 bool onGetData(SoundStream::Chunk& data)
80 bool running = sf::Music::onGetData(data);
87 bool GetPlayingStatus(){ return FilePlaying; }
89 bool FilePlaying = TRUE;
92 /** Implementing frmContactEditorADT */
93 class frmContactEditor : public frmContactEditorADT
96 // Handlers for frmContactEditorADT events.
97 void AddGeneralNickname( wxCommandEvent& event );
98 void ModifyGeneralNickname( wxCommandEvent& event );
99 void DeleteGeneralNickname( wxCommandEvent& event );
100 void AddHomeNickname( wxCommandEvent& event );
101 void ModifyHomeNickname( wxCommandEvent& event );
102 void DeleteHomeNickname( wxCommandEvent& event );
103 void AddBusinessNickname( wxCommandEvent& event );
104 void ModifyBusinessNickname( wxCommandEvent& event );
105 void DeleteBusinessNickname( wxCommandEvent& event );
106 void AddGeneralAddress( wxCommandEvent& event );
107 void ModifyGeneralAddress( wxCommandEvent& event );
108 void DeleteGeneralAddress( wxCommandEvent& event );
109 void AddGeneralEmail( wxCommandEvent& event );
110 void ModifyGeneralEmail( wxCommandEvent& event );
111 void DeleteGeneralEmail( wxCommandEvent& event );
112 void AddGeneralIM( wxCommandEvent& event );
113 void ModifyGeneralIM( wxCommandEvent& event );
114 void DeleteGeneralIM( wxCommandEvent& event );
115 void MoveGeneralIMUp( wxCommandEvent& event );
116 void MoveGeneralIMDown( wxCommandEvent& event );
117 void AddGeneralTelephone( wxCommandEvent& event );
118 void ModifyGeneralTelephone( wxCommandEvent& event );
119 void DeleteGeneralTelephone( wxCommandEvent& event );
120 void AddGeneralLanguages( wxCommandEvent& event );
121 void ModifyGeneralLanguages( wxCommandEvent& event );
122 void DeleteGeneralLanguage( wxCommandEvent& event );
123 void AddGeneralTimezone( wxCommandEvent& event );
124 void ModifyGeneralTimezone( wxCommandEvent& event );
125 void DeleteGeneralTimezone( wxCommandEvent& event );
126 void AddGeneralGeoposition( wxCommandEvent& event );
127 void ModifyGeneralGeoposition( wxCommandEvent& event );
128 void DeleteGeneralGeoposition( wxCommandEvent& event );
129 void AddGeneralRelated( wxCommandEvent& event );
130 void ModifyGeneralRelated( wxCommandEvent& event );
131 void DeleteGeneralRelated( wxCommandEvent& event );
132 void AddGeneralWebsite( wxCommandEvent& event );
133 void ModifyGeneralWebsite( wxCommandEvent& event );
134 void DeleteGeneralWebsite( wxCommandEvent& event );
135 void MoveGeneralWebsiteUp( wxCommandEvent& event );
136 void MoveGeneralWebsiteDown( wxCommandEvent& event );
137 void AddGeneralTitle( wxCommandEvent& event );
138 void ModifyGeneralTitle( wxCommandEvent& event );
139 void DeleteGeneralTitle( wxCommandEvent& event );
140 void MoveGeneralTitleUp( wxCommandEvent& event );
141 void MoveGeneralTitleDown( wxCommandEvent& event );
142 void AddGeneralRole( wxCommandEvent& event );
143 void ModifyGeneralRole( wxCommandEvent& event );
144 void DeleteGeneralRole( wxCommandEvent& event );
145 void MoveGeneralRoleUp( wxCommandEvent& event );
146 void MoveGeneralRoleDown( wxCommandEvent& event );
147 void AddGeneralOrganisation( wxCommandEvent& event );
148 void ModifyGeneralOrganisation( wxCommandEvent& event );
149 void DeleteGeneralOrganisation( wxCommandEvent& event );
150 void MoveGeneralOrganisationUp( wxCommandEvent& event );
151 void MoveGeneralOrganisationDown( wxCommandEvent& event );
152 void AddGeneralNote( wxCommandEvent& event );
153 void ModifyGeneralNote( wxCommandEvent& event );
154 void DeleteGeneralNote( wxCommandEvent& event );
155 void MoveGeneralNoteUp( wxCommandEvent& event );
156 void MoveGeneralNoteDown( wxCommandEvent& event );
157 void AddHomeAddress( wxCommandEvent& event );
158 void ModifyHomeAddress( wxCommandEvent& event );
159 void DeleteHomeAddress( wxCommandEvent& event );
160 void AddHomeEmail( wxCommandEvent& event );
161 void ModifyHomeEmail( wxCommandEvent& event );
162 void DeleteHomeEmail( wxCommandEvent& event );
163 void AddHomeIM( wxCommandEvent& event );
164 void ModifyHomeIM( wxCommandEvent& event );
165 void DeleteHomeIM( wxCommandEvent& event );
166 void AddHomeTelephone( wxCommandEvent& event );
167 void ModifyHomeTelephone( wxCommandEvent& event );
168 void DeleteHomeTelephone( wxCommandEvent& event );
169 void AddHomeLanguage( wxCommandEvent& event );
170 void ModifyHomeLanguage( wxCommandEvent& event );
171 void DeleteHomeLanguage( wxCommandEvent& event );
172 void AddHomeTimezone( wxCommandEvent& event );
173 void ModifyHomeTimezone( wxCommandEvent& event );
174 void DeleteHomeTimezone( wxCommandEvent& event );
175 void AddHomeGeoposition( wxCommandEvent& event );
176 void ModifyHomeGeoposition( wxCommandEvent& event );
177 void DeleteHomeGeoposition( wxCommandEvent& event );
178 void AddHomeRelated( wxCommandEvent& event );
179 void ModifyHomeRelated( wxCommandEvent& event );
180 void DeleteHomeRelated( wxCommandEvent& event );
181 void AddHomeWebsite( wxCommandEvent& event );
182 void ModifyHomeWebsite( wxCommandEvent& event );
183 void DeleteHomeWebsite( wxCommandEvent& event );
184 void AddHomeTitle( wxCommandEvent& event );
185 void ModifyHomeTitle( wxCommandEvent& event );
186 void DeleteHomeTitle( wxCommandEvent& event );
187 void AddHomeRole( wxCommandEvent& event );
188 void ModifyHomeRole( wxCommandEvent& event );
189 void DeleteHomeRole( wxCommandEvent& event );
190 void MoveHomeRoleUp( wxCommandEvent& event );
191 void MoveHomeRoleDown( wxCommandEvent& event );
192 void AddHomeOrganisation( wxCommandEvent& event );
193 void ModifyHomeOrganisation( wxCommandEvent& event );
194 void DeleteHomeOrganisation( wxCommandEvent& event );
195 void MoveHomeOrganisationUp( wxCommandEvent& event );
196 void MoveHomeOrganisationDown( wxCommandEvent& event );
197 void AddHomeNote( wxCommandEvent& event );
198 void ModifyHomeNote( wxCommandEvent& event );
199 void DeleteHomeNote( wxCommandEvent& event );
200 void MoveHomeNoteUp( wxCommandEvent& event );
201 void MoveHomeNoteDown( wxCommandEvent& event );
202 void AddBusinessAddress( wxCommandEvent& event );
203 void ModifyBusinessAddress( wxCommandEvent& event );
204 void DeleteBusinessAddress( wxCommandEvent& event );
205 void AddBusinessEmail( wxCommandEvent& event );
206 void ModifyBusinessEmail( wxCommandEvent& event );
207 void DeleteBusinessEmail( wxCommandEvent& event );
208 void AddBusinessIM( wxCommandEvent& event );
209 void ModifyBusinessIM( wxCommandEvent& event );
210 void DeleteBusinessIM( wxCommandEvent& event );
211 void AddBusinessTelephone( wxCommandEvent& event );
212 void ModifyBusinessTelephone( wxCommandEvent& event );
213 void DeleteBusinessTelephone( wxCommandEvent& event );
214 void AddBusinessLanguage( wxCommandEvent& event );
215 void ModifyBusinessLanguage( wxCommandEvent& event );
216 void DeleteBusinessLanguage( wxCommandEvent& event );
217 void AddBusinessTimezone( wxCommandEvent& event );
218 void ModifyBusinessTimezone( wxCommandEvent& event );
219 void DeleteBusinessTimezone( wxCommandEvent& event );
220 void AddBusinessGeoposition( wxCommandEvent& event );
221 void ModifyBusinessGeoposition( wxCommandEvent& event );
222 void DeleteBusinessGeoposition( wxCommandEvent& event );
223 void AddBusinessRelated( wxCommandEvent& event );
224 void ModifyBusinessRelated( wxCommandEvent& event );
225 void DeleteBusinessRelated( wxCommandEvent& event );
226 void AddBusinessWebsite( wxCommandEvent& event );
227 void ModifyBusinessWebsite( wxCommandEvent& event );
228 void DeleteBusinessWebsite( wxCommandEvent& event );
229 void AddBusinessTitle( wxCommandEvent& event );
230 void ModifyBusinessTitle( wxCommandEvent& event );
231 void DeleteBusinessTitle( wxCommandEvent& event );
232 void MoveBusinessTitleUp( wxCommandEvent& event );
233 void MoveBusinessTitleDown( wxCommandEvent& event );
234 void AddBusinessRole( wxCommandEvent& event );
235 void ModifyBusinessRole( wxCommandEvent& event );
236 void DeleteBusinessRole( wxCommandEvent& event );
237 void MoveBusinessRoleUp( wxCommandEvent& event );
238 void MoveBusinessRoleDown( wxCommandEvent& event );
239 void AddBusinessOrganisation( wxCommandEvent& event );
240 void ModifyBusinessOrganisation( wxCommandEvent& event );
241 void DeleteBusinessOrganisation( wxCommandEvent& event );
242 void MoveBusinessOrganisationUp( wxCommandEvent& event );
243 void MoveBusinessOrganisationDown( wxCommandEvent& event );
244 void AddBusinessNote( wxCommandEvent& event );
245 void ModifyBusinessNote( wxCommandEvent& event );
246 void DeleteBusinessNote( wxCommandEvent& event );
247 void MoveBusinessNoteUp( wxCommandEvent& event );
248 void MoveBusinessNoteDown( wxCommandEvent& event );
249 void AddCategory( wxCommandEvent& event );
250 void ModifyCategory( wxCommandEvent& event );
251 void DeleteCategory( wxCommandEvent& event );
252 void AddGroup( wxCommandEvent& event );
253 void ModifyGroup( wxCommandEvent& event );
254 void DeleteGroup( wxCommandEvent& event );
255 void AddPicture( wxCommandEvent& event );
256 void ModifyPicture( wxCommandEvent& event );
257 void DeletePicture( wxCommandEvent& event );
258 void LoadPicture( wxListEvent& event );
259 void SavePicture( wxCommandEvent& event);
260 void AddLogo( wxCommandEvent& event );
261 void ModifyLogo( wxCommandEvent& event );
262 void DeleteLogo( wxCommandEvent& event );
263 void LoadLogo( wxListEvent& event );
264 void SaveLogo( wxCommandEvent& event);
265 void AddSound( wxCommandEvent& event );
266 void ModifySound( wxCommandEvent& event );
267 void DeleteSound( wxCommandEvent& event );
268 void SaveSound( wxCommandEvent& event);
269 void PlaySoundDetach();
270 void PlaySound( wxCommandEvent& event );
271 void StopSound( wxCommandEvent& event );
272 void AddCalendarAddress( wxCommandEvent& event );
273 void ModifyCalendarAddress( wxCommandEvent& event );
274 void DeleteCalendarAddress( wxCommandEvent& event );
275 void AddCalendarRequest( wxCommandEvent& event );
276 void ModifyCalendarRequest( wxCommandEvent& event );
277 void DeleteCalendarRequest( wxCommandEvent& event );
278 void AddFreeBusy( wxCommandEvent& event );
279 void ModifyFreeBusy( wxCommandEvent& event );
280 void DeleteFreeBusy( wxCommandEvent& event );
281 void AddKey( wxCommandEvent& event );
282 void ModifyKey( wxCommandEvent& event );
283 void DeleteKey( wxCommandEvent& event );
284 void AddVendorNamespace( wxCommandEvent& event );
285 void ModifyVendorNamespace( wxCommandEvent& event );
286 void DeleteVendorNamespace( wxCommandEvent& event );
287 void MoveVendorNamespaceUp( wxCommandEvent& event );
288 void MoveVendorNamespaceDown( wxCommandEvent& event );
289 void AddXToken( wxCommandEvent& event );
290 void ModifyXToken( wxCommandEvent& event );
291 void DeleteXToken( wxCommandEvent& event );
292 void MoveXTokenUp( wxCommandEvent& event );
293 void MoveXTokenDown( wxCommandEvent& event );
294 void SaveContact( wxCommandEvent& event );
295 void SaveCloseContact( wxCommandEvent& event );
296 void CloseContact( wxCommandEvent& event );
297 void CloseWindow( wxCloseEvent& event );
298 void CutText( wxCommandEvent& event );
299 void CopyText( wxCommandEvent& event );
300 void PasteText( wxCommandEvent& event );
301 void SetupColumn(wxString ColumnType, wxListCtrl *ListCtrl);
302 void UpdateMembersTab( wxCommandEvent &event );
303 void UpdateDisplayAs( wxCommandEvent &event );
304 void UpdateName( wxCommandEvent &event );
305 bool GetSelectedItem(wxListCtrl *ListCtrlPtr,
307 int *intSelectedData);
308 int GetLastInt(std::map<int, wxString> *MapData);
309 int GetLastInt(std::map<int, std::string> *MapData);
310 bool ProcessEvent(wxEvent& event);
313 frmContactEditor( wxWindow* parent );
315 void SetupContact(wxString AccountName);
316 void SetupPointers(frmActivityMgr *ActMgr, wxETagProcessTimer *ETagProc,
317 frmMain *MainPtrInc);
318 bool LoadContact(wxString Filename);
319 void SetMode(bool StartupEditMode);
320 void SetUID(int UID);
323 void DeleteMapDataProcess(int IndexNum, std::map<int, std::string>* MapData);
324 void DeleteMapDataProcess(int IndexNum, std::map<int, wxString>* MapData);
325 void DeleteMapDataProcess(int IndexNum, std::map<int, bool>* MapData);
326 void DeleteMapDataProcess(int IndexNum, std::map<int, int>* MapData);
328 void DeleteMapDataB () {} ;
330 template<typename MapData, typename... Args>
331 void DeleteMapDataB(MapData* mapdata, Args*... args) {
333 DeleteMapDataProcess(intSeekSelectedData, mapdata);
334 DeleteMapDataB(args...);
338 template<typename... Args>
339 void DeleteMapData(int IndexNum, Args*... args) {
341 //int intSeekSelectedData = 0;
343 //DeleteMapDataProcess(IndexNum, Moo);
345 intSeekSelectedData = IndexNum;
346 DeleteMapDataB(args...);
350 void ProcessSaveDataProc(wxString PropName,
351 std::map<int,int>* MapData);
352 void ProcessSaveDataProc(wxString PropName,
353 std::map<int,wxString>* MapData);
354 void ProcessSaveDataStrProc(wxString PropName,
355 std::map<int,int>* MapData);
356 void ProcessSaveDataStrProc(wxString PropName,
357 std::map<int,wxString>* MapData);
358 void ProcessSaveDataStrProc(wxString PropName,
359 std::map<int,std::string>* MapData);
362 void ProcessSaveDataB () { } ;
363 void ProcessSaveDataC () { } ;
365 template<typename PropName, typename MapData, typename... Args>
366 void ProcessSaveDataB(PropName propname, MapData* mapdata, Args*... args) {
368 ProcessSaveDataProc(propname, mapdata);
369 ProcessSaveDataB(args...);
373 template<typename PropName, typename MapData, typename... Args>
374 void ProcessSaveDataC(PropName propname, MapData* mapdata, Args*... args) {
376 ProcessSaveDataStrProc(propname, mapdata);
377 ProcessSaveDataC(args...);
381 template<typename... Args>
382 void ProcessSaveData(wxString strPropertyName,
383 wxString *strPropertyInc,
384 bool *boolAdditionalInc, bool *boolExtraInc,
385 std::map<int,wxString>::iterator *iterDataInc,
386 std::map<int,wxString> *MainMapData,
387 std::map<int,wxString>::iterator *iterFileTypeInc,
388 std::map<int,wxString>::iterator *iterFileEncInc,
392 //int intSeekSelectedData = 0;
394 //DeleteMapDataProcess(IndexNum, Moo);
396 strPropertyPtr = strPropertyInc;
397 boolAdditionalPtr = boolAdditionalInc;
398 boolExtraPtr = boolExtraInc;
399 iterDataPtr = iterDataInc;
400 iterFileTypePtr = iterFileTypeInc;
401 iterFileEncPtr = iterFileEncInc;
402 ProcessSaveDataB(args...);
404 std::map<int,wxString>::iterator strIter;
405 wxString strMainValue;
407 int intSeekData = (*iterDataStringPtr)->first;
408 strIter = MainMapData->find(intSeekData);
410 wxString strFileType = (*iterFileTypePtr)->second;
411 wxString strFileEnc = (*iterFileEncPtr)->second;
413 EscapeString(&strFileType, FALSE);
414 EscapeString(&strFileEnc, FALSE);
416 if (strIter->first == intSeekData){
418 strMainValue = strIter->second;
419 strMainValue.insert(0, wxT("data:") + strFileType + wxT(";") + strFileEnc + wxT(","));
423 if (*boolExtraPtr == TRUE){
425 vCardData->AddRaw(strPropertyName + wxT(";") + *strPropertyPtr, strMainValue);
429 vCardData->AddRaw(strPropertyName, strMainValue);
433 boolExtraPtr = FALSE;
438 template<typename... Args>
439 void ProcessSaveData(wxString strPropertyName,
440 wxString *strPropertyInc,
441 bool *boolAdditionalInc, bool *boolExtraInc,
442 std::map<int,std::string>::iterator *iterDataInc,
443 std::map<int,std::string> *MainMapData,
444 std::map<int,wxString>::iterator *iterFileTypeInc,
445 std::map<int,wxString>::iterator *iterFileEncInc,
449 //int intSeekSelectedData = 0;
451 //DeleteMapDataProcess(IndexNum, Moo);
453 strPropertyPtr = strPropertyInc;
454 boolAdditionalPtr = boolAdditionalInc;
455 boolExtraPtr = boolExtraInc;
456 iterDataStringPtr = iterDataInc;
457 iterFileTypePtr = iterFileTypeInc;
458 iterFileEncPtr = iterFileEncInc;
460 ProcessSaveDataC(args...);
462 std::map<int,std::string>::iterator strIter;
463 wxString strMainValue;
465 int intSeekData = (*iterDataStringPtr)->first;
466 strIter = MainMapData->find(intSeekData);
468 wxString strFileType = (*iterFileTypePtr)->second;
469 wxString strFileEnc = (*iterFileEncPtr)->second;
471 EscapeString(&strFileType, FALSE);
472 EscapeString(&strFileEnc, FALSE);
474 if (strIter->first == intSeekData){
476 strMainValue = wxString::FromAscii(strIter->second.c_str());
477 strMainValue.insert(0, wxT("data:") + strFileType + wxT(";") + strFileEnc + wxT(","));
481 if (*boolExtraPtr == TRUE && !strPropertyPtr->IsEmpty()){
483 vCardData->AddRaw(strPropertyName + wxT(";") + *strPropertyPtr, strMainValue);
487 vCardData->AddRaw(strPropertyName, strMainValue);
491 *boolExtraPtr = FALSE;
492 *boolAdditionalPtr = FALSE;
493 iterDataStringPtr = 0;
497 template<typename... Args>
498 void ProcessSaveData(wxString strPropertyName,
499 wxString *strPropertyInc,
500 bool *boolAdditionalInc, bool *boolExtraInc,
501 std::map<int,wxString>::iterator *iterDataInc,
502 std::map<int,wxString> *MainMapData,
506 //int intSeekSelectedData = 0;
508 //DeleteMapDataProcess(IndexNum, Moo);
509 strPropertyPtr = strPropertyInc;
510 boolAdditionalPtr = boolAdditionalInc;
511 boolExtraPtr = boolExtraInc;
512 iterDataPtr = iterDataInc;
513 ProcessSaveDataB(args...);
515 std::map<int,wxString>::iterator strIter;
516 wxString strMainValue;
518 int intSeekData = (*iterDataPtr)->first;
519 strIter = MainMapData->find(intSeekData);
521 if (strIter->first == intSeekData){
523 strMainValue = strIter->second;
527 EscapeString(&strMainValue, FALSE);
529 if (*boolExtraPtr == TRUE && !strPropertyPtr->IsEmpty()){
531 vCardData->AddRaw(strPropertyName + wxT(";") + *strPropertyPtr, strMainValue);
535 vCardData->AddRaw(strPropertyName, strMainValue);
539 *boolExtraPtr = FALSE;
540 *boolAdditionalPtr = FALSE;
545 template<typename... Args>
546 void ProcessSaveData(wxString strPropertyName,
547 wxString *strPropertyInc,
548 bool *boolAdditionalInc, bool *boolExtraInc,
549 std::map<int,wxString>::iterator *iterDataInc,
554 //int intSeekSelectedData = 0;
556 //DeleteMapDataProcess(IndexNum, Moo);
557 strPropertyPtr = strPropertyInc;
558 boolAdditionalPtr = boolAdditionalInc;
559 boolExtraPtr = boolExtraInc;
560 iterDataPtr = iterDataInc;
562 ProcessSaveDataB(args...);
564 std::map<int,wxString>::iterator strIter;
566 if (*boolExtraPtr == TRUE && !strPropertyPtr->IsEmpty()){
568 vCardData->AddRaw(strPropertyName + wxT(";") + *strPropertyPtr, *MainData);
572 vCardData->AddRaw(strPropertyName, *MainData);
576 *boolExtraPtr = FALSE;
577 *boolAdditionalPtr = FALSE;
582 void ProcessCaptureStringsB () {} ;
584 void ProcessCaptureStringsProc(wxString *strCapture);
586 template<typename StringCapture, typename... Args>
587 void ProcessCaptureStringsB(StringCapture *string, Args*... args) {
589 ProcessCaptureStringsProc(string);
590 ProcessCaptureStringsB(args...);
594 template<typename... Args>
595 void ProcessCaptureStrings(Args*... args) {
597 //int intSeekSelectedData = 0;
599 ProcessCaptureStringsB(args...);
603 void ResetSaveProcessData();
604 void ContactFileChanged( wxCommandEvent &event );
607 void LoadKind(ContactKindType *KindType);
608 void LoadBirthday(wxString *BirthdayData, bool *BirthdayText);
609 void LoadAnniversary(wxString *AnniversaryData, bool *AnniversaryText);
610 void LoadGender(wxString *GenderComponent, wxString *GenderIdentity);
611 void LoadName(wxString *NameTitle, wxString *NameForename,
612 wxString *NameSurname, wxString *NameOtherNames,
613 wxString *NameSuffix);
614 void LoadMember(std::map<int,wxString> *GroupList);
615 void LoadAddress(std::map<int, wxString> *GeneralAddressList,
616 std::map<int, wxString> *GeneralAddressListTown,
617 std::map<int, wxString> *GeneralAddressListCounty,
618 std::map<int, wxString> *GeneralAddressListPostCode,
619 std::map<int, int> *GeneralAddressListPref,
620 std::map<int, wxString> *HomeAddressList,
621 std::map<int, wxString> *HomeAddressListTown,
622 std::map<int, wxString> *HomeAddressListCounty,
623 std::map<int, wxString> *HomeAddressListPostCode,
624 std::map<int, int> *HomeAddressListPref,
625 std::map<int, wxString> *BusinessAddressList,
626 std::map<int, wxString> *BusinessAddressListTown,
627 std::map<int, wxString> *BusinessAddressListCounty,
628 std::map<int, wxString> *BusinessAddressListPostCode,
629 std::map<int, int> *BusinessAddressListPref,
632 void LoadData(std::map<int, wxString> *GeneralList,
633 std::map<int, int> *GeneralListPref,
634 wxListCtrl *GeneralListCtrl,
635 std::map<int, wxString> *HomeList,
636 std::map<int, int> *HomeListPref,
637 wxListCtrl *HomeListCtrl,
638 std::map<int, wxString> *BusinessList,
639 std::map<int, int> *BusinessTZPref,
640 wxListCtrl *BusinessListCtrl,
643 void LoadData(std::map<int, wxString> *GeneralList,
644 std::map<int, int> *GeneralListPref,
645 std::map<int, wxString> *GeneralListType,
646 wxListCtrl *GeneralListCtrl,
647 std::map<int, wxString> *HomeList,
648 std::map<int, int> *HomeListPref,
649 std::map<int, wxString> *HomeListType,
650 wxListCtrl *HomeListCtrl,
651 std::map<int, wxString> *BusinessList,
652 std::map<int, int> *BusinessListPref,
653 std::map<int, wxString> *BusinessListType,
654 wxListCtrl *BusinessListCtrl,
657 void LoadData(std::map<int,wxString> *ItemList,
658 std::map<int,int> *ItemListPref,
659 wxListCtrl *ItemCtrl,
662 void LoadData(std::map<int,wxString> *ItemList,
663 std::map<int,int> *ItemListPref,
664 std::map<int,wxString> *ItemListType,
665 wxListCtrl *ItemCtrl,
668 void LoadData(wxString ItemName,
669 std::map<int,wxString> *ItemList,
670 std::map<int,int> *ItemListPref,
671 std::map<int,wxString> *ItemListType,
672 std::map<int,wxString> *ItemListDataType,
673 wxListCtrl *ItemCtrl,
676 void LoadPictureData(wxString ItemName,
677 std::map<int,std::string> *ItemList,
678 std::map<int,int> *ItemListPref,
679 std::map<int,wxString> *ItemListType,
680 wxListCtrl *ItemCtrl,
683 void LoadVendorData(std::map<int,wxString> *ItemListPEN,
684 std::map<int,wxString> *ItemListElement,
685 wxListCtrl *ItemCtrl,
688 void LoadXTokenData(std::map<int,wxString> *ItemListTokens,
689 wxListCtrl *ItemCtrl,
692 void LoadData(std::map<int,wxString> *ItemList,
693 wxComboBox *ItemCtrl);
695 void LoadRelatedData(std::map<int,wxString> *ItemList,
696 std::map<int,int> *ItemListPref,
697 std::map<int,wxString> *ItemListType,
698 wxListCtrl *ItemCtrl,
701 int intValueSeek = 1;
702 bool IsGroup = FALSE;
704 /* Items on General Tab */
706 ContactDataObject ContactEditorData;
709 wxString NameForename;
710 wxString NameSurname;
711 wxString NameOtherNames;
713 wxString NameNickname;
714 wxString NameDisplayAs;
715 wxString NameLanguage;
720 wxString BirthdayAltID;
721 wxString BirthdayCalScale;
722 wxString BirthdayTokens;
723 wxString Anniversary;
724 wxString AnniversaryAltID;
725 wxString AnniversaryCalScale;
726 wxString AnniversaryTokens;
729 wxString GenderDetails;
730 wxString GenderTokens;
734 /* We don't use these at the moment but we want to keep
735 them for compatability reasons */
737 /*std::map<int, wxString> ExtraFullNames;*/
738 /*std::map<int, wxString> ExtraNicknames;*/
740 std::map<int, wxString> FullNamesList;
741 std::map<int, wxString> FullNamesListType;
742 std::map<int, wxString> FullNamesListLanguage;
743 std::map<int, wxString> FullNamesListAltID;
744 std::map<int, wxString> FullNamesListPID;
745 std::map<int, wxString> FullNamesListTokens;
746 std::map<int, int> FullNamesListPref;
748 std::map<int, wxString> GeneralNicknamesList;
749 std::map<int, wxString> GeneralNicknamesListType;
750 std::map<int, wxString> GeneralNicknamesListLanguage;
751 std::map<int, wxString> GeneralNicknamesListAltID;
752 std::map<int, wxString> GeneralNicknamesListPID;
753 std::map<int, wxString> GeneralNicknamesListTokens;
754 std::map<int, int> GeneralNicknamesListPref;
756 std::map<int, wxString> GeneralAddressList;
757 std::map<int, wxString> GeneralAddressListTown;
758 std::map<int, wxString> GeneralAddressListCounty;
759 std::map<int, wxString> GeneralAddressListPostCode;
760 std::map<int, wxString> GeneralAddressListCountry;
761 std::map<int, wxString> GeneralAddressListLabel;
762 std::map<int, wxString> GeneralAddressListLang;
763 std::map<int, wxString> GeneralAddressListAltID;
764 std::map<int, wxString> GeneralAddressListPID;
765 std::map<int, wxString> GeneralAddressListTokens;
766 std::map<int, wxString> GeneralAddressListGeo;
767 std::map<int, wxString> GeneralAddressListTimezone;
768 std::map<int, wxString> GeneralAddressListType;
769 std::map<int, wxString> GeneralAddressListMediatype;
770 std::map<int, int> GeneralAddressListPref;
772 std::map<int, wxString> GeneralEmailList;
773 std::map<int, wxString> GeneralEmailListAltID;
774 std::map<int, wxString> GeneralEmailListPID;
775 std::map<int, wxString> GeneralEmailListType;
776 std::map<int, wxString> GeneralEmailListTokens;
777 std::map<int, int> GeneralEmailListPref;
779 std::map<int, wxString> GeneralIMList;
780 std::map<int, wxString> GeneralIMListAltID;
781 std::map<int, wxString> GeneralIMListPID;
782 std::map<int, wxString> GeneralIMListType;
783 std::map<int, wxString> GeneralIMListTokens;
784 std::map<int, wxString> GeneralIMListMediatype;
785 std::map<int, int> GeneralIMListPref;
787 std::map<int, wxString> GeneralTelephoneList;
788 std::map<int, wxString> GeneralTelephoneListAltID;
789 std::map<int, wxString> GeneralTelephoneListPID;
790 std::map<int, wxString> GeneralTelephoneListType;
791 std::map<int, wxString> GeneralTelephoneListTokens;
792 std::map<int, int> GeneralTelephoneListPref;
794 std::map<int, wxString> GeneralLanguageList;
795 std::map<int, wxString> GeneralLanguageListAltID;
796 std::map<int, wxString> GeneralLanguageListPID;
797 std::map<int, wxString> GeneralLanguageListType;
798 std::map<int, wxString> GeneralLanguageListTokens;
799 std::map<int, int> GeneralLanguageListPref;
801 std::map<int, wxString> GeneralTZList;
802 std::map<int, wxString> GeneralTZListAltID;
803 std::map<int, wxString> GeneralTZListPID;
804 std::map<int, wxString> GeneralTZListType;
805 std::map<int, wxString> GeneralTZListTokens;
806 std::map<int, wxString> GeneralTZListMediatype;
807 std::map<int, int> GeneralTZListPref;
809 std::map<int, wxString> GeneralGeographyList;
810 std::map<int, wxString> GeneralGeographyListAltID;
811 std::map<int, wxString> GeneralGeographyListPID;
812 std::map<int, wxString> GeneralGeographyListType;
813 std::map<int, wxString> GeneralGeographyListTokens;
814 std::map<int, wxString> GeneralGeographyListMediatype;
815 std::map<int, int> GeneralGeographyListPref;
817 std::map<int, wxString> GeneralRelatedList;
818 std::map<int, wxString> GeneralRelatedListRelType;
819 std::map<int, wxString> GeneralRelatedListLanguage;
820 std::map<int, wxString> GeneralRelatedListAltID;
821 std::map<int, wxString> GeneralRelatedListPID;
822 std::map<int, wxString> GeneralRelatedListType;
823 std::map<int, wxString> GeneralRelatedListTokens;
824 std::map<int, int> GeneralRelatedListPref;
826 std::map<int, wxString> GeneralWebsiteList;
827 std::map<int, wxString> GeneralWebsiteListAltID;
828 std::map<int, wxString> GeneralWebsiteListPID;
829 std::map<int, wxString> GeneralWebsiteListType;
830 std::map<int, wxString> GeneralWebsiteListTokens;
831 std::map<int, wxString> GeneralWebsiteListMediatype;
832 std::map<int, int> GeneralWebsiteListPref;
834 std::map<int, wxString> GeneralTitleList;
835 std::map<int, wxString> GeneralTitleListLanguage;
836 std::map<int, wxString> GeneralTitleListAltID;
837 std::map<int, wxString> GeneralTitleListPID;
838 std::map<int, wxString> GeneralTitleListType;
839 std::map<int, wxString> GeneralTitleListTokens;
840 std::map<int, int> GeneralTitleListPref;
842 std::map<int, wxString> GeneralRoleList;
843 std::map<int, wxString> GeneralRoleListLanguage;
844 std::map<int, wxString> GeneralRoleListAltID;
845 std::map<int, wxString> GeneralRoleListPID;
846 std::map<int, wxString> GeneralRoleListType;
847 std::map<int, wxString> GeneralRoleListTokens;
848 std::map<int, int> GeneralRoleListPref;
850 std::map<int, wxString> GeneralOrganisationsList;
851 std::map<int, wxString> GeneralOrganisationsListLanguage;
852 std::map<int, wxString> GeneralOrganisationsListAltID;
853 std::map<int, wxString> GeneralOrganisationsListPID;
854 std::map<int, wxString> GeneralOrganisationsListType;
855 std::map<int, wxString> GeneralOrganisationsListTokens;
856 std::map<int, wxString> GeneralOrganisationsListSortAs;
857 std::map<int, int> GeneralOrganisationsListPref;
859 std::map<int, wxString> GeneralNoteList;
860 std::map<int, wxString> GeneralNoteListLanguage;
861 std::map<int, wxString> GeneralNoteListAltID;
862 std::map<int, wxString> GeneralNoteListPID;
863 std::map<int, wxString> GeneralNoteListType;
864 std::map<int, wxString> GeneralNoteListTokens;
865 std::map<int, int> GeneralNoteListPref;
867 /* Items on Home Tab */
869 std::map<int, wxString> HomeNicknamesList;
870 std::map<int, wxString> HomeNicknamesListType;
871 std::map<int, wxString> HomeNicknamesListLanguage;
872 std::map<int, wxString> HomeNicknamesListAltID;
873 std::map<int, wxString> HomeNicknamesListPID;
874 std::map<int, wxString> HomeNicknamesListTokens;
875 std::map<int, int> HomeNicknamesListPref;
877 std::map<int, wxString> HomeAddressList;
878 std::map<int, wxString> HomeAddressListTown;
879 std::map<int, wxString> HomeAddressListCounty;
880 std::map<int, wxString> HomeAddressListPostCode;
881 std::map<int, wxString> HomeAddressListCountry;
882 std::map<int, wxString> HomeAddressListLabel;
883 std::map<int, wxString> HomeAddressListLang;
884 std::map<int, wxString> HomeAddressListAltID;
885 std::map<int, wxString> HomeAddressListPID;
886 std::map<int, wxString> HomeAddressListTokens;
887 std::map<int, wxString> HomeAddressListGeo;
888 std::map<int, wxString> HomeAddressListTimezone;
889 std::map<int, wxString> HomeAddressListType;
890 std::map<int, wxString> HomeAddressListMediatype;
891 std::map<int, int> HomeAddressListPref;
893 std::map<int, wxString> HomeEmailList;
894 std::map<int, wxString> HomeEmailListAltID;
895 std::map<int, wxString> HomeEmailListPID;
896 std::map<int, wxString> HomeEmailListType;
897 std::map<int, wxString> HomeEmailListTokens;
898 std::map<int, int> HomeEmailListPref;
900 std::map<int, wxString> HomeIMList;
901 std::map<int, wxString> HomeIMListAltID;
902 std::map<int, wxString> HomeIMListPID;
903 std::map<int, wxString> HomeIMListType;
904 std::map<int, wxString> HomeIMListTokens;
905 std::map<int, wxString> HomeIMListMediatype;
906 std::map<int, int> HomeIMListPref;
908 std::map<int, wxString> HomeTelephoneList;
909 std::map<int, wxString> HomeTelephoneListAltID;
910 std::map<int, wxString> HomeTelephoneListPID;
911 std::map<int, wxString> HomeTelephoneListType;
912 std::map<int, wxString> HomeTelephoneListTokens;
913 std::map<int, int> HomeTelephoneListPref;
915 std::map<int, wxString> HomeLanguageList;
916 std::map<int, wxString> HomeLanguageListAltID;
917 std::map<int, wxString> HomeLanguageListPID;
918 std::map<int, wxString> HomeLanguageListType;
919 std::map<int, wxString> HomeLanguageListTokens;
920 std::map<int, int> HomeLanguageListPref;
922 std::map<int, wxString> HomeTZList;
923 std::map<int, wxString> HomeTZListAltID;
924 std::map<int, wxString> HomeTZListPID;
925 std::map<int, wxString> HomeTZListType;
926 std::map<int, wxString> HomeTZListTokens;
927 std::map<int, wxString> HomeTZListMediatype;
928 std::map<int, int> HomeTZListPref;
930 std::map<int, wxString> HomeGeographyList;
931 std::map<int, wxString> HomeGeographyListAltID;
932 std::map<int, wxString> HomeGeographyListPID;
933 std::map<int, wxString> HomeGeographyListType;
934 std::map<int, wxString> HomeGeographyListTokens;
935 std::map<int, wxString> HomeGeographyListMediatype;
936 std::map<int, int> HomeGeographyListPref;
938 std::map<int, wxString> HomeRelatedList;
939 std::map<int, wxString> HomeRelatedListRelType;
940 std::map<int, wxString> HomeRelatedListLanguage;
941 std::map<int, wxString> HomeRelatedListAltID;
942 std::map<int, wxString> HomeRelatedListPID;
943 std::map<int, wxString> HomeRelatedListType;
944 std::map<int, wxString> HomeRelatedListTokens;
945 std::map<int, int> HomeRelatedListPref;
947 std::map<int, wxString> HomeWebsiteList;
948 std::map<int, wxString> HomeWebsiteListAltID;
949 std::map<int, wxString> HomeWebsiteListPID;
950 std::map<int, wxString> HomeWebsiteListType;
951 std::map<int, wxString> HomeWebsiteListTokens;
952 std::map<int, wxString> HomeWebsiteListMediatype;
953 std::map<int, int> HomeWebsiteListPref;
955 std::map<int, wxString> HomeTitleList;
956 std::map<int, wxString> HomeTitleListLanguage;
957 std::map<int, wxString> HomeTitleListAltID;
958 std::map<int, wxString> HomeTitleListPID;
959 std::map<int, wxString> HomeTitleListType;
960 std::map<int, wxString> HomeTitleListTokens;
961 std::map<int, int> HomeTitleListPref;
963 std::map<int, wxString> HomeRoleList;
964 std::map<int, wxString> HomeRoleListLanguage;
965 std::map<int, wxString> HomeRoleListAltID;
966 std::map<int, wxString> HomeRoleListPID;
967 std::map<int, wxString> HomeRoleListType;
968 std::map<int, wxString> HomeRoleListTokens;
969 std::map<int, int> HomeRoleListPref;
971 std::map<int, wxString> HomeOrganisationsList;
972 std::map<int, wxString> HomeOrganisationsListLanguage;
973 std::map<int, wxString> HomeOrganisationsListAltID;
974 std::map<int, wxString> HomeOrganisationsListPID;
975 std::map<int, wxString> HomeOrganisationsListType;
976 std::map<int, wxString> HomeOrganisationsListTokens;
977 std::map<int, wxString> HomeOrganisationsListSortAs;
978 std::map<int, int> HomeOrganisationsListPref;
980 std::map<int, wxString> HomeNoteList;
981 std::map<int, wxString> HomeNoteListLanguage;
982 std::map<int, wxString> HomeNoteListAltID;
983 std::map<int, wxString> HomeNoteListPID;
984 std::map<int, wxString> HomeNoteListType;
985 std::map<int, wxString> HomeNoteListTokens;
986 std::map<int, int> HomeNoteListPref;
988 /* Items on the Business tab */
990 std::map<int, wxString> BusinessNicknamesList;
991 std::map<int, wxString> BusinessNicknamesListType;
992 std::map<int, wxString> BusinessNicknamesListLanguage;
993 std::map<int, wxString> BusinessNicknamesListAltID;
994 std::map<int, wxString> BusinessNicknamesListPID;
995 std::map<int, wxString> BusinessNicknamesListTokens;
996 std::map<int, int> BusinessNicknamesListPref;
998 std::map<int, wxString> BusinessAddressList;
999 std::map<int, wxString> BusinessAddressListTown;
1000 std::map<int, wxString> BusinessAddressListCounty;
1001 std::map<int, wxString> BusinessAddressListPostCode;
1002 std::map<int, wxString> BusinessAddressListCountry;
1003 std::map<int, wxString> BusinessAddressListLabel;
1004 std::map<int, wxString> BusinessAddressListLang;
1005 std::map<int, wxString> BusinessAddressListAltID;
1006 std::map<int, wxString> BusinessAddressListPID;
1007 std::map<int, wxString> BusinessAddressListTokens;
1008 std::map<int, wxString> BusinessAddressListGeo;
1009 std::map<int, wxString> BusinessAddressListTimezone;
1010 std::map<int, wxString> BusinessAddressListType;
1011 std::map<int, wxString> BusinessAddressListMediatype;
1012 std::map<int, int> BusinessAddressListPref;
1014 std::map<int, wxString> BusinessEmailList;
1015 std::map<int, wxString> BusinessEmailListAltID;
1016 std::map<int, wxString> BusinessEmailListPID;
1017 std::map<int, wxString> BusinessEmailListType;
1018 std::map<int, wxString> BusinessEmailListTokens;
1019 std::map<int, int> BusinessEmailListPref;
1021 std::map<int, wxString> BusinessIMList;
1022 std::map<int, wxString> BusinessIMListAltID;
1023 std::map<int, wxString> BusinessIMListPID;
1024 std::map<int, wxString> BusinessIMListType;
1025 std::map<int, wxString> BusinessIMListTokens;
1026 std::map<int, wxString> BusinessIMListMediatype;
1027 std::map<int, int> BusinessIMListPref;
1029 std::map<int, wxString> BusinessTelephoneList;
1030 std::map<int, wxString> BusinessTelephoneListAltID;
1031 std::map<int, wxString> BusinessTelephoneListPID;
1032 std::map<int, wxString> BusinessTelephoneListType;
1033 std::map<int, wxString> BusinessTelephoneListTokens;
1034 std::map<int, int> BusinessTelephoneListPref;
1036 std::map<int, wxString> BusinessLanguageList;
1037 std::map<int, wxString> BusinessLanguageListAltID;
1038 std::map<int, wxString> BusinessLanguageListPID;
1039 std::map<int, wxString> BusinessLanguageListType;
1040 std::map<int, wxString> BusinessLanguageListTokens;
1041 std::map<int, int> BusinessLanguageListPref;
1043 std::map<int, wxString> BusinessTZList;
1044 std::map<int, wxString> BusinessTZListAltID;
1045 std::map<int, wxString> BusinessTZListPID;
1046 std::map<int, wxString> BusinessTZListType;
1047 std::map<int, wxString> BusinessTZListTokens;
1048 std::map<int, wxString> BusinessTZListMediatype;
1049 std::map<int, int> BusinessTZListPref;
1051 std::map<int, wxString> BusinessGeographyList;
1052 std::map<int, wxString> BusinessGeographyListAltID;
1053 std::map<int, wxString> BusinessGeographyListPID;
1054 std::map<int, wxString> BusinessGeographyListType;
1055 std::map<int, wxString> BusinessGeographyListTokens;
1056 std::map<int, wxString> BusinessGeographyListMediatype;
1057 std::map<int, int> BusinessGeographyListPref;
1059 std::map<int, wxString> BusinessRelatedList;
1060 std::map<int, wxString> BusinessRelatedListRelType;
1061 std::map<int, wxString> BusinessRelatedListLanguage;
1062 std::map<int, wxString> BusinessRelatedListAltID;
1063 std::map<int, wxString> BusinessRelatedListPID;
1064 std::map<int, wxString> BusinessRelatedListType;
1065 std::map<int, wxString> BusinessRelatedListTokens;
1066 std::map<int, int> BusinessRelatedListPref;
1068 std::map<int, wxString> BusinessWebsiteList;
1069 std::map<int, wxString> BusinessWebsiteListAltID;
1070 std::map<int, wxString> BusinessWebsiteListPID;
1071 std::map<int, wxString> BusinessWebsiteListType;
1072 std::map<int, wxString> BusinessWebsiteListTokens;
1073 std::map<int, wxString> BusinessWebsiteListMediatype;
1074 std::map<int, int> BusinessWebsiteListPref;
1076 std::map<int, wxString> BusinessTitleList;
1077 std::map<int, wxString> BusinessTitleListLanguage;
1078 std::map<int, wxString> BusinessTitleListAltID;
1079 std::map<int, wxString> BusinessTitleListPID;
1080 std::map<int, wxString> BusinessTitleListType;
1081 std::map<int, wxString> BusinessTitleListTokens;
1082 std::map<int, int> BusinessTitleListPref;
1084 std::map<int, wxString> BusinessRoleList;
1085 std::map<int, wxString> BusinessRoleListLanguage;
1086 std::map<int, wxString> BusinessRoleListAltID;
1087 std::map<int, wxString> BusinessRoleListPID;
1088 std::map<int, wxString> BusinessRoleListType;
1089 std::map<int, wxString> BusinessRoleListTokens;
1090 std::map<int, int> BusinessRoleListPref;
1092 std::map<int, wxString> BusinessOrganisationsList;
1093 std::map<int, wxString> BusinessOrganisationsListLanguage;
1094 std::map<int, wxString> BusinessOrganisationsListAltID;
1095 std::map<int, wxString> BusinessOrganisationsListPID;
1096 std::map<int, wxString> BusinessOrganisationsListType;
1097 std::map<int, wxString> BusinessOrganisationsListTokens;
1098 std::map<int, wxString> BusinessOrganisationsListSortAs;
1099 std::map<int, int> BusinessOrganisationsListPref;
1101 std::map<int, wxString> BusinessNoteList;
1102 std::map<int, wxString> BusinessNoteListLanguage;
1103 std::map<int, wxString> BusinessNoteListAltID;
1104 std::map<int, wxString> BusinessNoteListPID;
1105 std::map<int, wxString> BusinessNoteListType;
1106 std::map<int, wxString> BusinessNoteListTokens;
1107 std::map<int, int> BusinessNoteListPref;
1109 /* Items on the Categories tab */
1111 std::map<int, wxString> CategoriesList;
1112 std::map<int, wxString> CategoriesListAltID;
1113 std::map<int, wxString> CategoriesListPID;
1114 std::map<int, wxString> CategoriesListType;
1115 std::map<int, wxString> CategoriesListTokens;
1116 std::map<int, int> CategoriesListPref;
1118 /* Items on the Groups tab */
1120 std::map<int, wxString> GroupsList;
1121 std::map<int, wxString> GroupsListAltID;
1122 std::map<int, wxString> GroupsListPID;
1123 std::map<int, wxString> GroupsListType;
1124 std::map<int, wxString> GroupsListTokens;
1125 std::map<int, int> GroupsListPref;
1127 /* Items on the Pictures tab */
1129 std::map<int, std::string> PicturesList;
1130 std::map<int, wxString> PicturesListAltID;
1131 std::map<int, wxString> PicturesListPID;
1132 std::map<int, wxString> PicturesListType;
1133 std::map<int, wxString> PicturesListPicEncType;
1134 std::map<int, wxString> PicturesListPictureType;
1135 std::map<int, wxString> PicturesListTokens;
1136 std::map<int, wxString> PicturesListMediatype;
1137 std::map<int, int> PicturesListPref;
1139 /* Items on the Logos tab */
1141 std::map<int, std::string> LogosList;
1142 std::map<int, wxString> LogosListAltID;
1143 std::map<int, wxString> LogosListPID;
1144 std::map<int, wxString> LogosListType;
1145 std::map<int, wxString> LogosListPicEncType;
1146 std::map<int, wxString> LogosListPictureType;
1147 std::map<int, wxString> LogosListTokens;
1148 std::map<int, wxString> LogosListMediatype;
1149 std::map<int, int> LogosListPref;
1151 /* Items on the Sounds tab */
1153 std::map<int, std::string> SoundsList;
1154 std::map<int, wxString> SoundsListAltID;
1155 std::map<int, wxString> SoundsListPID;
1156 std::map<int, wxString> SoundsListType;
1157 std::map<int, wxString> SoundsListAudioEncType;
1158 std::map<int, wxString> SoundsListAudioType;
1159 std::map<int, wxString> SoundsListTokens;
1160 std::map<int, wxString> SoundsListMediatype;
1161 std::map<int, int> SoundsListPref;
1163 /* Items on the Calendaring tab */
1165 std::map<int, wxString> CalendarList;
1166 std::map<int, wxString> CalendarListAltID;
1167 std::map<int, wxString> CalendarListPID;
1168 std::map<int, wxString> CalendarListType;
1169 std::map<int, wxString> CalendarListTokens;
1170 std::map<int, wxString> CalendarListMediatype;
1171 std::map<int, int> CalendarListPref;
1173 std::map<int, wxString> CalendarRequestList;
1174 std::map<int, wxString> CalendarRequestListAltID;
1175 std::map<int, wxString> CalendarRequestListPID;
1176 std::map<int, wxString> CalendarRequestListType;
1177 std::map<int, wxString> CalendarRequestListTokens;
1178 std::map<int, wxString> CalendarRequestListMediatype;
1179 std::map<int, int> CalendarRequestListPref;
1181 std::map<int, wxString> FreeBusyList;
1182 std::map<int, wxString> FreeBusyListAltID;
1183 std::map<int, wxString> FreeBusyListPID;
1184 std::map<int, wxString> FreeBusyListType;
1185 std::map<int, wxString> FreeBusyListTokens;
1186 std::map<int, wxString> FreeBusyListMediatype;
1187 std::map<int, int> FreeBusyListPref;
1189 /* Items on the Security tab */
1191 std::map<int, wxString> KeyList;
1192 std::map<int, wxString> KeyListAltID;
1193 std::map<int, wxString> KeyListPID;
1194 std::map<int, bool> KeyListKeyType;
1195 std::map<int, wxString> KeyListDataType;
1196 std::map<int, wxString> KeyListDataEncType;
1197 std::map<int, wxString> KeyListType;
1198 std::map<int, wxString> KeyListTokens;
1199 std::map<int, int> KeyListPref;
1201 /* Items on the Other tab */
1203 std::map<int, wxString> VendorList;
1204 std::map<int, wxString> VendorListPEN;
1205 std::map<int, wxString> VendorListElement;
1207 std::map<int, wxString> XTokenList;
1208 std::map<int, wxString> XTokenListTokens;
1210 /* Items regarding account and filename */
1212 wxString wxSContactFilename;
1213 wxString wxSContactAccount;
1214 bool boolContactModified;
1215 int intSeekSelectedData;
1217 /* Section for saving/loading data */
1219 wxString *strPropertyPtr;
1220 bool *boolAdditionalPtr;
1222 std::map<int,wxString>::iterator *iterDataPtr = 0;
1223 std::map<int,std::string>::iterator *iterDataStringPtr = 0;
1224 std::map<int,wxString>::iterator *iterFileTypePtr = 0;
1225 std::map<int,wxString>::iterator *iterFileEncPtr = 0;
1228 wxString ETagOriginal;
1234 bool boolValue = FALSE;
1235 bool boolValue2 = FALSE;
1236 size_t intValue = 0;
1239 bool BinaryDataProc = FALSE;
1240 bool EditMode = FALSE;
1241 bool StartupEditMode = FALSE;
1242 bool DialogOpen = FALSE;
1245 std::string base64dec;
1246 sf::Sound AudioPlayback;
1247 sf::SoundBuffer AudioBuffer;
1250 size_t base64declen;
1251 std::string base64dec;
1252 sf::Music AudioPlayback;
1253 AudioStream AudioStreamPlayback;
1254 sf::SoundBuffer AudioBuffer;
1256 wxBitmap PictureImage;
1259 void SplitValues(wxString *PropertyLine,
1260 std::map<int,int> *SplitPoints,
1261 std::map<int,int> *SplitLength,
1265 frmActivityMgr *ActMgrPtr;
1266 wxETagProcessTimer *ETagTmrPtr;
1267 wxContactFileMonitorTimer FMTimer;
1269 int ContactEditorUID;
1271 DECLARE_EVENT_TABLE()
1273 //// end generated class members
1277 #endif // __frmContactEditor__