|
@@ -33,7 +33,6 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
PreferencesBaseDialog.__init__(self, parent = parent, title = title,
|
|
|
settings = settings)
|
|
|
self.toolWin = self.parent.nviz
|
|
|
- self.win = dict()
|
|
|
|
|
|
# create notebook pages
|
|
|
self._createViewPage(self.notebook)
|
|
@@ -43,9 +42,10 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
|
|
|
self.SetMinSize(self.GetBestSize())
|
|
|
self.SetSize(self.size)
|
|
|
+ self.btnDefault.SetToolTipString(_("Revert settings to default, changes are not applied"))
|
|
|
|
|
|
def _createViewPage(self, notebook):
|
|
|
- """!Create notebook page for general settings"""
|
|
|
+ """!Create notebook page for view settings"""
|
|
|
panel = wx.Panel(parent = notebook, id = wx.ID_ANY)
|
|
|
|
|
|
notebook.AddPage(page = panel,
|
|
@@ -53,151 +53,110 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
|
|
|
pageSizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
- self.win['general'] = {}
|
|
|
- self.win['view'] = {}
|
|
|
box = wx.StaticBox (parent = panel, id = wx.ID_ANY,
|
|
|
label = " %s " % (_("View")))
|
|
|
boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
|
|
gridSizer = wx.GridBagSizer(vgap = 3, hgap = 3)
|
|
|
-
|
|
|
+ row = 0
|
|
|
# perspective
|
|
|
- self.win['view']['persp'] = {}
|
|
|
pvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'persp')
|
|
|
ipvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'persp', internal = True)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Perspective:")),
|
|
|
- pos = (0, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(value)")),
|
|
|
- pos = (0, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = _("value:")),
|
|
|
+ pos = (row, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
pval = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = pvals['value'],
|
|
|
min = ipvals['min'],
|
|
|
max = ipvals['max'])
|
|
|
- self.win['view']['persp']['value'] = pval.GetId()
|
|
|
- gridSizer.Add(item = pval, pos = (0, 2),
|
|
|
+ self.winId['nviz:view:persp:value'] = pval.GetId()
|
|
|
+ gridSizer.Add(item = pval, pos = (row, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(step)")),
|
|
|
- pos = (0, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = _("step:")),
|
|
|
+ pos = (row, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
pstep = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = pvals['step'],
|
|
|
min = ipvals['min'],
|
|
|
max = ipvals['max']-1)
|
|
|
- self.win['view']['persp']['step'] = pstep.GetId()
|
|
|
- gridSizer.Add(item = pstep, pos = (0, 4),
|
|
|
+ self.winId['nviz:view:persp:step'] = pstep.GetId()
|
|
|
+ gridSizer.Add(item = pstep, pos = (row, 4),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ row += 1
|
|
|
|
|
|
# position
|
|
|
- self.win['view']['position'] = {}
|
|
|
posvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'position')
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Position:")),
|
|
|
- pos = (1, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(x)")),
|
|
|
- pos = (1, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = _("x:")),
|
|
|
+ pos = (row, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
px = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = posvals['x'] * 100,
|
|
|
min = 0,
|
|
|
max = 100)
|
|
|
- self.win['view']['position']['x'] = px.GetId()
|
|
|
- gridSizer.Add(item = px, pos = (1, 2),
|
|
|
+ self.winId['nviz:view:position:x'] = px.GetId()
|
|
|
+ gridSizer.Add(item = px, pos = (row, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = "(y)"),
|
|
|
- pos = (1, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = "y:"),
|
|
|
+ pos = (row, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
py = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = posvals['y'] * 100,
|
|
|
min = 0,
|
|
|
max = 100)
|
|
|
- self.win['view']['position']['y'] = py.GetId()
|
|
|
- gridSizer.Add(item = py, pos = (1, 4),
|
|
|
+ self.winId['nviz:view:position:y'] = py.GetId()
|
|
|
+ gridSizer.Add(item = py, pos = (row, 4),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ row += 1
|
|
|
|
|
|
- # height
|
|
|
- self.win['view']['height'] = {}
|
|
|
- hvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'height')
|
|
|
- gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("Height:")),
|
|
|
- pos = (2, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
- gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(step)")),
|
|
|
- pos = (2, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
-
|
|
|
- hstep = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
- initial = hvals['step'],
|
|
|
- min = 1,
|
|
|
- max = 1e6)
|
|
|
- self.win['view']['height']['step'] = hstep.GetId()
|
|
|
- gridSizer.Add(item = hstep, pos = (2, 2),
|
|
|
- flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ # height is computed dynamically
|
|
|
|
|
|
# twist
|
|
|
- self.win['view']['twist'] = {}
|
|
|
tvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'twist')
|
|
|
itvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'twist', internal = True)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Twist:")),
|
|
|
- pos = (3, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(value)")),
|
|
|
- pos = (3, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = _("value:")),
|
|
|
+ pos = (row, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
tval = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = tvals['value'],
|
|
|
min = itvals['min'],
|
|
|
max = itvals['max'])
|
|
|
- self.win['view']['twist']['value'] = tval.GetId()
|
|
|
- gridSizer.Add(item = tval, pos = (3, 2),
|
|
|
- flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
-
|
|
|
- gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(step)")),
|
|
|
- pos = (3, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
-
|
|
|
- tstep = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
- initial = tvals['step'],
|
|
|
- min = itvals['min'],
|
|
|
- max = itvals['max']-1)
|
|
|
- self.win['view']['twist']['step'] = tstep.GetId()
|
|
|
- gridSizer.Add(item = tstep, pos = (3, 4),
|
|
|
+ self.winId['nviz:view:twist:value'] = tval.GetId()
|
|
|
+ gridSizer.Add(item = tval, pos = (row, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ row += 1
|
|
|
|
|
|
# z-exag
|
|
|
- self.win['view']['z-exag'] = {}
|
|
|
zvals = UserSettings.Get(group = 'nviz', key = 'view', subkey = 'z-exag')
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Z-exag:")),
|
|
|
- pos = (4, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(value)")),
|
|
|
- pos = (4, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
+ label = _("value:")),
|
|
|
+ pos = (row, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
zval = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
+ initial = zvals['value'],
|
|
|
min = -1e6,
|
|
|
max = 1e6)
|
|
|
- self.win['view']['z-exag']['value'] = zval.GetId()
|
|
|
- gridSizer.Add(item = zval, pos = (4, 2),
|
|
|
+ self.winId['nviz:view:z-exag:value'] = zval.GetId()
|
|
|
+ gridSizer.Add(item = zval, pos = (row, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
- gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(step)")),
|
|
|
- pos = (4, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
-
|
|
|
- zstep = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
- initial = zvals['step'],
|
|
|
- min = -1e6,
|
|
|
- max = 1e6)
|
|
|
- self.win['view']['z-exag']['step'] = zstep.GetId()
|
|
|
- gridSizer.Add(item = zstep, pos = (4, 4),
|
|
|
- flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
flag = wx.ALL | wx.EXPAND, border = 3)
|
|
@@ -212,7 +171,6 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
gridSizer.AddGrowableCol(0)
|
|
|
|
|
|
# background color
|
|
|
- self.win['view']['background'] = {}
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Background color:")),
|
|
|
pos = (0, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
@@ -221,22 +179,22 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
colour = UserSettings.Get(group = 'nviz', key = 'view',
|
|
|
subkey = ['background', 'color']),
|
|
|
size = globalvar.DIALOG_COLOR_SIZE)
|
|
|
- color.SetName("color")
|
|
|
- self.win['view']['background']['color'] = color.GetId()
|
|
|
+ color.SetName('GetColour')
|
|
|
+ self.winId['nviz:view:background:color'] = color.GetId()
|
|
|
gridSizer.Add(item = color, pos = (0, 1))
|
|
|
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
- flag = wx.ALL | wx.EXPAND, border = 3)
|
|
|
+ flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
pageSizer.Add(item = boxSizer, proportion = 0,
|
|
|
flag = wx.EXPAND | wx.ALL,
|
|
|
- border = 3)
|
|
|
+ border = 5)
|
|
|
|
|
|
panel.SetSizer(pageSizer)
|
|
|
|
|
|
return panel
|
|
|
|
|
|
def _createLightPage(self, notebook):
|
|
|
- """!Create notebook page for general settings"""
|
|
|
+ """!Create notebook page for light settings"""
|
|
|
panel = wx.Panel(parent = notebook, id = wx.ID_ANY)
|
|
|
|
|
|
notebook.AddPage(page = panel,
|
|
@@ -244,7 +202,6 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
|
|
|
pageSizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
- self.win['light'] = {}
|
|
|
box = wx.StaticBox (parent = panel, id = wx.ID_ANY,
|
|
|
label = " %s " % (_("Light")))
|
|
|
boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
|
@@ -252,44 +209,43 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
|
|
|
|
|
|
# position
|
|
|
- self.win['light']['position'] = {}
|
|
|
posvals = UserSettings.Get(group = 'nviz', key = 'light', subkey = 'position')
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Position:")),
|
|
|
pos = (0, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(x)")),
|
|
|
+ label = _("x:")),
|
|
|
pos = (0, 1), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
px = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = posvals['x'] * 100,
|
|
|
min = -100,
|
|
|
max = 100)
|
|
|
- self.win['light']['position']['x'] = px.GetId()
|
|
|
+ self.winId['nviz:light:position:x'] = px.GetId()
|
|
|
gridSizer.Add(item = px, pos = (0, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = "(y)"),
|
|
|
+ label = "y:"),
|
|
|
pos = (0, 3), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
py = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = posvals['y'] * 100,
|
|
|
min = -100,
|
|
|
max = 100)
|
|
|
- self.win['light']['position']['y'] = py.GetId()
|
|
|
+ self.winId['nviz:light:position:y'] = py.GetId()
|
|
|
gridSizer.Add(item = py, pos = (0, 4),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("(z)")),
|
|
|
+ label = _("z:")),
|
|
|
pos = (0, 5), flag = wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)
|
|
|
|
|
|
pz = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
initial = posvals['z'],
|
|
|
min = 0,
|
|
|
max = 100)
|
|
|
- self.win['light']['position']['z'] = pz.GetId()
|
|
|
+ self.winId['nviz:light:position:z'] = pz.GetId()
|
|
|
gridSizer.Add(item = pz, pos = (0, 6),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
@@ -303,7 +259,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
initial = brightval,
|
|
|
min = 0,
|
|
|
max = 100)
|
|
|
- self.win['light']['bright'] = bright.GetId()
|
|
|
+ self.winId['nviz:light:bright'] = bright.GetId()
|
|
|
gridSizer.Add(item = bright, pos = (1, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
@@ -317,7 +273,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
initial = ambval,
|
|
|
min = 0,
|
|
|
max = 100)
|
|
|
- self.win['light']['ambient'] = amb.GetId()
|
|
|
+ self.winId['nviz:light:ambient'] = amb.GetId()
|
|
|
gridSizer.Add(item = amb, pos = (2, 2),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
@@ -330,34 +286,32 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
colour = UserSettings.Get(group = 'nviz', key = 'light',
|
|
|
subkey = 'color'),
|
|
|
size = globalvar.DIALOG_COLOR_SIZE)
|
|
|
- color.SetName("color")
|
|
|
- self.win['light']['color'] = color.GetId()
|
|
|
+ color.SetName('GetColour')
|
|
|
+ self.winId['nviz:light:color'] = color.GetId()
|
|
|
gridSizer.Add(item = color, pos = (3, 2))
|
|
|
|
|
|
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
- flag = wx.ALL | wx.EXPAND, border = 3)
|
|
|
+ flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
pageSizer.Add(item = boxSizer, proportion = 0,
|
|
|
flag = wx.EXPAND | wx.ALL,
|
|
|
- border = 3)
|
|
|
+ border = 5)
|
|
|
|
|
|
panel.SetSizer(pageSizer)
|
|
|
|
|
|
return panel
|
|
|
|
|
|
def _createSurfacePage(self, notebook):
|
|
|
- """!Create notebook page for general settings"""
|
|
|
+ """!Create notebook page for surface settings"""
|
|
|
panel = wx.Panel(parent = notebook, id = wx.ID_ANY)
|
|
|
|
|
|
notebook.AddPage(page = panel,
|
|
|
text = " %s " % _("Surface"))
|
|
|
|
|
|
pageSizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
- self.win['surface'] = {}
|
|
|
|
|
|
# draw
|
|
|
|
|
|
- self.win['surface']['draw'] = {}
|
|
|
box = wx.StaticBox (parent = panel, id = wx.ID_ANY,
|
|
|
label = " %s " % (_("Draw")))
|
|
|
boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
|
@@ -371,8 +325,8 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
choices = [_("coarse"),
|
|
|
_("fine"),
|
|
|
_("both")])
|
|
|
- self.win['surface']['draw']['mode'] = mode.GetId()
|
|
|
- mode.SetName('selection')
|
|
|
+ self.winId['nviz:surface:draw:mode'] = mode.GetId()
|
|
|
+ mode.SetName('GetSelection')
|
|
|
mode.SetSelection(UserSettings.Get(group = 'nviz', key = 'surface',
|
|
|
subkey = ['draw', 'mode']))
|
|
|
gridSizer.Add(item = mode, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
@@ -390,7 +344,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
initial = res,
|
|
|
min = 1,
|
|
|
max = 100)
|
|
|
- self.win['surface']['draw']['res-fine'] = fine.GetId()
|
|
|
+ self.winId['nviz:surface:draw:res-fine'] = fine.GetId()
|
|
|
|
|
|
gridSizer.Add(item = fine, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
pos = (1, 2))
|
|
@@ -407,7 +361,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
initial = res,
|
|
|
min = 1,
|
|
|
max = 100)
|
|
|
- self.win['surface']['draw']['res-coarse'] = coarse.GetId()
|
|
|
+ self.winId['nviz:surface:draw:res-coarse'] = coarse.GetId()
|
|
|
|
|
|
gridSizer.Add(item = coarse, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
pos = (2, 2))
|
|
@@ -418,11 +372,11 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
style = wx.Choice(parent = panel, id = wx.ID_ANY, size = (-1, -1),
|
|
|
choices = [_("wire"),
|
|
|
_("surface")])
|
|
|
- self.win['surface']['draw']['style'] = style.GetId()
|
|
|
- style.SetName('selection')
|
|
|
+ self.winId['nviz:surface:draw:style'] = style.GetId()
|
|
|
+ style.SetName('GetSelection')
|
|
|
style.SetSelection(UserSettings.Get(group = 'nviz', key = 'surface',
|
|
|
subkey = ['draw', 'style']))
|
|
|
- self.win['surface']['draw']['style'] = style.GetId()
|
|
|
+ self.winId['nviz:surface:draw:style'] = style.GetId()
|
|
|
|
|
|
gridSizer.Add(item = style, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
pos = (3, 2))
|
|
@@ -434,23 +388,23 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
colour = UserSettings.Get(group = 'nviz', key = 'surface',
|
|
|
subkey = ['draw', 'wire-color']),
|
|
|
size = globalvar.DIALOG_COLOR_SIZE)
|
|
|
- color.SetName("color")
|
|
|
- self.win['surface']['draw']['wire-color'] = color.GetId()
|
|
|
+ color.SetName('GetColour')
|
|
|
+ self.winId['nviz:surface:draw:wire-color'] = color.GetId()
|
|
|
gridSizer.Add(item = color, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
pos = (4, 2))
|
|
|
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
- flag = wx.ALL | wx.EXPAND, border = 3)
|
|
|
+ flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
pageSizer.Add(item = boxSizer, proportion = 0,
|
|
|
flag = wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
|
|
|
- border = 3)
|
|
|
+ border = 5)
|
|
|
|
|
|
panel.SetSizer(pageSizer)
|
|
|
|
|
|
return panel
|
|
|
|
|
|
def _createVectorPage(self, notebook):
|
|
|
- """!Create notebook page for general settings"""
|
|
|
+ """!Create notebook page for vector settings"""
|
|
|
panel = wx.Panel(parent = notebook, id = wx.ID_ANY)
|
|
|
|
|
|
notebook.AddPage(page = panel,
|
|
@@ -459,46 +413,53 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
pageSizer = wx.BoxSizer(wx.VERTICAL)
|
|
|
|
|
|
# vector lines
|
|
|
- self.win['vector'] = {}
|
|
|
- self.win['vector']['lines'] = {}
|
|
|
box = wx.StaticBox (parent = panel, id = wx.ID_ANY,
|
|
|
label = " %s " % (_("Vector lines")))
|
|
|
boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
|
|
gridSizer = wx.GridBagSizer(vgap = 3, hgap = 3)
|
|
|
|
|
|
- # show
|
|
|
row = 0
|
|
|
- showLines = wx.CheckBox(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("Show lines"))
|
|
|
- self.win['vector']['lines']['show'] = showLines.GetId()
|
|
|
- showLines.SetValue(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
- subkey = ['lines', 'show']))
|
|
|
- gridSizer.Add(item = showLines, pos = (row, 0))
|
|
|
+ # icon size
|
|
|
+ gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
+ label = _("Width:")),
|
|
|
+ pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+
|
|
|
+ iwidth = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
+ initial = 12,
|
|
|
+ min = 1,
|
|
|
+ max = 100)
|
|
|
+ self.winId['nviz:vector:lines:width'] = iwidth.GetId()
|
|
|
+ iwidth.SetValue(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
+ subkey = ['lines', 'width']))
|
|
|
+ gridSizer.Add(item = iwidth, pos = (row, 1),
|
|
|
+ flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
+ # icon color
|
|
|
+ gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
+ label = _("Color:")),
|
|
|
+ pos = (row, 4), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ icolor = csel.ColourSelect(panel, id = wx.ID_ANY,
|
|
|
+ size = globalvar.DIALOG_COLOR_SIZE)
|
|
|
+ icolor.SetName('GetColour')
|
|
|
+ self.winId['nviz:vector:lines:color'] = icolor.GetId()
|
|
|
+ icolor.SetColour(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
+ subkey = ['lines', 'color']))
|
|
|
+ gridSizer.Add(item = icolor, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
+ pos = (row, 5))
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
- flag = wx.ALL | wx.EXPAND, border = 3)
|
|
|
+ flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
pageSizer.Add(item = boxSizer, proportion = 0,
|
|
|
flag = wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
|
|
|
- border = 3)
|
|
|
+ border = 5)
|
|
|
|
|
|
# vector points
|
|
|
- self.win['vector']['points'] = {}
|
|
|
box = wx.StaticBox (parent = panel, id = wx.ID_ANY,
|
|
|
label = " %s " % (_("Vector points")))
|
|
|
boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
|
|
|
gridSizer = wx.GridBagSizer(vgap = 3, hgap = 5)
|
|
|
|
|
|
- # show
|
|
|
row = 0
|
|
|
- showPoints = wx.CheckBox(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("Show points"))
|
|
|
- showPoints.SetValue(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
- subkey = ['points', 'show']))
|
|
|
- self.win['vector']['points']['show'] = showPoints.GetId()
|
|
|
- gridSizer.Add(item = showPoints, pos = (row, 0), span = (1, 8))
|
|
|
-
|
|
|
# icon size
|
|
|
- row += 1
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Size:")),
|
|
|
pos = (row, 0), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
@@ -507,183 +468,104 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
initial = 100,
|
|
|
min = 1,
|
|
|
max = 1e6)
|
|
|
- self.win['vector']['points']['size'] = isize.GetId()
|
|
|
+ self.winId['nviz:vector:points:size'] = isize.GetId()
|
|
|
isize.SetValue(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
subkey = ['points', 'size']))
|
|
|
gridSizer.Add(item = isize, pos = (row, 1),
|
|
|
flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
|
|
|
- # icon width
|
|
|
- gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
- label = _("Width:")),
|
|
|
- pos = (row, 2), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
-
|
|
|
- iwidth = wx.SpinCtrl(parent = panel, id = wx.ID_ANY, size = (65, -1),
|
|
|
- initial = 2,
|
|
|
- min = 1,
|
|
|
- max = 1e6)
|
|
|
- self.win['vector']['points']['width'] = isize.GetId()
|
|
|
- iwidth.SetValue(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
- subkey = ['points', 'width']))
|
|
|
- gridSizer.Add(item = iwidth, pos = (row, 3),
|
|
|
- flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
-
|
|
|
# icon symbol
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Marker:")),
|
|
|
- pos = (row, 4), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ pos = (row, 2), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
isym = wx.Choice (parent = panel, id = wx.ID_ANY, size = (100, -1),
|
|
|
choices = UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
subkey = ['points', 'marker'], internal = True))
|
|
|
- isym.SetName("selection")
|
|
|
- self.win['vector']['points']['marker'] = isym.GetId()
|
|
|
+ isym.SetName("GetSelection")
|
|
|
+ self.winId['nviz:vector:points:marker'] = isym.GetId()
|
|
|
isym.SetSelection(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
subkey = ['points', 'marker']))
|
|
|
gridSizer.Add(item = isym, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
- pos = (row, 5))
|
|
|
+ pos = (row, 3))
|
|
|
|
|
|
# icon color
|
|
|
gridSizer.Add(item = wx.StaticText(parent = panel, id = wx.ID_ANY,
|
|
|
label = _("Color:")),
|
|
|
- pos = (row, 6), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
- icolor = csel.ColourSelect(panel, id = wx.ID_ANY)
|
|
|
- icolor.SetName("color")
|
|
|
- self.win['vector']['points']['color'] = icolor.GetId()
|
|
|
+ pos = (row, 4), flag = wx.ALIGN_CENTER_VERTICAL)
|
|
|
+ icolor = csel.ColourSelect(panel, id = wx.ID_ANY,
|
|
|
+ size = globalvar.DIALOG_COLOR_SIZE)
|
|
|
+ icolor.SetName('GetColour')
|
|
|
+ self.winId['nviz:vector:points:color'] = icolor.GetId()
|
|
|
icolor.SetColour(UserSettings.Get(group = 'nviz', key = 'vector',
|
|
|
subkey = ['points', 'color']))
|
|
|
gridSizer.Add(item = icolor, flag = wx.ALIGN_CENTER_VERTICAL,
|
|
|
- pos = (row, 7))
|
|
|
+ pos = (row, 5))
|
|
|
|
|
|
boxSizer.Add(item = gridSizer, proportion = 1,
|
|
|
- flag = wx.ALL | wx.EXPAND, border = 3)
|
|
|
+ flag = wx.ALL | wx.EXPAND, border = 5)
|
|
|
pageSizer.Add(item = boxSizer, proportion = 0,
|
|
|
flag = wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
|
|
|
- border = 3)
|
|
|
+ border = 5)
|
|
|
|
|
|
panel.SetSizer(pageSizer)
|
|
|
|
|
|
return panel
|
|
|
-
|
|
|
- def _getValue(self, win):
|
|
|
- if win.GetName() == "selection":
|
|
|
- value = win.GetSelection()
|
|
|
- elif win.GetName() == "color":
|
|
|
- value = tuple(win.GetColour())
|
|
|
- else:
|
|
|
- value = win.GetValue()
|
|
|
-
|
|
|
- return value
|
|
|
-
|
|
|
+
|
|
|
def OnDefault(self, event):
|
|
|
- """Restore default settings"""
|
|
|
- settings = copy.deepcopy(UserSettings.GetDefaultSettings()['nviz'])
|
|
|
- UserSettings.Set(group = 'nviz',
|
|
|
- value = settings)
|
|
|
-
|
|
|
- for subgroup, key in settings.iteritems(): # view, surface, vector...
|
|
|
- if subgroup != 'view':
|
|
|
- continue
|
|
|
- for subkey, value in key.iteritems():
|
|
|
- for subvalue in value.keys():
|
|
|
- win = self.FindWindowById(self.win[subgroup][subkey][subvalue])
|
|
|
- val = settings[subgroup][subkey][subvalue]
|
|
|
- if subkey == 'position':
|
|
|
- if val < 1:
|
|
|
- val = int(val * 100)
|
|
|
-
|
|
|
- win.SetValue(val)
|
|
|
-
|
|
|
- event.Skip()
|
|
|
+ """!Button 'Set to default' pressed"""
|
|
|
+ self.settings.userSettings = copy.deepcopy(self.settings.defaultSettings)
|
|
|
+
|
|
|
+ # update widgets
|
|
|
+ for gks in self.winId.keys():
|
|
|
+ subkey1 = None
|
|
|
+ try:
|
|
|
+ group, key, subkey = gks.split(':')
|
|
|
+ value = self.settings.Get(group, key, subkey)
|
|
|
+ except ValueError:
|
|
|
+ group, key, subkey, subkey1 = gks.split(':')
|
|
|
+ value = self.settings.Get(group, key, [subkey, subkey1])
|
|
|
+ if subkey == 'position':
|
|
|
+ if subkey1 in ('x', 'y'):
|
|
|
+ value = float(value) * 100
|
|
|
+ win = self.FindWindowById(self.winId[gks])
|
|
|
+ if win.GetName() == 'GetSelection':
|
|
|
+ value = win.SetSelection(value)
|
|
|
+ else:
|
|
|
+ value = win.SetValue(value)
|
|
|
|
|
|
def OnApply(self, event):
|
|
|
"""Apply Nviz settings for current session"""
|
|
|
- settings = UserSettings.Get(group = 'nviz')
|
|
|
- for subgroup, key in settings.iteritems(): # view, surface, vector...
|
|
|
- for subkey, value in key.iteritems():
|
|
|
- if type(value) == types.DictType:
|
|
|
- for subvalue in value.keys():
|
|
|
- try:
|
|
|
- win = self.FindWindowById(self.win[subgroup][subkey][subvalue])
|
|
|
- except KeyError, e:
|
|
|
- #print "error", str(e)+ str(subgroup)+str(subkey)+str(subvalue)
|
|
|
- continue
|
|
|
- value = self._getValue(win)
|
|
|
- if subkey == 'position':
|
|
|
- if subvalue in ('x', 'y'):
|
|
|
- value = float(value) / 100
|
|
|
- settings[subgroup][subkey][subvalue] = value
|
|
|
- else:
|
|
|
- try:
|
|
|
- win = self.FindWindowById(self.win[subgroup][subkey])
|
|
|
- except KeyError, e:
|
|
|
- #print "error", str(subgroup)+" "+str(subkey)+" "+str(value)
|
|
|
- continue
|
|
|
- value = self._getValue(win)
|
|
|
- settings[subgroup][subkey] = value
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- def OnLoad(self, event):
|
|
|
- """!Apply button pressed"""
|
|
|
- self.LoadSettings()
|
|
|
+ for item in self.winId.keys():
|
|
|
+ try:
|
|
|
+ group, key, subkey = item.split(':')
|
|
|
+ subkey1 = None
|
|
|
+ except ValueError:
|
|
|
+ group, key, subkey, subkey1 = item.split(':')
|
|
|
+
|
|
|
+ id = self.winId[item]
|
|
|
+ win = self.FindWindowById(id)
|
|
|
+ if win.GetName() == 'GetSelection':
|
|
|
+ value = win.GetSelection()
|
|
|
+ elif win.GetName() == 'GetColour':
|
|
|
+ value = tuple(win.GetValue())
|
|
|
+ else:
|
|
|
+ value = win.GetValue()
|
|
|
+
|
|
|
+ if subkey == 'position':
|
|
|
+ if subkey1 in ('x', 'y'):
|
|
|
+ value = float(value) / 100
|
|
|
+ if subkey1:
|
|
|
+ self.settings.Set(group, value, key, [subkey, subkey1])
|
|
|
+ else:
|
|
|
+ self.settings.Set(group, value, key, subkey)
|
|
|
+
|
|
|
+ self.toolWin.LoadSettings()
|
|
|
|
|
|
- if event:
|
|
|
- event.Skip()
|
|
|
-
|
|
|
- def LoadSettings(self):
|
|
|
- """!Load saved Nviz settings and apply to current session"""
|
|
|
- UserSettings.ReadSettingsFile()
|
|
|
- settings = copy.deepcopy(UserSettings.Get(group = 'nviz'))
|
|
|
-
|
|
|
- for subgroup, key in settings.iteritems(): # view, surface, vector...
|
|
|
- for subkey, value in key.iteritems():
|
|
|
- for subvalue in value.keys():
|
|
|
- if subvalue == 'step':
|
|
|
- continue
|
|
|
- else:
|
|
|
- insetting = value[subvalue]
|
|
|
- if subgroup == 'view':
|
|
|
- for viewkey, viewitem in self.mapWindow.view[subkey].iteritems():
|
|
|
- if viewkey == subvalue:
|
|
|
- self.mapWindow.view[subkey][viewkey] = insetting
|
|
|
- else:
|
|
|
- continue
|
|
|
- else:
|
|
|
- for otherkey, otheritem in self.win[subgroup][subkey].iteritems():
|
|
|
- if type(otheritem) == data:
|
|
|
- for endkey, enditem in otheritem.iteritems():
|
|
|
- if endkey == subvalue:
|
|
|
- paramwin = self.FindWindowById(enditem)
|
|
|
- else:
|
|
|
- continue
|
|
|
- else:
|
|
|
- if otherkey == subvalue:
|
|
|
- paramwin = self.FindWindowById(otheritem)
|
|
|
- else:
|
|
|
- continue
|
|
|
- if type(insetting) in [tuple, list] and len(insetting) > 2:
|
|
|
- insetting = tuple(insetting)
|
|
|
- paramwin.SetColour(insetting)
|
|
|
- else:
|
|
|
- try:
|
|
|
- paramwin.SetValue(insetting)
|
|
|
- except:
|
|
|
- try:
|
|
|
- paramwin.SetStringSelection(insetting)
|
|
|
- except:
|
|
|
- continue
|
|
|
-
|
|
|
- self.toolWin.UpdateSettings()
|
|
|
- self.FindWindowById(self.win['view']['position']).Draw()
|
|
|
- self.FindWindowById(self.win['view']['position']).Refresh(False)
|
|
|
-
|
|
|
- self.mapWindow.render['quick'] = False
|
|
|
- self.mapWindow.Refresh(False)
|
|
|
|
|
|
def OnSave(self, event):
|
|
|
"""!Save button pressed
|
|
|
|
|
|
- Save settings to configuration file
|
|
|
+ Apply changes and save settings to configuration file
|
|
|
"""
|
|
|
self.OnApply(None)
|
|
|
fileSettings = {}
|
|
@@ -691,7 +573,7 @@ class NvizPreferencesDialog(PreferencesBaseDialog):
|
|
|
fileSettings['nviz'] = UserSettings.Get(group = 'nviz')
|
|
|
|
|
|
UserSettings.SaveToFile(fileSettings)
|
|
|
- self.parent.GetLayerManager().goutput.WriteLog(
|
|
|
+ self.parent.goutput.WriteLog(
|
|
|
_('3D view settings saved to file <%s>.') % UserSettings.filePath)
|
|
|
|
|
|
self.Destroy()
|