34 |
#include <string> |
#include <string> |
35 |
#include "GEDCOMParser/FamilyRecord.hh" |
#include "GEDCOMParser/FamilyRecord.hh" |
36 |
#include "BakeryGateway/ViewFamilyRecordNoteFactory.hh" |
#include "BakeryGateway/ViewFamilyRecordNoteFactory.hh" |
37 |
|
#include "MMIFamilyLink.hh" |
38 |
|
#include <iostream> |
39 |
|
|
40 |
|
#define BUTTON_LEFT 1 |
41 |
|
#define BUTTON_RIGHT 3 |
42 |
|
|
43 |
namespace BakeryGateway { |
namespace BakeryGateway { |
44 |
template < class T_FamilyLink > |
template < class T_FamilyLink > |
52 |
_during_load(false) |
_during_load(false) |
53 |
{}; |
{}; |
54 |
protected: |
protected: |
55 |
OneFamilyLinkHandler::ReturnHandler_t ButtonPressed(GdkEventButton * event, std::string const * key) |
OneFamilyLinkHandler::PopdownLinkEditionReturnHandler_t RightButtonPressed(GdkEventButton * event, std::string const * src_key) |
56 |
{ |
{ |
57 |
|
std::cerr << "entering RightButtonPressed " << std::endl; |
58 |
|
if (event->button == BUTTON_RIGHT) |
59 |
|
{ |
60 |
|
MMIFamilyLink * mmi_family_link = getMMIFamilyLink(); |
61 |
|
OneFamilyLink * one_family_link = mmi_family_link->getOneFamilyLink(); |
62 |
|
LinkEditorMenu_t menus; |
63 |
|
MenuItems_t menus_items; |
64 |
|
menus_items.push_back(MenuItem_t("New","-1")); |
65 |
|
menus_items.push_back(MenuItem_t("Alfred","1")); |
66 |
|
menus_items.push_back(MenuItem_t("Jean","2")); |
67 |
|
menus.push_back(menus_items); |
68 |
|
menus_items.clear(); |
69 |
|
menus_items.push_back(MenuItem_t("Thierry","3")); |
70 |
|
menus_items.push_back(MenuItem_t("Mathieu","4")); |
71 |
|
menus.push_back(menus_items); |
72 |
|
menus.push_back(menus_items); |
73 |
|
one_family_link->PopupLinkEditorMenu(menus); |
74 |
|
} |
75 |
|
return 1; |
76 |
|
}; |
77 |
|
|
78 |
|
OneFamilyLinkHandler::NavigationReturnHandler_t LeftButtonPressed(GdkEventButton * event, std::string const * target_key) |
79 |
|
{ |
80 |
|
|
81 |
bool new_win = false; |
bool new_win = false; |
82 |
if (event->state & GDK_CONTROL_MASK) |
if (event->button == BUTTON_LEFT) |
83 |
{ |
{ |
84 |
new_win = true; |
if (event->state & GDK_CONTROL_MASK) |
85 |
|
{ |
86 |
|
new_win = true; |
87 |
|
} |
88 |
|
if (*target_key != "") |
89 |
|
{ |
90 |
|
Navigate(*target_key, new_win); |
91 |
|
} |
92 |
} |
} |
93 |
Navigate(*key, new_win); |
return 1; |
|
return false; |
|
94 |
}; |
}; |
95 |
|
|
96 |
std::string get_name_individual(GEDCOMParser::IndividualRecords_t const &individuals, std::string const &individual_id) const |
std::string get_name_individual(GEDCOMParser::IndividualRecords_t const &individuals, std::string const &individual_id) const |
111 |
return *individual_name; |
return *individual_name; |
112 |
}; |
}; |
113 |
|
|
114 |
OneFamilyLinkHandler::SlotHandler_t * getSlotHandler(std::string * individu_id) |
OneFamilyLinkHandler::NavigationSlotHandler_t * getNavigationSlotHandler(std::string * target_individu_id) |
115 |
|
{ |
116 |
|
return new OneFamilyLinkHandler::NavigationSlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewFamilyLink < T_FamilyLink > ::LeftButtonPressed), target_individu_id)); |
117 |
|
}; |
118 |
|
|
119 |
|
OneFamilyLinkHandler::PopdownLinkEditionSlotHandler_t * getPopdownLinkEditionSlotHandler(std::string * src_individu_id) |
120 |
{ |
{ |
121 |
return new OneFamilyLinkHandler::SlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewFamilyLink < T_FamilyLink > ::ButtonPressed), individu_id)); |
return new OneFamilyLinkHandler::PopdownLinkEditionSlotHandler_t(SigC::bind(SigC::slot(this, &BakeryGateway::ViewFamilyLink < T_FamilyLink > ::RightButtonPressed), src_individu_id)); |
122 |
}; |
}; |
123 |
|
|
124 |
void ManageFamilyRecordNote(OneFamilyLink * family_link, GEDCOMParser::FamilyRecord * family_record) |
void ManageFamilyRecordNote(OneFamilyLink * family_link, GEDCOMParser::FamilyRecord * family_record) |
134 |
bool _during_load; |
bool _during_load; |
135 |
virtual void family_added(void) = 0; |
virtual void family_added(void) = 0; |
136 |
virtual void family_deleted(int family_index) = 0; |
virtual void family_deleted(int family_index) = 0; |
137 |
|
virtual void family_edited(std::string id) = 0; |
138 |
|
virtual MMIFamilyLink * getMMIFamilyLink(void) const = 0; |
139 |
}; |
}; |
140 |
}; |
}; |
141 |
|
|