GRASS Programmer's Manual  6.4.2(2012)
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
gui_modules.mapdisp_window.BufferedWindow Class Reference

A Buffered window class (2D view mode) More...

Inheritance diagram for gui_modules.mapdisp_window.BufferedWindow:
Collaboration diagram for gui_modules.mapdisp_window.BufferedWindow:

Public Member Functions

def __init__
def Draw
 Draws map and overlay decorations.
def TextBounds
 Return text boundary data.
def OnPaint
 Draw PseudoDC's to buffered paint DC.
def OnSize
 Scale map image so that it is the same size as the Window.
def OnIdle
 Only re-render a composite map image from GRASS during idle time instead of multiple times during resizing.
def SaveToFile
 This draws the pseudo DC to a buffer that can be saved to a file.
def GetOverlay
 Converts rendered overlay files to wx.Image.
def GetImage
 Converts redered map files to wx.Image.
def UpdateMap
 Updates the canvas anytime there is a change to the underlaying images or to the geometry of the canvas.
def DrawCompRegionExtent
 Draw computational region extent in the display.
def IsInRegion
 Test if 'region' is inside of 'refRegion'.
def EraseMap
 Erase map canvas.
def DragMap
 Drag the entire map image for panning.
def DragItem
 Drag an overlay decoration item.
def MouseDraw
 Mouse box or line from 'begin' to 'end'.
def DrawLines
 Draw polyline in PseudoDC.
def DrawCross
 Draw cross in PseudoDC.
def MouseActions
 Mouse motion and button click notifier.
def OnMouseWheel
 Mouse wheel moved.
def OnDragging
 Mouse dragging.
def OnLeftDown
 Left mouse button pressed.
def OnLeftUp
 Left mouse button released.
def OnButtonDClick
 Mouse button double click.
def OnRightDown
 Right mouse button pressed.
def OnRightUp
 Right mouse button released.
def OnMiddleDown
 Middle mouse button pressed.
def OnMiddleUp
 Middle mouse button released.
def OnMouseEnter
 Mouse entered window and no mouse buttons were pressed.
def OnMouseMoving
 Motion event and no mouse buttons were pressed.
def ClearLines
 Clears temporary drawn lines from PseudoDC.
def Pixel2Cell
 Convert image coordinates to real word coordinates.
def Cell2Pixel
 Convert real word coordinates to image coordinates.
def Zoom
 Calculates new region while (un)zoom/pan-ing.
def ZoomBack
 Zoom to previous extents in zoomhistory list.
def ZoomHistory
 Manages a list of last 10 zoom extents.
def ResetZoomHistory
 Reset zoom history.
def ZoomToMap
 Set display extents to match selected raster or vector map(s).
def ZoomToWind
 Set display geometry to match computational region settings (set with g.region)
def ZoomToDefault
 Set display geometry to match default region settings.
def DisplayToWind
 Set computational region (WIND file) to match display extents.
def ZoomToSaved
 Set display geometry to match extents in saved region file.
def SaveDisplayRegion
 Save display extents to named region file.
def SaveRegion
 Save region settings.
def Distance
 Calculete distance.
- Public Member Functions inherited from gui_modules.mapdisp_window.MapWindow
def __init__
def OnMotion
 Track mouse motion and update statusbar.
def GetLayerByName
 Get layer from layer tree by nam.
def GetSelectedLayer
 Get selected layer from layer tree.

Data Fields

 resize
 dragimg
 pen
 polypen
 polycoords
 lineid
 plineid
 processMouse
 mapfile
 img
 overlays
 imagedict
 select
 textdict
 currtxtid
 zoomhistory
 currzoom
 zoomtype
 hitradius
 dialogOffset
 redrawAll
 self.OnSize(None)
 dragid
 lastpos
 pdc
 pdcVector
 pdcDec
 pdcTmp
 bufferLast
 buffer
 self.Map.AlignExtentFromDisplay()
 regionCoords
 idlist
- Data Fields inherited from gui_modules.mapdisp_window.MapWindow
 parent
 Map
 tree
 lmgr
 mouse

Detailed Description

A Buffered window class (2D view mode)

Superclass for VDigitWindow (vector digitizer).

When the drawing needs to change, you app needs to call the UpdateMap() method. Since the drawing is stored in a bitmap, you can also save the drawing to file by calling the SaveToFile() method.

Definition at line 191 of file mapdisp_window.py.

Constructor & Destructor Documentation

def gui_modules.mapdisp_window.BufferedWindow.__init__ (   self,
  parent,
  id = wx.ID_ANY,
  Map = None,
  tree = None,
  lmgr = None,
  style = wx.NO_FULL_REPAINT_ON_RESIZE,
  kwargs 
)

Definition at line 203 of file mapdisp_window.py.

Member Function Documentation

def gui_modules.mapdisp_window.BufferedWindow.Cell2Pixel (   self,
  east,
  north 
)
def gui_modules.mapdisp_window.BufferedWindow.DisplayToWind (   self)

Set computational region (WIND file) to match display extents.

Definition at line 1662 of file mapdisp_window.py.

def gui_modules.mapdisp_window.BufferedWindow.Distance (   self,
  beginpt,
  endpt,
  screen = True 
)

Calculete distance.

Ctypes required for LL-locations

Parameters
beginptfirst point
endptsecond point
screenTrue for screen coordinates otherwise EN

Definition at line 1767 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.Pixel2Cell().

Referenced by gui_modules.mapdisp_vdigit.VDigitWindow.SetToolbar().

def gui_modules.mapdisp_window.BufferedWindow.DragItem (   self,
  id,
  event 
)
def gui_modules.mapdisp_window.BufferedWindow.DragMap (   self,
  moveto 
)
def gui_modules.mapdisp_window.BufferedWindow.DrawCompRegionExtent (   self)

Draw computational region extent in the display.

Display region is drawn as a blue box inside the computational region, computational region inside a display region as a red box).

Definition at line 779 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.IsInRegion(), gui_modules.mapdisp_window.BufferedWindow.polypen, and gui_modules.mapdisp_vdigit.VDigitWindow.polypen.

Referenced by gui_modules.mapdisp_window.BufferedWindow.UpdateMap().

def gui_modules.mapdisp_window.BufferedWindow.DrawCross (   self,
  pdc,
  coords,
  size,
  rotation = 0,
  text = None,
  textAlign = 'lr',
  textOffset = (5, 5 
)

Draw cross in PseudoDC.

Todo:
implement rotation
Parameters
pdcPseudoDC
coordcenter coordinates
rotationrotate symbol
textdraw also text (text, font, color, rotation)
textAlignalignment (default 'lower-right') offset for text (from center point)

Definition at line 963 of file mapdisp_window.py.

References gui_modules.histogram.BufferedWindow.Draw(), gui_modules.mapdisp_window.BufferedWindow.Draw(), gui_modules.colorrules.BufferedWindow.Draw(), and gui_modules.mapdisp_window.BufferedWindow.lineid.

Referenced by gui_modules.mapdisp_window.BufferedWindow.DrawLines(), and gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpModifyLine().

def gui_modules.mapdisp_window.BufferedWindow.GetImage (   self)
def gui_modules.mapdisp_window.BufferedWindow.GetOverlay (   self)

Converts rendered overlay files to wx.Image.

Updates self.imagedict

Returns
list of images

Definition at line 588 of file mapdisp_window.py.

References gui_modules.histogram.BufferedWindow.imagedict, and gui_modules.mapdisp_window.BufferedWindow.imagedict.

Referenced by gui_modules.render.Map.ChangeOverlay(), and gui_modules.mapdisp_window.BufferedWindow.UpdateMap().

def gui_modules.mapdisp_window.BufferedWindow.IsInRegion (   self,
  region,
  refRegion 
)

Test if 'region' is inside of 'refRegion'.

Parameters
regioninput region
refRegionreference region (e.g. computational region)
Returns
True if region is inside of refRegion
False

Definition at line 806 of file mapdisp_window.py.

Referenced by gui_modules.mapdisp_window.BufferedWindow.DrawCompRegionExtent().

def gui_modules.mapdisp_window.BufferedWindow.MouseDraw (   self,
  pdc = None,
  begin = None,
  end = None 
)
def gui_modules.mapdisp_window.BufferedWindow.OnIdle (   self,
  event 
)

Only re-render a composite map image from GRASS during idle time instead of multiple times during resizing.

Definition at line 548 of file mapdisp_window.py.

References gui_modules.histogram.BufferedWindow.resize, gui_modules.mapdisp_window.BufferedWindow.resize, gui_modules.colorrules.BufferedWindow.resize, and gui_modules.mapdisp_window.BufferedWindow.UpdateMap().

def gui_modules.mapdisp_window.BufferedWindow.OnMiddleDown (   self,
  event 
)

Middle mouse button pressed.

Definition at line 1329 of file mapdisp_window.py.

References gui_modules.mapdisp_window.MapWindow.mouse.

Referenced by gui_modules.mapdisp_window.BufferedWindow.MouseActions().

def gui_modules.mapdisp_window.BufferedWindow.OnMiddleUp (   self,
  event 
)
def gui_modules.mapdisp_window.BufferedWindow.OnMouseMoving (   self,
  event 
)
def gui_modules.mapdisp_window.BufferedWindow.OnMouseWheel (   self,
  event 
)
def gui_modules.mapdisp_window.BufferedWindow.OnPaint (   self,
  event 
)

Draw PseudoDC's to buffered paint DC.

If self.redrawAll is False on self.pdcTmp content is re-drawn

Definition at line 440 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.buffer, gui_modules.mapdisp_vdigit.VDigitWindow.redrawAll, and gui_modules.mapdisp_window.BufferedWindow.redrawAll.

Referenced by gui_modules.nviz_mapdisp.GLWindow.OnMouseAction().

def gui_modules.mapdisp_window.BufferedWindow.OnRightDown (   self,
  event 
)
def gui_modules.mapdisp_window.BufferedWindow.OnSize (   self,
  event 
)

Scale map image so that it is the same size as the Window.

Definition at line 514 of file mapdisp_window.py.

def gui_modules.mapdisp_window.BufferedWindow.ResetZoomHistory (   self)

Reset zoom history.

Definition at line 1583 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.zoomhistory.

def gui_modules.mapdisp_window.BufferedWindow.SaveDisplayRegion (   self)

Save display extents to named region file.

Definition at line 1717 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.SaveRegion().

def gui_modules.mapdisp_window.BufferedWindow.SaveRegion (   self,
  wind 
)

Save region settings.

Parameters
windregion name

Definition at line 1741 of file mapdisp_window.py.

Referenced by gui_modules.mapdisp_window.BufferedWindow.SaveDisplayRegion().

def gui_modules.mapdisp_window.BufferedWindow.UpdateMap (   self,
  render = True,
  renderVector = True 
)

Updates the canvas anytime there is a change to the underlaying images or to the geometry of the canvas.

Parameters
renderre-render map composition
renderVectorre-render vector map layer enabled for editing (used for digitizer)

Definition at line 623 of file mapdisp_window.py.

References gui_modules.mapdisp_vdigit.VDigitWindow._updateMap(), gui_modules.mapdisp_window.BufferedWindow.ClearLines(), gui_modules.histogram.BufferedWindow.Draw(), gui_modules.mapdisp_window.BufferedWindow.Draw(), gui_modules.colorrules.BufferedWindow.Draw(), gui_modules.mapdisp_window.BufferedWindow.DrawCompRegionExtent(), gui_modules.mapdisp_window.BufferedWindow.DrawLines(), gui_modules.histogram.BufferedWindow.GetImage(), gui_modules.mapdisp_window.BufferedWindow.GetImage(), gui_modules.colorrules.BufferedWindow.GetImage(), gui_modules.mapdisp_window.BufferedWindow.GetOverlay(), gui_modules.histogram.BufferedWindow.imagedict, gui_modules.mapdisp_window.BufferedWindow.imagedict, gui_modules.histogram.BufferedWindow.img, gui_modules.mapdisp_window.BufferedWindow.img, gui_modules.colorrules.BufferedWindow.img, gui_modules.location_wizard.RegionDef.img, gui_modules.histogram.BufferedWindow.mapfile, gui_modules.mapdisp_window.BufferedWindow.mapfile, gui_modules.colorrules.BufferedWindow.mapfile, gui_modules.mapdisp_window.MapWindow.mouse, gui_modules.mapdisp_window.BufferedWindow.overlays, gui_modules.gpyshell.PyShellWindow.parent, gui_modules.mapdisp_command.Command.parent, gui_modules.colorrules.ColorTable.parent, gui_modules.histogram.BufferedWindow.parent, gui_modules.dbm_dialogs.DisplayAttributesDialog.parent, gui_modules.mapdisp_window.MapWindow.parent, gui_modules.dbm.Log.parent, gui_modules.goutput.CmdThread.parent, gui_modules.dbm.VirtualAttributeList.parent, gui_modules.gcpmapdisp.MapFrame.parent, gui_modules.gcpmanager.GCPWizard.parent, gui_modules.mapdisp.MapFrame.parent, gui_modules.goutput.GMConsole.parent, gui_modules.ghelp.MenuTreeWindow.parent, gui_modules.location_wizard.CoordinateSystemPage.parent, gui_modules.gcpmanager.LocationPage.parent, gui_modules.location_wizard.ProjectionsPage.parent, gui_modules.gcpmanager.GroupPage.parent, gui_modules.ghelp.MenuTree.parent, gui_modules.gdialogs.DecorationDialog.parent, gui_modules.dbm.AttributeManager.parent, gui_modules.gcpmanager.DispMapPage.parent, gui_modules.gselect.LayerSelect.parent, gui_modules.gmodeler.ModelFrame.parent, gui_modules.location_wizard.ProjParamsPage.parent, gui_modules.gdialogs.TextLayerDialog.parent, gui_modules.colorrules.BufferedWindow.parent, gui_modules.gcpmanager.GCP.parent, gui_modules.ghelp.InstallExtensionWindow.parent, gui_modules.gdialogs.AddMapLayersDialog.parent, gui_modules.location_wizard.DatumPage.parent, gui_modules.goutput.GMStdout.parent, gui_modules.goutput.GMStderr.parent, gui_modules.goutput.GMStc.parent, gui_modules.location_wizard.EllipsePage.parent, gui_modules.ghelp.ExtensionTree.parent, gui_modules.gdialogs.ImportDialog.parent, gui_modules.gselect.GdalSelect.parent, gui_modules.ghelp.UninstallExtensionWindow.parent, gui_modules.ghelp.CheckListExtension.parent, gui_modules.location_wizard.EPSGPage.parent, gui_modules.ghelp.HelpWindow.parent, gui_modules.gdialogs.LayersList.parent, gui_modules.location_wizard.CustomPage.parent, gui_modules.gdialogs.SetOpacityDialog.parent, gui_modules.location_wizard.SummaryPage.parent, gui_modules.gmodeler.ModelCanvas.parent, gui_modules.gdialogs.StaticWrapText.parent, gui_modules.gmodeler.ModelAction.parent, gui_modules.gdialogs.ImageSizeDialog.parent, gui_modules.location_wizard.LocationWizard.parent, gui_modules.gmodeler.ModelData.parent, gui_modules.gmodeler.ModelDataDialog.parent, gui_modules.location_wizard.RegionDef.parent, gui_modules.dbm.TableListCtrl.parent, gui_modules.dbm.LayerListCtrl.parent, gui_modules.dbm.LayerBook.parent, gui_modules.gcpmanager.GrSettingsDialog.parent, gui_modules.gmodeler.ModelSearchDialog.parent, gui_modules.gmodeler.ModelRelation.parent, gui_modules.gmodeler.ModelRelationDialog.parent, gui_modules.gmodeler.ModelParamDialog.parent, gui_modules.gmodeler.ModelListCtrl.parent, gui_modules.gmodeler.VariablePanel.parent, gui_modules.gmodeler.ModelItem.parent, gui_modules.gmodeler.ModelItemDialog.parent, gui_modules.gmodeler.ItemPanel.parent, gui_modules.gmodeler.ItemCheckListCtrl.parent, gui_modules.histogram.BufferedWindow.pdc, gui_modules.mapdisp_window.BufferedWindow.pdc, gui_modules.colorrules.BufferedWindow.pdc, gui_modules.mapdisp_window.BufferedWindow.pdcDec, gui_modules.mapdisp_window.BufferedWindow.pdcTmp, gui_modules.mapdisp_window.BufferedWindow.polycoords, gui_modules.mapdisp_vdigit.VDigitWindow.polycoords, gui_modules.histogram.BufferedWindow.resize, gui_modules.mapdisp_window.BufferedWindow.resize, gui_modules.colorrules.BufferedWindow.resize, gui_modules.mapdisp_window.BufferedWindow.textdict, gui_modules.mapdisp_window.MapWindow.tree, gui_modules.gcpmapdisp.MapFrame.tree, gui_modules.mapdisp.MapFrame.tree, gui_modules.ghelp.MenuTreeWindow.tree, gui_modules.ghelp.InstallExtensionWindow.tree, and gui_modules.gmodeler.ProcessModelFile.tree.

Referenced by gui_modules.mapdisp_window.BufferedWindow.OnIdle(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftDownAddLine(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftDownDisplayCA(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftDownUndo(), gui_modules.mapdisp_window.BufferedWindow.OnLeftUp(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpBulkLine(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpConnectLine(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpCopyLine(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpModifyLine(), gui_modules.mapdisp_vdigit.VDigitWindow.OnLeftUpVarious(), gui_modules.mapdisp_window.BufferedWindow.OnMiddleUp(), gui_modules.mapdisp_window.BufferedWindow.OnMouseWheel(), gui_modules.nviz_mapdisp.GLWindow.OnPaint(), gui_modules.gcpmapdisp.MapFrame.OnZoomRegion(), gui_modules.mapdisp.MapFrame.OnZoomRegion(), gui_modules.mapdisp_window.BufferedWindow.SaveToFile(), gui_modules.mapdisp_window.BufferedWindow.ZoomBack(), gui_modules.mapdisp_window.BufferedWindow.ZoomToDefault(), gui_modules.mapdisp_window.BufferedWindow.ZoomToMap(), gui_modules.mapdisp_window.BufferedWindow.ZoomToSaved(), and gui_modules.mapdisp_window.BufferedWindow.ZoomToWind().

def gui_modules.mapdisp_window.BufferedWindow.ZoomBack (   self)

Zoom to previous extents in zoomhistory list.

Definition at line 1516 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.UpdateMap(), and gui_modules.mapdisp_window.BufferedWindow.zoomhistory.

def gui_modules.mapdisp_window.BufferedWindow.ZoomHistory (   self,
  n,
  s,
  e,
  w 
)
def gui_modules.mapdisp_window.BufferedWindow.ZoomToDefault (   self)

Set display geometry to match default region settings.

Definition at line 1649 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.UpdateMap(), and gui_modules.mapdisp_window.BufferedWindow.ZoomHistory().

def gui_modules.mapdisp_window.BufferedWindow.ZoomToMap (   self,
  layers = None,
  ignoreNulls = False,
  render = True 
)

Set display extents to match selected raster or vector map(s).

Parameters
layerslist of layers to be zoom to
ignoreNullsTrue to ignore null-values (valid only for rasters)
renderTrue to re-render display

Definition at line 1587 of file mapdisp_window.py.

References gui_modules.mapdisp_window.MapWindow.GetSelectedLayer(), gui_modules.mapdisp_window.BufferedWindow.UpdateMap(), and gui_modules.mapdisp_window.BufferedWindow.ZoomHistory().

def gui_modules.mapdisp_window.BufferedWindow.ZoomToSaved (   self)

Set display geometry to match extents in saved region file.

Definition at line 1686 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.UpdateMap(), and gui_modules.mapdisp_window.BufferedWindow.ZoomHistory().

def gui_modules.mapdisp_window.BufferedWindow.ZoomToWind (   self)

Set display geometry to match computational region settings (set with g.region)

Definition at line 1636 of file mapdisp_window.py.

References gui_modules.mapdisp_window.BufferedWindow.UpdateMap(), and gui_modules.mapdisp_window.BufferedWindow.ZoomHistory().

Field Documentation

gui_modules.mapdisp_window.BufferedWindow.buffer

self.Map.AlignExtentFromDisplay()

Definition at line 528 of file mapdisp_window.py.

Referenced by gui_modules.mapdisp_window.BufferedWindow.DragMap(), and gui_modules.mapdisp_window.BufferedWindow.OnPaint().

gui_modules.mapdisp_window.BufferedWindow.bufferLast

Definition at line 477 of file mapdisp_window.py.

gui_modules.mapdisp_window.BufferedWindow.currtxtid
gui_modules.mapdisp_window.BufferedWindow.currzoom

Definition at line 243 of file mapdisp_window.py.

gui_modules.mapdisp_window.BufferedWindow.dragimg
gui_modules.mapdisp_window.BufferedWindow.hitradius
gui_modules.mapdisp_window.BufferedWindow.idlist

Definition at line 1147 of file mapdisp_window.py.

gui_modules.mapdisp_window.BufferedWindow.img
gui_modules.mapdisp_window.BufferedWindow.lastpos
gui_modules.mapdisp_window.BufferedWindow.pdcDec
gui_modules.mapdisp_window.BufferedWindow.pdcVector
gui_modules.mapdisp_window.BufferedWindow.pen
gui_modules.mapdisp_window.BufferedWindow.plineid
gui_modules.mapdisp_window.BufferedWindow.polypen
gui_modules.mapdisp_window.BufferedWindow.processMouse
gui_modules.mapdisp_window.BufferedWindow.redrawAll
gui_modules.mapdisp_window.BufferedWindow.regionCoords

Definition at line 797 of file mapdisp_window.py.

gui_modules.mapdisp_window.BufferedWindow.resize
gui_modules.mapdisp_window.BufferedWindow.select

Definition at line 237 of file mapdisp_window.py.

Referenced by gui_modules.mapdisp_window.BufferedWindow.Draw().

gui_modules.mapdisp_window.BufferedWindow.zoomtype

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