GRASS Programmer's Manual  6.4.4(2014)-r
layertree.LayerTree Class Reference

Creates layer tree structure. More...

Inheritance diagram for layertree.LayerTree:
Collaboration diagram for layertree.LayerTree:

Public Member Functions

def __init__ (self, parent, id=wx.ID_ANY, style=wx.SUNKEN_BORDER, ctstyle=CT.TR_HAS_BUTTONS|CT.TR_HAS_VARIABLE_ROW_HEIGHT|CT.TR_HIDE_ROOT|CT.TR_ROW_LINES|CT.TR_FULL_ROW_HIGHLIGHT|CT.TR_MULTIPLE, kwargs)
 
def GetSelections (self)
 
def GetMap (self)
 Get map instace. More...
 
def GetMapDisplay (self)
 Get associated MapFrame. More...
 
def OnIdle (self, event)
 Only re-order and re-render a composite map image from GRASS during idle time instead of multiple times during layer changing. More...
 
def OnKeyUp (self, event)
 Key pressed. More...
 
def OnLayerContextMenu (self, event)
 Contextual menu for item/layer. More...
 
def OnTopology (self, event)
 Rebuild topology of selected vector map. More...
 
def OnMetadata (self, event)
 Print metadata of raster/vector map layer TODO: Dialog to modify metadata. More...
 
def OnSetCompRegFromRaster (self, event)
 Set computational region from selected raster map (ignore NULLs) More...
 
def OnSetCompRegFromMap (self, event)
 Set computational region from selected raster/vector map. More...
 
def OnProfile (self, event)
 Plot profile of given raster map layer. More...
 
def OnRasterColorTable (self, event)
 Set color table for raster map. More...
 
def OnVectorColorTable (self, event)
 Set color table for vector map. More...
 
def OnHistogram (self, event)
 Plot histogram for given raster map layer. More...
 
def OnUnivariateStats (self, event)
 Univariate raster statistics. More...
 
def OnStartEditing (self, event)
 Start editing vector map layer requested by the user. More...
 
def OnStopEditing (self, event)
 Stop editing the current vector map layer. More...
 
def OnSetBgMap (self, event)
 Set background vector map for editing sesstion. More...
 
def OnPopupProperties (self, event)
 Popup properties dialog. More...
 
def OnPopupOpacityLevel (self, event)
 Popup opacity level indicator. More...
 
def OnApplyLayerOpacity (self, event)
 Handles EVT_APPLY_OPACITY event. More...
 
def ChangeLayerOpacity (self, layer, value)
 Change opacity value of layer. More...
 
def OnNvizProperties (self, event)
 Nviz-related properties (raster/vector/volume) More...
 
def OnRenameLayer (self, event)
 Rename layer. More...
 
def OnRenamed (self, event)
 Layer renamed. More...
 
def AddLayer
 Add new item to the layer tree, create corresponding MapLayer instance. More...
 
def PropertiesDialog
 Launch the properties dialog. More...
 
def OnActivateLayer (self, event)
 Double click on the layer item. More...
 
def OnDeleteLayer (self, event)
 Remove selected layer item from the layer tree. More...
 
def OnLayerChecking (self, event)
 Layer checkbox is being checked. More...
 
def OnLayerChecked (self, event)
 Enable/disable data layer. More...
 
def OnCmdChanged (self, event)
 Change command string. More...
 
def OnMotion (self, event)
 Mouse is moving. More...
 
def OnChangingSel (self, event)
 Selection is changing. More...
 
def OnChangeSel (self, event)
 Selection changed. More...
 
def OnCollapseNode (self, event)
 Collapse node. More...
 
def OnExpandNode (self, event)
 Expand node. More...
 
def OnEndDrag (self, event)
 
def OnDrop (self, dropTarget, dragItem)
 
def RecreateItem
 Recreate item (needed for OnEndDrag()) More...
 
def GetOptData (self, dcmd, layer, params, propwin)
 Process layer data (when changes in propertiesdialog are applied) More...
 
def ReorderLayers (self)
 Add commands from data associated with any valid layers (checked or not) to layer list in order to match layers in layer tree. More...
 
def ChangeLayer (self, item)
 Change layer. More...
 
def OnCloseWindow (self, event)
 
def FindItemByData (self, key, value)
 Find item based on key and value (see PyData[0]) More...
 
def FindItemByIndex (self, index)
 Find item by index (starting at 0) More...
 
def EnableItemType
 Enable/disable items in layer tree. More...
 

Data Fields

 disp_idx
 
 lmgr
 
 notebook
 
 auimgr
 
 treepg
 
 Map
 
 root
 
 groupnode
 
 optpage
 
 layer_selected
 
 saveitem
 
 first
 
 flag
 
 rerender
 
 reorder
 
 hitCheckbox
 
 forceCheck
 
 mapdisplay
 SetAutoLayout() causes that no vertical scrollbar is displayed when some layers are not visible in layer tree self.SetAutoLayout(True) More...
 
 folder_open
 
 folder
 
 rast_icon
 
 rast3d_icon
 
 rgb_icon
 
 his_icon
 
 shaded_icon
 
 rarrow_icon
 
 rnum_icon
 
 vect_icon
 
 theme_icon
 
 chart_icon
 
 grid_icon
 
 geodesic_icon
 
 rhumb_icon
 
 labels_icon
 
 cmd_icon
 
 popupID
 
 popupMenu
 
 profileFrame
 

Detailed Description

Creates layer tree structure.

Definition at line 96 of file layertree.py.

Constructor & Destructor Documentation

def layertree.LayerTree.__init__ (   self,
  parent,
  id = wx.ID_ANY,
  style = wx.SUNKEN_BORDER,
  ctstyle = CT.TR_HAS_BUTTONS | CT.TR_HAS_VARIABLE_ROW_HEIGHT |                  CT.TR_HIDE_ROOT | CT.TR_ROW_LINES | CT.TR_FULL_ROW_HIGHLIGHT |                  CT.TR_MULTIPLE,
  kwargs 
)

Definition at line 103 of file layertree.py.

Member Function Documentation

def layertree.LayerTree.AddLayer (   self,
  ltype,
  lname = None,
  lchecked = None,
  lopacity = 1.0,
  lcmd = None,
  lgroup = None,
  lvdigit = None,
  lnviz = None,
  multiple = True 
)

Add new item to the layer tree, create corresponding MapLayer instance.

Launch property dialog if needed (raster, vector, etc.)

Parameters
ltypelayer type (raster, vector, 3d-raster, ...)
lnamelayer name
lcheckedif True layer is checked
lopacitylayer opacity level
lcmdcommand (given as a list)
lgroupindex of group item (-1 for root) or None
lvdigitvector digitizer settings (eg. geometry attributes)
lnvizlayer Nviz properties
multipleTrue to allow multiple map layers in layer tree

Definition at line 733 of file layertree.py.

References layertree.LayerTree._createCommandCtrl(), layertree.LayerTree._getLayerName(), layertree.LayerTree.chart_icon, layertree.LayerTree.cmd_icon, layertree.LayerTree.FindItemByIndex(), layertree.LayerTree.first, layertree.LayerTree.folder, layertree.LayerTree.forceCheck, layertree.LayerTree.geodesic_icon, utils.GetLayerNameFromCmd(), layertree.LayerTree.grid_icon, layertree.LayerTree.groupnode, layertree.LayerTree.his_icon, layertree.LayerTree.labels_icon, layertree.LayerTree.layer_selected, layertree.LayerTree.OnCmdChanged(), layertree.LayerTree.OnLayerContextMenu(), layertree.LayerTree.PropertiesDialog(), layertree.LayerTree.rarrow_icon, layertree.LayerTree.rast3d_icon, layertree.LayerTree.rast_icon, layertree.LayerTree.rgb_icon, layertree.LayerTree.rhumb_icon, layertree.LayerTree.rnum_icon, workspace.ProcessWorkspaceFile.root, layertree.LayerTree.root, widgets.ItemTree.root, model.ProcessModelFile.root, widgets.SetRange(), layertree.LayerTree.shaded_icon, layertree.LayerTree.theme_icon, and layertree.LayerTree.vect_icon.

Referenced by layertree.LayerTree.OnRenamed().

def layertree.LayerTree.ChangeLayer (   self,
  item 
)
def layertree.LayerTree.ChangeLayerOpacity (   self,
  layer,
  value 
)

Change opacity value of layer.

Parameters
layerlayer for which to change (item in layertree)
valueopacity value (float between 0 and 1)

Definition at line 682 of file layertree.py.

References layertree.LayerTree._getLayerName(), layertree.LayerTree.GetMapDisplay(), and tools.UpdateSettings().

Referenced by layertree.LayerTree.OnApplyLayerOpacity(), and layertree.LayerTree.OnPopupOpacityLevel().

def layertree.LayerTree.EnableItemType (   self,
  type,
  enable = True 
)
def layertree.LayerTree.FindItemByData (   self,
  key,
  value 
)

Find item based on key and value (see PyData[0])

Returns
item instance
None not found

Definition at line 1594 of file layertree.py.

def layertree.LayerTree.FindItemByIndex (   self,
  index 
)

Find item by index (starting at 0)

Returns
item instance
None not found

Definition at line 1603 of file layertree.py.

References workspace.ProcessWorkspaceFile.root, layertree.LayerTree.root, widgets.ItemTree.root, and model.ProcessModelFile.root.

Referenced by layertree.LayerTree.AddLayer().

def layertree.LayerTree.GetMap (   self)
def layertree.LayerTree.GetMapDisplay (   self)

Get associated MapFrame.

Definition at line 281 of file layertree.py.

References layertree.LayerTree.mapdisplay, and manager.AttributeManager.mapdisplay.

Referenced by layertree.LayerTree.ChangeLayerOpacity().

def layertree.LayerTree.GetOptData (   self,
  dcmd,
  layer,
  params,
  propwin 
)

Process layer data (when changes in propertiesdialog are applied)

Definition at line 1456 of file layertree.py.

References layertree.LayerTree._getLayerName(), render.Map.ChangeLayer(), layertree.LayerTree.ChangeLayer(), and utils.GetLayerNameFromCmd().

Referenced by histogram.HistogramFrame.OnOptions(), and layertree.LayerTree.PropertiesDialog().

def layertree.LayerTree.GetSelections (   self)
Returns a list of selected items.

This method is copied from customtreecontrol and overriden because
with some version wx (?) multiple selection doesn't work. 
Probably it is caused by another GetSelections method in treemixin.DragAndDrop?

Definition at line 261 of file layertree.py.

Referenced by ogc_services.LayersList.GetSelectedLayers(), and layertree.LayerTree.OnSetCompRegFromMap().

def layertree.LayerTree.OnActivateLayer (   self,
  event 
)

Double click on the layer item.

Launch property dialog, or expand/collapse group of items, etc.

Definition at line 1039 of file layertree.py.

References goutput.PyStc.Expand(), layertree.LayerTree.layer_selected, and layertree.LayerTree.PropertiesDialog().

def layertree.LayerTree.OnApplyLayerOpacity (   self,
  event 
)

Handles EVT_APPLY_OPACITY event.

Definition at line 678 of file layertree.py.

References layertree.LayerTree.ChangeLayerOpacity(), and layertree.LayerTree.layer_selected.

Referenced by layertree.LayerTree.OnPopupOpacityLevel().

def layertree.LayerTree.OnChangeSel (   self,
  event 
)

Selection changed.

Definition at line 1225 of file layertree.py.

References layertree.LayerTree._setGradient(), and layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnChangingSel (   self,
  event 
)

Selection is changing.

If the user is clicking on checkbox, selection change is vetoed.

Definition at line 1217 of file layertree.py.

References layertree.LayerTree.hitCheckbox.

def layertree.LayerTree.OnCloseWindow (   self,
  event 
)

Definition at line 1590 of file layertree.py.

def layertree.LayerTree.OnCmdChanged (   self,
  event 
)

Change command string.

Definition at line 1185 of file layertree.py.

References render.Map.ChangeLayer(), and layertree.LayerTree.ChangeLayer().

Referenced by layertree.LayerTree.AddLayer(), and layertree.LayerTree.RecreateItem().

def layertree.LayerTree.OnCollapseNode (   self,
  event 
)

Collapse node.

Definition at line 1296 of file layertree.py.

References layertree.LayerTree.folder, and layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnDeleteLayer (   self,
  event 
)
def layertree.LayerTree.OnDrop (   self,
  dropTarget,
  dragItem 
)
def layertree.LayerTree.OnEndDrag (   self,
  event 
)
def layertree.LayerTree.OnExpandNode (   self,
  event 
)

Expand node.

Definition at line 1302 of file layertree.py.

References layertree.LayerTree.folder_open, and layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnHistogram (   self,
  event 
)

Plot histogram for given raster map layer.

Definition at line 584 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnIdle (   self,
  event 
)

Only re-order and re-render a composite map image from GRASS during idle time instead of multiple times during layer changing.

Definition at line 285 of file layertree.py.

References layertree.LayerTree.rerender.

def layertree.LayerTree.OnKeyUp (   self,
  event 
)

Key pressed.

Definition at line 303 of file layertree.py.

References mapwindow.MapWindow.lmgr, layertree.LayerTree.lmgr, and workspace.WriteWorkspaceFile.lmgr.

def layertree.LayerTree.OnLayerChecked (   self,
  event 
)
def layertree.LayerTree.OnLayerChecking (   self,
  event 
)

Layer checkbox is being checked.

Continue only if mouse is above checkbox or layer was checked programatically.

Definition at line 1109 of file layertree.py.

References layertree.LayerTree.forceCheck, and layertree.LayerTree.hitCheckbox.

def layertree.LayerTree.OnLayerContextMenu (   self,
  event 
)

Contextual menu for item/layer.

Definition at line 313 of file layertree.py.

References layertree.LayerTree.layer_selected.

Referenced by layertree.LayerTree.AddLayer(), and layertree.LayerTree.RecreateItem().

def layertree.LayerTree.OnMetadata (   self,
  event 
)

Print metadata of raster/vector map layer TODO: Dialog to modify metadata.

Definition at line 489 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnMotion (   self,
  event 
)

Mouse is moving.

Detects if mouse points at checkbox.

Definition at line 1202 of file layertree.py.

References layertree.LayerTree.hitCheckbox, and wxnviz.Texture.HitTest().

def layertree.LayerTree.OnNvizProperties (   self,
  event 
)

Nviz-related properties (raster/vector/volume)

Todo:
vector/volume

Definition at line 705 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnPopupOpacityLevel (   self,
  event 
)
def layertree.LayerTree.OnPopupProperties (   self,
  event 
)

Popup properties dialog.

Definition at line 657 of file layertree.py.

References layertree.LayerTree.layer_selected, and layertree.LayerTree.PropertiesDialog().

def layertree.LayerTree.OnProfile (   self,
  event 
)

Plot profile of given raster map layer.

Definition at line 549 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnRasterColorTable (   self,
  event 
)

Set color table for raster map.

Definition at line 572 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnRenamed (   self,
  event 
)
def layertree.LayerTree.OnRenameLayer (   self,
  event 
)

Rename layer.

Definition at line 719 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnSetBgMap (   self,
  event 
)

Set background vector map for editing sesstion.

Definition at line 640 of file layertree.py.

References layertree.LayerTree._setGradient(), and layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnSetCompRegFromMap (   self,
  event 
)

Set computational region from selected raster/vector map.

Definition at line 516 of file layertree.py.

References layertree.LayerTree.GetSelections().

def layertree.LayerTree.OnSetCompRegFromRaster (   self,
  event 
)

Set computational region from selected raster map (ignore NULLs)

Definition at line 505 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnStartEditing (   self,
  event 
)

Start editing vector map layer requested by the user.

Definition at line 608 of file layertree.py.

References layertree.LayerTree._setGradient(), and layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnStopEditing (   self,
  event 
)
def layertree.LayerTree.OnTopology (   self,
  event 
)

Rebuild topology of selected vector map.

Definition at line 482 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnUnivariateStats (   self,
  event 
)

Univariate raster statistics.

Definition at line 603 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.OnVectorColorTable (   self,
  event 
)

Set color table for vector map.

Definition at line 578 of file layertree.py.

References layertree.LayerTree.layer_selected.

def layertree.LayerTree.PropertiesDialog (   self,
  layer,
  show = True 
)
def layertree.LayerTree.ReorderLayers (   self)

Add commands from data associated with any valid layers (checked or not) to layer list in order to match layers in layer tree.

Definition at line 1518 of file layertree.py.

References tools.range, and layertree.LayerTree.reorder.

Field Documentation

layertree.LayerTree.auimgr

Definition at line 114 of file layertree.py.

layertree.LayerTree.chart_icon

Definition at line 212 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.cmd_icon

Definition at line 227 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.disp_idx

Definition at line 108 of file layertree.py.

layertree.LayerTree.first
layertree.LayerTree.folder
layertree.LayerTree.folder_open

Definition at line 179 of file layertree.py.

Referenced by layertree.LayerTree.OnExpandNode().

layertree.LayerTree.geodesic_icon

Definition at line 218 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.grid_icon

Definition at line 215 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.groupnode

Definition at line 121 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.his_icon

Definition at line 194 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.hitCheckbox
layertree.LayerTree.labels_icon

Definition at line 224 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.lmgr
layertree.LayerTree.mapdisplay

SetAutoLayout() causes that no vertical scrollbar is displayed when some layers are not visible in layer tree self.SetAutoLayout(True)

Definition at line 152 of file layertree.py.

Referenced by layertree.LayerTree.GetMapDisplay().

layertree.LayerTree.notebook

Definition at line 112 of file layertree.py.

layertree.LayerTree.optpage

Definition at line 122 of file layertree.py.

layertree.LayerTree.popupID

Definition at line 326 of file layertree.py.

layertree.LayerTree.popupMenu

Definition at line 333 of file layertree.py.

layertree.LayerTree.profileFrame

Definition at line 560 of file layertree.py.

layertree.LayerTree.rarrow_icon

Definition at line 200 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.rast3d_icon

Definition at line 188 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.rast_icon

Definition at line 185 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.rgb_icon

Definition at line 191 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.rhumb_icon

Definition at line 221 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.rnum_icon

Definition at line 203 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.saveitem

Definition at line 124 of file layertree.py.

layertree.LayerTree.shaded_icon

Definition at line 197 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.theme_icon

Definition at line 209 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().

layertree.LayerTree.treepg

Definition at line 118 of file layertree.py.

layertree.LayerTree.vect_icon

Definition at line 206 of file layertree.py.

Referenced by layertree.LayerTree.AddLayer().


The documentation for this class was generated from the following file: