コード例 #1
0
    def _createActionPage(self, notebook):
        """Create notebook page for action settings"""
        panel = wx.Panel(parent=notebook, id=wx.ID_ANY)
        notebook.AddPage(page=panel, text=_("Command"))

        # colors
        border = wx.BoxSizer(wx.VERTICAL)
        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % _("Color"))
        sizer = wx.StaticBoxSizer(box, wx.VERTICAL)

        gridSizer = wx.GridBagSizer(hgap=3, vgap=3)

        row = 0
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Valid:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        vColor = csel.ColourSelect(parent=panel,
                                   id=wx.ID_ANY,
                                   colour=self.settings.Get(group='modeler',
                                                            key='action',
                                                            subkey=('color',
                                                                    'valid')),
                                   size=globalvar.DIALOG_COLOR_SIZE)
        vColor.SetName('GetColour')
        self.winId['modeler:action:color:valid'] = vColor.GetId()

        gridSizer.Add(item=vColor,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 1))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Invalid:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        iColor = csel.ColourSelect(parent=panel,
                                   id=wx.ID_ANY,
                                   colour=self.settings.Get(
                                       group='modeler',
                                       key='action',
                                       subkey=('color', 'invalid')),
                                   size=globalvar.DIALOG_COLOR_SIZE)
        iColor.SetName('GetColour')
        self.winId['modeler:action:color:invalid'] = iColor.GetId()

        gridSizer.Add(item=iColor,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 1))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Running:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        rColor = csel.ColourSelect(parent=panel,
                                   id=wx.ID_ANY,
                                   colour=self.settings.Get(
                                       group='modeler',
                                       key='action',
                                       subkey=('color', 'running')),
                                   size=globalvar.DIALOG_COLOR_SIZE)
        rColor.SetName('GetColour')
        self.winId['modeler:action:color:running'] = rColor.GetId()

        gridSizer.Add(item=rColor,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 1))

        gridSizer.AddGrowableCol(0)
        sizer.Add(item=gridSizer,
                  proportion=1,
                  flag=wx.ALL | wx.EXPAND,
                  border=5)
        border.Add(item=sizer,
                   proportion=0,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                   border=3)

        # size
        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % _("Shape size"))
        sizer = wx.StaticBoxSizer(box, wx.VERTICAL)

        gridSizer = wx.GridBagSizer(hgap=3, vgap=3)

        row = 0
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Width:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))

        width = SpinCtrl(parent=panel,
                         id=wx.ID_ANY,
                         min=0,
                         max=500,
                         initial=self.settings.Get(group='modeler',
                                                   key='action',
                                                   subkey=('size', 'width')))
        width.SetName('GetValue')
        self.winId['modeler:action:size:width'] = width.GetId()

        gridSizer.Add(item=width,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 1))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Height:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))

        height = SpinCtrl(parent=panel,
                          id=wx.ID_ANY,
                          min=0,
                          max=500,
                          initial=self.settings.Get(group='modeler',
                                                    key='action',
                                                    subkey=('size', 'height')))
        height.SetName('GetValue')
        self.winId['modeler:action:size:height'] = height.GetId()

        gridSizer.Add(item=height,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 1))

        gridSizer.AddGrowableCol(0)
        sizer.Add(item=gridSizer,
                  proportion=1,
                  flag=wx.ALL | wx.EXPAND,
                  border=5)
        border.Add(item=sizer,
                   proportion=0,
                   flag=wx.LEFT | wx.RIGHT | wx.BOTTOM | wx.EXPAND,
                   border=3)

        panel.SetSizer(border)

        return panel
コード例 #2
0
    def _createVectorPage(self, notebook):
        """Create notebook page for vector settings"""
        panel = wx.Panel(parent=notebook, id=wx.ID_ANY)

        notebook.AddPage(page=panel, text=" %s " % _("Vector"))

        pageSizer = wx.BoxSizer(wx.VERTICAL)

        # 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)

        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 = 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=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                      border=5)

        # 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)

        row = 0
        # icon size
        autosize = wx.CheckBox(parent=panel, label=_("Automatic size"))
        autosize.SetToolTipString(
            _("Icon size is set automatically based on landscape dimensions."))
        gridSizer.Add(autosize, pos=(row, 0), flag=wx.ALIGN_CENTER_VERTICAL)
        self.winId['nviz:vector:points:autosize'] = autosize.GetId()
        autosize.SetValue(
            UserSettings.Get(group='nviz',
                             key='vector',
                             subkey=['points', 'autosize']))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Size:")),
                      pos=(row, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        isize = SpinCtrl(parent=panel,
                         id=wx.ID_ANY,
                         size=(65, -1),
                         initial=100,
                         min=1,
                         max=1e6)
        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 symbol
        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Marker:")),
                      pos=(row, 0),
                      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'],
                                                  settings_type='internal'))
        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, 1))

        # icon color
        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Color:")),
                      pos=(row, 0),
                      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, 1))

        boxSizer.Add(item=gridSizer,
                     proportion=1,
                     flag=wx.ALL | wx.EXPAND,
                     border=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                      border=5)

        panel.SetSizer(pageSizer)

        return panel
コード例 #3
0
    def _createViewPage(self, notebook):
        """Create notebook page for view settings"""
        panel = wx.Panel(parent=notebook, id=wx.ID_ANY)

        notebook.AddPage(page=panel, text=" %s " % _("View"))

        pageSizer = wx.BoxSizer(wx.VERTICAL)

        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
        pvals = UserSettings.Get(group='nviz', key='view', subkey='persp')
        ipvals = UserSettings.Get(group='nviz',
                                  key='view',
                                  subkey='persp',
                                  settings_type='internal')
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Perspective:")),
                      pos=(row, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("value:")),
                      pos=(row, 1),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        pval = SpinCtrl(parent=panel,
                        id=wx.ID_ANY,
                        size=(65, -1),
                        initial=pvals['value'],
                        min=ipvals['min'],
                        max=ipvals['max'])
        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=(row, 3),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        pstep = SpinCtrl(parent=panel,
                         id=wx.ID_ANY,
                         size=(65, -1),
                         initial=pvals['step'],
                         min=ipvals['min'],
                         max=ipvals['max'] - 1)
        self.winId['nviz:view:persp:step'] = pstep.GetId()
        gridSizer.Add(item=pstep, pos=(row, 4), flag=wx.ALIGN_CENTER_VERTICAL)
        row += 1

        # position
        posvals = UserSettings.Get(group='nviz', key='view', subkey='position')
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Position:")),
                      pos=(row, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("x:")),
                      pos=(row, 1),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        px = SpinCtrl(parent=panel,
                      id=wx.ID_ANY,
                      size=(65, -1),
                      initial=posvals['x'] * 100,
                      min=0,
                      max=100)
        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=(row, 3),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        py = SpinCtrl(parent=panel,
                      id=wx.ID_ANY,
                      size=(65, -1),
                      initial=posvals['y'] * 100,
                      min=0,
                      max=100)
        self.winId['nviz:view:position:y'] = py.GetId()
        gridSizer.Add(item=py, pos=(row, 4), flag=wx.ALIGN_CENTER_VERTICAL)
        row += 1

        # height is computed dynamically

        # twist
        tvals = UserSettings.Get(group='nviz', key='view', subkey='twist')
        itvals = UserSettings.Get(group='nviz',
                                  key='view',
                                  subkey='twist',
                                  settings_type='internal')
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Twist:")),
                      pos=(row, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("value:")),
                      pos=(row, 1),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        tval = SpinCtrl(parent=panel,
                        id=wx.ID_ANY,
                        size=(65, -1),
                        initial=tvals['value'],
                        min=itvals['min'],
                        max=itvals['max'])
        self.winId['nviz:view:twist:value'] = tval.GetId()
        gridSizer.Add(item=tval, pos=(row, 2), flag=wx.ALIGN_CENTER_VERTICAL)
        row += 1

        # 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=(row, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("value:")),
                      pos=(row, 1),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        zval = SpinCtrl(parent=panel,
                        id=wx.ID_ANY,
                        size=(65, -1),
                        initial=zvals['value'],
                        min=-1e6,
                        max=1e6)
        self.winId['nviz:view:z-exag:value'] = zval.GetId()
        gridSizer.Add(item=zval, pos=(row, 2), flag=wx.ALIGN_CENTER_VERTICAL)

        boxSizer.Add(item=gridSizer,
                     proportion=1,
                     flag=wx.ALL | wx.EXPAND,
                     border=3)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                      border=3)

        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % (_("Image Appearance")))
        boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        gridSizer = wx.GridBagSizer(vgap=3, hgap=3)

        # background color
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Background color:")),
                      pos=(0, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        color = csel.ColourSelect(panel,
                                  id=wx.ID_ANY,
                                  colour=UserSettings.Get(
                                      group='nviz',
                                      key='view',
                                      subkey=['background', 'color']),
                                  size=globalvar.DIALOG_COLOR_SIZE)
        color.SetName('GetColour')
        self.winId['nviz:view:background:color'] = color.GetId()
        gridSizer.Add(item=color, pos=(0, 1))

        gridSizer.AddGrowableCol(0)
        boxSizer.Add(item=gridSizer,
                     proportion=1,
                     flag=wx.ALL | wx.EXPAND,
                     border=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.ALL,
                      border=5)

        panel.SetSizer(pageSizer)

        return panel
コード例 #4
0
    def _createSurfacePage(self, notebook):
        """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)

        # draw

        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % (_("Draw")))
        boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        gridSizer = wx.GridBagSizer(vgap=3, hgap=3)

        # mode
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Mode:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(0, 0))
        mode = wx.Choice(parent=panel,
                         id=wx.ID_ANY,
                         size=(-1, -1),
                         choices=[_("coarse"),
                                  _("fine"), _("both")])
        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, pos=(0, 1))

        # fine
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Fine mode:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(1, 0))
        res = UserSettings.Get(group='nviz',
                               key='surface',
                               subkey=['draw', 'res-fine'])
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("resolution:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(1, 1))
        fine = SpinCtrl(parent=panel,
                        id=wx.ID_ANY,
                        size=(65, -1),
                        initial=res,
                        min=1,
                        max=100)
        self.winId['nviz:surface:draw:res-fine'] = fine.GetId()

        gridSizer.Add(item=fine, flag=wx.ALIGN_CENTER_VERTICAL, pos=(1, 2))

        # coarse
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Coarse mode:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(2, 0))
        res = UserSettings.Get(group='nviz',
                               key='surface',
                               subkey=['draw', 'res-coarse'])
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("resolution:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(2, 1))
        coarse = SpinCtrl(parent=panel,
                          id=wx.ID_ANY,
                          size=(65, -1),
                          initial=res,
                          min=1,
                          max=100)
        self.winId['nviz:surface:draw:res-coarse'] = coarse.GetId()

        gridSizer.Add(item=coarse, flag=wx.ALIGN_CENTER_VERTICAL, pos=(2, 2))
        # style
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("style:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(3, 1))
        style = wx.Choice(parent=panel,
                          id=wx.ID_ANY,
                          size=(-1, -1),
                          choices=[_("wire"), _("surface")])
        self.winId['nviz:surface:draw:style'] = style.GetId()
        style.SetName('GetSelection')
        style.SetSelection(
            UserSettings.Get(group='nviz',
                             key='surface',
                             subkey=['draw', 'style']))
        self.winId['nviz:surface:draw:style'] = style.GetId()

        gridSizer.Add(item=style, flag=wx.ALIGN_CENTER_VERTICAL, pos=(3, 2))
        # wire color
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("wire color:")),
                      flag=wx.ALIGN_CENTER_VERTICAL,
                      pos=(4, 1))
        color = csel.ColourSelect(panel,
                                  id=wx.ID_ANY,
                                  colour=UserSettings.Get(
                                      group='nviz',
                                      key='surface',
                                      subkey=['draw', 'wire-color']),
                                  size=globalvar.DIALOG_COLOR_SIZE)
        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=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.LEFT | wx.RIGHT | wx.BOTTOM,
                      border=5)

        panel.SetSizer(pageSizer)

        return panel
コード例 #5
0
    def _createLightPage(self, notebook):
        """Create notebook page for light settings"""
        panel = wx.Panel(parent=notebook, id=wx.ID_ANY)

        notebook.AddPage(page=panel, text=" %s " % _("Lighting"))

        pageSizer = wx.BoxSizer(wx.VERTICAL)

        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % (_("Light")))
        boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        gridSizer = wx.GridBagSizer(vgap=3, hgap=3)

        # 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:")),
                      pos=(0, 1),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        px = SpinCtrl(parent=panel,
                      id=wx.ID_ANY,
                      size=(65, -1),
                      initial=posvals['x'] * 100,
                      min=-100,
                      max=100)
        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:"),
                      pos=(0, 3),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        py = SpinCtrl(parent=panel,
                      id=wx.ID_ANY,
                      size=(65, -1),
                      initial=posvals['y'] * 100,
                      min=-100,
                      max=100)
        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:")),
                      pos=(0, 5),
                      flag=wx.ALIGN_CENTER_VERTICAL | wx.ALIGN_RIGHT)

        pz = SpinCtrl(parent=panel,
                      id=wx.ID_ANY,
                      size=(65, -1),
                      initial=posvals['z'],
                      min=0,
                      max=100)
        self.winId['nviz:light:position:z'] = pz.GetId()
        gridSizer.Add(item=pz, pos=(0, 6), flag=wx.ALIGN_CENTER_VERTICAL)

        # brightness
        brightval = UserSettings.Get(group='nviz',
                                     key='light',
                                     subkey='bright')
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Brightness:")),
                      pos=(1, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        bright = SpinCtrl(parent=panel,
                          id=wx.ID_ANY,
                          size=(65, -1),
                          initial=brightval,
                          min=0,
                          max=100)
        self.winId['nviz:light:bright'] = bright.GetId()
        gridSizer.Add(item=bright, pos=(1, 2), flag=wx.ALIGN_CENTER_VERTICAL)

        # ambient
        ambval = UserSettings.Get(group='nviz', key='light', subkey='ambient')
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Ambient:")),
                      pos=(2, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        amb = SpinCtrl(parent=panel,
                       id=wx.ID_ANY,
                       size=(65, -1),
                       initial=ambval,
                       min=0,
                       max=100)
        self.winId['nviz:light:ambient'] = amb.GetId()
        gridSizer.Add(item=amb, pos=(2, 2), flag=wx.ALIGN_CENTER_VERTICAL)

        # light color
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Color:")),
                      pos=(3, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        color = csel.ColourSelect(panel,
                                  id=wx.ID_ANY,
                                  colour=UserSettings.Get(group='nviz',
                                                          key='light',
                                                          subkey='color'),
                                  size=globalvar.DIALOG_COLOR_SIZE)
        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=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.ALL,
                      border=5)

        panel.SetSizer(pageSizer)

        return panel
コード例 #6
0
    def _createFlyPage(self, notebook):
        """Create notebook page for view settings"""
        panel = wx.Panel(parent=notebook, id=wx.ID_ANY)

        notebook.AddPage(page=panel, text=" %s " % _("Fly-through"))
        pageSizer = wx.BoxSizer(wx.VERTICAL)
        # fly throuhg mode
        box = wx.StaticBox(parent=panel,
                           id=wx.ID_ANY,
                           label=" %s " % (_("Fly-through mode")))
        boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        gridSizer = wx.GridBagSizer(vgap=3, hgap=3)

        # move exag
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Move exag:")),
                      pos=(0, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        moveExag = SpinCtrl(panel,
                            id=wx.ID_ANY,
                            min=1,
                            max=20,
                            initial=UserSettings.Get(group='nviz',
                                                     key='fly',
                                                     subkey=['exag', 'move']),
                            size=(65, -1))
        self.winId['nviz:fly:exag:move'] = moveExag.GetId()
        gridSizer.Add(item=moveExag, pos=(0, 1))

        # turn exag
        gridSizer.Add(item=wx.StaticText(parent=panel,
                                         id=wx.ID_ANY,
                                         label=_("Turn exag:")),
                      pos=(1, 0),
                      flag=wx.ALIGN_CENTER_VERTICAL)

        turnExag = SpinCtrl(panel,
                            id=wx.ID_ANY,
                            min=1,
                            max=20,
                            initial=UserSettings.Get(group='nviz',
                                                     key='fly',
                                                     subkey=['exag', 'turn']),
                            size=(65, -1))
        self.winId['nviz:fly:exag:turn'] = turnExag.GetId()
        gridSizer.Add(item=turnExag, pos=(1, 1))

        gridSizer.AddGrowableCol(0)
        boxSizer.Add(item=gridSizer,
                     proportion=1,
                     flag=wx.ALL | wx.EXPAND,
                     border=5)
        pageSizer.Add(item=boxSizer,
                      proportion=0,
                      flag=wx.EXPAND | wx.ALL,
                      border=5)

        panel.SetSizer(pageSizer)

        return panel
コード例 #7
0
    def __init__(self,
                 parent,
                 title,
                 data,
                 keyEditable=(-1, True),
                 id=wx.ID_ANY,
                 style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER):
        """Dialog for inserting/updating table record

        :param data: a list: [(column, value)]
        :param keyEditable: (id, editable?) indicates if textarea for
                            key column is editable(True) or not
        """
        # parent -> VDigitWindow
        wx.Dialog.__init__(self, parent, id, title, style=style)

        self.CenterOnParent()

        self.keyId = keyEditable[0]

        box = wx.StaticBox(parent=self, id=wx.ID_ANY)
        box.Hide()
        self.dataPanel = scrolled.ScrolledPanel(parent=self,
                                                id=wx.ID_ANY,
                                                style=wx.TAB_TRAVERSAL)
        self.dataPanel.SetupScrolling(scroll_x=False)

        # buttons
        self.btnCancel = wx.Button(self, wx.ID_CANCEL)
        self.btnSubmit = wx.Button(self, wx.ID_OK, _("&Submit"))
        self.btnSubmit.SetDefault()

        # data area
        self.widgets = []
        cId = 0
        self.usebox = False
        self.cat = None
        winFocus = False

        for column, ctype, ctypeStr, value in data:
            if self.keyId == cId:
                self.cat = int(value)
                if not keyEditable[1]:
                    self.usebox = True
                    box.SetLabel(" %s %d " % (_("Category"), self.cat))
                    box.Show()
                    self.boxSizer = wx.StaticBoxSizer(box, wx.VERTICAL)
                    cId += 1
                    continue
                else:
                    valueWin = SpinCtrl(parent=self.dataPanel,
                                        id=wx.ID_ANY,
                                        value=value,
                                        min=-1e9,
                                        max=1e9,
                                        size=(250, -1))
            else:
                valueWin = wx.TextCtrl(parent=self.dataPanel,
                                       id=wx.ID_ANY,
                                       value=value,
                                       size=(250, -1))
                if ctype == int:
                    valueWin.SetValidator(IntegerValidator())
                elif ctype == float:
                    valueWin.SetValidator(FloatValidator())
                if not winFocus:
                    wx.CallAfter(valueWin.SetFocus)
                    winFocus = True

            label = wx.StaticText(parent=self.dataPanel,
                                  id=wx.ID_ANY,
                                  label=column)
            ctype = wx.StaticText(parent=self.dataPanel,
                                  id=wx.ID_ANY,
                                  label="[%s]:" % ctypeStr.lower())
            self.widgets.append(
                (label.GetId(), ctype.GetId(), valueWin.GetId()))

            cId += 1

        self._layout()
コード例 #8
0
ファイル: dialogs.py プロジェクト: landam/grass-stable-ppa
    def _createMirrorModePage(self, notebook):
        """Create notebook page for general settings"""
        panel = SP.ScrolledPanel(parent=notebook)
        panel.SetupScrolling(scroll_x=False, scroll_y=True)
        notebook.AddPage(page=panel, text=_("Mirror mode"))

        border = wx.BoxSizer(wx.VERTICAL)
        box = wx.StaticBox(parent=panel, label=" %s " % _("Mirrored cursor"))
        sizer = wx.StaticBoxSizer(box, wx.VERTICAL)
        gridSizer = wx.GridBagSizer(hgap=3, vgap=3)

        row = 0
        gridSizer.Add(item=wx.StaticText(parent=panel, label=_("Color:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        color = csel.ColourSelect(parent=panel,
                                  colour=UserSettings.Get(group='mapswipe',
                                                          key='cursor',
                                                          subkey='color'),
                                  size=globalvar.DIALOG_COLOR_SIZE)
        color.SetName('GetColour')
        self.winId['mapswipe:cursor:color'] = color.GetId()

        gridSizer.Add(item=color, pos=(row, 1), flag=wx.ALIGN_RIGHT)

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel, label=_("Shape:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        cursors = wx.Choice(parent=panel,
                            choices=self.settings.Get(
                                group='mapswipe',
                                key='cursor',
                                subkey=['type', 'choices'],
                                settings_type='internal'),
                            name="GetSelection")
        cursors.SetSelection(
            self.settings.Get(group='mapswipe',
                              key='cursor',
                              subkey=['type', 'selection']))
        self.winId['mapswipe:cursor:type:selection'] = cursors.GetId()

        gridSizer.Add(item=cursors,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL
                      | wx.EXPAND,
                      pos=(row, 1))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel, label=_("Line width:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        width = SpinCtrl(parent=panel,
                         min=1,
                         max=10,
                         initial=self.settings.Get(group='mapswipe',
                                                   key='cursor',
                                                   subkey='width'),
                         name="GetValue")
        self.winId['mapswipe:cursor:width'] = width.GetId()

        gridSizer.Add(item=width,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL
                      | wx.EXPAND,
                      pos=(row, 1))

        row += 1
        gridSizer.Add(item=wx.StaticText(parent=panel, label=_("Size:")),
                      flag=wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL,
                      pos=(row, 0))
        size = SpinCtrl(parent=panel,
                        min=4,
                        max=50,
                        initial=self.settings.Get(group='mapswipe',
                                                  key='cursor',
                                                  subkey='size'),
                        name="GetValue")
        self.winId['mapswipe:cursor:size'] = size.GetId()

        gridSizer.Add(item=size,
                      flag=wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL
                      | wx.EXPAND,
                      pos=(row, 1))

        gridSizer.AddGrowableCol(1)
        sizer.Add(item=gridSizer,
                  proportion=1,
                  flag=wx.ALL | wx.EXPAND,
                  border=3)
        border.Add(item=sizer, proportion=0, flag=wx.ALL | wx.EXPAND, border=3)
        panel.SetSizer(border)

        return panel