MCPcopy Create free account
hub / github.com/GeoDaCenter/geoda / OnRightClick

Method OnRightClick

Explore/MapLayerTree.cpp:793–876  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

791}
792
793void MapTree::OnRightClick(wxMouseEvent& event)
794{
795 select_id = GetLegendClick(event);
796 if (select_id < 0) {
797 OnSwitchClick(event);
798 return;
799 }
800 wxMenu* popupMenu = new wxMenu(wxEmptyString);
801
802 wxString map_name = map_titles[ new_order[select_id] ];
803 BackgroundMapLayer* ml = GetMapLayer(map_name);
804
805 wxString menu_name = _("Layer Full Extent");
806 popupMenu->Append(XRCID("MAPTREE_SET_LAYER_EXTENT"), menu_name);
807 Connect(XRCID("MAPTREE_SET_LAYER_EXTENT"), wxEVT_COMMAND_MENU_SELECTED,
808 wxCommandEventHandler(MapTree::OnZoomToLayer));
809 menu_name = _("Zoom to Selected");
810 popupMenu->Append(XRCID("MAPTREE_ZOOM_TO_SELECTED"), menu_name);
811 Connect(XRCID("MAPTREE_ZOOM_TO_SELECTED"), wxEVT_COMMAND_MENU_SELECTED,
812 wxCommandEventHandler(MapTree::OnZoomToSelected));
813 popupMenu->AppendSeparator();
814
815 menu_name = _("Set Highlight Association");
816 popupMenu->Append(XRCID("MAPTREE_SET_FOREIGN_KEY"), menu_name);
817 Connect(XRCID("MAPTREE_SET_FOREIGN_KEY"), wxEVT_COMMAND_MENU_SELECTED,
818 wxCommandEventHandler(MapTree::OnSetAssociateLayer));
819
820 popupMenu->Append(XRCID("MAPTREE_CLEAR_FOREIGN_KEY"),
821 _("Clear Highlight Association"));
822 Connect(XRCID("MAPTREE_CLEAR_FOREIGN_KEY"), wxEVT_COMMAND_MENU_SELECTED,
823 wxCommandEventHandler(MapTree::OnClearAssociateLayer));
824
825 popupMenu->Append(XRCID("MAPTREE_CHANGE_ASSOCIATELINE_COLOR"), _("Change Associate Line Color"));
826 Connect(XRCID("MAPTREE_CHANGE_ASSOCIATELINE_COLOR"), wxEVT_COMMAND_MENU_SELECTED,
827 wxCommandEventHandler(MapTree::OnChangeAssociatelineColor));
828 if (ml == NULL) {
829 // if it's current map, then no other options other than "Set Highlight"
830 PopupMenu(popupMenu, event.GetPosition());
831 return;
832 }
833
834 popupMenu->AppendSeparator();
835 popupMenu->Append(XRCID("MAPTREE_CHANGE_FILL_COLOR"), _("Change Fill Color"));
836 popupMenu->Append(XRCID("MAPTREE_CHANGE_OUTLINE_COLOR"), _("Change Outline Color"));
837 popupMenu->Append(XRCID("MAPTREE_OUTLINE_VISIBLE"), _("Outline Visible"));
838
839 // check menu items
840 wxMenuItem* outline = popupMenu->FindItem(XRCID("MAPTREE_OUTLINE_VISIBLE"));
841 if (outline && outline->IsCheckable() && outline->GetMenu()) {
842 outline->SetCheckable(true);
843 if (ml->GetPenSize() > 0) outline->Check();
844 }
845 Connect(XRCID("MAPTREE_CHANGE_FILL_COLOR"), wxEVT_COMMAND_MENU_SELECTED,
846 wxCommandEventHandler(MapTree::OnChangeFillColor));
847 Connect(XRCID("MAPTREE_CHANGE_OUTLINE_COLOR"), wxEVT_COMMAND_MENU_SELECTED,
848 wxCommandEventHandler(MapTree::OnChangeOutlineColor));
849 Connect(XRCID("MAPTREE_OUTLINE_VISIBLE"), wxEVT_COMMAND_MENU_SELECTED,
850 wxCommandEventHandler(MapTree::OnOutlineVisible));

Callers 2

DisplayRightClickMenuMethod · 0.45
DisplayRightClickMenuMethod · 0.45

Calls 6

AppendMethod · 0.80
GetPenSizeMethod · 0.80
IsShowBoundaryMethod · 0.80
GetPositionMethod · 0.45
CheckMethod · 0.45
GetShapeTypeMethod · 0.45

Tested by

no test coverage detected