123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360 |
- """
- @package lmgr.toolbars
- @brief wxGUI Layer Manager - toolbars
- Classes:
- - toolbars::LMWorkspaceToolbar
- - toolbars::DisplayPanelToolbar
- - toolbars::LMToolsToolbar
- - toolbars::LMMiscToolbar
- - toolbars::LMNvizToolbar
- (C) 2007-2013 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 Michael Barton
- @author Jachym Cepicky
- @author Martin Landa <landa.martin gmail.com>
- @author Anna Kratochvilova <kratochanna gmail.com>
- @author Linda Kladivova <linda.kladivova gmail com>
- """
- from core.gcmd import RunCommand
- from gui_core.toolbars import BaseToolbar, BaseIcons
- from icons.icon import MetaIcon
- class LMWorkspaceToolbar(BaseToolbar):
- """Layer Manager `workspace` toolbar"""
- def __init__(self, parent):
- BaseToolbar.__init__(self, parent)
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "workspaceNew": MetaIcon(
- img="create", label=_("Create new workspace (Ctrl+N)")
- ),
- "workspaceOpen": MetaIcon(
- img="open", label=_("Open existing workspace file (Ctrl+O)")
- ),
- "workspaceSave": MetaIcon(
- img="save", label=_("Save current workspace to file (Ctrl+S)")
- ),
- }
- return self._getToolbarData(
- (
- (
- ("workspaceNew", _("New workspace")),
- icons["workspaceNew"],
- self.parent.OnWorkspaceNew,
- ),
- (
- ("workspaceOpen", _("Open workspace")),
- icons["workspaceOpen"],
- self.parent.OnWorkspaceOpen,
- ),
- (
- ("workspaceSave", _("Save workspace")),
- icons["workspaceSave"],
- self.parent.OnWorkspaceSave,
- ),
- )
- )
- class DisplayPanelToolbar(BaseToolbar):
- """Toolbar for display tab"""
- def __init__(self, guiparent, parent):
- BaseToolbar.__init__(self, guiparent)
- self.parent = parent
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "addMulti": MetaIcon(
- img="layer-open",
- label=_("Add multiple raster or vector map layers (Ctrl+Shift+L)"),
- ),
- "addRast": BaseIcons["addRast"].SetLabel(
- _("Add raster map layer (Ctrl+Shift+R)")
- ),
- "rastMisc": MetaIcon(
- img="layer-raster-more",
- label=_("Add various raster map layers (RGB, HIS, shaded relief...)"),
- ),
- "addVect": BaseIcons["addVect"].SetLabel(
- _("Add vector map layer (Ctrl+Shift+V)")
- ),
- "vectMisc": MetaIcon(
- img="layer-vector-more",
- label=_("Add various vector map layers (thematic, chart...)"),
- ),
- "addWS": MetaIcon(
- img="layer-wms-add",
- label=_("Add web service layer (WMS, WMTS, NASA OnEarth)"),
- ),
- "addGroup": MetaIcon(img="layer-group-add", label=_("Add group")),
- "addOverlay": MetaIcon(img="layer-more", label=_("Add various overlays")),
- "delCmd": MetaIcon(
- img="layer-remove",
- label=_("Remove selected map layer(s) from layer tree"),
- ),
- "vdigit": MetaIcon(img="edit", label=_("Edit selected vector map")),
- "attrTable": MetaIcon(
- img="table", label=_("Show attribute data for selected vector map")
- ),
- }
- return self._getToolbarData(
- (
- (
- ("addMulti", _("Add multiple map layers")),
- icons["addMulti"],
- self.parent.OnAddMaps,
- ),
- (
- ("addrast", _("Add raster map")),
- icons["addRast"],
- self.parent.OnAddRaster,
- ),
- (
- ("rastmisc", _("Add various raster maps")),
- icons["rastMisc"],
- self.parent.OnAddRasterMisc,
- ),
- (
- ("addvect", _("Add vector map")),
- icons["addVect"],
- self.parent.OnAddVector,
- ),
- (
- ("vectmisc", _("Add various vector maps")),
- icons["vectMisc"],
- self.parent.OnAddVectorMisc,
- ),
- (
- ("addovl", _("Add various overlays")),
- icons["addOverlay"],
- self.parent.OnAddOverlay,
- ),
- (
- ("addWS", _("Add web service map")),
- icons["addWS"],
- self.parent.OnAddWS,
- ),
- (None,),
- (
- ("addgrp", icons["addGroup"].label),
- icons["addGroup"],
- self.parent.OnAddGroup,
- ),
- (
- ("delcmd", _("Delete map layer")),
- icons["delCmd"],
- self.parent.OnDeleteLayer,
- ),
- (None,),
- (
- ("vdigit", icons["vdigit"].label),
- icons["vdigit"],
- self.parent.OnVDigit,
- ),
- (
- ("attribute", icons["attrTable"].label),
- icons["attrTable"],
- self.parent.OnShowAttributeTable,
- ),
- )
- )
- class LMToolsToolbar(BaseToolbar):
- """Layer Manager `tools` toolbar"""
- def __init__(self, parent):
- BaseToolbar.__init__(self, parent)
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "newdisplay": MetaIcon(
- img="monitor-create", label=_("Start new map display")
- ),
- "mapcalc": MetaIcon(
- img="raster-calculator", label=_("Raster Map Calculator")
- ),
- "modeler": MetaIcon(img="modeler-main", label=_("Graphical Modeler")),
- "georectify": MetaIcon(img="georectify", label=_("Georectifier")),
- "composer": MetaIcon(img="print-compose", label=_("Cartographic Composer")),
- "script-load": MetaIcon(
- img="script-load", label=_("Launch user-defined script")
- ),
- "python": MetaIcon(
- img="python", label=_("Open a simple Python code editor")
- ),
- }
- return self._getToolbarData(
- (
- (
- ("newdisplay", _("New display")),
- icons["newdisplay"],
- self.parent.OnNewDisplay,
- ),
- (None,),
- (
- ("mapCalc", icons["mapcalc"].label),
- icons["mapcalc"],
- self.parent.OnMapCalculator,
- ),
- (
- ("georect", icons["georectify"].label),
- icons["georectify"],
- self.parent.OnGCPManager,
- ),
- (
- ("modeler", icons["modeler"].label),
- icons["modeler"],
- self.parent.OnGModeler,
- ),
- (
- ("mapOutput", icons["composer"].label),
- icons["composer"],
- self.parent.OnPsMap,
- ),
- (None,),
- (
- ("script-load", icons["script-load"].label),
- icons["script-load"],
- self.parent.OnRunScript,
- ),
- (
- ("python", _("Python code editor")),
- icons["python"],
- self.parent.OnSimpleEditor,
- ),
- )
- )
- class LMMiscToolbar(BaseToolbar):
- """Layer Manager `misc` toolbar"""
- def __init__(self, parent):
- BaseToolbar.__init__(self, parent)
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "settings": BaseIcons["settings"].SetLabel(_("GUI settings")),
- "help": BaseIcons["help"].SetLabel(_("GRASS manual")),
- }
- return self._getToolbarData(
- (
- (
- ("settings", icons["settings"].label),
- icons["settings"],
- self.parent.OnPreferences,
- ),
- (
- ("help", icons["help"].label),
- icons["help"],
- self.parent.OnHelp,
- ),
- )
- )
- class LMNvizToolbar(BaseToolbar):
- """Nviz toolbar"""
- def __init__(self, parent):
- self.lmgr = parent
- BaseToolbar.__init__(self, parent)
- # only one dialog can be open
- self.settingsDialog = None
- self.InitToolbar(self._toolbarData())
- # realize the toolbar
- self.Realize()
- def _toolbarData(self):
- """Toolbar data"""
- icons = {
- "cmd": MetaIcon(
- img="script-save",
- label=_("Generate command for m.nviz.image"),
- desc=_("Generate command for m.nviz.image based on current state"),
- ),
- "settings": MetaIcon(
- img="3d-settings",
- label=_("3D view mode settings"),
- desc=_("Show 3D view mode settings dialog"),
- ),
- "help": MetaIcon(img="3d-help", label=_("Show 3D view mode manual")),
- }
- return self._getToolbarData(
- (
- (
- ("nvizCmd", icons["cmd"].label),
- icons["cmd"],
- self.OnNvizCmd,
- ),
- (None,),
- (
- ("settings", icons["settings"].label),
- icons["settings"],
- self.parent.OnNvizPreferences,
- ),
- (
- ("help", icons["help"].label),
- icons["help"],
- self.OnHelp,
- ),
- )
- )
- def OnNvizCmd(self, event):
- """Show m.nviz.image command"""
- self.lmgr.GetLayerTree().GetMapDisplay().GetWindow().OnNvizCmd()
- def OnHelp(self, event):
- """Show 3D view mode help"""
- if not self.lmgr:
- RunCommand("g.manual", entry="wxGUI.nviz")
- else:
- log = self.lmgr.GetLogWindow()
- log.RunCmd(["g.manual", "entry=wxGUI.nviz"])
|