[GRASS-SVN] r69985 - in grass/trunk/gui/wxpython: . location_wizard
svn_grass at osgeo.org
svn_grass at osgeo.org
Sat Dec 3 12:48:29 PST 2016
Author: martinl
Date: 2016-12-03 12:48:29 -0800 (Sat, 03 Dec 2016)
New Revision: 69985
Modified:
grass/trunk/gui/wxpython/gis_set.py
grass/trunk/gui/wxpython/location_wizard/base.py
grass/trunk/gui/wxpython/location_wizard/dialogs.py
grass/trunk/gui/wxpython/location_wizard/wizard.py
Log:
wxGUI/location wizard simplification: decrease number of dialogs shown by default
Modified: grass/trunk/gui/wxpython/gis_set.py
===================================================================
--- grass/trunk/gui/wxpython/gis_set.py 2016-12-03 17:41:29 UTC (rev 69984)
+++ grass/trunk/gui/wxpython/gis_set.py 2016-12-03 20:48:29 UTC (rev 69985)
@@ -546,46 +546,31 @@
dlg.CenterOnScreen()
if dlg.ShowModal() == wx.ID_YES:
self.ImportFile(gWizard.georeffile)
- else:
- self.SetDefaultRegion(location=gWizard.location)
dlg.Destroy()
- else:
- self.SetDefaultRegion(location=gWizard.location)
+ if gWizard.default_region:
+ defineRegion = RegionDef(self, location=gWizard.location)
+ defineRegion.CenterOnScreen()
+ defineRegion.ShowModal()
+ defineRegion.Destroy()
- dlg = TextEntryDialog(
- parent=self,
- message=_("Do you want to create new mapset?"),
- caption=_("Create new mapset"),
- defaultValue=self._getDefaultMapsetName(),
- validator=GenericValidator(
- grass.legal_name,
- self._nameValidationFailed),
- style=wx.OK | wx.CANCEL | wx.HELP)
- help = dlg.FindWindowById(wx.ID_HELP)
- help.Bind(wx.EVT_BUTTON, self.OnHelp)
- if dlg.ShowModal() == wx.ID_OK:
- mapsetName = dlg.GetValue()
- self.CreateNewMapset(mapsetName)
+ if gWizard.user_mapset:
+ dlg = TextEntryDialog(
+ parent=self,
+ message=_("New mapset:"),
+ caption=_("Create new mapset"),
+ defaultValue=self._getDefaultMapsetName(),
+ validator=GenericValidator(
+ grass.legal_name,
+ self._nameValidationFailed
+ ),
+ style=wx.OK | wx.CANCEL | wx.HELP
+ )
+ help = dlg.FindWindowById(wx.ID_HELP)
+ help.Bind(wx.EVT_BUTTON, self.OnHelp)
+ if dlg.ShowModal() == wx.ID_OK:
+ mapsetName = dlg.GetValue()
+ self.CreateNewMapset(mapsetName)
- def SetDefaultRegion(self, location):
- """Asks to set default region."""
- caption = _("Location <%s> created") % location
- message = _("Do you want to set the default "
- "region extents and resolution now?")
- dlg = wx.MessageDialog(
- parent=self, message="%(caption)s.\n\n%(extent)s" %
- ({'caption': caption, 'extent': message}),
- caption=caption, style=wx.YES_NO | wx.NO_DEFAULT | wx.ICON_QUESTION)
- dlg.CenterOnScreen()
- if dlg.ShowModal() == wx.ID_YES:
- dlg.Destroy()
- defineRegion = RegionDef(self, location=location)
- defineRegion.CenterOnScreen()
- defineRegion.ShowModal()
- defineRegion.Destroy()
- else:
- dlg.Destroy()
-
def ImportFile(self, filePath):
"""Tries to import file as vector or raster.
Modified: grass/trunk/gui/wxpython/location_wizard/base.py
===================================================================
--- grass/trunk/gui/wxpython/location_wizard/base.py 2016-12-03 17:41:29 UTC (rev 69984)
+++ grass/trunk/gui/wxpython/location_wizard/base.py 2016-12-03 20:48:29 UTC (rev 69985)
@@ -36,9 +36,8 @@
label.SetToolTipString(tooltip)
return label
- def MakeTextCtrl(
- self, text='', size=(100, -1),
- style=0, parent=None, tooltip=None):
+ def MakeTextCtrl(self, text='', size=(100, -1),
+ style=0, parent=None, tooltip=None):
"""Generic text control"""
if not parent:
parent = self
@@ -48,9 +47,8 @@
textCtrl.SetToolTipString(tooltip)
return textCtrl
- def MakeButton(
- self, text, id=wx.ID_ANY, size=(-1, -1),
- parent=None, tooltip=None):
+ def MakeButton(self, text, id=wx.ID_ANY, size=(-1, -1),
+ parent=None, tooltip=None):
"""Generic button"""
if not parent:
parent = self
@@ -59,3 +57,14 @@
if tooltip:
button.SetToolTipString(tooltip)
return button
+
+ def MakeCheckBox(self, text, id=wx.ID_ANY, size=(-1, -1),
+ parent=None, tooltip=None):
+ """Generic checkbox"""
+ if not parent:
+ parent = self
+ chbox = wx.CheckBox(parent=parent, id=id, label=text,
+ size=size)
+ if tooltip:
+ chbox.SetToolTipString(tooltip)
+ return chbox
Modified: grass/trunk/gui/wxpython/location_wizard/dialogs.py
===================================================================
--- grass/trunk/gui/wxpython/location_wizard/dialogs.py 2016-12-03 17:41:29 UTC (rev 69984)
+++ grass/trunk/gui/wxpython/location_wizard/dialogs.py 2016-12-03 20:48:29 UTC (rev 69985)
@@ -506,11 +506,20 @@
def __UpdateInfo(self):
"""Update number of rows/cols/cells"""
- self.rows = int((self.north - self.south) / self.nsres)
- self.cols = int((self.east - self.west) / self.ewres)
+ try:
+ rows = int((self.north - self.south) / self.nsres)
+ cols = int((self.east - self.west) / self.ewres)
+ except ZeroDivisionError:
+ return
+ self.rows = rows
+ self.cols = cols
self.cells = self.rows * self.cols
- self.depth = int((self.top - self.bottom) / self.tbres)
+ try:
+ depth = int((self.top - self.bottom) / self.tbres)
+ except ZeroDivisionError:
+ return
+ self.depth = depth
self.cells3 = self.rows * self.cols * self.depth
# 2D
@@ -524,7 +533,7 @@
def OnSetButton(self, event=None):
"""Set default region"""
ret = RunCommand('g.region',
- flags='sgpa',
+ flags='sa',
n=self.north,
s=self.south,
e=self.east,
Modified: grass/trunk/gui/wxpython/location_wizard/wizard.py
===================================================================
--- grass/trunk/gui/wxpython/location_wizard/wizard.py 2016-12-03 17:41:29 UTC (rev 69984)
+++ grass/trunk/gui/wxpython/location_wizard/wizard.py 2016-12-03 20:48:29 UTC (rev 69985)
@@ -22,7 +22,7 @@
- wizard::LocationWizard
- wizard::WizardWithHelpButton
-(C) 2007-2013 by the GRASS Development Team
+(C) 2007-2016 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.
@@ -122,6 +122,20 @@
self._nameValidationFailed))
self.tlocTitle = self.MakeTextCtrl(size=(400, -1))
+ # checkbox
+ self.tlocRegion = self.MakeCheckBox(_("Set default region extent and resolution"),
+ tooltip=_("This option allows setting default "
+ "computation region immediately after "
+ "new location is created. Default "
+ "computation region can be defined later "
+ "using g.region based on imported data."))
+
+ self.tlocUserMapset = self.MakeCheckBox(_("Create user mapset"),
+ tooltip=_("This option allows creating user "
+ "mapset immediately after new location "
+ "is created. Note that GRASS always creates "
+ "PERMANENT mapset."))
+
# layout
self.sizer.Add(item=self.MakeLabel(_("GIS Data Directory:")),
flag=wx.ALIGN_RIGHT |
@@ -146,9 +160,8 @@
tooltip=_("Name of location directory in GIS Data Directory")),
flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
border=5,
- pos=(
- 2,
- 1))
+ pos=(2, 1)
+ )
self.sizer.Add(item=self.tlocation,
flag=wx.ALIGN_LEFT |
wx.ALIGN_CENTER_VERTICAL |
@@ -164,14 +177,23 @@
"you can leave this field blank.")),
flag=wx.ALIGN_RIGHT | wx.ALIGN_TOP | wx.ALIGN_CENTER_VERTICAL | wx.ALL,
border=5,
- pos=(
- 3,
- 1))
+ pos=(3, 1)
+ )
self.sizer.Add(item=self.tlocTitle,
flag=wx.ALIGN_LEFT |
wx.ALIGN_CENTER_VERTICAL |
wx.ALL, border=5,
pos=(3, 2), span=(1, 2))
+ self.sizer.Add(item=self.tlocRegion,
+ flag=wx.ALIGN_LEFT |
+ wx.ALIGN_CENTER_VERTICAL |
+ wx.ALL, border=5,
+ pos=(4, 2), span=(1, 2))
+ self.sizer.Add(item=self.tlocUserMapset,
+ flag=wx.ALIGN_LEFT |
+ wx.ALIGN_CENTER_VERTICAL |
+ wx.ALL, border=5,
+ pos=(5, 2), span=(1, 2))
self.sizer.AddGrowableCol(3)
# bindings
@@ -2233,6 +2255,10 @@
# file from which new location is created
self.georeffile = None
+ # additional settings
+ self.default_region = False
+ self.user_mapset = False
+
#
# define wizard pages
#
@@ -2330,6 +2356,8 @@
self.location = self.startpage.location
self.grassdatabase = self.startpage.grassdatabase
self.georeffile = self.filepage.georeffile
+ self.default_region = self.startpage.tlocRegion.IsChecked()
+ self.user_mapset = self.startpage.tlocUserMapset.IsChecked()
# FIXME here was code for setting default region, what for is this if:
# if self.altdb == False:
More information about the grass-commit
mailing list