Exemplo n.º 1
0
	def __init__( self, parent ):
		wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"Редактирование записи справочника", pos = wx.DefaultPosition, size = wx.Size( 479,467 ), style = wx.DEFAULT_DIALOG_STYLE )
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		bSizer6 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer7 = wx.BoxSizer( wx.VERTICAL )
		
		self.record_propertyGrid = pg.PropertyGrid(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_DEFAULT_STYLE)
		bSizer7.Add( self.record_propertyGrid, 1, wx.ALL|wx.EXPAND, 5 )
		
		
		bSizer6.Add( bSizer7, 1, wx.EXPAND, 5 )
		
		bSizer8 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.cancel_button = wx.Button( self, wx.ID_ANY, u"Отмена", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer8.Add( self.cancel_button, 0, wx.ALL, 5 )
		
		self.ok_button = wx.Button( self, wx.ID_ANY, u"OK", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer8.Add( self.ok_button, 0, wx.ALL, 5 )
		
		
		bSizer6.Add( bSizer8, 0, wx.ALIGN_RIGHT, 5 )
		
		
		self.SetSizer( bSizer6 )
		self.Layout()
		
		self.Centre( wx.BOTH )
		
		# Connect Events
		self.cancel_button.Bind( wx.EVT_BUTTON, self.onCancelButtonClick )
		self.ok_button.Bind( wx.EVT_BUTTON, self.onOkButtonClick )
Exemplo n.º 2
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=u"Settings",
                           pos=wx.DefaultPosition,
                           size=wx.Size(546, 342),
                           style=wx.CAPTION | wx.CLOSE_BOX)

        self.SetSizeHints(wx.Size(200, 200), wx.DefaultSize)

        bSizer9 = wx.BoxSizer(wx.VERTICAL)

        self.m_panel10 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition,
                                  wx.Size(600, 320), wx.TAB_TRAVERSAL)
        bSizer13 = wx.BoxSizer(wx.VERTICAL)

        self.pgSettings = pg.PropertyGrid(
            self.m_panel10, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            wx.propgrid.PG_BOLD_MODIFIED | wx.propgrid.PG_DEFAULT_STYLE
            | wx.TAB_TRAVERSAL)
        bSizer13.Add(self.pgSettings, 1, wx.ALL | wx.EXPAND, 5)

        self.m_panel10.SetSizer(bSizer13)
        self.m_panel10.Layout()
        bSizer9.Add(self.m_panel10, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(bSizer9)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_CLOSE, self.onSettingsSave)
        self.Bind(wx.EVT_INIT_DIALOG, self.onSettingsLoad)
    def __init__(self, parent, pipeline):
        wx.Panel.__init__(self, parent=parent, id=wx.ID_ANY)
        self.pipeline = pipeline

        # Setup main settings panel.
        settingsGridSizer = wx.BoxSizer(wx.HORIZONTAL)
        self.settingsGrid = wx_propgrid.PropertyGrid(self, size=(500, 500))
        settingsGridSizer.Add(self.settingsGrid, 1, wx.EXPAND)

        self.settingsGrid.Append(
            wx_propgrid.PropertyCategory("Basic Analysis Settings"))
        self.settingsGrid.Append(
            wx_propgrid.StringProperty("Pipeline name", "pipelineName",
                                       self.pipeline.pipelineName))
        self.settingsGrid.Append(
            wx_propgrid.DirProperty("Data directory", "dataDirectory",
                                    self.pipeline.dataDirectory))
        self.settingsGrid.Append(
            wx_propgrid.StringProperty("Data filename", "dataFilename",
                                       self.pipeline.dataFilename))

        self.SetSizerAndFit(settingsGridSizer)

        self.Bind(wx_propgrid.EVT_PG_CHANGED, self.onUpdateMainSettingsGrid,
                  self.settingsGrid)
Exemplo n.º 4
0
    def __init__(self, manager, filename):
        self.manager = manager
        self.filename = filename
        nb = wx.GetApp().nb_right

        accelerators = nb.get_generic_accelerators()
        acctable = wx.GetApp().root.accmanager.generate_table(nb, accelerators)

        self.panel = DatabasePropertiesPanel(nb, self, acctable)
        sizer = wx.BoxSizer(wx.VERTICAL)
        self.panel.SetSizer(sizer)

        # PropertyGrid doesn't support TAB traversal (bug #331)
        self.propgrid = wxpg.PropertyGrid(self.panel, style=wxpg.PG_TOOLTIPS)
        self.propgrid.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)

        sizer.Add(self.propgrid, 1, flag=wx.EXPAND)

        nb.add_page(self.panel,
                    os.path.basename(self.filename),
                    imageId=self.manager.get_notebook_icon_index())

        self.onchange_actions = {}

        # Temporary fix for bug #331
        self.propgrid.Bind(wx.EVT_KEY_DOWN, self._handle_esc_down)
        # Temporary fix for bug #331
        self.propgrid.Bind(wx.EVT_KEY_DOWN, self._handle_tab_down)
        self.propgrid.Bind(wxpg.EVT_PG_CHANGED, self._handle_property_changed)
Exemplo n.º 5
0
    def __init__(self, parent,confFile,expectList,uname):
    #confFile is a filename doesn't include path
    #expectList is a list of confGroup, each confGroup is a two element tuple: (group_name, conf_list)
    # conf_list is a list of conf, each conf is a two element tuple(conf_name, conf_dict)
    # each conf_dict inlcude following keys: "desc","value","type"
    # "type" is one of following: string, directory, int, float

        wx.Dialog.__init__(self, parent)
        self.grid=wxpg.PropertyGrid(self,wx.ID_ANY,style=wxpg.PG_SPLITTER_AUTO_CENTER)
        self.grid.SetColumnProportion(0,2)
        self.grid.SetColumnProportion(0,1)
        self.uname=uname
        self.confFName=confFile
        self.confPath=self.confFName
        self.confList=expectList
        self.loadConfFile()
        self.refereshView()

        self.__set_properties()
        self.__do_layout()
        self.Centre()
        okb=self.bsizer.GetAffirmativeButton()
        canb=self.bsizer.GetCancelButton()
        self.Bind(wx.EVT_BUTTON,self.OnOK,okb)
        self.Bind(wx.EVT_BUTTON,self.OnCancel,canb)
        self.grid.CenterSplitter(False)
Exemplo n.º 6
0
 def load(self, res, parent):
     self._panel = res.LoadPanel(parent, 'BeaconModule')  # type: wx.Panel
     self._props = propgrid.PropertyGrid(parent=self._panel,
                                         style=propgrid.PG_TOOLTIPS
                                         | propgrid.PG_AUTO_SORT)
     self._props.SetExtraStyle(propgrid.PG_EX_HELP_AS_TOOLTIPS)
     self._panel.GetSizer().Add(self._props, 1, wx.EXPAND)
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=_(u"Record edit"),
                           pos=wx.DefaultPosition,
                           size=wx.Size(886, 467),
                           style=wx.DEFAULT_DIALOG_STYLE)

        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)

        bSizer6 = wx.BoxSizer(wx.VERTICAL)

        bSizer7 = wx.BoxSizer(wx.VERTICAL)

        self.activate_checkBox = wx.CheckBox(self, wx.ID_ANY, _(u"On/Off"),
                                             wx.DefaultPosition,
                                             wx.DefaultSize, 0)
        self.activate_checkBox.SetValue(True)
        bSizer7.Add(self.activate_checkBox, 0, wx.ALL | wx.EXPAND, 5)

        self.cod_constructor = iq.KERNEL.obj.iq.cod_constructor.create(
            parent=self)
        bSizer7.Add(self.cod_constructor, 1, wx.ALL | wx.EXPAND, 5)

        self.record_propertyGrid = pg.PropertyGrid(
            self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            wx.propgrid.PG_DEFAULT_STYLE | wx.propgrid.PG_STATIC_SPLITTER)
        bSizer7.Add(self.record_propertyGrid, 1, wx.ALL | wx.EXPAND, 5)

        bSizer6.Add(bSizer7, 1, wx.EXPAND, 5)

        bSizer8 = wx.BoxSizer(wx.HORIZONTAL)

        self.cancel_button = wx.Button(self, wx.ID_ANY, _(u"Cancel"),
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer8.Add(self.cancel_button, 0, wx.ALL, 5)

        self.ok_button = wx.Button(self, wx.ID_ANY, _(u"OK"),
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer8.Add(self.ok_button, 0, wx.ALL, 5)

        bSizer6.Add(bSizer8, 0, wx.ALIGN_RIGHT, 5)

        self.SetSizer(bSizer6)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.activate_checkBox.Bind(wx.EVT_CHECKBOX, self.onActivateCheckBox)
        self.cancel_button.Bind(wx.EVT_BUTTON, self.onCancelButtonClick)
        self.ok_button.Bind(wx.EVT_BUTTON, self.onOkButtonClick)
Exemplo n.º 8
0
    def __init__(self,
                 parent,
                 id=wx.ID_ANY,
                 pos=wx.DefaultPosition,
                 size=wx.Size(900, 600),
                 style=wx.TAB_TRAVERSAL,
                 name=wx.EmptyString):
        wx.Panel.__init__(self,
                          parent,
                          id=id,
                          pos=pos,
                          size=size,
                          style=style,
                          name=name)

        plc_layout = wx.BoxSizer(wx.VERTICAL)

        self.plc_split = wx.SplitterWindow(self, wx.ID_ANY, wx.DefaultPosition,
                                           wx.DefaultSize, wx.SP_3D)
        self.plc_split.Bind(wx.EVT_IDLE, self.plc_splitOnIdle)

        self.plc_preview = PlaceViewer(self.plc_split, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize,
                                       wx.TAB_TRAVERSAL)
        self.plc_data = wx.Panel(self.plc_split, wx.ID_ANY, wx.DefaultPosition,
                                 wx.DefaultSize, wx.TAB_TRAVERSAL)
        plc_data_layout = wx.BoxSizer(wx.VERTICAL)

        self.plc_items = wx.TreeCtrl(self.plc_data, wx.ID_ANY,
                                     wx.DefaultPosition, wx.DefaultSize,
                                     wx.TR_DEFAULT_STYLE | wx.TR_HIDE_ROOT)
        plc_data_layout.Add(self.plc_items, 1, wx.ALL | wx.EXPAND, 5)

        self.plc_item_data = pg.PropertyGrid(self.plc_data, wx.ID_ANY,
                                             wx.DefaultPosition,
                                             wx.DefaultSize,
                                             wx.propgrid.PG_DEFAULT_STYLE)
        self.m_propertyGridItem1 = self.plc_item_data.Append(
            pg.StringProperty(u"Name", u"Name"))
        plc_data_layout.Add(self.plc_item_data, 1, wx.ALL | wx.EXPAND, 5)

        self.plc_data.SetSizer(plc_data_layout)
        self.plc_data.Layout()
        plc_data_layout.Fit(self.plc_data)
        self.plc_split.SplitVertically(self.plc_preview, self.plc_data, 0)
        plc_layout.Add(self.plc_split, 1, wx.EXPAND, 5)

        self.SetSizer(plc_layout)
        self.Layout()

        # Connect Events
        self.plc_items.Bind(wx.EVT_TREE_SEL_CHANGED, self.plc_items_selchanged)
Exemplo n.º 9
0
    def test_propgridiface03(self):
        # Ensure SetPropertyValue doesn't truncate floats
        pgrid = pg.PropertyGrid(self.frame)
        pgrid.Append(pg.FloatProperty('Float', value=123.456))

        value = pgrid.GetPropertyValue('Float')
        assert type(value) is float
        assert value == 123.456

        pgrid.SetPropertyValue('Float', 654.321)
        value = pgrid.GetPropertyValue('Float')
        assert type(value) is float
        assert value == 654.321
Exemplo n.º 10
0
 def __init__(self, parent, title, graph):
     #super(ChildFrame, self).__init__(parent, title=title, size=graph['size'])
     super(ChildFrame, self).__init__(parent, title=title)
     self.graph = graph
     self.pen_color = wx.Colour('black')
     self.foreground_color = wx.Colour('gray')
     self.background_color = wx.Colour('white')
     self.dictionary = {}
     self.get_dict(self.graph, self.dictionary)
     icon = wx.Icon()
     if self.graph['type'] == 'onnx':
         icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'onnx.png'),
                                       wx.BITMAP_TYPE_ANY))
     elif self.graph['type'] == 'tensorflow':
         icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'tf.png'),
                                       wx.BITMAP_TYPE_ANY))
     elif self.graph['type'] == 'keras':
         icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'keras.png'),
                                       wx.BITMAP_TYPE_ANY))
     elif self.graph['type'] == 'pytorch':
         icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'pytorch.png'),
                                       wx.BITMAP_TYPE_ANY))
     else: icon.CopyFromBitmap(wx.Bitmap(os.path.join(pwd(), 'icons', 'model.png'),
                                         wx.BITMAP_TYPE_ANY))
     self.SetIcon(icon)
     self.canvas = wx.ScrolledCanvas(self, True)
     self.property = propgrid.PropertyGrid(self, size=(300, 500))
     self.box = wx.BoxSizer(wx.HORIZONTAL)
     self.box.Add(self.canvas, wx.ID_ANY, flag=wx.EXPAND|wx.ALL|wx.LEFT, border=1)
     self.box.Add(self.property, 0, flag=wx.EXPAND|wx.RIGHT, border=1)
     self.SetSizer(self.box)
     self.dc = None
     self.canvas.Bind(wx.EVT_PAINT, self.on_paint)
     self.canvas.Bind(wx.EVT_LEFT_DOWN, self.on_left_down)
     self.thumbnail = wx.Panel(self.canvas, style=wx.SIMPLE_BORDER)
     self.thumbnail.Bind(wx.EVT_PAINT, self.on_paint_thumb)
     self.thumbnail.Bind(wx.EVT_LEFT_DOWN, self.on_key_down)
     self.thumb_dc = None
     #self.thumb_ratio = 20
     self.thumb_ratio_x = 20
     self.thumb_ratio_y = 20
     self.thumb_max_len = 300
     self.Maximize()
     self.Show(True)
     canvas_size = self.canvas.GetSize()
     self.x_units, self.y_units = math.ceil(canvas_size[0]/2), math.ceil(canvas_size[1]/2)
     self.GetParent().add_history([self.GetId(), self.graph['name'], self.graph['selected']])
Exemplo n.º 11
0
    def construct_toplevel_ui(self, parent):
        # Difference between using PropertyGridManager vs PropertyGrid is that
        # the manager supports multiple pages and a description box.
        style = wxpg.PG_SPLITTER_AUTO_CENTER | wxpg.PG_TOOLBAR
        prop_grid = wxpg.PropertyGrid(parent, style=style)

        # Show help as tooltips
        prop_grid.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)

        prop_grid.Bind(wxpg.EVT_PG_CHANGED, self.on_property_changed,
                       prop_grid)

        self.initialize_fixed_properties(prop_grid)

        self.initialize_dynamic_properties(prop_grid)

        return prop_grid
Exemplo n.º 12
0
    def __init__(self, parent):
        wx.Panel.__init__(self, parent, -1, style=wx.WANTS_CHARS)
        topsizer = wx.BoxSizer(wx.VERTICAL)
        self.pg = pg = wxpg.PropertyGrid(self,
                                         style=wxpg.PG_SPLITTER_AUTO_CENTER
                                         | wxpg.PG_TOOLBAR)

        pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS
                         | wxpg.PG_EX_MULTIPLE_SELECTION)
        topsizer.Add(pg, 1, wx.EXPAND)
        rowsizer = wx.BoxSizer(wx.HORIZONTAL)
        self.delete = wx.Button(self, -1, "Delete Object")

        rowsizer.Add(self.delete, 1)

        topsizer.Add(rowsizer, 0, wx.EXPAND)
        self.SetSizer(topsizer)
        topsizer.SetSizeHints(self)
Exemplo n.º 13
0
    def __init__(self, parent):
        wx.Panel.__init__(self, parent, wx.ID_ANY)

        self.panel = wx.Panel(self, wx.ID_ANY)

        # Difference between using PropertyGridManager vs PropertyGrid is that
        # the manager supports multiple pages and a description box.
        self.pg = wxpg.PropertyGrid(self.panel,
                                    style=wxpg.PG_DEFAULT_STYLE
                                    | wxpg.PG_SPLITTER_AUTO_CENTER)

        self.topsizer = wx.BoxSizer(wx.VERTICAL)
        self.topsizer.Add(self.pg, 1, wx.EXPAND)

        self.ClearProperties()  #  initialize data structures

        # Show help as tooltips
        self.pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)

        self.pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange)
        self.pg.Bind(wxpg.EVT_PG_PAGE_CHANGED, self.OnPropGridPageChange)
        self.pg.Bind(wxpg.EVT_PG_SELECTED, self.OnPropGridSelect)
        self.pg.Bind(wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick)
        self.pg.Bind(wx.EVT_MOUSE_EVENTS, self.OnMouse)

        self.panel.SetSizer(self.topsizer)
        self.topsizer.SetSizeHints(self.panel)

        self.sizer = wx.BoxSizer(wx.VERTICAL)
        self.sizer.Add(self.panel, 1, wx.EXPAND)
        self.SetSizer(self.sizer)
        self.SetAutoLayout(True)

        self.inAddProperty = 0
        self.in_OnPropGridChange = False

        # Register editor class - needs only to be called once
        self.multiButtonEditor = SampleMultiButtonEditor()
        self.pg.RegisterEditor(self.multiButtonEditor)
        self.trivialPropertyEditor = TrivialPropertyEditor()
        self.pg.RegisterEditor(self.trivialPropertyEditor)

        self.EXTRA_TOOLBAR_HEIGHT = 7  # todo set to 14 for Linux
Exemplo n.º 14
0
    def __init__( self, parent, log ):
        wx.Panel.__init__(self, parent, wx.ID_ANY)
        self.log = log
        self.callback = None

        self.panel = panel = wx.Panel(self, wx.ID_ANY)
        topsizer = wx.BoxSizer(wx.VERTICAL)

        # Difference between using PropertyGridManager vs PropertyGrid is that
        # the manager supports multiple pages and a description box.
        self.pg = pg = wxpg.PropertyGrid(panel,
                        style=wxpg.PG_SPLITTER_AUTO_CENTER |
                              wxpg.PG_AUTO_SORT |
                              wxpg.PG_TOOLBAR)

        # Show help as tooltips
        pg.SetExtraStyle(wxpg.PG_EX_HELP_AS_TOOLTIPS)

        pg.Bind( wxpg.EVT_PG_CHANGED, self.OnPropGridChange )
        pg.Bind( wxpg.EVT_PG_PAGE_CHANGED, self.OnPropGridPageChange )
        pg.Bind( wxpg.EVT_PG_SELECTED, self.OnPropGridSelect )
        pg.Bind( wxpg.EVT_PG_RIGHT_CLICK, self.OnPropGridRightClick )

        ##pg.AddPage( "Page 1 - Testing All" )
        # store the property grid for future reference
        self.pg = pg
        
        # load empty object (just draws categories)
        self.load_object(None)
        
        # sizing stuff:        
        topsizer.Add(pg, 1, wx.EXPAND)
        panel.SetSizer(topsizer)
        topsizer.SetSizeHints(panel)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(panel, 1, wx.EXPAND)
        self.SetSizer(sizer)
        self.SetAutoLayout(True)
Exemplo n.º 15
0
    def __init__(self, *args, **kwds):
        # begin wxGlade: MainPannel.__init__
        #kwds["style"] = wx.TAB_TRAVERSAL|wx.BORDER_DEFAULT|wx.CLOSE_BOX
        wx.Dialog.__init__(self, *args, **kwds)
        self.grid = wxpg.PropertyGrid(self, wx.ID_ANY)
        self.grid.Append(
            wxpg.IntProperty(_("Password Length"), "plen", value=16))
        self.grid.Append(
            wxpg.BoolProperty(_("Use lowercause letters"),
                              "lowercase",
                              value=True))
        self.grid.SetPropertyAttribute("lowercase", "UseCheckbox", True)
        self.grid.Append(
            wxpg.BoolProperty(_("Use Uppercase letters"),
                              "uppercase",
                              value=True))
        self.grid.SetPropertyAttribute("uppercase", "UseCheckbox", True)
        self.grid.Append(
            wxpg.BoolProperty(_("Use digits"), "digit", value=True))
        self.grid.SetPropertyAttribute("digit", "UseCheckbox", True)
        self.grid.Append(
            wxpg.BoolProperty(_("Use punctions"), "punction", value=True))
        self.grid.SetPropertyAttribute("punction", "UseCheckbox", True)
        self.grid.Append(
            wxpg.StringProperty(_("Use custom letters"), "custom", value=""))

        self.passwd = u""

        self.__set_properties()
        self.__do_layout()

        okb = self.bsizer.GetAffirmativeButton()
        canb = self.bsizer.GetCancelButton()
        self.Bind(wx.EVT_BUTTON, self.OnOK, okb)
        self.Bind(wx.EVT_BUTTON, self.OnCancel, canb)
        self.Centre()
Exemplo n.º 16
0
 def AddExtraControls(self, res):
   self.grid=wxpg.PropertyGrid(self)
   self.grid.SetMarginColour(wx.Colour(255,255,255))
   res.AttachUnknownControl("ValueGrid", self.grid)
Exemplo n.º 17
0
 def AddExtraControls(self, res):
     self.grid = wxpg.PropertyGrid(self)
     res.AttachUnknownControl("ValueGrid", self.grid)
Exemplo n.º 18
0
 def test_propgrid03(self):
     pgrid = pg.PropertyGrid(self.frame)
Exemplo n.º 19
0
    def __init__(self, *args, **kwargs):
        kwargs['title'] = 'Key Config'
        wx.Dialog.__init__(self, *args, **kwargs)

        self.Bind(wx.EVT_CHAR_HOOK, self.OnCharHook)

        main_sizer = wx.BoxSizer(wx.VERTICAL)

        self.pg = pg = wxpg.PropertyGrid(self)

        pg.Bind(wxpg.EVT_PG_CHANGED, self.OnPropGridChange)

        pg.Append(wxpg.PropertyCategory("Key Parameters"))

        prop = wxpg.StringProperty("Layout Coordinates",
                                   "layout",
                                   value="Row 0, Col 0")
        prop.ChangeFlag(wxpg.PG_PROP_READONLY, True)
        pg.Append(prop)
        prop = wxpg.StringProperty("Matrix Coordinates",
                                   "matrix",
                                   value="Row 0, Col 0")
        prop.ChangeFlag(wxpg.PG_PROP_READONLY, True)
        pg.Append(prop)
        prop = wxpg.StringProperty("Key Geometry",
                                   "geom",
                                   value="Height 0, Width 0")
        prop.ChangeFlag(wxpg.PG_PROP_READONLY, True)
        pg.Append(prop)

        pg.Append(wxpg.PropertyCategory("Key Assignment"))

        pg.Append(ScancodeProperty("Scancode", "code"))
        pg.LimitPropertyEditing("code", limit=True)

        labels = list(key_mode_map.keys())
        values = list(key_mode_map.values())
        pg.Append(
            wxpg.EnumProperty("Mode", "mode", labels=labels, values=values))

        pg.Append(ScancodeProperty("Tap Code", "tap"))
        pg.LimitPropertyEditing("tap", limit=True)
        pg.EnableProperty("tap", enable=False)

        labels = list(with_mods_map.keys())
        values = list(with_mods_map.values())
        prop = wxpg.FlagsProperty("Automods",
                                  "wmods",
                                  labels=labels,
                                  values=values)
        prop.SetAttribute(wxpg.PG_BOOL_USE_CHECKBOX, True)
        pg.Append(prop)
        pg.LimitPropertyEditing(prop, limit=True)

        pg.ExpandAll()
        minHeight = (13 * pg.GetRowHeight()) + 4
        minWidth = int(minHeight * 1.25)
        pg.SetMinSize((minWidth, minHeight))
        pg.FitColumns()

        main_sizer.Add(pg, proportion=1, flag=wx.EXPAND)

        self.SetSizer(main_sizer)
        main_sizer.Fit(self)
        self.Layout()
Exemplo n.º 20
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=u"Logging",
                           pos=wx.DefaultPosition,
                           size=wx.DefaultSize,
                           style=wx.DEFAULT_DIALOG_STYLE)
        self.parent = parent
        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        sizer_A = wx.BoxSizer(wx.VERTICAL)

        sizer_AA = wx.StaticBoxSizer(
            wx.StaticBox(self, wx.ID_ANY, u"Log File"), wx.VERTICAL)

        sizer_AAA = wx.FlexGridSizer(0, 2, 0, 0)
        sizer_AAA.AddGrowableCol(1)
        sizer_AAA.SetFlexibleDirection(wx.BOTH)
        sizer_AAA.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)

        self.cb_Logging = wx.CheckBox(self, wx.ID_ANY, u"File Logging Enabled",
                                      wx.DefaultPosition, wx.DefaultSize, 0)
        sizer_AAA.Add(self.cb_Logging, 0, wx.ALL, 5)

        sizer_AAA.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        self.lbl_LogPath = wx.StaticText(self, wx.ID_ANY, u"Log File Path:",
                                         wx.DefaultPosition, wx.DefaultSize, 0)
        self.lbl_LogPath.Wrap(-1)
        sizer_AAA.Add(self.lbl_LogPath, 0, wx.ALL, 5)

        self.dp_LogPath = wx.DirPickerCtrl(self, wx.ID_ANY, wx.EmptyString,
                                           u"Select a folder",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           wx.DIRP_DEFAULT_STYLE)
        self.dp_LogPath.SetMinSize(wx.Size(350, -1))

        sizer_AAA.Add(self.dp_LogPath, 0, wx.ALL, 5)

        self.cb_Timestamp = wx.CheckBox(self, wx.ID_ANY, u"Timestamp Enabled",
                                        wx.DefaultPosition, wx.DefaultSize, 0)
        self.cb_Timestamp.SetValue(True)
        sizer_AAA.Add(self.cb_Timestamp, 0, wx.ALL, 5)

        self.tc_Timestamp = wx.TextCtrl(self, wx.ID_ANY,
                                        "%d/%m/%Y %I:%M:%S %p",
                                        wx.DefaultPosition, wx.DefaultSize, 0)
        sizer_AAA.Add(self.tc_Timestamp, 0, wx.ALL | wx.EXPAND, 5)

        self.lbl_LogFormat = wx.StaticText(self, wx.ID_ANY, u"Output Format",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.lbl_LogFormat.Wrap(-1)
        sizer_AAA.Add(self.lbl_LogFormat, 0, wx.ALL, 5)

        self.tc_LogFormat = wx.TextCtrl(
            self, wx.ID_ANY, "%(asctime)-15s - %(levelname)s - %(message)s",
            wx.DefaultPosition, wx.DefaultSize, 0)
        sizer_AAA.Add(self.tc_LogFormat, 0, wx.ALL | wx.EXPAND, 5)

        sizer_AAAA = wx.BoxSizer(wx.VERTICAL)

        sizer_AAAA.AddSpacer((0, 0), 1, wx.EXPAND, 5)

        self.btn_CheckLogs = wx.Button(self, wx.ID_ANY, u"Check Old Logs ",
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        sizer_AAAA.Add(self.btn_CheckLogs, 0,
                       wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND, 2)

        self.btn_ClearLogs = wx.Button(self, wx.ID_ANY, u"Clear Log Now",
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        sizer_AAAA.Add(self.btn_ClearLogs, 0,
                       wx.ALL | wx.ALIGN_CENTER_HORIZONTAL | wx.EXPAND, 2)

        sizer_AAA.Add(sizer_AAAA, 1,
                      wx.ALIGN_CENTER | wx.EXPAND | wx.ALIGN_CENTER_VERTICAL,
                      5)

        self.pg_LogDetails = pg.PropertyGrid(self, wx.ID_ANY, wx.DefaultPosition,
         wx.DefaultSize, wx.propgrid.PG_BOLD_MODIFIED|\
         wx.propgrid.PG_HIDE_MARGIN) #|wx.propgrid.PG_STATIC_LAYOUT
        self.pgItem_Name = self.pg_LogDetails.Append(
            pg.StringProperty(u"Name", u"Name"))
        self.pgItem_Size = self.pg_LogDetails.Append(
            pg.StringProperty(u"Size", u"Size"))
        sizer_AAA.Add(self.pg_LogDetails, 0, wx.ALL | wx.EXPAND, 5)

        sizer_AA.Add(sizer_AAA, 1, wx.EXPAND, 5)

        sizer_A.Add(sizer_AA, 1, wx.EXPAND, 5)

        sizer_AB = wx.StdDialogButtonSizer()
        self.sizer_ABSave = wx.Button(self, wx.ID_SAVE)
        sizer_AB.AddButton(self.sizer_ABSave)
        self.sizer_ABCancel = wx.Button(self, wx.ID_CANCEL)
        sizer_AB.AddButton(self.sizer_ABCancel)
        sizer_AB.Realize()

        sizer_A.Add(sizer_AB, 0,
                    wx.ALIGN_CENTER_HORIZONTAL | wx.TOP | wx.BOTTOM, 10)

        self.SetSizer(sizer_A)
        self.Layout()
        sizer_A.Fit(self)

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_INIT_DIALOG, self.dlgInit)
        self.btn_CheckLogs.Bind(wx.EVT_BUTTON, self.checkOldLogs)
        self.btn_ClearLogs.Bind(wx.EVT_BUTTON, self.clearLogs)
        self.sizer_ABCancel.Bind(wx.EVT_BUTTON, self.cancel)
        self.sizer_ABSave.Bind(wx.EVT_BUTTON, self.save)
Exemplo n.º 21
0
    def __init__( self, parent ):
        wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = u"DICOMDIR Browser", pos = wx.DefaultPosition, size = wx.Size( 812,602 ), style = wx.DEFAULT_DIALOG_STYLE )

        self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )

        bSizer145 = wx.BoxSizer( wx.VERTICAL )

        bSizer199 = wx.BoxSizer( wx.HORIZONTAL )

        self.m_panelMainArea = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
        self.m_panelMainArea.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_HIGHLIGHT ) )

        bSizer199.Add( self.m_panelMainArea, 1, wx.EXPAND |wx.ALL, 5 )

        bSizer197 = wx.BoxSizer( wx.VERTICAL )

        bSizer197.SetMinSize( wx.Size( -1,180 ) )
        sbSizer77 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Details" ), wx.VERTICAL )

        self.m_propertyGrid = pg.PropertyGrid(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_AUTO_SORT|wx.propgrid.PG_DEFAULT_STYLE)
        sbSizer77.Add( self.m_propertyGrid, 1, wx.EXPAND, 5 )

        self.m_searchCtrl = wx.SearchCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_PROCESS_ENTER )
        self.m_searchCtrl.ShowSearchButton( True )
        self.m_searchCtrl.ShowCancelButton( True )
        sbSizer77.Add( self.m_searchCtrl, 0, wx.BOTTOM|wx.EXPAND|wx.TOP, 5 )


        bSizer197.Add( sbSizer77, 1, wx.EXPAND|wx.RIGHT, 5 )

        sbSizer76 = wx.StaticBoxSizer( wx.StaticBox( self, wx.ID_ANY, u"Preview" ), wx.VERTICAL )

        sbSizer76.SetMinSize( wx.Size( 260,260 ) )
        self.m_bitmapPreview = wx.StaticBitmap( self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0 )
        sbSizer76.Add( self.m_bitmapPreview, 1, wx.EXPAND, 5 )


        bSizer197.Add( sbSizer76, 0, wx.BOTTOM|wx.EXPAND|wx.RIGHT, 5 )


        bSizer199.Add( bSizer197, 0, wx.EXPAND, 5 )


        bSizer145.Add( bSizer199, 1, wx.EXPAND, 5 )

        self.m_staticline1 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
        bSizer145.Add( self.m_staticline1, 0, wx.EXPAND |wx.ALL, 5 )

        m_sdbSizer1 = wx.StdDialogButtonSizer()
        self.m_sdbSizer1OK = wx.Button( self, wx.ID_OK )
        m_sdbSizer1.AddButton( self.m_sdbSizer1OK )
        self.m_sdbSizer1Cancel = wx.Button( self, wx.ID_CANCEL )
        m_sdbSizer1.AddButton( self.m_sdbSizer1Cancel )
        m_sdbSizer1.Realize();

        bSizer145.Add( m_sdbSizer1, 0, wx.BOTTOM|wx.EXPAND, 5 )


        self.SetSizer( bSizer145 )
        self.Layout()

        self.Centre( wx.BOTH )

        # Connect Events
        self.m_searchCtrl.Bind( wx.EVT_SEARCHCTRL_CANCEL_BTN, self.onSearchCancel )
        self.m_searchCtrl.Bind( wx.EVT_SEARCHCTRL_SEARCH_BTN, self.onSearch )
        self.m_searchCtrl.Bind( wx.EVT_TEXT_ENTER, self.onSearch )
Exemplo n.º 22
0
    def __init__(self, RunForm, parent ):
        wx.Notebook.__init__(self, parent, style=wx.BK_DEFAULT, size=(500, 50) )

        # Create panels and pages for each of the three notebook tabs.
        parameterGridPanel = wx.Panel(self, -1)
        settingsPanel = wx.Panel(self, -1)
        executionPanel = wx.Panel(self, -1)

        self.AddPage(parameterGridPanel, "Parameter Grid")
        self.AddPage(settingsPanel, "Run Configuration")
        self.AddPage(executionPanel, "Resources and Execution")

        # ***** PARAMETER GRID TAB *****
        parameterGridSizer = wx.BoxSizer( wx.HORIZONTAL )
        RunForm.speciesGrid = ParameterGrid( parameterGridPanel, RunForm.run )
        parameterGridSizer.Add( RunForm.speciesGrid, 1, wx.EXPAND )
        parameterGridPanel.SetSizerAndFit( parameterGridSizer )

        # Create the parameter grid control.
        RunForm.speciesGrid.CreateGrid( RunForm.run.species.numRows, RunForm.run.species.numColumns )
        RunForm.speciesGrid.SetColLabelValue( 0, "Parameter" )
        RunForm.speciesGrid.SetColLabelValue( 1, "Type")
        RunForm.speciesGrid.SetColLabelValue( 2, "Value(s)")
        RunForm.speciesGrid.SetColLabelValue( 3, "Directory Order")
        RunForm.speciesGrid.SetColSize( 3, 100 )

        # ***** RUN SETTINGS TAB *****
        runSettingsSizer = wx.BoxSizer( wx.VERTICAL )
        RunForm.runPropertiesGrid = wx_propgrid.PropertyGrid( settingsPanel, size=(300, 300) )
        runSettingsSizer.Add( RunForm.runPropertiesGrid, 2, wx.EXPAND )
        settingsPanel.SetSizerAndFit( runSettingsSizer )

        RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Basic Script Properties" ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.StringProperty( "Script filename", "scriptFilename", RunForm.run.runSettings.scriptFilename ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.DirProperty( "Script output location", "scriptLocation", RunForm.run.runSettings.scriptLocation ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.LongStringProperty( "Run notes", "runNotes", RunForm.run.runNotes ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Executable Properties" ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Executable filename", "executableFilename", RunForm.run.runSettings.executableFilename ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Output filename", "outputFilename", RunForm.run.runSettings.outputFilename ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.FileProperty( "Input filename", "inputFilename", RunForm.run.runSettings.inputFilename ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.DirProperty( "Source path", "sourcePath", RunForm.run.runSettings.sourcePath ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.PropertyCategory( "Basic Script Tasks" ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Compile executable from source", "optionCompileSource", RunForm.run.runSettings.optionCompileSource ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Build directory structure", "optionBuildDirectoryStructure", RunForm.run.runSettings.optionBuildDirectoryStructure ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Disable input redirection", "optionDisableInputRedirection", RunForm.run.runSettings.optionDisableInputRedirection ) )
        RunForm.runPropertiesGrid.Append( wx_propgrid.BoolProperty("Generate status check script", "optionGenerateCheckStatusScript", RunForm.run.runSettings.optionGenerateCheckStatusScript ) )

        # ***** RESOURCES AND EXECUTION PANEL *****
        executionSettingsSizer = wx.BoxSizer( wx.VERTICAL )
        RunForm.singleMachinePropertyGrid = wx_propgrid.PropertyGrid( executionPanel )
        RunForm.executionChoiceBook = wx.Choicebook( executionPanel, id=wx.ID_ANY )
        executionSettingsSizer.Add( RunForm.executionChoiceBook, 1, wx.EXPAND )
        executionPanel.SetSizerAndFit( executionSettingsSizer )

        panelSingleMachine = wx.Panel( RunForm.executionChoiceBook )
        panelPBS = wx.Panel( RunForm.executionChoiceBook )
        panelSingleMachineMPI = wx.Panel( RunForm.executionChoiceBook )
        panelPBSMPI = wx.Panel( RunForm.executionChoiceBook )

        RunForm.executionChoiceBook.AddPage( panelSingleMachine, "Single Machine or Interactive Job (Recovery Enabled)")
        RunForm.executionChoiceBook.AddPage( panelPBS, "PBS Scheduler on Cluster")
        #RunForm.executionChoiceBook.AddPage( panelSingleMachineMPI, "Single Machine or Interactive Job using MPI")
        #RunForm.executionChoiceBook.AddPage( panelPBSMPI, "PBS Scheduler on Cluster using MPI")

        # SINGLE MACHINE SETTINGS
        RunForm.propertyGridSingleMachine = wx_propgrid.PropertyGrid( panelSingleMachine )
        sizerGridSingleMachine = wx.BoxSizer( wx.VERTICAL )
        sizerGridSingleMachine.Add( RunForm.propertyGridSingleMachine, 1, wx.EXPAND )
        panelSingleMachine.SetSizerAndFit( sizerGridSingleMachine )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.PropertyCategory( "Resources" ) )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.IntProperty( "Number of simultaneous runs", "numSimRuns", RunForm.run.availableModules.SingleMachineResourceManager.numSimRuns ) )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.IntProperty( "Process status check delay (seconds)", "procCheckWaitTime", RunForm.run.availableModules.SingleMachineResourceManager.procCheckWaitTime ) )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.PropertyCategory( "Additional Commands" ) )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.LongStringProperty( "Additional pre-execution commands", "additionalPreExecutionCommands", RunForm.run.availableModules.SingleMachineResourceManager.additionalPreExecutionCommands ) )
        RunForm.propertyGridSingleMachine.Append( wx_propgrid.LongStringProperty( "Additional post-execution commands", "additionalPostExecutionCommands", RunForm.run.availableModules.SingleMachineResourceManager.additionalPostExecutionCommands ) )

        # PBS SETTINGS
        RunForm.propertyGridPBS = wx_propgrid.PropertyGrid( panelPBS )
        sizerGridPBS = wx.BoxSizer( wx.VERTICAL )
        sizerGridPBS.Add( RunForm.propertyGridPBS, 1, wx.EXPAND )
        panelPBS.SetSizerAndFit( sizerGridPBS )
        RunForm.propertyGridPBS.Append( wx_propgrid.PropertyCategory( "PBS Settings" ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.IntProperty( "Number of nodes", "numNodes", RunForm.run.availableModules.PBSResourceManager.numNodes ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.IntProperty( "Processors per node (ppn)", "processorsPerNode", RunForm.run.availableModules.PBSResourceManager.processorsPerNode ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.StringProperty( "Walltime", "walltime", RunForm.run.availableModules.PBSResourceManager.walltime ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.PropertyCategory( "Additional Commands" ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.LongStringProperty( "Additional pre-execution commands", "additionalPreExecutionCommands", RunForm.run.availableModules.PBSResourceManager.additionalPreExecutionCommands ) )
        RunForm.propertyGridPBS.Append( wx_propgrid.LongStringProperty( "Additional post-execution commands", "additionalPostExecutionCommands", RunForm.run.availableModules.PBSResourceManager.additionalPostExecutionCommands ) )
Exemplo n.º 23
0
	def __init__( self, parent ):
		wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"KBoot GUI", pos = wx.DefaultPosition, size = wx.Size( 724,584 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL )
		
		self.SetSizeHintsSz( wx.Size( 724,584 ), wx.Size( -1,-1 ) )
		self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		self.m_menubar = wx.MenuBar( 0 )
		self.m_mFile = wx.Menu()
		self.m_mOpen = wx.MenuItem( self.m_mFile, wx.ID_ANY, u"&Open"+ u"\t" + u"Ctrl+O", wx.EmptyString, wx.ITEM_NORMAL )
		self.m_mFile.AppendItem( self.m_mOpen )
		
		self.m_mSave = wx.MenuItem( self.m_mFile, wx.ID_ANY, u"&Save"+ u"\t" + u"Ctrl+S", wx.EmptyString, wx.ITEM_NORMAL )
		self.m_mFile.AppendItem( self.m_mSave )
		self.m_mSave.Enable( False )
		
		self.m_mFile.AppendSeparator()
		
		self.m_mExit = wx.MenuItem( self.m_mFile, wx.ID_ANY, u"E&xit"+ u"\t" + u"Ctrl+X", wx.EmptyString, wx.ITEM_NORMAL )
		self.m_mFile.AppendItem( self.m_mExit )
		
		self.m_menubar.Append( self.m_mFile, u"&File" ) 
		
		self.m_mInterface = wx.Menu()
		self.m_mUsbHid = wx.MenuItem( self.m_mInterface, wx.ID_ANY, u"&USB-HID", wx.EmptyString, wx.ITEM_RADIO )
		self.m_mInterface.AppendItem( self.m_mUsbHid )
		
		self.m_mUart = wx.MenuItem( self.m_mInterface, wx.ID_ANY, u"&RS232", wx.EmptyString, wx.ITEM_RADIO )
		self.m_mInterface.AppendItem( self.m_mUart )
		
		self.m_menubar.Append( self.m_mInterface, u"&Interface" ) 
		
		self.m_mTools = wx.Menu()
		self.m_mSettings = wx.MenuItem( self.m_mTools, wx.ID_ANY, u"S&ettings"+ u"\t" + u"Ctrl+E", wx.EmptyString, wx.ITEM_NORMAL )
		self.m_mTools.AppendItem( self.m_mSettings )
		self.m_mSettings.Enable( False )
		
		self.m_menubar.Append( self.m_mTools, u"&Tools" ) 
		
		self.m_mHelp = wx.Menu()
		self.m_mAbout = wx.MenuItem( self.m_mHelp, wx.ID_ANY, u"&About"+ u"\t" + u"F1", wx.EmptyString, wx.ITEM_NORMAL )
		self.m_mHelp.AppendItem( self.m_mAbout )
		
		self.m_menubar.Append( self.m_mHelp, u"&Help" ) 
		
		self.SetMenuBar( self.m_menubar )
		
		m_sizer = wx.BoxSizer( wx.VERTICAL )
		
		fgSizer = wx.FlexGridSizer( 6, 0, 0, 0 )
		fgSizer.AddGrowableCol( 0 )
		fgSizer.AddGrowableRow( 2 )
		fgSizer.SetFlexibleDirection( wx.BOTH )
		fgSizer.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_ALL )
		
		fgSizer2 = wx.FlexGridSizer( 0, 5, 0, 0 )
		fgSizer2.AddGrowableCol( 1 )
		fgSizer2.SetFlexibleDirection( wx.BOTH )
		fgSizer2.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		self.m_stxDevice = wx.StaticText( self, wx.ID_ANY, u"USB Device:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_stxDevice.Wrap( -1 )
		fgSizer2.Add( self.m_stxDevice, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT|wx.LEFT|wx.RIGHT, 5 )
		
		m_chDeviceChoices = []
		self.m_chDevice = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_chDeviceChoices, 0 )
		self.m_chDevice.SetSelection( 0 )
		self.m_chDevice.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		
		fgSizer2.Add( self.m_chDevice, 1, wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 )
		
		bSizer6 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_stBaudrate = wx.StaticText( self, wx.ID_ANY, u"BaudRate:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_stBaudrate.Wrap( -1 )
		self.m_stBaudrate.Hide()
		
		bSizer6.Add( self.m_stBaudrate, 0, wx.ALIGN_CENTER_VERTICAL|wx.TOP|wx.BOTTOM|wx.LEFT, 5 )
		
		m_chBaudrateChoices = []
		self.m_chBaudrate = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 100,-1 ), m_chBaudrateChoices, 0 )
		self.m_chBaudrate.SetSelection( 0 )
		self.m_chBaudrate.Hide()
		
		bSizer6.Add( self.m_chBaudrate, 0, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		
		fgSizer2.Add( bSizer6, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		self.m_bRefresh = wx.Button( self, wx.ID_ANY, u"Refresh", wx.DefaultPosition, wx.Size( 70,-1 ), 0 )
		fgSizer2.Add( self.m_bRefresh, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.SHAPED, 2 )
		
		self.m_bConnect = wx.Button( self, wx.ID_ANY, u"Connect", wx.DefaultPosition, wx.Size( 90,-1 ), 0 )
		self.m_bConnect.Enable( False )
		
		fgSizer2.Add( self.m_bConnect, 0, wx.ALL|wx.SHAPED|wx.ALIGN_CENTER_VERTICAL, 2 )
		
		
		fgSizer.Add( fgSizer2, 1, wx.EXPAND|wx.TOP|wx.RIGHT|wx.LEFT, 5 )
		
		self.m_staticline1 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL )
		fgSizer.Add( self.m_staticline1, 0, wx.EXPAND|wx.ALL, 5 )
		
		self.m_notebook1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( -1,370 ), wx.NB_FIXEDWIDTH|wx.NB_TOP )
		self.m_panel1 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel1.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		self.m_panel1.SetToolTipString( u"KBOOT Properties of Connected MCU" )
		
		bSizer3 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_dvlcMcuInfo = wx.dataview.DataViewListCtrl( self.m_panel1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.dataview.DV_ROW_LINES|wx.dataview.DV_VERT_RULES )
		bSizer3.Add( self.m_dvlcMcuInfo, 1, wx.ALL|wx.EXPAND, 5 )
		
		
		self.m_panel1.SetSizer( bSizer3 )
		self.m_panel1.Layout()
		bSizer3.Fit( self.m_panel1 )
		self.m_notebook1.AddPage( self.m_panel1, u"MCU Info", True )
		self.m_panel2 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel2.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		fgSizer4 = wx.FlexGridSizer( 2, 0, 0, 0 )
		fgSizer4.AddGrowableCol( 0 )
		fgSizer4.AddGrowableRow( 1 )
		fgSizer4.SetFlexibleDirection( wx.BOTH )
		fgSizer4.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		bSizer61 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_stxtDataInfo = wx.StaticText( self.m_panel2, wx.ID_ANY, u"Source:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_stxtDataInfo.Wrap( -1 )
		bSizer61.Add( self.m_stxtDataInfo, 0, wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		self.m_txtcDataInfo = wx.TextCtrl( self.m_panel2, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_READONLY )
		self.m_txtcDataInfo.SetBackgroundColour( wx.Colour( 240, 240, 240 ) )
		
		bSizer61.Add( self.m_txtcDataInfo, 1, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		self.m_bpOpen = wx.BitmapButton( self.m_panel2, wx.ID_ANY, wx.ArtProvider.GetBitmap( wx.ART_FILE_OPEN,  ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW )
		self.m_bpOpen.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
		self.m_bpOpen.SetToolTipString( u"Load Data From File" )
		
		bSizer61.Add( self.m_bpOpen, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		self.m_bpSave = wx.BitmapButton( self.m_panel2, wx.ID_ANY, wx.ArtProvider.GetBitmap( wx.ART_FILE_SAVE,  ), wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW )
		self.m_bpSave.Enable( False )
		self.m_bpSave.SetToolTipString( u"Save Data Into File" )
		
		bSizer61.Add( self.m_bpSave, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		
		fgSizer4.Add( bSizer61, 1, wx.EXPAND|wx.TOP|wx.RIGHT|wx.LEFT, 2 )
		
		self.m_dvlcDataBuff = wx.dataview.DataViewListCtrl( self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_dvlcDataBuff.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 90, False, wx.EmptyString ) )
		
		fgSizer4.Add( self.m_dvlcDataBuff, 1, wx.ALL|wx.EXPAND, 5 )
		
		
		self.m_panel2.SetSizer( fgSizer4 )
		self.m_panel2.Layout()
		fgSizer4.Fit( self.m_panel2 )
		self.m_notebook1.AddPage( self.m_panel2, u"Data Buffer", False )
		self.m_panel3 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel3.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		fgSizer6 = wx.FlexGridSizer( 0, 0, 0, 0 )
		fgSizer6.AddGrowableCol( 0 )
		fgSizer6.AddGrowableRow( 0 )
		fgSizer6.SetFlexibleDirection( wx.BOTH )
		fgSizer6.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		self.m_pGridFCA = pg.PropertyGrid(self.m_panel3, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_BOLD_MODIFIED|wx.propgrid.PG_DEFAULT_STYLE|wx.propgrid.PG_SPLITTER_AUTO_CENTER)
		fgSizer6.Add( self.m_pGridFCA, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		
		self.m_panel3.SetSizer( fgSizer6 )
		self.m_panel3.Layout()
		fgSizer6.Fit( self.m_panel3 )
		self.m_notebook1.AddPage( self.m_panel3, u"FCA Editor", False )
		self.m_panel4 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel4.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		fgSizer61 = wx.FlexGridSizer( 0, 0, 0, 0 )
		fgSizer61.AddGrowableCol( 0 )
		fgSizer61.AddGrowableRow( 0 )
		fgSizer61.SetFlexibleDirection( wx.BOTH )
		fgSizer61.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		self.m_pGridBCA = pg.PropertyGrid(self.m_panel4, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_BOLD_MODIFIED|wx.propgrid.PG_DEFAULT_STYLE|wx.propgrid.PG_SPLITTER_AUTO_CENTER)
		fgSizer61.Add( self.m_pGridBCA, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		
		self.m_panel4.SetSizer( fgSizer61 )
		self.m_panel4.Layout()
		fgSizer61.Fit( self.m_panel4 )
		self.m_notebook1.AddPage( self.m_panel4, u"BCA Editor", False )
		self.m_panel5 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel5.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		bSizer51 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_pGridOptions = pg.PropertyGrid(self.m_panel5, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.propgrid.PG_BOLD_MODIFIED|wx.propgrid.PG_DEFAULT_STYLE|wx.propgrid.PG_SPLITTER_AUTO_CENTER|wx.SUNKEN_BORDER)
		self.m_pGridOptions.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
		
		bSizer51.Add( self.m_pGridOptions, 1, wx.ALL|wx.EXPAND, 5 )
		
		
		self.m_panel5.SetSizer( bSizer51 )
		self.m_panel5.Layout()
		bSizer51.Fit( self.m_panel5 )
		self.m_notebook1.AddPage( self.m_panel5, u"CMD Options", False )
		self.m_panel6 = wx.Panel( self.m_notebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL )
		self.m_panel6.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_MENU ) )
		
		fgSizer3 = wx.FlexGridSizer( 2, 0, 0, 0 )
		fgSizer3.AddGrowableCol( 0 )
		fgSizer3.AddGrowableRow( 0 )
		fgSizer3.SetFlexibleDirection( wx.BOTH )
		fgSizer3.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		self.m_tcLogger = wx.TextCtrl( self.m_panel6, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_DONTWRAP|wx.TE_MULTILINE|wx.TE_NOHIDESEL|wx.TE_READONLY )
		self.m_tcLogger.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 90, False, wx.EmptyString ) )
		self.m_tcLogger.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
		self.m_tcLogger.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) )
		
		fgSizer3.Add( self.m_tcLogger, 1, wx.EXPAND|wx.TOP|wx.RIGHT|wx.LEFT, 5 )
		
		bSizer5 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText3 = wx.StaticText( self.m_panel6, wx.ID_ANY, u"Level:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText3.Wrap( -1 )
		bSizer5.Add( self.m_staticText3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		m_chLogLevelChoices = [ u"Debug", u"Info", u"Error" ]
		self.m_chLogLevel = wx.Choice( self.m_panel6, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_chLogLevelChoices, 0 )
		self.m_chLogLevel.SetSelection( 0 )
		self.m_chLogLevel.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOWTEXT ) )
		
		bSizer5.Add( self.m_chLogLevel, 0, wx.ALIGN_CENTER_VERTICAL|wx.RIGHT|wx.LEFT, 5 )
		
		
		bSizer5.AddSpacer( ( 0, 0), 1, wx.EXPAND, 5 )
		
		self.m_bClearLog = wx.Button( self.m_panel6, wx.ID_ANY, u"Clear", wx.DefaultPosition, wx.Size( 70,-1 ), 0 )
		bSizer5.Add( self.m_bClearLog, 0, wx.ALL, 5 )
		
		self.m_bSaveLog = wx.Button( self.m_panel6, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.Size( 70,-1 ), 0 )
		bSizer5.Add( self.m_bSaveLog, 0, wx.ALL, 5 )
		
		
		fgSizer3.Add( bSizer5, 1, wx.EXPAND|wx.RIGHT|wx.LEFT|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		
		self.m_panel6.SetSizer( fgSizer3 )
		self.m_panel6.Layout()
		fgSizer3.Fit( self.m_panel6 )
		self.m_notebook1.AddPage( self.m_panel6, u"Logger", False )
		
		fgSizer.Add( self.m_notebook1, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND|wx.ALL, 5 )
		
		fgSizer5 = wx.FlexGridSizer( 0, 3, 0, 0 )
		fgSizer5.AddGrowableCol( 1 )
		fgSizer5.AddGrowableRow( 0 )
		fgSizer5.SetFlexibleDirection( wx.BOTH )
		fgSizer5.SetNonFlexibleGrowMode( wx.FLEX_GROWMODE_SPECIFIED )
		
		self.m_tcTime = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 100,24 ), wx.TE_CENTRE|wx.TE_READONLY )
		self.m_tcTime.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_tcTime.SetForegroundColour( wx.Colour( 0, 0, 0 ) )
		self.m_tcTime.SetBackgroundColour( wx.Colour( 224, 224, 224 ) )
		
		fgSizer5.Add( self.m_tcTime, 1, wx.ALIGN_CENTER_VERTICAL|wx.EXPAND|wx.RIGHT|wx.LEFT, 6 )
		
		self.m_gProgBar = wx.Gauge( self, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL|wx.GA_SMOOTH )
		self.m_gProgBar.SetValue( 0 ) 
		fgSizer5.Add( self.m_gProgBar, 1, wx.ALIGN_CENTER_VERTICAL|wx.BOTTOM|wx.RIGHT|wx.LEFT|wx.EXPAND, 1 )
		
		self.m_tcState = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 100,24 ), wx.TE_CENTRE|wx.TE_READONLY )
		self.m_tcState.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_tcState.SetForegroundColour( wx.Colour( 0, 0, 0 ) )
		self.m_tcState.SetBackgroundColour( wx.Colour( 224, 224, 224 ) )
		
		fgSizer5.Add( self.m_tcState, 1, wx.ALIGN_CENTER|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND|wx.RIGHT|wx.LEFT, 6 )
		
		
		fgSizer.Add( fgSizer5, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.EXPAND|wx.ALL, 5 )
		
		gSizer1 = wx.GridSizer( 0, 5, 0, 0 )
		
		gSizer1.SetMinSize( wx.Size( -1,50 ) ) 
		self.m_bReset = wx.Button( self, wx.ID_ANY, u"Reset", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_bReset.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_bReset.Enable( False )
		
		gSizer1.Add( self.m_bReset, 1, wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL|wx.EXPAND, 5 )
		
		self.m_bUnlock = wx.Button( self, wx.ID_ANY, u"Unlock", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_bUnlock.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_bUnlock.Enable( False )
		
		gSizer1.Add( self.m_bUnlock, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
		
		self.m_bErase = wx.Button( self, wx.ID_ANY, u"Erase", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_bErase.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_bErase.Enable( False )
		
		gSizer1.Add( self.m_bErase, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
		
		self.m_bWrite = wx.Button( self, wx.ID_ANY, u"Write", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_bWrite.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_bWrite.Enable( False )
		
		gSizer1.Add( self.m_bWrite, 1, wx.ALL|wx.EXPAND|wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_CENTER_HORIZONTAL, 5 )
		
		self.m_bRead = wx.Button( self, wx.ID_ANY, u"Read", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_bRead.SetFont( wx.Font( wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, False, wx.EmptyString ) )
		self.m_bRead.Enable( False )
		
		gSizer1.Add( self.m_bRead, 1, wx.EXPAND|wx.ALIGN_CENTER_HORIZONTAL|wx.ALIGN_CENTER_VERTICAL|wx.ALL, 5 )
		
		
		fgSizer.Add( gSizer1, 1, wx.EXPAND|wx.FIXED_MINSIZE|wx.LEFT|wx.RIGHT|wx.ALIGN_CENTER_HORIZONTAL, 5 )
		
		
		fgSizer.AddSpacer( ( 0, 10), 1, wx.EXPAND, 5 )
		
		
		m_sizer.Add( fgSizer, 1, wx.EXPAND|wx.FIXED_MINSIZE, 5 )
		
		
		self.SetSizer( m_sizer )
		self.Layout()
		
		self.Centre( wx.BOTH )
		
		# Connect Events
		self.Bind( wx.EVT_MENU, self.OnOpen, id = self.m_mOpen.GetId() )
		self.Bind( wx.EVT_MENU, self.OnSave, id = self.m_mSave.GetId() )
		self.Bind( wx.EVT_MENU, self.OnExit, id = self.m_mExit.GetId() )
		self.Bind( wx.EVT_MENU, self.OnSelUsbHid, id = self.m_mUsbHid.GetId() )
		self.Bind( wx.EVT_MENU, self.OnSelUart, id = self.m_mUart.GetId() )
		self.Bind( wx.EVT_MENU, self.OnSettings, id = self.m_mSettings.GetId() )
		self.Bind( wx.EVT_MENU, self.OnAbout, id = self.m_mAbout.GetId() )
		self.m_bRefresh.Bind( wx.EVT_BUTTON, self.OnRefresh )
		self.m_bConnect.Bind( wx.EVT_BUTTON, self.OnConnect )
		self.m_bpOpen.Bind( wx.EVT_BUTTON, self.OnOpen )
		self.m_bpSave.Bind( wx.EVT_BUTTON, self.OnSave )
		self.m_tcLogger.Bind( wx.EVT_LEAVE_WINDOW, self.OnLeaveLogger )
		self.m_chLogLevel.Bind( wx.EVT_CHOICE, self.OnChoiceLogLevel )
		self.m_bClearLog.Bind( wx.EVT_BUTTON, self.OnClearLog )
		self.m_bSaveLog.Bind( wx.EVT_BUTTON, self.OnSaveLog )
		self.m_bReset.Bind( wx.EVT_BUTTON, self.OnReset )
		self.m_bUnlock.Bind( wx.EVT_BUTTON, self.OnUnlock )
		self.m_bErase.Bind( wx.EVT_BUTTON, self.OnErase )
		self.m_bWrite.Bind( wx.EVT_BUTTON, self.OnWrite )
		self.m_bRead.Bind( wx.EVT_BUTTON, self.OnRead )
Exemplo n.º 24
0
    def image_panel(self):
        self.imagepanel = wx.ScrolledWindow(self.main_container, wx.ID_ANY,
                                            wx.DefaultPosition, wx.DefaultSize,
                                            wx.HSCROLL | wx.VSCROLL)
        self.imagepanel.SetScrollRate(5, 5)

        image_panel_sizer = wx.BoxSizer(wx.VERTICAL)

        self.image_panel_container = wx.SplitterWindow(self.imagepanel,
                                                       wx.ID_ANY,
                                                       wx.DefaultPosition,
                                                       wx.DefaultSize,
                                                       wx.SP_LIVE_UPDATE)

        self.image_container = wx.ScrolledWindow(
            self.image_panel_container, wx.ID_ANY, wx.DefaultPosition,
            wx.DefaultSize, wx.HSCROLL | wx.VSCROLL | wx.BORDER_SUNKEN)
        self.image_container.SetScrollRate(5, 5)

        self.image_sizer = wx.BoxSizer(wx.VERTICAL)

        self.note = wx.aui.AuiNotebook(
            self.image_container, wx.ID_ANY, wx.DefaultPosition,
            wx.DefaultSize,
            (wx.aui.AUI_NB_CLOSE_ON_ALL_TABS | wx.aui.AUI_NB_SCROLL_BUTTONS
             | wx.aui.AUI_NB_TAB_MOVE | wx.aui.AUI_NB_TAB_SPLIT
             | wx.aui.AUI_NB_TOP))
        self.image_sizer.Add(self.note, 1, wx.EXPAND)

        self.image_container.SetSizer(self.image_sizer)
        self.image_container.Layout()
        self.image_sizer.Fit(self.image_container)

        self.image_info_panel = wx.ScrolledWindow(self.image_panel_container,
                                                  wx.ID_ANY,
                                                  style=wx.HSCROLL
                                                  | wx.VSCROLL)
        self.image_info_panel.SetScrollRate(5, 5)

        self.image_info_panel_sizer = wx.BoxSizer(wx.VERTICAL)

        self.palette_sizer = wx.StaticBoxSizer(
            wx.StaticBox(self.image_info_panel, wx.ID_ANY, 'Palette'),
            wx.VERTICAL)

        self.palette_grid = pg.PropertyGrid(
            self.palette_sizer.GetStaticBox(),
            wx.ID_ANY,
            style=wx.propgrid.PG_LIMITED_EDITING | wx.propgrid.PG_HIDE_MARGIN)
        font = wx.Font(10, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL,
                       wx.FONTWEIGHT_NORMAL, False, "Noto Sans")
        self.palette_grid.SetFont(font)

        self.palette_grid.Append(pg.PropertyCategory('amount | color'))

        self.palette_sizer.Add(self.palette_grid, 1, wx.EXPAND, 5)

        self.image_info_panel_sizer.Add(self.palette_sizer, 1, wx.EXPAND, 5)

        self.image_info_panel.SetSizer(self.image_info_panel_sizer)
        self.image_info_panel.Layout()
        self.image_info_panel_sizer.Fit(self.image_info_panel)

        self.image_panel_container.SplitVertically(self.image_container,
                                                   self.image_info_panel, 740)

        image_panel_sizer.Add(self.image_panel_container, 1, wx.EXPAND, 5)

        self.imagepanel.SetSizer(image_panel_sizer)
        self.imagepanel.Layout()
        image_panel_sizer.Fit(self.imagepanel)
Exemplo n.º 25
0
    def __init__(self, parent, wparent, cb=None):
        wx.Frame.__init__(self, wparent, wx.ID_ANY, size=(500, 500))
        ico = wx.Icon(os.path.join(cmdFolder, "images", "propsico.png"),
                      wx.BITMAP_TYPE_PNG)
        self.SetIcon(ico)
        self.Bind(wx.EVT_CLOSE, self.onClose)
        self.parent = parent
        self.callback = cb
        self.fileName = None
        self.sdTargetfn = None
        self.nextruders = parent.settings.nextruders
        self.printStatus = PrintState.idle
        self.setTitle()

        pgFont = wx.Font(10, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL,
                         wx.FONTWEIGHT_BOLD)
        self.pg = pg = wxpg.PropertyGrid(self,
                                         style=wxpg.PG_PROP_READONLY
                                         | wxpg.PG_TOOLBAR)

        pg.SetFont(pgFont)

        pg.SetCaptionBackgroundColour(wx.Colour(215, 255, 215))
        pg.SetCaptionTextColour(wx.Colour(0, 0, 0))
        pg.SetMarginColour(wx.Colour(215, 255, 215))
        pg.SetCellBackgroundColour(wx.Colour(255, 255, 191))
        pg.SetCellTextColour(wx.Colour(0, 0, 0))
        pg.SetCellDisabledTextColour(wx.Colour(0, 0, 0))
        pg.SetEmptySpaceColour(wx.Colour(215, 255, 215))
        pg.SetLineColour(wx.Colour(0, 0, 0))

        self.properties = {}

        lines = 0
        for cat in catOrder:
            pg.Append(wxpg.PropertyCategory(CategoryEnum.label[cat]))
            lines += 1
            for k in propertyMap[cat]:
                if k == PropertyEnum.filamentUsed:
                    for tx in range(self.nextruders):
                        pgp = wxpg.StringProperty(
                            PropertyEnum.label[toolMap[tx]], value="")
                        pg.Append(pgp)
                        lines += 1
                        self.properties[toolMap[tx]] = pgp
                        pg.DisableProperty(pgp)
                else:
                    pgp = wxpg.StringProperty(PropertyEnum.label[k], value="")
                    pg.Append(pgp)
                    lines += 1
                    self.properties[k] = pgp
                    pg.DisableProperty(pgp)

        n = pg.GetRowHeight()
        dlgVsizer = wx.BoxSizer(wx.VERTICAL)
        dlgHsizer = wx.BoxSizer(wx.HORIZONTAL)
        dlgHsizer.AddSpacer(10)
        dlgHsizer.Add(pg, 1, wx.EXPAND)
        dlgHsizer.AddSpacer(10)

        dlgVsizer.AddSpacer(10)
        dlgVsizer.Add(dlgHsizer, 1, wx.EXPAND)
        dlgVsizer.AddSpacer(10)
        self.SetSizer(dlgVsizer)
        self.SetClientSize((600, n * lines + 24))
        pg.SetSplitterLeft()
Exemplo n.º 26
0
    def __init__(self, *args, **kargs):
        page = kargs.pop('page', None)
        parent = kargs.pop('parent', None)
        title = kargs.pop('title', 'HDF export')
        path = kargs.pop('path', os.path.join(os.getcwd(), 'data.hdf'))
        dataset = kargs.pop('dataset', None)
        metadata = kargs.pop('metadata', OrderedDict())
        export_flag = kargs.pop('export_flag', {})
        if dataset is None:
            if page is None:
                return
            dataset, metadata, export_flag = build_data(
                page,
                verbose=False,
                metadata=metadata,
                export_flag=export_flag)
        style = (wx.CAPTION | wx.CLOSE_BOX | wx.MINIMIZE_BOX
                 | wx.RESIZE_BORDER)
        if parent is not None:
            style = style | wx.FRAME_FLOAT_ON_PARENT

        wx.Frame.__init__(self,
                          *args,
                          style=style,
                          title=title,
                          parent=parent,
                          size=(400, 500))

        self.SetSizer(wx.BoxSizer(wx.VERTICAL))
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        self.GetSizer().Add(hsizer, 1, wx.EXPAND, 0)
        panel = wx.Panel(self)
        hsizer.Add(panel, 1, wx.EXPAND)

        panel.SetSizer(wx.BoxSizer(wx.VERTICAL))
        sizer = panel.GetSizer()
        sizer_h = wx.BoxSizer(wx.HORIZONTAL)

        wildcard = "HDF(hdf)|*.hdf|Any|*.*"
        self.filepicker = wx.FilePickerCtrl(panel,
                                            style=wx.FLP_SAVE
                                            | wx.FLP_USE_TEXTCTRL,
                                            path=path,
                                            wildcard=wildcard)
        self.sp = wx.SplitterWindow(panel,
                                    wx.ID_ANY,
                                    style=wx.SP_NOBORDER | wx.SP_LIVE_UPDATE
                                    | wx.SP_3DSASH)
        self.dataviewCtrl = dv.DataViewCtrl(self.sp,
                                            style=(wx.BORDER_THEME
                                                   | dv.DV_ROW_LINES
                                                   | dv.DV_VERT_RULES))

        self.model = HDFDataModel(export_flag=export_flag,
                                  dataset=dataset,
                                  metadata=metadata)
        self.dataviewCtrl.AssociateModel(self.model)

        self.tr = tr = dv.DataViewTextRenderer()
        c0 = dv.DataViewColumn(
            "name",  # title
            tr,  # renderer
            0,  # data model column
            width=200)
        self.dataviewCtrl.AppendColumn(c0)

        #        self.dataviewCtrl.AppendTextColumn('name', 0,
        #                                           width = 150,
        #                                           mode=dv.DATAVIEW_CELL_ACTIVATABLE)
        c1 = self.dataviewCtrl.AppendToggleColumn(
            'export', 1, width=70, mode=dv.DATAVIEW_CELL_ACTIVATABLE)
        c2 = self.dataviewCtrl.AppendTextColumn(
            'value', 2, width=100, mode=dv.DATAVIEW_CELL_ACTIVATABLE)
        c3 = self.dataviewCtrl.AppendTextColumn(
            'shape', 3, mode=dv.DATAVIEW_CELL_ACTIVATABLE)
        #c4 = self.dataviewCtrl.AppendTextColumn('metadata', 4,
        #                                        mode=dv.DATAVIEW_CELL_ACTIVATABLE)
        for c in self.dataviewCtrl.Columns:
            c.Sortable = True
            c.Reorderable = True
        c1.Alignment = wx.ALIGN_CENTER

        #from ifigure.widgets.var_viewerg2 import _PropertyGrid

        self.grid = pg.PropertyGrid(self.sp)

        #self.btn_load = wx.Button(self, label = 'Load')
        self.choices = [
            'Options...', 'No Property', 'Minimum properties', 'All properties'
        ]
        self.cb = wx.ComboBox(panel,
                              wx.ID_ANY,
                              style=wx.TE_PROCESS_ENTER | wx.CB_READONLY,
                              choices=self.choices)
        self.cb.SetValue(self.choices[0])
        self.btn_export = wx.Button(panel, label='Export...')

        sizer.Add(self.filepicker, 0, wx.EXPAND | wx.ALL, 1)
        sizer.Add(self.sp, 1, wx.EXPAND | wx.ALL, 5)
        sizer.Add(sizer_h, 0, wx.EXPAND | wx.ALL, 5)

        #sizer_h.Add(self.btn_load, 0,   wx.EXPAND|wx.ALL, 1)
        sizer_h.Add(self.cb, 0, wx.EXPAND | wx.ALL, 1)
        sizer_h.AddStretchSpacer(prop=1)
        sizer_h.Add(self.btn_export, 0, wx.EXPAND | wx.ALL, 1)

        self.Layout()
        self.Show()

        self.sp.SetMinimumPaneSize(30)
        self.sp.SplitHorizontally(self.dataviewCtrl, self.grid)
        self.sp.SetSashPosition(300)
        #        self.Bind(dv.EVT_DATAVIEW_ITEM_VALUE_CHANGED,
        #                  self.onDataChanged, self.dataviewCtrl)
        self.Bind(dv.EVT_DATAVIEW_SELECTION_CHANGED, self.onSelChanged,
                  self.dataviewCtrl)

        # self.Bind(dv.EVT_DATAVIEW_ITEM_COLLAPSING,
        #          self.onCollapsing, self.dataviewCtrl)

        self.grid.Bind(pg.EVT_PG_CHANGED, self.onPGChanged, self.grid)
        self.Bind(wx.EVT_BUTTON, self.onExport, self.btn_export)
        self.Bind(wx.EVT_COMBOBOX, self.onCBHit, self.cb)
        self.Bind(wx.EVT_CLOSE, self.onWindowClose)

        self.page = page
        wx.GetApp().TopWindow.hdf_export_window = self
Exemplo n.º 27
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=_(u"Viewing transfor datasource results"),
                           pos=wx.DefaultPosition,
                           size=wx.Size(856, 619),
                           style=wx.DEFAULT_DIALOG_STYLE)

        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)

        bSizer1 = wx.BoxSizer(wx.VERTICAL)

        self.panel_splitter = wx.SplitterWindow(self, wx.ID_ANY,
                                                wx.DefaultPosition,
                                                wx.DefaultSize, wx.SP_3D)
        self.panel_splitter.Bind(wx.EVT_IDLE, self.panel_splitterOnIdle)

        self.query_panel = wx.Panel(self.panel_splitter, wx.ID_ANY,
                                    wx.DefaultPosition, wx.DefaultSize,
                                    wx.TAB_TRAVERSAL)
        bSizer3 = wx.BoxSizer(wx.HORIZONTAL)

        self.var_panel = wx.Panel(self.query_panel, wx.ID_ANY,
                                  wx.DefaultPosition, wx.DefaultSize,
                                  wx.TAB_TRAVERSAL)
        bSizer5 = wx.BoxSizer(wx.VERTICAL)

        self.m_staticText1 = wx.StaticText(self.var_panel, wx.ID_ANY,
                                           _(u"Variables:"),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText1.Wrap(-1)

        bSizer5.Add(self.m_staticText1, 0, wx.ALL, 5)

        self.var_propertyGrid = pg.PropertyGrid(self.var_panel, wx.ID_ANY,
                                                wx.DefaultPosition,
                                                wx.DefaultSize,
                                                wx.propgrid.PG_DEFAULT_STYLE)
        bSizer5.Add(self.var_propertyGrid, 1, wx.ALL | wx.EXPAND, 5)

        self.var_panel.SetSizer(bSizer5)
        self.var_panel.Layout()
        bSizer5.Fit(self.var_panel)
        bSizer3.Add(self.var_panel, 1, wx.EXPAND | wx.ALL, 5)

        self.query_panel.SetSizer(bSizer3)
        self.query_panel.Layout()
        bSizer3.Fit(self.query_panel)
        self.table_panel = wx.Panel(self.panel_splitter, wx.ID_ANY,
                                    wx.DefaultPosition, wx.DefaultSize,
                                    wx.TAB_TRAVERSAL)
        bSizer4 = wx.BoxSizer(wx.VERTICAL)

        self.ctrl_toolBar = wx.ToolBar(self.table_panel, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize,
                                       wx.TB_HORIZONTAL)
        self.collapse_tool = self.ctrl_toolBar.AddTool(
            wx.ID_ANY, _(u"Свернуть панель"),
            wx.ArtProvider.GetBitmap(wx.ART_GO_UP, wx.ART_TOOLBAR),
            wx.NullBitmap, wx.ITEM_NORMAL, _(u"Collapse panel"),
            _(u"Collapse panel"), None)

        self.expand_tool = self.ctrl_toolBar.AddTool(
            wx.ID_ANY, _(u"Развернуть панель"),
            wx.ArtProvider.GetBitmap(wx.ART_GO_DOWN, wx.ART_TOOLBAR),
            wx.NullBitmap, wx.ITEM_NORMAL, _(u"Expand panel"),
            _(u"Expand panel"), None)

        self.ctrl_toolBar.AddSeparator()

        self.refresh_tool = self.ctrl_toolBar.AddTool(
            wx.ID_ANY, _(u"Обновить результаты запроса"),
            wx.ArtProvider.GetBitmap(u"gtk-refresh", wx.ART_TOOLBAR),
            wx.NullBitmap, wx.ITEM_NORMAL, _(u"Refresh"), _(u"Refresh"), None)

        self.ctrl_toolBar.AddSeparator()

        self.m_staticText3 = wx.StaticText(
            self.ctrl_toolBar, wx.ID_ANY,
            _(u"Limiting the number of records:"), wx.DefaultPosition,
            wx.DefaultSize, 0)
        self.m_staticText3.Wrap(-1)

        self.ctrl_toolBar.AddControl(self.m_staticText3)
        self.limit_spinCtrl = wx.SpinCtrl(self.ctrl_toolBar, wx.ID_ANY,
                                          wx.EmptyString, wx.DefaultPosition,
                                          wx.DefaultSize, wx.SP_ARROW_KEYS, 0,
                                          100, 0)
        self.ctrl_toolBar.AddControl(self.limit_spinCtrl)
        self.ctrl_toolBar.Realize()

        bSizer4.Add(self.ctrl_toolBar, 0, wx.EXPAND, 5)

        self.records_listCtrl = wx.ListCtrl(self.table_panel, wx.ID_ANY,
                                            wx.DefaultPosition, wx.DefaultSize,
                                            wx.LC_REPORT)
        bSizer4.Add(self.records_listCtrl, 1, wx.ALL | wx.EXPAND, 5)

        bSizer7 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText4 = wx.StaticText(self.table_panel, wx.ID_ANY,
                                           _(u"Total records:"),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText4.Wrap(-1)

        bSizer7.Add(self.m_staticText4, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                    5)

        self.count_textCtrl = wx.TextCtrl(self.table_panel, wx.ID_ANY,
                                          wx.EmptyString, wx.DefaultPosition,
                                          wx.DefaultSize, wx.TE_READONLY)
        self.count_textCtrl.SetFont(
            wx.Font(11, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL,
                    wx.FONTWEIGHT_BOLD, False, "Sans"))

        bSizer7.Add(self.count_textCtrl, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL,
                    5)

        bSizer4.Add(bSizer7, 0, wx.EXPAND, 5)

        self.table_panel.SetSizer(bSizer4)
        self.table_panel.Layout()
        bSizer4.Fit(self.table_panel)
        self.panel_splitter.SplitHorizontally(self.query_panel,
                                              self.table_panel, 0)
        bSizer1.Add(self.panel_splitter, 1, wx.EXPAND, 5)

        bSizer2 = wx.BoxSizer(wx.HORIZONTAL)

        self.ok_button = wx.Button(self, wx.ID_ANY, _(u"OK"),
                                   wx.DefaultPosition, wx.DefaultSize, 0)

        self.ok_button.SetDefault()
        bSizer2.Add(self.ok_button, 0, wx.ALL, 5)

        bSizer1.Add(bSizer2, 0, wx.ALIGN_RIGHT, 5)

        self.SetSizer(bSizer1)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_TOOL,
                  self.onCollapseToolClicked,
                  id=self.collapse_tool.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.onExpandToolClicked,
                  id=self.expand_tool.GetId())
        self.Bind(wx.EVT_TOOL,
                  self.onRefreshToolClicked,
                  id=self.refresh_tool.GetId())
        self.ok_button.Bind(wx.EVT_BUTTON, self.onOkButtonClick)
	def __init__( self, parent ):
		wx.Dialog.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 300,919 ), style = wx.DEFAULT_DIALOG_STYLE )
		
		self.SetSizeHintsSz( wx.DefaultSize, wx.DefaultSize )
		
		bSizer1 = wx.BoxSizer( wx.VERTICAL )
		
		bSizer2 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_staticText1 = wx.StaticText( self, wx.ID_ANY, u"截面参数定义", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText1.Wrap( -1 )
		bSizer2.Add( self.m_staticText1, 0, wx.ALL, 5 )
		
		bSizer4 = wx.BoxSizer( wx.HORIZONTAL )
		
		self.m_staticText3 = wx.StaticText( self, wx.ID_ANY, u"截面类型:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText3.Wrap( -1 )
		bSizer4.Add( self.m_staticText3, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		m_choice_section_typeChoices = [ u"直角钢", u"工字钢", u"槽钢", u"T型钢", u"帽型钢", u"J型钢" ]
		self.m_choice_section_type = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_section_typeChoices, 0 )
		self.m_choice_section_type.SetSelection( 3 )
		bSizer4.Add( self.m_choice_section_type, 0, wx.ALL, 5 )
		
		
		bSizer2.Add( bSizer4, 0, wx.EXPAND, 5 )
		
		bSizer6 = wx.BoxSizer( wx.VERTICAL )
		
		self.m_staticText4 = wx.StaticText( self, wx.ID_ANY, u"截面参数:", wx.DefaultPosition, wx.DefaultSize, 0 )
		self.m_staticText4.Wrap( -1 )
		bSizer6.Add( self.m_staticText4, 0, wx.ALL|wx.ALIGN_CENTER_VERTICAL, 5 )
		
		self.m_grid_params_defs = wx.grid.Grid( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 )
		
		# Grid
		self.m_grid_params_defs.CreateGrid( 7, 2 )
		self.m_grid_params_defs.EnableEditing( True )
		self.m_grid_params_defs.EnableGridLines( True )
		self.m_grid_params_defs.EnableDragGridSize( False )
		self.m_grid_params_defs.SetMargins( 0, 0 )
		
		# Columns
		self.m_grid_params_defs.SetColSize( 0, 200 )
		self.m_grid_params_defs.EnableDragColMove( False )
		self.m_grid_params_defs.EnableDragColSize( True )
		self.m_grid_params_defs.SetColLabelSize( 30 )
		self.m_grid_params_defs.SetColLabelValue( 0, u"参数定义" )
		self.m_grid_params_defs.SetColLabelValue( 1, u"参数值" )
		self.m_grid_params_defs.SetColLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE )
		
		# Rows
		self.m_grid_params_defs.EnableDragRowSize( True )
		self.m_grid_params_defs.SetRowLabelSize( 1 )
		self.m_grid_params_defs.SetRowLabelAlignment( wx.ALIGN_CENTRE, wx.ALIGN_CENTRE )
		
		# Label Appearance
		
		# Cell Defaults
		self.m_grid_params_defs.SetDefaultCellAlignment( wx.ALIGN_LEFT, wx.ALIGN_TOP )
		bSizer6.Add( self.m_grid_params_defs, 0, wx.ALL, 5 )
		
		self.m_btn_calculation = wx.Button( self, wx.ID_ANY, u"计算", wx.DefaultPosition, wx.DefaultSize, 0 )
		bSizer6.Add( self.m_btn_calculation, 0, wx.ALL, 5 )
		
		
		bSizer2.Add( bSizer6, 0, wx.EXPAND, 5 )
		
		self.m_panel_canvas = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 300,300 ), wx.TAB_TRAVERSAL )
		self.m_panel_canvas.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_ACTIVECAPTION ) )
		
		bSizer2.Add( self.m_panel_canvas, 0, wx.EXPAND |wx.ALL, 5 )
		
		self.m_propertyGrid_result = pg.PropertyGrid(self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 300,300 ), wx.propgrid.PG_DEFAULT_STYLE)
		self.m_propertyGridItem1 = self.m_propertyGrid_result.Append( pg.PropertyCategory( u"结果数据", u"结果数据" ) ) 
		self.m_propertyGridItem2 = self.m_propertyGrid_result.Append( pg.StringProperty( u"面积                                =", u"面积                                =" ) ) 
		self.m_propertyGridItem3 = self.m_propertyGrid_result.Append( pg.StringProperty( u"Sx                                  =", u"Sx                                  =" ) ) 
		self.m_propertyGridItem42 = self.m_propertyGrid_result.Append( pg.StringProperty( u"Sy                                  =", u"Sy                                  =" ) ) 
		self.m_propertyGridItem4 = self.m_propertyGrid_result.Append( pg.StringProperty( u"Ix                                   =", u"Ix                                   =" ) ) 
		self.m_propertyGridItem5 = self.m_propertyGrid_result.Append( pg.StringProperty( u"Iy                                   =", u"Iy                                   =" ) ) 
		self.m_propertyGridItem7 = self.m_propertyGrid_result.Append( pg.StringProperty( u"Ixy                                  =", u"Ixy                                  =" ) ) 
		self.m_propertyGridItem8 = self.m_propertyGrid_result.Append( pg.StringProperty( u"型心                                =", u"型心                                =" ) ) 
		self.m_propertyGridItem9 = self.m_propertyGrid_result.Append( pg.StringProperty( u"主惯性角                          =", u"主惯性角                          =" ) ) 
		self.m_propertyGridItem61 = self.m_propertyGrid_result.Append( pg.StringProperty( u"ix                                   =", u"ix                                   =" ) ) 
		self.m_propertyGridItem62 = self.m_propertyGrid_result.Append( pg.StringProperty( u"iy                                   =", u"iy                                   =" ) ) 
		bSizer2.Add( self.m_propertyGrid_result, 0, wx.ALL|wx.EXPAND, 5 )
		
		
		bSizer1.Add( bSizer2, 1, wx.EXPAND, 5 )
		
		
		self.SetSizer( bSizer1 )
		self.Layout()
		
		self.Centre( wx.BOTH )
		
		# Connect Events
		self.m_choice_section_type.Bind( wx.EVT_CHOICE, self.OnSelectSectionType )
		self.m_btn_calculation.Bind( wx.EVT_BUTTON, self.m_btn_calculationOnButtonClick )
		self.m_btn_calculation.Bind( wx.EVT_SET_FOCUS, self.m_btn_calculationOnSetFocus )
Exemplo n.º 29
0
    def __init__(self, parent):
        wx.Dialog.__init__(self,
                           parent,
                           id=wx.ID_ANY,
                           title=wx.EmptyString,
                           pos=wx.DefaultPosition,
                           size=wx.Size(298, 822),
                           style=wx.DEFAULT_DIALOG_STYLE)

        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        bSizer1 = wx.BoxSizer(wx.VERTICAL)

        bSizer2 = wx.BoxSizer(wx.VERTICAL)

        self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"输入点坐标:",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText1.Wrap(-1)
        bSizer2.Add(self.m_staticText1, 0, wx.ALL, 5)

        bSizer4 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText7 = wx.StaticText(self, wx.ID_ANY, u"X:",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText7.Wrap(-1)
        bSizer4.Add(self.m_staticText7, 0, wx.ALL, 5)

        self.m_textCtrl8 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                       wx.DefaultPosition, wx.Size(65, 25), 0)
        bSizer4.Add(self.m_textCtrl8, 0, wx.ALL, 5)

        self.m_staticText8 = wx.StaticText(self, wx.ID_ANY, u"Y:",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText8.Wrap(-1)
        bSizer4.Add(self.m_staticText8, 0, wx.ALL, 5)

        self.m_textCtrl9 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString,
                                       wx.DefaultPosition, wx.Size(65, 25), 0)
        bSizer4.Add(self.m_textCtrl9, 0, wx.ALL, 5)

        self.m_button1 = wx.Button(self, wx.ID_ANY, u"Insert",
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer4.Add(self.m_button1, 0, wx.ALL, 5)

        bSizer2.Add(bSizer4, 0, wx.EXPAND, 5)

        bSizer50 = wx.BoxSizer(wx.HORIZONTAL)

        bSizer51 = wx.BoxSizer(wx.VERTICAL)

        m_listBox2Choices = []
        self.m_listBox2 = wx.ListBox(self, wx.ID_ANY, wx.DefaultPosition,
                                     wx.Size(140, 150), m_listBox2Choices, 0)
        bSizer51.Add(self.m_listBox2, 0, wx.ALL, 5)

        bSizer8 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_button7 = wx.Button(self, wx.ID_ANY, u"Add连通域",
                                   wx.DefaultPosition, wx.Size(65, 30), 0)
        bSizer8.Add(self.m_button7, 0, wx.ALL, 5)

        self.m_button5 = wx.Button(self, wx.ID_ANY, u"生成复连通",
                                   wx.DefaultPosition, wx.Size(60, 30), 0)
        bSizer8.Add(self.m_button5, 0, wx.ALL, 5)

        bSizer51.Add(bSizer8, 1, wx.EXPAND, 5)

        bSizer50.Add(bSizer51, 1, wx.EXPAND, 5)

        bSizer52 = wx.BoxSizer(wx.VERTICAL)

        m_listBox3Choices = []
        self.m_listBox3 = wx.ListBox(self, wx.ID_ANY, wx.DefaultPosition,
                                     wx.Size(140, 150), m_listBox3Choices, 0)
        bSizer52.Add(self.m_listBox3, 0, wx.ALL, 5)

        bSizer10 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_button8 = wx.Button(self, wx.ID_ANY, u"生成组合截面",
                                   wx.DefaultPosition, wx.Size(75, 30), 0)
        bSizer10.Add(self.m_button8, 0, wx.ALL, 5)

        self.m_button81 = wx.Button(self, wx.ID_ANY, u"Reset",
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer10.Add(self.m_button81, 0, wx.ALL, 5)

        bSizer52.Add(bSizer10, 1, wx.EXPAND, 5)

        bSizer50.Add(bSizer52, 1, wx.EXPAND, 5)

        bSizer2.Add(bSizer50, 0, wx.EXPAND, 5)

        bSizer7 = wx.BoxSizer(wx.VERTICAL)

        self.m_panel1 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition,
                                 wx.Size(300, 300), wx.TAB_TRAVERSAL)
        self.m_panel1.SetBackgroundColour(
            wx.SystemSettings.GetColour(wx.SYS_COLOUR_ACTIVECAPTION))

        bSizer7.Add(self.m_panel1, 0, wx.EXPAND | wx.ALL, 5)

        bSizer9 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_button9 = wx.Button(self, wx.ID_ANY, u"打印数据",
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer9.Add(self.m_button9, 0, wx.ALL, 5)

        self.m_button6 = wx.Button(self, wx.ID_ANY, u"存入截面库",
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer9.Add(self.m_button6, 0, wx.ALL, 5)

        self.m_button82 = wx.Button(self, wx.ID_ANY, u"查看截面库",
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        bSizer9.Add(self.m_button82, 0, wx.ALL, 5)

        bSizer7.Add(bSizer9, 1, wx.EXPAND, 5)

        bSizer2.Add(bSizer7, 1, wx.EXPAND, 5)

        self.m_propertyGrid_result = pg.PropertyGrid(
            self, wx.ID_ANY, wx.DefaultPosition, wx.Size(330, 320),
            wx.propgrid.PG_DEFAULT_STYLE)
        self.m_propertyGridItem1 = self.m_propertyGrid_result.Append(
            pg.PropertyCategory(u"结果数据", u"结果数据"))
        self.m_propertyGridItem2 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"面积          =", u"面积          ="))
        self.m_propertyGridItem3 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"Sx     ", u"Sx     "))
        self.m_propertyGridItem42 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"Sy", u"Sy"))
        self.m_propertyGridItem4 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"Ix", u"Ix"))
        self.m_propertyGridItem5 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"Iy", u"Iy"))
        self.m_propertyGridItem7 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"Ixy", u"Ixy"))
        self.m_propertyGridItem8 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"型心", u"型心"))
        self.m_propertyGridItem9 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"主惯性角", u"主惯性角"))
        self.m_propertyGridItem61 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"ix", u"ix"))
        self.m_propertyGridItem62 = self.m_propertyGrid_result.Append(
            pg.StringProperty(u"iy      ", u"iy      "))
        bSizer2.Add(self.m_propertyGrid_result, 1, wx.ALL, 5)

        bSizer1.Add(bSizer2, 1, wx.EXPAND, 5)

        self.SetSizer(bSizer1)
        self.Layout()

        self.Centre(wx.BOTH)

        # Connect Events
        self.m_button1.Bind(wx.EVT_BUTTON, self.m_btn_InsertOnButtonClick)
        self.m_listBox2.Bind(wx.EVT_RIGHT_UP, self.del_OnRightClick)
        self.m_button7.Bind(wx.EVT_BUTTON, self.btn_addMultiPropOnButtonClick)
        self.m_button5.Bind(wx.EVT_BUTTON, self.btn_genMultiPropOnButtonClick)
        self.m_listBox3.Bind(wx.EVT_LEFT_DCLICK, self.showItemOnDClick)
        self.m_button8.Bind(wx.EVT_BUTTON, self.btn_genCompOnButtonClick)
        self.m_button81.Bind(wx.EVT_BUTTON, self.btn_DataClearOnClickButton)
        self.m_button9.Bind(wx.EVT_BUTTON, self.btn_PrintDataOnclick)
        self.m_button6.Bind(wx.EVT_BUTTON, self.btn_insertToLibOnButtonClick)
        self.m_button82.Bind(wx.EVT_BUTTON, self.checkLibOnButtonClick)
    def __init__(self, parent):
        wx.Frame.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          title=u"FYIAW Lighting Designer v1",
                          pos=wx.DefaultPosition,
                          size=wx.Size(700, 450),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

        self.SetSizeHintsSz(wx.DefaultSize, wx.DefaultSize)

        self.MainFrame_Toolbar = self.CreateToolBar(wx.TB_HORIZONTAL,
                                                    wx.ID_ANY)
        self.Tool_Open = self.MainFrame_Toolbar.AddLabelTool(
            wx.ID_ANY, u"Open",
            wx.ArtProvider.GetBitmap(wx.ART_FILE_OPEN,
                                     wx.ART_MENU), wx.NullBitmap,
            wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None)

        self.Tool_Save = self.MainFrame_Toolbar.AddLabelTool(
            wx.ID_ANY, u"Save",
            wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE_AS,
                                     wx.ART_MENU), wx.NullBitmap,
            wx.ITEM_NORMAL, wx.EmptyString, wx.EmptyString, None)

        self.MainFrame_Toolbar.Realize()

        MainFrame_Boxer = wx.BoxSizer(wx.VERTICAL)

        self.MainListBook = wx.Listbook(self, wx.ID_ANY, wx.DefaultPosition,
                                        wx.DefaultSize, wx.LB_DEFAULT)
        self.Panel_General = wx.Panel(self.MainListBook, wx.ID_ANY,
                                      wx.DefaultPosition, wx.DefaultSize,
                                      wx.TAB_TRAVERSAL)
        Panel_General_Boxer = wx.BoxSizer(wx.VERTICAL)

        self.Label_General = wx.StaticText(self.Panel_General, wx.ID_ANY,
                                           u"General Settings",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.Label_General.Wrap(-1)
        self.Label_General.SetFont(
            wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, True,
                    wx.EmptyString))

        Panel_General_Boxer.Add(self.Label_General, 0, wx.ALL, 5)

        self.General_Grid = pg.PropertyGrid(
            self.Panel_General, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            wx.propgrid.PG_BOLD_MODIFIED | wx.propgrid.PG_DEFAULT_STYLE
            | wx.propgrid.PG_SPLITTER_AUTO_CENTER | wx.TAB_TRAVERSAL)
        self.General_CaptureSizeX = self.General_Grid.Append(
            pg.IntProperty(u"Capture Size: X", u"Capture Size: X"))
        self.General_CaptureSizeY = self.General_Grid.Append(
            pg.IntProperty(u"Capture Size: Y", u"Capture Size: Y"))
        self.General_InitialX = self.General_Grid.Append(
            pg.IntProperty(u"Initial Window Position: X",
                           u"Initial Window Position: X"))
        self.General_InitialY = self.General_Grid.Append(
            pg.IntProperty(u"Initial Window Position: Y",
                           u"Initial Window Position: Y"))
        Panel_General_Boxer.Add(self.General_Grid, 1, wx.ALL | wx.EXPAND, 5)

        self.Panel_General.SetSizer(Panel_General_Boxer)
        self.Panel_General.Layout()
        Panel_General_Boxer.Fit(self.Panel_General)
        self.MainListBook.AddPage(self.Panel_General, u"General", False)
        self.Panel_LEDBoard = wx.Panel(self.MainListBook, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize,
                                       wx.TAB_TRAVERSAL)
        Panel_LEDBoard_Boxer = wx.BoxSizer(wx.VERTICAL)

        self.Label_LEDBoard = wx.StaticText(self.Panel_LEDBoard, wx.ID_ANY,
                                            u"LED Board Settings",
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.Label_LEDBoard.Wrap(-1)
        self.Label_LEDBoard.SetFont(
            wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, True,
                    wx.EmptyString))

        Panel_LEDBoard_Boxer.Add(self.Label_LEDBoard, 0, wx.ALL, 5)

        self.LEDBoard_Grid = pg.PropertyGrid(
            self.Panel_LEDBoard, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            wx.propgrid.PG_BOLD_MODIFIED | wx.propgrid.PG_DEFAULT_STYLE
            | wx.propgrid.PG_SPLITTER_AUTO_CENTER | wx.TAB_TRAVERSAL)
        self.LEDBoard_CategoryGeneral = self.LEDBoard_Grid.Append(
            pg.PropertyCategory(u"General", u"General"))
        self.LEDBoard_Enabled = self.LEDBoard_Grid.Append(
            pg.BoolProperty(u"Enabled", u"Enabled"))
        self.LEDBoard_OPC_Address = self.LEDBoard_Grid.Append(
            pg.StringProperty(u"OPC Server Address", u"OPC Server Address"))
        self.LEDBoard_OPC_Port = self.LEDBoard_Grid.Append(
            pg.IntProperty(u"OPC Server Port", u"OPC Server Port"))
        self.LEDBoard_CategorySize = self.LEDBoard_Grid.Append(
            pg.PropertyCategory(u"LED Board Size", u"LED Board Size"))
        self.LEDBoard_Pixels_X = self.LEDBoard_Grid.Append(
            pg.IntProperty(u"Pixel Count: X", u"Pixel Count: X"))
        self.LEDBoard_Pixels_Y = self.LEDBoard_Grid.Append(
            pg.IntProperty(u"Pixel Count: Y", u"Pixel Count: Y"))
        self.LEDBoard_Spacing_X = self.LEDBoard_Grid.Append(
            pg.IntProperty(u"Pixel Spacing Multiplier: X",
                           u"Pixel Spacing Multiplier: X"))
        self.LEDBoard_Spacing_Y = self.LEDBoard_Grid.Append(
            pg.IntProperty(u"Pixel Spacing Multiplier: Y",
                           u"Pixel Spacing Multiplier: Y"))
        Panel_LEDBoard_Boxer.Add(self.LEDBoard_Grid, 1, wx.ALL | wx.EXPAND, 5)

        self.Panel_LEDBoard.SetSizer(Panel_LEDBoard_Boxer)
        self.Panel_LEDBoard.Layout()
        Panel_LEDBoard_Boxer.Fit(self.Panel_LEDBoard)
        self.MainListBook.AddPage(self.Panel_LEDBoard, u"LED Board", False)
        self.Panel_ = wx.Panel(self.MainListBook, wx.ID_ANY,
                               wx.DefaultPosition, wx.DefaultSize,
                               wx.TAB_TRAVERSAL)
        Panel_General_Boxer1 = wx.BoxSizer(wx.VERTICAL)

        self.Label_General1 = wx.StaticText(self.Panel_, wx.ID_ANY,
                                            u"General Settings",
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.Label_General1.Wrap(-1)
        self.Label_General1.SetFont(
            wx.Font(wx.NORMAL_FONT.GetPointSize(), 70, 90, 92, True,
                    wx.EmptyString))

        Panel_General_Boxer1.Add(self.Label_General1, 0, wx.ALL, 5)

        self.General_Grid1 = pg.PropertyGrid(
            self.Panel_, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            wx.propgrid.PG_BOLD_MODIFIED | wx.propgrid.PG_DEFAULT_STYLE
            | wx.propgrid.PG_SPLITTER_AUTO_CENTER | wx.TAB_TRAVERSAL)
        self.General_CaptureSizeX2 = self.General_Grid1.Append(
            pg.IntProperty(u"Capture Size: X", u"Capture Size: X"))
        self.General_CaptureSizeY2 = self.General_Grid1.Append(
            pg.IntProperty(u"Capture Size: Y", u"Capture Size: Y"))
        self.General_InitialX2 = self.General_Grid1.Append(
            pg.IntProperty(u"Initial Window Position: X",
                           u"Initial Window Position: X"))
        self.General_InitialY2 = self.General_Grid1.Append(
            pg.IntProperty(u"Initial Window Position: Y",
                           u"Initial Window Position: Y"))
        Panel_General_Boxer1.Add(self.General_Grid1, 1, wx.ALL | wx.EXPAND, 5)

        self.Panel_.SetSizer(Panel_General_Boxer1)
        self.Panel_.Layout()
        Panel_General_Boxer1.Fit(self.Panel_)
        self.MainListBook.AddPage(self.Panel_, u"a page", False)

        MainFrame_Boxer.Add(self.MainListBook, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(MainFrame_Boxer)
        self.Layout()

        self.Centre(wx.BOTH)