123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- """
- @package gcp.toolbars
- @brief Georectification module - toolbars
- Classes:
- - toolbars::GCPMapToolbar
- - toolbars::GCPDisplayToolbar
- (C) 2007-2011 by the GRASS Development Team
- This program is free software under the GNU General Public License
- (>=v2). Read the file COPYING that comes with GRASS for details.
- @author Markus Metz
- """
- import wx
- from gui_core.toolbars import BaseToolbar, BaseIcons
- from icons.icon import MetaIcon
- class GCPManToolbar(BaseToolbar):
- """Toolbar for managing ground control points
- :param parent: reference to GCP widget
- """
- def __init__(self, parent):
- BaseToolbar.__init__(self, parent)
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- icons = {
- "gcpAdd": MetaIcon(img="gcp-add", label=_("Add new GCP to the list")),
- "gcpDelete": MetaIcon(img="gcp-delete", label=_("Delete selected GCP")),
- "gcpClear": MetaIcon(img="gcp-remove", label=_("Clear selected GCP")),
- "gcpRms": MetaIcon(img="gcp-rms", label=_("Recalculate RMS error")),
- "georectify": MetaIcon(img="georectify", label=_("Georectify")),
- "gcpSave": MetaIcon(img="gcp-save", label=_("Save GCPs to POINTS file")),
- "gcpReload": MetaIcon(
- img="reload", label=_("Reload GCPs from POINTS file")
- ),
- }
- return self._getToolbarData(
- (
- ("gcpAdd", icons["gcpAdd"], self.parent.AddGCP),
- ("gcpDelete", icons["gcpDelete"], self.parent.DeleteGCP),
- ("gcpClear", icons["gcpClear"], self.parent.ClearGCP),
- (None,),
- ("rms", icons["gcpRms"], self.parent.OnRMS),
- ("georect", icons["georectify"], self.parent.OnGeorect),
- (None,),
- ("gcpSave", icons["gcpSave"], self.parent.SaveGCPs),
- ("gcpReload", icons["gcpReload"], self.parent.ReloadGCPs),
- )
- )
- class GCPDisplayToolbar(BaseToolbar):
- """GCP Display toolbar"""
- def __init__(self, parent, toolSwitcher):
- """GCP Display toolbar constructor"""
- BaseToolbar.__init__(self, parent, toolSwitcher)
- self.InitToolbar(self._toolbarData())
- self._default = self.gcpset
- # add tool to toggle active map window
- self.togglemap = wx.Choice(
- parent=self, id=wx.ID_ANY, choices=[_("source"), _("target")]
- )
- self.InsertControl(10, self.togglemap)
- self.SetToolShortHelp(
- self.togglemap.GetId(),
- "%s %s %s"
- % (
- _("Set map canvas for "),
- BaseIcons["zoomBack"].GetLabel(),
- _(" / Zoom to map"),
- ),
- )
- for tool in (self.gcpset, self.pan, self.zoomin, self.zoomout):
- self.toolSwitcher.AddToolToGroup(group="mouseUse", toolbar=self, tool=tool)
- # realize the toolbar
- self.Realize()
- self.EnableTool(self.zoomback, False)
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "gcpSet": MetaIcon(
- img="gcp-create",
- label=_("Update GCP coordinates"),
- desc=_("Update GCP coordinates)"),
- ),
- "quit": BaseIcons["quit"].SetLabel(_("Quit georectification tool")),
- "settings": BaseIcons["settings"].SetLabel(_("Georectifier settings")),
- "help": BaseIcons["help"].SetLabel(_("Georectifier manual")),
- }
- return self._getToolbarData(
- (
- ("displaymap", BaseIcons["display"], self.parent.OnDraw),
- ("rendermap", BaseIcons["render"], self.parent.OnRender),
- ("erase", BaseIcons["erase"], self.parent.OnErase),
- (None,),
- ("gcpset", icons["gcpSet"], self.parent.OnPointer, wx.ITEM_CHECK),
- ("pan", BaseIcons["pan"], self.parent.OnPan, wx.ITEM_CHECK),
- ("zoomin", BaseIcons["zoomIn"], self.parent.OnZoomIn, wx.ITEM_CHECK),
- ("zoomout", BaseIcons["zoomOut"], self.parent.OnZoomOut, wx.ITEM_CHECK),
- ("zoommenu", BaseIcons["zoomMenu"], self.parent.OnZoomMenuGCP),
- (None,),
- ("zoomback", BaseIcons["zoomBack"], self.parent.OnZoomBack),
- ("zoomtomap", BaseIcons["zoomExtent"], self.parent.OnZoomToMap),
- (None,),
- ("settings", icons["settings"], self.parent.OnSettings),
- ("help", icons["help"], self.parent.OnHelp),
- (None,),
- ("quit", icons["quit"], self.parent.OnQuit),
- )
- )
|