[GRASS-SVN] r63320 - in grass/branches/releasebranch_7_0: . gui/wxpython/core gui/wxpython/lmgr

svn_grass at osgeo.org svn_grass at osgeo.org
Mon Dec 1 20:20:45 PST 2014


Author: annakrat
Date: 2014-12-01 20:20:45 -0800 (Mon, 01 Dec 2014)
New Revision: 63320

Modified:
   grass/branches/releasebranch_7_0/
   grass/branches/releasebranch_7_0/gui/wxpython/core/workspace.py
   grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py
Log:
wxGUI:workspace loading fixed when multiple 2D displays on Windows (merge from trunk, r63319)


Property changes on: grass/branches/releasebranch_7_0
___________________________________________________________________
Modified: svn:mergeinfo
   - /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750,62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62831,62838,62847,62850,62856,62879,62881,62886,62907-62908,62910,62912,62914,62916,62918,62920,62925,62933,62935,62940,62942,62944-62946,62949,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,63076,63079,63081,63083,63085,63087,63089,
 63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63276,63279,63281,63283,63287,63290,63292,63302,63315
   + /grass/trunk:60817,61096,61141,61994,62105,62179-62180,62182,62403,62422,62424,62437,62466,62469,62487,62491,62494,62501,62506,62508-62509,62515,62518-62519,62521,62526,62533,62539,62541,62555,62562,62566,62570,62573,62575,62585,62588,62597,62603,62606,62608-62609,62614,62618,62628,62632,62638,62642,62648-62649,62652,62654-62657,62666,62691,62705,62709,62723,62730,62739,62741,62743,62746,62750,62752,62757,62762,62785,62798,62800-62801,62803,62805,62812,62822,62824,62831,62838,62847,62850,62856,62879,62881,62886,62907-62908,62910,62912,62914,62916,62918,62920,62925,62933,62935,62940,62942,62944-62946,62949,62958,62960,62962,62964,62966-62968,62970,62973,62975,62977,62981,62983,62985,62987,62989,62991,62993,62995,62997,62999-63000,63003,63005,63007,63009,63011,63013,63015,63017,63020,63022,63024,63026,63028-63031,63033,63035,63037,63040,63043-63044,63047,63049,63051,63053,63055,63057,63060,63062-63064,63066,63068,63070-63071,63074,63076,63079,63081,63083,63085,63087,63089,
 63091,63093,63095,63098,63100,63102,63105,63107,63109,63111,63113-63114,63116,63119,63121,63123,63125,63130,63132-63133,63135,63137,63140,63143,63145,63147,63149,63151,63153-63154,63157,63165,63170,63173,63175,63187,63192-63193,63196,63199-63200,63202,63209,63216,63220-63221,63224,63227,63240,63246,63250,63255,63259,63261,63276,63279,63281,63283,63287,63290,63292,63302,63315,63319

Modified: grass/branches/releasebranch_7_0/gui/wxpython/core/workspace.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/core/workspace.py	2014-12-02 04:19:41 UTC (rev 63319)
+++ grass/branches/releasebranch_7_0/gui/wxpython/core/workspace.py	2014-12-02 04:20:45 UTC (rev 63320)
@@ -1232,7 +1232,7 @@
         self.indent -= 4
         self.file.write('%s</focus>\n' % (' ' * self.indent))
         # rotation
-        rotation = ','.join([str(i) for i in iview['rotation']]) if iview['rotation'] else ''
+        rotation = ','.join([str(i) for i in iview['rotation']]) if iview.get('rotation', '') else ''
         self.file.write('%s<rotation>%s</rotation>\n' % (' ' * self.indent, rotation))
 
         # background

Modified: grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py
===================================================================
--- grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py	2014-12-02 04:19:41 UTC (rev 63319)
+++ grass/branches/releasebranch_7_0/gui/wxpython/lmgr/frame.py	2014-12-02 04:20:45 UTC (rev 63320)
@@ -103,6 +103,7 @@
         self.currentPageNum  = None       # currently selected page number for layer tree notebook
         self.workspaceFile = workspace    # workspace file
         self.workspaceChanged = False     # track changes in workspace
+        self.loadingWorkspace = False     # if we are currently loading workspace to ignore some events
         self.cwdPath = None               # current working directory
 
         wx.Frame.__init__(self, parent = parent, id = id, size = size,
@@ -1165,8 +1166,9 @@
         
         # delete current layer tree content
         self.OnWorkspaceClose()
-        
+        self.loadingWorkspace = True
         self.LoadWorkspaceFile(filename)
+        self.loadingWorkspace = False
 
         self.workspaceFile = filename
         self._setTitle()
@@ -1251,6 +1253,8 @@
             
             displayId += 1
             mapdisp.Show() # show mapdisplay
+            # set render property to False to speed up loading layers
+            mapdisp.mapWindowProperties.autoRender = False
 
         maptree = None
         selectList = []  # list of selected layers
@@ -1281,6 +1285,10 @@
                 maptree.SelectItem(layer, select=False)
 
         busy.Destroy()
+
+        # set render property again when all layers are loaded
+        for i, display in enumerate(gxwXml.displays):
+            mapdisplay[i].mapWindowProperties.autoRender = display['render']
             
         for idx, mdisp in enumerate(mapdisplay):
             ### avoid double-rendering when loading workspace
@@ -1778,6 +1786,8 @@
         # moved from mapdisp/frame.py
         # TODO: why it is called 3 times when getting focus?
         # and one times when loosing focus?
+        if self.loadingWorkspace:
+            return
         pgnum = self.notebookLayers.GetPageIndex(notebookLayerPage)
         if pgnum > -1:
             self.notebookLayers.SetSelection(pgnum)



More information about the grass-commit mailing list