def __init__(self, parent, color_sets, in_ex_coefficients, colors, pattern_size,\ add, max_sets, counts_per_colorset_size, totals_term=True): super(InExTermWidget, self).__init__(parent, -1) self.sizer = wx.BoxSizer(wx.HORIZONTAL) if not totals_term: # Calculate inclusion/exclusion coefficient coef = 1 remaining_colors = len(colors) - len(color_sets[0]) for i in range(pattern_size-len(color_sets[0]), 0, -1): coef += math.factorial(remaining_colors)/ \ (math.factorial(i)*math.factorial(remaining_colors-i)) if not add: coef *= -1 else: # Use coefficient from inclusion exclusion table coef = in_ex_coefficients[pattern_size - len(color_sets[0])] # Add the first text coef_str = str(coef) if coef >= 0: coef_str = '+' + coef_str text = wx.StaticText(self, -1, coef_str) modified_font = text.GetFont() modified_font.SetPixelSize((20,20)) modified_font.SetWeight(wx.FONTWEIGHT_BOLD) text.SetFont(modified_font) if coef >= 0: text.SetForegroundColour((0, 0, 200)) else: text.SetForegroundColour((200, 0, 0)) self.sizer.Add(text, 0, wx.LEFT, 12) # Now add the count for this size if counts_per_colorset_size: text_str = u' \u00d7 ' + str(counts_per_colorset_size[len(color_sets[0])]) else: text_str = u' \u00d7 ' + str(len(color_sets)) text = wx.StaticText(self, -1, text_str, size=(110,20)) text.SetFont(modified_font) self.sizer.Add(text, 0, wx.EXPAND|wx.RIGHT, 12) # Add the color set widgets self.color_set_sizer = wx.WrapSizer(wx.HORIZONTAL) for i in range(min(len(color_sets),max_sets)): self.color_set_sizer.Add(ColorSetWidget(self, color_sets[i]), 1, wx.BOTTOM|wx.RIGHT, 12) # Add ellipsis if we aren't displaying all of the color sets if len(color_sets) > max_sets: text = wx.StaticText(self, -1, "...") text.SetFont(modified_font) self.color_set_sizer.Add(text, 1, wx.BOTTOM|wx.RIGHT, 12) self.sizer.Add(self.color_set_sizer, 1, wx.EXPAND) # Add the second text self.coef = coef if totals_term: self.total = counts_per_colorset_size[len(color_sets[0])] * coef else: self.total = len(color_sets)*coef text2 = wx.StaticText(self, -1, "= "+str(self.total), size=(70,20)) text2.SetFont(modified_font) self.sizer.Add(text2, 0, wx.EXPAND|wx.RIGHT|wx.LEFT, 12) # Set the sizer self.SetSizer(self.sizer)
def createTabbedGui(self): self.notesizer = wx.BoxSizer(wx.VERTICAL) self.notebook = wx.Notebook(self.panel) self.notebook.SetBackgroundColour(self.bgcolor) page1panel = self.newPanel(self.notebook) page2panel = self.newPanel(self.notebook) self.mainsizer_page1 = wx.BoxSizer(wx.VERTICAL) page1panel1 = self.newPanel(page1panel) page1panel2 = self.newPanel(page1panel) self.toolbarsizer = MainToolbar(self, page1panel1, use_wrapsizer=True) page1panel1.SetSizer(self.toolbarsizer) self.mainsizer_page1.Add(page1panel1, 0, wx.EXPAND) self.lowersizer = wx.BoxSizer(wx.HORIZONTAL) page1panel2.SetSizer(self.lowersizer) leftsizer = wx.BoxSizer(wx.VERTICAL) controls_sizer = ControlsSizer(self, page1panel2, True) leftsizer.Add(controls_sizer, 1, wx.ALIGN_CENTER) rightsizer = wx.BoxSizer(wx.VERTICAL) extracontrols = wx.GridBagSizer() add_extra_controls(extracontrols, self, page1panel2, controls_sizer.extra_buttons) rightsizer.AddStretchSpacer() rightsizer.Add(extracontrols, 0, wx.ALIGN_CENTER) self.lowersizer.Add(leftsizer, 0, wx.ALIGN_CENTER | wx.RIGHT, border=10) self.lowersizer.Add(rightsizer, 1, wx.ALIGN_CENTER) self.mainsizer_page1.Add(page1panel2, 1) self.mainsizer = wx.BoxSizer(wx.HORIZONTAL) self.splitterwindow = wx.SplitterWindow(page2panel, style=wx.SP_3D) page2sizer1 = wx.BoxSizer(wx.HORIZONTAL) page2panel1 = self.newPanel(self.splitterwindow) page2sizer2 = wx.BoxSizer(wx.HORIZONTAL) page2panel2 = self.newPanel(self.splitterwindow) vizpane = VizPane(self, page2panel1) page2sizer1.Add(vizpane, 1, wx.EXPAND) page2sizer2.Add(LogPane(self, page2panel2), 1, wx.EXPAND) page2panel1.SetSizer(page2sizer1) page2panel2.SetSizer(page2sizer2) self.splitterwindow.SetMinimumPaneSize(1) self.splitterwindow.SetSashGravity(0.5) self.splitterwindow.SplitVertically(page2panel1, page2panel2, self.settings.last_sash_position) self.mainsizer.Add(self.splitterwindow, 1, wx.EXPAND) page1panel.SetSizer(self.mainsizer_page1) page2panel.SetSizer(self.mainsizer) self.notesizer.Add(self.notebook, 1, wx.EXPAND) self.notebook.AddPage(page1panel, _("Commands")) self.notebook.AddPage(page2panel, _("Status")) if self.settings.uimode == _("Tabbed with platers"): from printrun.stlplater import StlPlaterPanel from printrun.gcodeplater import GcodePlaterPanel page3panel = StlPlaterPanel( parent=self.notebook, callback=self.platecb, build_dimensions=self.build_dimensions_list, circular_platform=self.settings.circular_bed, simarrange_path=self.settings.simarrange_path, antialias_samples=int(self.settings.antialias3dsamples)) page4panel = GcodePlaterPanel( parent=self.notebook, callback=self.platecb, build_dimensions=self.build_dimensions_list, circular_platform=self.settings.circular_bed, antialias_samples=int(self.settings.antialias3dsamples)) self.registerPanel(page3panel) self.registerPanel(page4panel) self.notebook.AddPage(page3panel, _("Plater")) self.notebook.AddPage(page4panel, _("G-Code Plater")) self.panel.SetSizer(self.notesizer) self.panel.Bind(wx.EVT_MOUSE_EVENTS, self.editbutton) self.Bind(wx.EVT_CLOSE, self.kill) # Custom buttons if wx.VERSION > (2, 9): self.cbuttonssizer = wx.WrapSizer(wx.HORIZONTAL) else: self.cbuttonssizer = wx.GridBagSizer() self.cbuttonssizer = wx.GridBagSizer() self.centerpanel = self.newPanel(page1panel2) self.centerpanel.SetSizer(self.cbuttonssizer) rightsizer.Add(self.centerpanel, 0, wx.ALIGN_CENTER) rightsizer.AddStretchSpacer() self.panel.SetSizerAndFit(self.notesizer) self.cbuttons_reload() minsize = self.lowersizer.GetMinSize() # lower pane minsize[1] = self.notebook.GetSize()[1] self.SetMinSize(self.ClientToWindowSize(minsize)) # client to window self.Fit()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(656, 398), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_deviceModel = wx.StaticText( self, wx.ID_ANY, u"Use Typical Device Model:", wx.DefaultPosition, wx.Size(149, -1), 0) self.m_staticText_deviceModel.Wrap(-1) wSizer_win.Add(self.m_staticText_deviceModel, 0, wx.ALL, 5) m_choice_deviceModeChoices = [ u"No", u"ISSI - IS25LP064A", u"MXIC - MX25UM51245G/MX66UM51245G/MX25LM51245G", u"MXIC - MX25UM51345G", u"Micron - MT35X", u"Adesto - ATXP032", u"Cypress - S26KS512SDPBHI020" ] self.m_choice_deviceMode = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(340, -1), m_choice_deviceModeChoices, 0) self.m_choice_deviceMode.SetSelection(0) wSizer_win.Add(self.m_choice_deviceMode, 0, wx.ALL, 5) self.m_staticText_winNull0 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(100, -1), 0) self.m_staticText_winNull0.Wrap(-1) wSizer_win.Add(self.m_staticText_winNull0, 0, wx.ALL, 5) self.m_notebook_norOpt0 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_norOpt0 = wx.Panel(self.m_notebook_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_norOpt0 = wx.GridSizer(0, 2, 0, 0) self.m_staticText_deviceType = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Device Type:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_deviceType.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_deviceType, 0, wx.ALL, 5) m_choice_deviceTypeChoices = [ u"QuadSPI SDR NOR", u"QuadSPI DDR NOR", u"Hyper Flash 1.8V", u"Hyper Flash 3.0V", u"Macronix Octal DDR", u"Macronix Octal SDR", u"Micron Octal DDR", u"Micron Octal SDR", u"Adesto EcoXIP DDR", u"Adesto EcoXIP SDR" ] self.m_choice_deviceType = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_deviceTypeChoices, 0) self.m_choice_deviceType.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_deviceType, 0, wx.ALL, 5) self.m_staticText_queryPads = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Query Pads:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_queryPads.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_queryPads, 0, wx.ALL, 5) m_choice_queryPadsChoices = [u"1", u"4", u"8"] self.m_choice_queryPads = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_queryPadsChoices, 0) self.m_choice_queryPads.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_queryPads, 0, wx.ALL, 5) self.m_staticText_cmdPads = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Cmd Pads:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_cmdPads.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_cmdPads, 0, wx.ALL, 5) m_choice_cmdPadsChoices = [u"1", u"4", u"8"] self.m_choice_cmdPads = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_cmdPadsChoices, 0) self.m_choice_cmdPads.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_cmdPads, 0, wx.ALL, 5) self.m_staticText_quadModeSetting = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Quad Mode Setting:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_quadModeSetting.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_quadModeSetting, 0, wx.ALL, 5) m_choice_quadModeSettingChoices = [ u"Not Configured", u"Set StatusReg1[6]", u"Set StatusReg2[1]", u"Set StatusReg2[7]", u"Set StatusReg2[1] by 0x31" ] self.m_choice_quadModeSetting = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_quadModeSettingChoices, 0) self.m_choice_quadModeSetting.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_quadModeSetting, 0, wx.ALL, 5) self.m_staticText_miscMode = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Misc Mode:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_miscMode.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_miscMode, 0, wx.ALL, 5) m_choice_miscModeChoices = [ u"Disabled", u"0_4_4 Mode", u"0_8_8 Mode", u"Data Order Swapped" ] self.m_choice_miscMode = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_miscModeChoices, 0) self.m_choice_miscMode.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_miscMode, 0, wx.ALL, 5) self.m_staticText_maxFrequency = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Max Frequency:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_maxFrequency.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_maxFrequency, 0, wx.ALL, 5) m_choice_maxFrequencyChoices = [ u"30MHz", u"50MHz", u"60MHz", u"75MHz", u"80MHz", u"100MHz", u"133MHz", u"166MHz" ] self.m_choice_maxFrequency = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_maxFrequencyChoices, 0) self.m_choice_maxFrequency.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_maxFrequency, 0, wx.ALL, 5) self.m_staticText_hasOption1 = wx.StaticText(self.m_panel_norOpt0, wx.ID_ANY, u"Has Option1:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_hasOption1.Wrap(-1) gSizer_norOpt0.Add(self.m_staticText_hasOption1, 0, wx.ALL, 5) m_choice_hasOption1Choices = [u"No", u"Yes"] self.m_choice_hasOption1 = wx.Choice(self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_hasOption1Choices, 0) self.m_choice_hasOption1.SetSelection(0) gSizer_norOpt0.Add(self.m_choice_hasOption1, 0, wx.ALL, 5) self.m_panel_norOpt0.SetSizer(gSizer_norOpt0) self.m_panel_norOpt0.Layout() gSizer_norOpt0.Fit(self.m_panel_norOpt0) self.m_notebook_norOpt0.AddPage(self.m_panel_norOpt0, u"Nor Option0", False) wSizer_win.Add(self.m_notebook_norOpt0, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_norOpt1 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_norOpt1 = wx.Panel(self.m_notebook_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_norOpt1 = wx.GridSizer(0, 2, 0, 0) self.m_staticText_flashConnection = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Flash Connection:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_flashConnection.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_flashConnection, 0, wx.ALL, 5) m_choice_flashConnectionChoices = [ u"Single Port A", u"Parallel", u"Single Port B", u"Both Ports" ] self.m_choice_flashConnection = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_flashConnectionChoices, 0) self.m_choice_flashConnection.SetSelection(0) gSizer_norOpt1.Add(self.m_choice_flashConnection, 0, wx.ALL, 5) self.m_staticText_driveStrength = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Drive Strength:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_driveStrength.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_driveStrength, 0, wx.ALL, 5) self.m_textCtrl_driveStrength = wx.TextCtrl(self.m_panel_norOpt1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(140, -1), 0) gSizer_norOpt1.Add(self.m_textCtrl_driveStrength, 0, wx.ALL, 5) self.m_staticText_dqsPinmuxGroup = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"DQS Pinmux Group:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_dqsPinmuxGroup.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_dqsPinmuxGroup, 0, wx.ALL, 5) m_choice_dqsPinmuxGroupChoices = [] self.m_choice_dqsPinmuxGroup = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_dqsPinmuxGroupChoices, 0) self.m_choice_dqsPinmuxGroup.SetSelection(0) self.m_choice_dqsPinmuxGroup.SetForegroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.m_choice_dqsPinmuxGroup.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) gSizer_norOpt1.Add(self.m_choice_dqsPinmuxGroup, 0, wx.ALL, 5) self.m_staticText_enableSecondPinmux = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Enable Second Pinmux:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_enableSecondPinmux.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_enableSecondPinmux, 0, wx.ALL, 5) m_choice_enableSecondPinmuxChoices = [u"No", u"Yes"] self.m_choice_enableSecondPinmux = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_enableSecondPinmuxChoices, 0) self.m_choice_enableSecondPinmux.SetSelection(0) gSizer_norOpt1.Add(self.m_choice_enableSecondPinmux, 0, wx.ALL, 5) self.m_staticText_statusOverride = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Status Override:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_statusOverride.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_statusOverride, 0, wx.ALL, 5) m_choice_statusOverrideChoices = [] self.m_choice_statusOverride = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_statusOverrideChoices, 0) self.m_choice_statusOverride.SetSelection(0) gSizer_norOpt1.Add(self.m_choice_statusOverride, 0, wx.ALL, 5) self.m_staticText_dummyCycles = wx.StaticText(self.m_panel_norOpt1, wx.ID_ANY, u"Dummy Cycles:", wx.DefaultPosition, wx.Size(140, -1), 0) self.m_staticText_dummyCycles.Wrap(-1) gSizer_norOpt1.Add(self.m_staticText_dummyCycles, 0, wx.ALL, 5) m_choice_dummyCyclesChoices = [] self.m_choice_dummyCycles = wx.Choice(self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_dummyCyclesChoices, 0) self.m_choice_dummyCycles.SetSelection(1) gSizer_norOpt1.Add(self.m_choice_dummyCycles, 0, wx.ALL, 5) self.m_panel_norOpt1.SetSizer(gSizer_norOpt1) self.m_panel_norOpt1.Layout() gSizer_norOpt1.Fit(self.m_panel_norOpt1) self.m_notebook_norOpt1.AddPage(self.m_panel_norOpt1, u"Nor Option1", False) wSizer_win.Add(self.m_notebook_norOpt1, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_winNull1 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(356, -1), 0) self.m_staticText_winNull1.Wrap(-1) wSizer_win.Add(self.m_staticText_winNull1, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_cancel, 0, wx.ALL, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.m_choice_deviceMode.Bind(wx.EVT_CHOICE, self.callbackUseTypicalDeviceModel) self.m_choice_hasOption1.Bind(wx.EVT_CHOICE, self.callbackHasOption1) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 860,370 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) wSizer_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) bSizer_byteIdx = wx.BoxSizer( wx.VERTICAL ) self.m_staticText_address = wx.StaticText( self, wx.ID_ANY, u"Address", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_address.Wrap( -1 ) self.m_staticText_address.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) bSizer_byteIdx.Add( self.m_staticText_address, 0, wx.ALL, 5 ) self.m_staticText_byteIdx0 = wx.StaticText( self, wx.ID_ANY, u" 0x460[7:0]", wx.DefaultPosition, wx.Size( 80,51 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_byteIdx0.Wrap( -1 ) self.m_staticText_byteIdx0.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) bSizer_byteIdx.Add( self.m_staticText_byteIdx0, 0, wx.ALL, 5 ) self.m_staticText_byteIdx1 = wx.StaticText( self, wx.ID_ANY, u" 0x460[15:8]", wx.DefaultPosition, wx.Size( 80,51 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_byteIdx1.Wrap( -1 ) self.m_staticText_byteIdx1.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) bSizer_byteIdx.Add( self.m_staticText_byteIdx1, 0, wx.ALL, 5 ) self.m_staticText_byteIdx2 = wx.StaticText( self, wx.ID_ANY, u" 0x460[23:16]", wx.DefaultPosition, wx.Size( 80,51 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_byteIdx2.Wrap( -1 ) self.m_staticText_byteIdx2.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) bSizer_byteIdx.Add( self.m_staticText_byteIdx2, 0, wx.ALL, 5 ) self.m_staticText_byteIdx3 = wx.StaticText( self, wx.ID_ANY, u" 0x460[31:24]", wx.DefaultPosition, wx.Size( 80,51 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_byteIdx3.Wrap( -1 ) self.m_staticText_byteIdx3.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) bSizer_byteIdx.Add( self.m_staticText_byteIdx3, 0, wx.ALL, 5 ) wSizer_win.Add( bSizer_byteIdx, 1, wx.EXPAND, 5 ) bSizer_bitIdx = wx.BoxSizer( wx.VERTICAL ) wSizer_bitIdx = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_bitIdx7 = wx.StaticText( self, wx.ID_ANY, u"7", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx7.Wrap( -1 ) self.m_staticText_bitIdx7.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx7, 0, wx.ALL, 5 ) self.m_staticText_bitIdx6 = wx.StaticText( self, wx.ID_ANY, u"6", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx6.Wrap( -1 ) self.m_staticText_bitIdx6.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx6, 0, wx.ALL, 5 ) self.m_staticText_bitIdx5 = wx.StaticText( self, wx.ID_ANY, u"5", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx5.Wrap( -1 ) self.m_staticText_bitIdx5.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx5, 0, wx.ALL, 5 ) self.m_staticText_bitIdx4 = wx.StaticText( self, wx.ID_ANY, u"4", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx4.Wrap( -1 ) self.m_staticText_bitIdx4.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx4, 0, wx.ALL, 5 ) self.m_staticText_bitIdx3 = wx.StaticText( self, wx.ID_ANY, u"3", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx3.Wrap( -1 ) self.m_staticText_bitIdx3.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx3, 0, wx.ALL, 5 ) self.m_staticText_bitIdx2 = wx.StaticText( self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx2.Wrap( -1 ) self.m_staticText_bitIdx2.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx2, 0, wx.ALL, 5 ) self.m_staticText_bitIdx1 = wx.StaticText( self, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx1.Wrap( -1 ) self.m_staticText_bitIdx1.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx1, 0, wx.ALL, 5 ) self.m_staticText_bitIdx0 = wx.StaticText( self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SUNKEN ) self.m_staticText_bitIdx0.Wrap( -1 ) self.m_staticText_bitIdx0.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_INFOBK ) ) wSizer_bitIdx.Add( self.m_staticText_bitIdx0, 0, wx.ALL, 5 ) self.m_staticText_bit7 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit7.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit7, 0, wx.ALL, 5 ) self.m_staticText_bit6 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit6.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit6, 0, wx.ALL, 5 ) self.m_staticText_bit5 = wx.StaticText( self, wx.ID_ANY, u"Cold_BT", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit5.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit5, 0, wx.ALL, 5 ) self.m_staticText_bit4 = wx.StaticText( self, wx.ID_ANY, u"BT_FUSE_SEL", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit4.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit4, 0, wx.ALL, 5 ) self.m_staticText_bit3 = wx.StaticText( self, wx.ID_ANY, u"Direct_BT", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit3.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit3, 0, wx.ALL, 5 ) self.m_staticText_bit2 = wx.StaticText( self, wx.ID_ANY, u"BT_Frequency", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit2.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit2, 0, wx.ALL, 5 ) self.m_staticText_bit1 = wx.StaticText( self, wx.ID_ANY, u"SEC_CFG[1]", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit1.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit1, 0, wx.ALL, 5 ) self.m_staticText_bit0 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit0.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit0, 0, wx.ALL, 5 ) m_choice_bit7Choices = [ u"x -N/A" ] self.m_choice_bit7 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit7Choices, 0 ) self.m_choice_bit7.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit7, 0, wx.ALL, 5 ) m_choice_bit6Choices = [ u"x - N/A" ] self.m_choice_bit6 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit6Choices, 0 ) self.m_choice_bit6.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit6, 0, wx.ALL, 5 ) m_choice_bit5Choices = [ u"0 - Normal", u"1 - Forced" ] self.m_choice_bit5 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit5Choices, 0 ) self.m_choice_bit5.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit5, 0, wx.ALL, 5 ) m_choice_bit4Choices = [ u"0 ", u"1" ] self.m_choice_bit4 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit4Choices, 0 ) self.m_choice_bit4.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit4, 0, wx.ALL, 5 ) m_choice_bit3Choices = [ u"0 - Enabled", u"1 - Disabled" ] self.m_choice_bit3 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit3Choices, 0 ) self.m_choice_bit3.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit3, 0, wx.ALL, 5 ) m_choice_bit2Choices = [ u"0 - 396/132 MHz", u"1 - 264/132 MHz" ] self.m_choice_bit2 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit2Choices, 0 ) self.m_choice_bit2.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit2, 0, wx.ALL, 5 ) m_choice_bit1Choices = [ u"0 ", u"1" ] self.m_choice_bit1 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit1Choices, 0 ) self.m_choice_bit1.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit1, 0, wx.ALL, 5 ) m_choice_bit0Choices = [ u"x - N/A" ] self.m_choice_bit0 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit0Choices, 0 ) self.m_choice_bit0.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit0, 0, wx.ALL, 5 ) self.m_staticText_bit15_14 = wx.StaticText( self, wx.ID_ANY, u"BEE_KEY1_SEL", wx.DefaultPosition, wx.Size( 170,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit15_14.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit15_14, 0, wx.ALL, 5 ) self.m_staticText_bit13_12 = wx.StaticText( self, wx.ID_ANY, u"BEE_KEY0_SEL", wx.DefaultPosition, wx.Size( 170,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit13_12.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit13_12, 0, wx.ALL, 5 ) self.m_staticText_bit11_8 = wx.StaticText( self, wx.ID_ANY, u"SDRAM_Config_Options", wx.DefaultPosition, wx.Size( 350,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit11_8.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit11_8, 0, wx.ALL, 5 ) m_choice_bit15_14Choices = [ u"00 -", u"01 -", u"10 -", u"11 -" ] self.m_choice_bit15_14 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 170,-1 ), m_choice_bit15_14Choices, 0 ) self.m_choice_bit15_14.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit15_14, 0, wx.ALL, 5 ) m_choice_bit13_12Choices = [ u"00 -", u"01 -", u"10 -", u"11 -" ] self.m_choice_bit13_12 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 170,-1 ), m_choice_bit13_12Choices, 0 ) self.m_choice_bit13_12.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit13_12, 0, wx.ALL, 5 ) self.m_textCtrl_bit11_8 = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 350,-1 ), 0 ) wSizer_bitIdx.Add( self.m_textCtrl_bit11_8, 0, wx.ALL, 5 ) self.m_staticText_bit23_22 = wx.StaticText( self, wx.ID_ANY, u"JTAG_Security_MODE", wx.DefaultPosition, wx.Size( 170,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit23_22.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit23_22, 0, wx.ALL, 5 ) self.m_staticText_bit21 = wx.StaticText( self, wx.ID_ANY, u"BT_WDOG", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit21.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit21, 0, wx.ALL, 5 ) self.m_staticText_bit20 = wx.StaticText( self, wx.ID_ANY, u"Secure JTAG", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit20.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit20, 0, wx.ALL, 5 ) self.m_staticText_bit19 = wx.StaticText( self, wx.ID_ANY, u"DAP_SEL", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit19.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit19, 0, wx.ALL, 5 ) self.m_staticText_bit18 = wx.StaticText( self, wx.ID_ANY, u"SDP_RD_REG", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit18.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit18, 0, wx.ALL, 5 ) self.m_staticText_bit17 = wx.StaticText( self, wx.ID_ANY, u"BT_SDP", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit17.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit17, 0, wx.ALL, 5 ) self.m_staticText_bit16 = wx.StaticText( self, wx.ID_ANY, u"Internal_BT", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit16.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit16, 0, wx.ALL, 5 ) m_choice_bit23_22Choices = [ u"00 - JTAG", u"01 - Secure JTAG", u"10 - Reserved", u"11 - No Debug" ] self.m_choice_bit23_22 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 170,-1 ), m_choice_bit23_22Choices, 0 ) self.m_choice_bit23_22.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit23_22, 0, wx.ALL, 5 ) m_choice_bit21Choices = [ u"0 - Disabled", u"1 - Enabled" ] self.m_choice_bit21 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit21Choices, 0 ) self.m_choice_bit21.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit21, 0, wx.ALL, 5 ) m_choice_bit20Choices = [ u"0 - Enabled", u"1 - Disabled" ] self.m_choice_bit20 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit20Choices, 0 ) self.m_choice_bit20.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit20, 0, wx.ALL, 5 ) m_choice_bit19Choices = [ u"0 - SWD", u"1 - JTAG" ] self.m_choice_bit19 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit19Choices, 0 ) self.m_choice_bit19.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit19, 0, wx.ALL, 5 ) m_choice_bit18Choices = [ u"0 - Enabled", u"1 - Disabled" ] self.m_choice_bit18 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit18Choices, 0 ) self.m_choice_bit18.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit18, 0, wx.ALL, 5 ) m_choice_bit17Choices = [ u"0 - Enabled", u"1 - Disabled" ] self.m_choice_bit17 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit17Choices, 0 ) self.m_choice_bit17.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit17, 0, wx.ALL, 5 ) m_choice_bit16Choices = [ u"0 - Normal", u"1 - Forced" ] self.m_choice_bit16 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit16Choices, 0 ) self.m_choice_bit16.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit16, 0, wx.ALL, 5 ) self.m_staticText_bit31_30 = wx.StaticText( self, wx.ID_ANY, u"SD_BT_Power_Cycle_SEL", wx.DefaultPosition, wx.Size( 170,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit31_30.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit31_30, 0, wx.ALL, 5 ) self.m_staticText_bit29 = wx.StaticText( self, wx.ID_ANY, u"PWR_STA_SEL", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit29.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit29, 0, wx.ALL, 5 ) self.m_staticText_bit28 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit28.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit28, 0, wx.ALL, 5 ) self.m_staticText_bit27 = wx.StaticText( self, wx.ID_ANY, u"JTAG_HEO", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit27.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit27, 0, wx.ALL, 5 ) self.m_staticText_bit26 = wx.StaticText( self, wx.ID_ANY, u"Trace_Support", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit26.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit26, 0, wx.ALL, 5 ) self.m_staticText_bit25 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit25.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit25, 0, wx.ALL, 5 ) self.m_staticText_bit24 = wx.StaticText( self, wx.ID_ANY, u"SD_BT_DLL", wx.DefaultPosition, wx.Size( 80,-1 ), wx.ALIGN_CENTER_HORIZONTAL|wx.BORDER_SIMPLE ) self.m_staticText_bit24.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_bit24, 0, wx.ALL, 5 ) m_choice_bit31_30Choices = [ u"00 - 20ms", u"01 - 10ms", u"10 - 5ms", u"11 - 2.5ms" ] self.m_choice_bit31_30 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 170,-1 ), m_choice_bit31_30Choices, 0 ) self.m_choice_bit31_30.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit31_30, 0, wx.ALL, 5 ) m_choice_bit29Choices = [ u"0 - 5ms", u"1 - 2.5ms" ] self.m_choice_bit29 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit29Choices, 0 ) self.m_choice_bit29.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit29, 0, wx.ALL, 5 ) m_choice_bit28Choices = [ u"x - N/A" ] self.m_choice_bit28 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit28Choices, 0 ) self.m_choice_bit28.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit28, 0, wx.ALL, 5 ) m_choice_bit27Choices = [ u"0 - Normal", u"1 - Overridden" ] self.m_choice_bit27 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit27Choices, 0 ) self.m_choice_bit27.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit27, 0, wx.ALL, 5 ) m_choice_bit26Choices = [ u"0 - Always", u"1 - In Case" ] self.m_choice_bit26 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit26Choices, 0 ) self.m_choice_bit26.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit26, 0, wx.ALL, 5 ) m_choice_bit25Choices = [ u"x - N/A" ] self.m_choice_bit25 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit25Choices, 0 ) self.m_choice_bit25.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit25, 0, wx.ALL, 5 ) m_choice_bit24Choices = [ u"0 - Disabled", u"1 - Enabled" ] self.m_choice_bit24 = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bit24Choices, 0 ) self.m_choice_bit24.SetSelection( 0 ) wSizer_bitIdx.Add( self.m_choice_bit24, 0, wx.ALL, 5 ) self.m_staticText_null0BitIdx = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 420,-1 ), 0 ) self.m_staticText_null0BitIdx.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_null0BitIdx, 0, wx.ALL, 5 ) self.m_button_ok = wx.Button( self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_bitIdx.Add( self.m_button_ok, 0, wx.ALL, 5 ) self.m_button_cancel = wx.Button( self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_bitIdx.Add( self.m_button_cancel, 0, wx.ALL, 5 ) self.m_staticText_null1BitIdx = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 720,1 ), 0 ) self.m_staticText_null1BitIdx.Wrap( -1 ) wSizer_bitIdx.Add( self.m_staticText_null1BitIdx, 0, wx.ALL, 5 ) bSizer_bitIdx.Add( wSizer_bitIdx, 1, wx.EXPAND, 5 ) wSizer_win.Add( bSizer_bitIdx, 1, wx.EXPAND, 5 ) self.SetSizer( wSizer_win ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_CLOSE, self.callbackClose ) self.m_button_ok.Bind( wx.EVT_BUTTON, self.callbackOk ) self.m_button_cancel.Bind( wx.EVT_BUTTON, self.callbackCancel )
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(686, 359), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.m_statusBar1 = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY) self.m_menubar1 = wx.MenuBar(0) self.m_menu1 = wx.Menu() self.m_menubar1.Append(self.m_menu1, u"File") self.SetMenuBar(self.m_menubar1) bSizer1 = wx.BoxSizer(wx.HORIZONTAL) bSizer1.SetMinSize(wx.Size(300, 300)) bSizer2 = wx.BoxSizer(wx.VERTICAL) bsizer_device_choice = wx.BoxSizer(wx.HORIZONTAL) self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"选择设备", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText1.Wrap(-1) bsizer_device_choice.Add(self.m_staticText1, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) choice_deviceChoices = [] self.choice_device = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, choice_deviceChoices, 0) self.choice_device.SetSelection(0) bsizer_device_choice.Add(self.choice_device, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) self.refresh_device = wx.BitmapButton(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, wx.BU_AUTODRAW | 0) bsizer_device_choice.Add(self.refresh_device, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5) bSizer2.Add(bsizer_device_choice, 0, wx.EXPAND, 5) m_radioBox2Choices = [u"输入文字", u"快捷命令", u"自由命令", u"自定义"] self.m_radioBox2 = wx.RadioBox(self, wx.ID_ANY, u"选择功能", wx.DefaultPosition, wx.DefaultSize, m_radioBox2Choices, 1, wx.RA_SPECIFY_ROWS) self.m_radioBox2.SetSelection(0) bSizer2.Add(self.m_radioBox2, 0, wx.ALL, 5) self.m_notebook1 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) bSizer2.Add(self.m_notebook1, 1, wx.EXPAND | wx.ALL, 5) bSizer1.Add(bSizer2, 1, wx.EXPAND, 5) self.m_button2 = wx.Button(self, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0) bSizer1.Add(self.m_button2, 0, wx.ALIGN_CENTER, 5) wSizer1 = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) wSizer1.SetMinSize(wx.Size(100, -1)) self.m_textCtrl1 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE) wSizer1.Add(self.m_textCtrl1, 0, wx.ALL | wx.EXPAND, 5) bSizer1.Add(wSizer1, 1, wx.EXPAND, 5) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.refresh_device.Bind(wx.EVT_BUTTON, self.refresh_device)
def __init__(self, parent, config): # Settting the GUI size and panels design displays = ( wx.Display(i) for i in range(wx.Display.GetCount()) ) # Gets the number of displays screenSizes = [ display.GetGeometry().GetSize() for display in displays ] # Gets the size of each display index = 0 # For display 1. screenWidth = screenSizes[index][0] screenHeight = screenSizes[index][1] self.gui_size = (screenWidth * 0.7, screenHeight * 0.85) wx.Frame.__init__( self, parent, id=wx.ID_ANY, title="DeepLabCut2.0 - Multiple Individuals Labeling ToolBox", size=wx.Size(self.gui_size), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL, ) self.statusbar = self.CreateStatusBar() self.statusbar.SetStatusText( "Looking for a folder to start labeling. Click 'Load frames' to begin." ) self.Bind(wx.EVT_CHAR_HOOK, self.OnKeyPressed) self.SetSizeHints( wx.Size(self.gui_size) ) # This sets the minimum size of the GUI. It can scale now! ################################################################################################################################################### # Spliting the frame into top and bottom panels. Bottom panels contains the widgets. The top panel is for showing images and plotting! topSplitter = wx.SplitterWindow(self) vSplitter = wx.SplitterWindow(topSplitter) self.image_panel = ImagePanel(vSplitter, config, self.gui_size) self.choice_panel = ScrollPanel(vSplitter) vSplitter.SplitVertically( self.image_panel, self.choice_panel, sashPosition=self.gui_size[0] * 0.8 ) vSplitter.SetSashGravity(1) self.widget_panel = WidgetPanel(topSplitter) topSplitter.SplitHorizontally( vSplitter, self.widget_panel, sashPosition=self.gui_size[1] * 0.83 ) # 0.9 topSplitter.SetSashGravity(1) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(topSplitter, 1, wx.EXPAND) self.SetSizer(sizer) ################################################################################################################################################### # Add Buttons to the WidgetPanel and bind them to their respective functions. widgetsizer = wx.WrapSizer(orient=wx.HORIZONTAL) self.load = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Load frames") widgetsizer.Add(self.load, 1, wx.ALL, 15) self.load.Bind(wx.EVT_BUTTON, self.browseDir) self.prev = wx.Button(self.widget_panel, id=wx.ID_ANY, label="<<Previous") widgetsizer.Add(self.prev, 1, wx.ALL, 15) self.prev.Bind(wx.EVT_BUTTON, self.prevImage) self.prev.Enable(False) self.next = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Next>>") widgetsizer.Add(self.next, 1, wx.ALL, 15) self.next.Bind(wx.EVT_BUTTON, self.nextImage) self.next.Enable(False) self.help = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Help") widgetsizer.Add(self.help, 1, wx.ALL, 15) self.help.Bind(wx.EVT_BUTTON, self.helpButton) self.help.Enable(True) self.zoom = wx.ToggleButton(self.widget_panel, label="Zoom") widgetsizer.Add(self.zoom, 1, wx.ALL, 15) self.zoom.Bind(wx.EVT_TOGGLEBUTTON, self.zoomButton) self.widget_panel.SetSizer(widgetsizer) self.zoom.Enable(False) self.home = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Home") widgetsizer.Add(self.home, 1, wx.ALL, 15) self.home.Bind(wx.EVT_BUTTON, self.homeButton) self.widget_panel.SetSizer(widgetsizer) self.home.Enable(False) self.pan = wx.ToggleButton(self.widget_panel, id=wx.ID_ANY, label="Pan") widgetsizer.Add(self.pan, 1, wx.ALL, 15) self.pan.Bind(wx.EVT_TOGGLEBUTTON, self.panButton) self.widget_panel.SetSizer(widgetsizer) self.pan.Enable(False) self.lock = wx.CheckBox(self.widget_panel, id=wx.ID_ANY, label="Lock View") widgetsizer.Add(self.lock, 1, wx.ALL, 15) self.lock.Bind(wx.EVT_CHECKBOX, self.lockChecked) self.widget_panel.SetSizer(widgetsizer) self.lock.Enable(False) self.save = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Save") widgetsizer.Add(self.save, 1, wx.ALL, 15) self.save.Bind(wx.EVT_BUTTON, self.saveDataSet) self.save.Enable(False) widgetsizer.AddStretchSpacer(15) self.quit = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Quit") widgetsizer.Add(self.quit, 1, wx.ALL | wx.ALIGN_RIGHT, 15) self.quit.Bind(wx.EVT_BUTTON, self.quitButton) self.widget_panel.SetSizer(widgetsizer) self.widget_panel.SetSizerAndFit(widgetsizer) self.widget_panel.Layout() ############################################################################################################################### # Variables initialization self.currentDirectory = os.getcwd() self.index = [] self.iter = [] self.file = 0 self.updatedCoords = [] self.dataFrame = None self.flag = True self.config_file = config self.new_labels = False self.buttonCounter = [] self.bodyparts2plot = [] self.drs = [] self.num = [] self.are_unique_bodyparts_present = True self.view_locked = False # Workaround for MAC - xlim and ylim changed events seem to be triggered too often so need to make sure that the # xlim and ylim have actually changed before turning zoom off self.prezoom_xlim = [] self.prezoom_ylim = []
def __init__(self, parent, config, slider_width=25): super(MainFrame, self).__init__("DeepLabCut2.0 - Manual Frame Extraction", parent) ################################################################################################################################################### # Spliting the frame into top and bottom panels. Bottom panels contains the widgets. The top panel is for showing images and plotting! topSplitter = wx.SplitterWindow(self) self.image_panel = ImagePanel(topSplitter, config, self.gui_size) self.widget_panel = WidgetPanel(topSplitter) topSplitter.SplitHorizontally(self.image_panel, self.widget_panel, sashPosition=self.gui_size[1] * 0.83) # 0.9 topSplitter.SetSashGravity(1) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(topSplitter, 1, wx.EXPAND) self.SetSizer(sizer) ################################################################################################################################################### # Add Buttons to the WidgetPanel and bind them to their respective functions. widgetsizer = wx.WrapSizer(orient=wx.HORIZONTAL) self.load = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Load Video") widgetsizer.Add(self.load, 1, wx.ALL, 15) self.load.Bind(wx.EVT_BUTTON, self.browseDir) self.help = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Help") widgetsizer.Add(self.help, 1, wx.ALL, 15) self.help.Bind(wx.EVT_BUTTON, self.helpButton) self.grab = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Grab Frames") widgetsizer.Add(self.grab, 1, wx.ALL, 15) self.grab.Bind(wx.EVT_BUTTON, self.grabFrame) self.grab.Enable(False) widgetsizer.AddStretchSpacer(5) size_x = round(self.gui_size[0] * (slider_width / 100), 0) self.slider = wx.Slider( self.widget_panel, id=wx.ID_ANY, value=0, minValue=0, maxValue=1, size=(size_x, -1), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS, ) widgetsizer.Add(self.slider, 1, wx.ALL, 5) self.slider.Hide() widgetsizer.AddStretchSpacer(5) self.start_frames_sizer = wx.BoxSizer(wx.VERTICAL) self.end_frames_sizer = wx.BoxSizer(wx.VERTICAL) self.start_frames_sizer.AddSpacer(15) self.startFrame = wx.SpinCtrl(self.widget_panel, value="0", size=(100, -1), min=0, max=120) self.startFrame.Bind(wx.EVT_SPINCTRL, self.updateSlider) self.startFrame.Enable(False) self.start_frames_sizer.Add(self.startFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) start_text = wx.StaticText(self.widget_panel, label="Start Frame Index") self.start_frames_sizer.Add(start_text, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.checkBox = wx.CheckBox(self.widget_panel, id=wx.ID_ANY, label="Range of frames") self.checkBox.Bind(wx.EVT_CHECKBOX, self.activate_frame_range) self.start_frames_sizer.Add(self.checkBox, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) # self.end_frames_sizer.AddSpacer(15) self.endFrame = wx.SpinCtrl(self.widget_panel, value="1", size=(160, -1), min=1, max=120) self.endFrame.Enable(False) self.end_frames_sizer.Add(self.endFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) end_text = wx.StaticText(self.widget_panel, label="Number of Frames") self.end_frames_sizer.Add(end_text, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.updateFrame = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Update") self.end_frames_sizer.Add(self.updateFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.updateFrame.Bind(wx.EVT_BUTTON, self.updateSlider) self.updateFrame.Enable(False) widgetsizer.Add(self.start_frames_sizer, 1, wx.ALL, 0) widgetsizer.AddStretchSpacer(5) widgetsizer.Add(self.end_frames_sizer, 1, wx.ALL, 0) widgetsizer.AddStretchSpacer(15) self.quit = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Quit") widgetsizer.Add(self.quit, 1, wx.ALL, 15) self.quit.Bind(wx.EVT_BUTTON, self.quitButton) self.quit.Enable(True) # Hiding these widgets and show them once the video is loaded self.start_frames_sizer.ShowItems(show=False) self.end_frames_sizer.ShowItems(show=False) self.widget_panel.SetSizer(widgetsizer) self.widget_panel.SetSizerAndFit(widgetsizer) self.widget_panel.Layout() # Variables initialization self.numberFrames = 0 self.currFrame = 0 self.figure = Figure() self.axes = self.figure.add_subplot(111) self.drs = [] self.cfg = auxiliaryfunctions.read_config(config) self.Task = self.cfg["Task"] self.start = self.cfg["start"] self.stop = self.cfg["stop"] self.date = self.cfg["date"] self.trainFraction = self.cfg["TrainingFraction"] self.trainFraction = self.trainFraction[0] self.videos = list( self.cfg.get("video_sets_original") or self.cfg["video_sets"]) self.bodyparts = self.cfg["bodyparts"] self.colormap = plt.get_cmap(self.cfg["colormap"]) self.colormap = self.colormap.reversed() self.markerSize = self.cfg["dotsize"] self.alpha = self.cfg["alphavalue"] self.video_names = [Path(i).stem for i in self.videos] self.config_path = Path(config) self.extract_range_frame = False self.extract_from_analyse_video = False
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(785, 414), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetForegroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_notebook_nandOpt = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_nandOpt = wx.Panel(self.m_notebook_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_nandOpt = wx.GridSizer(0, 2, 0, 0) self.m_staticText_onfiVersion = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"ONFI Version:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_onfiVersion.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_onfiVersion, 0, wx.ALL, 5) m_choice_onfiVersionChoices = [u"ONFI 1.x"] self.m_choice_onfiVersion = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_onfiVersionChoices, 0) self.m_choice_onfiVersion.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_onfiVersion, 0, wx.ALL, 5) self.m_staticText_onfiTimingMode = wx.StaticText( self.m_panel_nandOpt, wx.ID_ANY, u"ONFI Timing Mode:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_onfiTimingMode.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_onfiTimingMode, 0, wx.ALL, 5) m_choice_onfiTimingModeChoices = [ u"Mode0 - 10MHz", u"Mode1 - 20MHz", u"Mode2 - 28MHz", u"Mode3 - 33MHz", u"Mode4 - 40MHz", u"Mode5 - 50MHz" ] self.m_choice_onfiTimingMode = wx.Choice( self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_onfiTimingModeChoices, 0) self.m_choice_onfiTimingMode.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_onfiTimingMode, 0, wx.ALL, 5) self.m_staticText_edoMode = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"EDO Mode:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_edoMode.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_edoMode, 0, wx.ALL, 5) m_choice_edoModeChoices = [u"Disabled", u"Enabled"] self.m_choice_edoMode = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_edoModeChoices, 0) self.m_choice_edoMode.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_edoMode, 0, wx.ALL, 5) self.m_staticText_ioPortSize = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"I/O Port Size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_ioPortSize.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_ioPortSize, 0, wx.ALL, 5) m_choice_ioPortSizeChoices = [u"x8 bits", u"x16 bits"] self.m_choice_ioPortSize = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_ioPortSizeChoices, 0) self.m_choice_ioPortSize.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_ioPortSize, 0, wx.ALL, 5) self.m_staticText_pcsPort = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"PCS Port:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_pcsPort.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_pcsPort, 0, wx.ALL, 5) m_choice_pcsPortChoices = [u"CSX0"] self.m_choice_pcsPort = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_pcsPortChoices, 0) self.m_choice_pcsPort.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_pcsPort, 0, wx.ALL, 5) self.m_staticText_eccType = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"ECC Type:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_eccType.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_eccType, 0, wx.ALL, 5) m_choice_eccTypeChoices = [u"SW - 1bit ECC", u"HW"] self.m_choice_eccType = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_eccTypeChoices, 0) self.m_choice_eccType.SetSelection(1) gSizer_nandOpt.Add(self.m_choice_eccType, 0, wx.ALL, 5) self.m_staticText_eccStatus = wx.StaticText(self.m_panel_nandOpt, wx.ID_ANY, u"Initial ECC status:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_eccStatus.Wrap(-1) gSizer_nandOpt.Add(self.m_staticText_eccStatus, 0, wx.ALL, 5) m_choice_eccStatusChoices = [u"Enabled", u"Disabled"] self.m_choice_eccStatus = wx.Choice(self.m_panel_nandOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_eccStatusChoices, 0) self.m_choice_eccStatus.SetSelection(0) gSizer_nandOpt.Add(self.m_choice_eccStatus, 0, wx.ALL, 5) self.m_panel_nandOpt.SetSizer(gSizer_nandOpt) self.m_panel_nandOpt.Layout() gSizer_nandOpt.Fit(self.m_panel_nandOpt) self.m_notebook_nandOpt.AddPage(self.m_panel_nandOpt, u"Nand Option", False) wSizer_win.Add(self.m_notebook_nandOpt, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_fcbOpt = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_fcbOpt = wx.Panel(self.m_notebook_fcbOpt, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_fcbOpt = wx.GridSizer(0, 2, 0, 0) self.m_staticText_searchCount = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, u"Search Count:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_searchCount.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_searchCount, 0, wx.ALL, 5) m_choice_searchCountChoices = [u"1", u"2"] self.m_choice_searchCount = wx.Choice(self.m_panel_fcbOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_searchCountChoices, 0) self.m_choice_searchCount.SetSelection(0) gSizer_fcbOpt.Add(self.m_choice_searchCount, 0, wx.ALL, 5) self.m_staticText_searchStride = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, u"Search Stride:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_searchStride.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_searchStride, 0, wx.ALL, 5) self.m_textCtrl_searchStride = wx.TextCtrl(self.m_panel_fcbOpt, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size(108, -1), 0) gSizer_fcbOpt.Add(self.m_textCtrl_searchStride, 0, wx.ALL, 5) self.m_staticText_imageCopies = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, u"Image Copies", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_imageCopies.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_imageCopies, 0, wx.ALL, 5) m_choice_imageCopiesChoices = [ u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8" ] self.m_choice_imageCopies = wx.Choice(self.m_panel_fcbOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(108, -1), m_choice_imageCopiesChoices, 0) self.m_choice_imageCopies.SetSelection(0) gSizer_fcbOpt.Add(self.m_choice_imageCopies, 0, wx.ALL, 5) self.m_staticText_fcbOptNull0 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull0.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull0, 0, wx.ALL, 5) self.m_staticText_fcbOptNull1 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull1.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull1, 0, wx.ALL, 5) self.m_staticText_fcbOptNull2 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull2.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull2, 0, wx.ALL, 5) self.m_staticText_fcbOptNull3 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull3.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull3, 0, wx.ALL, 5) self.m_staticText_fcbOptNull4 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull4.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull4, 0, wx.ALL, 5) self.m_staticText_fcbOptNull5 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull5.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull5, 0, wx.ALL, 5) self.m_staticText_fcbOptNull6 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull6.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull6, 0, wx.ALL, 5) self.m_staticText_fcbOptNull7 = wx.StaticText(self.m_panel_fcbOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_fcbOptNull7.Wrap(-1) gSizer_fcbOpt.Add(self.m_staticText_fcbOptNull7, 0, wx.ALL, 5) self.m_panel_fcbOpt.SetSizer(gSizer_fcbOpt) self.m_panel_fcbOpt.Layout() gSizer_fcbOpt.Fit(self.m_panel_fcbOpt) self.m_notebook_fcbOpt.AddPage(self.m_panel_fcbOpt, u"FCB Option", False) wSizer_win.Add(self.m_notebook_fcbOpt, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_imageInfo = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_imageInfo = wx.Panel(self.m_notebook_imageInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_imageInfo = wx.GridSizer(0, 2, 0, 0) self.m_staticText_blockIndex = wx.StaticText(self.m_panel_imageInfo, wx.ID_ANY, u"Block Index", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_blockIndex.Wrap(-1) gSizer_imageInfo.Add(self.m_staticText_blockIndex, 0, wx.ALL, 5) self.m_staticText_blockCount = wx.StaticText(self.m_panel_imageInfo, wx.ID_ANY, u"Block Count", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_blockCount.Wrap(-1) gSizer_imageInfo.Add(self.m_staticText_blockCount, 0, wx.ALL, 5) self.m_textCtrl_image0Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, u"2", wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image0Idx, 0, wx.ALL, 5) self.m_textCtrl_image0Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image0Cnt, 0, wx.ALL, 5) self.m_textCtrl_image1Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image1Idx, 0, wx.ALL, 5) self.m_textCtrl_image1Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image1Cnt, 0, wx.ALL, 5) self.m_textCtrl_image2Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image2Idx, 0, wx.ALL, 5) self.m_textCtrl_image2Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image2Cnt, 0, wx.ALL, 5) self.m_textCtrl_image3Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image3Idx, 0, wx.ALL, 5) self.m_textCtrl_image3Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image3Cnt, 0, wx.ALL, 5) self.m_textCtrl_image4Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image4Idx, 0, wx.ALL, 5) self.m_textCtrl_image4Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image4Cnt, 0, wx.ALL, 5) self.m_textCtrl_image5Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image5Idx, 0, wx.ALL, 5) self.m_textCtrl_image5Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image5Cnt, 0, wx.ALL, 5) self.m_textCtrl_image6Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image6Idx, 0, wx.ALL, 5) self.m_textCtrl_image6Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image6Cnt, 0, wx.ALL, 5) self.m_textCtrl_image7Idx = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image7Idx, 0, wx.ALL, 5) self.m_textCtrl_image7Cnt = wx.TextCtrl(self.m_panel_imageInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) gSizer_imageInfo.Add(self.m_textCtrl_image7Cnt, 0, wx.ALL, 5) self.m_panel_imageInfo.SetSizer(gSizer_imageInfo) self.m_panel_imageInfo.Layout() gSizer_imageInfo.Fit(self.m_panel_imageInfo) self.m_notebook_imageInfo.AddPage(self.m_panel_imageInfo, u"Image Info", False) wSizer_win.Add(self.m_notebook_imageInfo, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_winNull0 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(518, -1), 0) self.m_staticText_winNull0.Wrap(-1) wSizer_win.Add(self.m_staticText_winNull0, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_cancel, 0, wx.ALL, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.m_choice_imageCopies.Bind(wx.EVT_CHOICE, self.callbackChangeImageCopies) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(723, 320), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.Bind(wx.EVT_CLOSE, self.OnClose_FLEXSPI_NAND) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_FLEXSPI_NAND = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_notebook_NAND_Option = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_Nand_Option = wx.Panel(self.m_notebook_NAND_Option, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_Nand_Option = wx.GridSizer(0, 2, 0, 0) self.m_staticText_Max_Freq = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Max Freq:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Max_Freq.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_Max_Freq, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_Max_FreqChoices = [ u"30MHz", u"50MHz", u"60MHz", u"75MHz", u"80MHz", u"100MHz" ] self.m_choice_Max_Freq = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(70, 25), m_choice_Max_FreqChoices, 0) self.m_choice_Max_Freq.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_Max_Freq, 0, wx.ALL, 5) self.m_staticText_Page_Size = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Page Size (KBytes):", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Page_Size.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_Page_Size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_Page_SizeChoices = [u"2KB", u"4KB"] self.m_choice_Page_Size = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(100, 25), m_choice_Page_SizeChoices, 0) self.m_choice_Page_Size.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_Page_Size, 0, wx.ALL, 5) self.m_staticText_Pages = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Pages Per Block:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Pages.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_Pages, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_PagesChoices = [u"64", u"128", u"256", u"32"] self.m_choice_Pages = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(60, 25), m_choice_PagesChoices, 0) self.m_choice_Pages.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_Pages, 0, wx.ALL, 5) self.m_staticText_Flash_size = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Flash size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Flash_size.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_Flash_size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_Flash_sizeChoices = [u"512M", u"1GB", u"2GB", u"4GB"] self.m_choice_Flash_size = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(70, 25), m_choice_Flash_sizeChoices, 0) self.m_choice_Flash_size.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_Flash_size, 0, wx.ALL, 5) self.m_staticText_planes = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Has multiplanes: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_planes.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_planes, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_planesChoices = [u"1 plane", u"2 planes"] self.m_choice_planes = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(100, 25), m_choice_planesChoices, 0) self.m_choice_planes.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_planes, 0, wx.ALL, 5) self.m_staticText_Option_size = wx.StaticText(self.m_panel_Nand_Option, wx.ID_ANY, u"Option size: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Option_size.Wrap(-1) gSizer_Nand_Option.Add(self.m_staticText_Option_size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_Option_sizeChoices = [ u"0", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"10", u"11", u"12", u"13", u"14", u"15" ] self.m_choice_Option_size = wx.Choice(self.m_panel_Nand_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(60, 25), m_choice_Option_sizeChoices, 0) self.m_choice_Option_size.SetSelection(0) gSizer_Nand_Option.Add(self.m_choice_Option_size, 0, wx.ALL, 5) self.m_panel_Nand_Option.SetSizer(gSizer_Nand_Option) self.m_panel_Nand_Option.Layout() gSizer_Nand_Option.Fit(self.m_panel_Nand_Option) self.m_notebook_NAND_Option.AddPage(self.m_panel_Nand_Option, u"Nand Option", False) wSizer_FLEXSPI_NAND.Add(self.m_notebook_NAND_Option, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_FCB_Option = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_FCB_Option = wx.Panel(self.m_notebook_FCB_Option, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_FCB_Option = wx.GridSizer(0, 2, 0, 0) self.m_staticText_Size = wx.StaticText(self.m_panel_FCB_Option, wx.ID_ANY, u"Size: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Size.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_Size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_SizeChoices = [ u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"10" ] self.m_choice_Size = wx.Choice(self.m_panel_FCB_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(60, -1), m_choice_SizeChoices, 0) self.m_choice_Size.SetSelection(0) gSizer_FCB_Option.Add(self.m_choice_Size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_address_type = wx.StaticText( self.m_panel_FCB_Option, wx.ID_ANY, u"address_type: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_address_type.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_address_type, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_address_typeChoices = [u"byte address", u"block address"] self.m_choice_address_type = wx.Choice(self.m_panel_FCB_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(90, -1), m_choice_address_typeChoices, 0) self.m_choice_address_type.SetSelection(0) gSizer_FCB_Option.Add(self.m_choice_address_type, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_search_stride = wx.StaticText( self.m_panel_FCB_Option, wx.ID_ANY, u"search_stride: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_search_stride.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_search_stride, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_search_strideChoices = [ u"64 pages", u"128 pages", u"256 pages", u"32 pages" ] self.m_choice_search_stride = wx.Choice(self.m_panel_FCB_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(60, -1), m_choice_search_strideChoices, 0) self.m_choice_search_stride.SetSelection(0) gSizer_FCB_Option.Add(self.m_choice_search_stride, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_search_count = wx.StaticText(self.m_panel_FCB_Option, wx.ID_ANY, u"search_count:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_search_count.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_search_count, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_search_countChoices = [u"1", u"2", u"3", u"4"] self.m_choice_search_count = wx.Choice(self.m_panel_FCB_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(43, -1), m_choice_search_countChoices, 0) self.m_choice_search_count.SetSelection(0) gSizer_FCB_Option.Add(self.m_choice_search_count, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_block_count = wx.StaticText( self.m_panel_FCB_Option, wx.ID_ANY, u"block_count: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_block_count.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_block_count, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_textCtrl_block_count = wx.TextCtrl(self.m_panel_FCB_Option, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(90, -1), 0) gSizer_FCB_Option.Add(self.m_textCtrl_block_count, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_block_id = wx.StaticText(self.m_panel_FCB_Option, wx.ID_ANY, u"block_id: ", wx.DefaultPosition, wx.Size(90, -1), 0) self.m_staticText_block_id.Wrap(-1) gSizer_FCB_Option.Add(self.m_staticText_block_id, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_textCtrl_block_id = wx.TextCtrl(self.m_panel_FCB_Option, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(90, -1), 0) gSizer_FCB_Option.Add(self.m_textCtrl_block_id, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_panel_FCB_Option.SetSizer(gSizer_FCB_Option) self.m_panel_FCB_Option.Layout() gSizer_FCB_Option.Fit(self.m_panel_FCB_Option) self.m_notebook_FCB_Option.AddPage(self.m_panel_FCB_Option, u"FCB Option", False) wSizer_FLEXSPI_NAND.Add(self.m_notebook_FCB_Option, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_KeyBlob_Option = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_KeyBlob_Option = wx.Panel(self.m_notebook_KeyBlob_Option, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_KeyBlob_Option = wx.GridSizer(0, 2, 0, 0) self.m_staticText_image_index = wx.StaticText( self.m_panel_KeyBlob_Option, wx.ID_ANY, u"image_index:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_image_index.Wrap(-1) gSizer_KeyBlob_Option.Add(self.m_staticText_image_index, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_image_indexChoices = [ u"0", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"10", u"11", u"12", u"13", u"14", u"15" ] self.m_choice_image_index = wx.Choice(self.m_panel_KeyBlob_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_image_indexChoices, 0) self.m_choice_image_index.SetSelection(0) gSizer_KeyBlob_Option.Add(self.m_choice_image_index, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_dek_size = wx.StaticText(self.m_panel_KeyBlob_Option, wx.ID_ANY, u"dek_size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_dek_size.Wrap(-1) gSizer_KeyBlob_Option.Add(self.m_staticText_dek_size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_dek_sizeChoices = [u"128bits"] self.m_choice_dek_size = wx.Choice(self.m_panel_KeyBlob_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_dek_sizeChoices, 0) self.m_choice_dek_size.SetSelection(0) gSizer_KeyBlob_Option.Add(self.m_choice_dek_size, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_keyblob_infosize = wx.StaticText( self.m_panel_KeyBlob_Option, wx.ID_ANY, u"keyblob_info size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_keyblob_infosize.Wrap(-1) gSizer_KeyBlob_Option.Add(self.m_staticText_keyblob_infosize, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_keyblob_infosizeChoices = [ u"0", u"1", u"2", u"3", u"4", u"5", u"6", u"7", u"8", u"9", u"10", u"11", u"12", u"13", u"14", u"15" ] self.m_choice_keyblob_infosize = wx.Choice( self.m_panel_KeyBlob_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_keyblob_infosizeChoices, 0) self.m_choice_keyblob_infosize.SetSelection(0) gSizer_KeyBlob_Option.Add(self.m_choice_keyblob_infosize, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_staticText_type = wx.StaticText(self.m_panel_KeyBlob_Option, wx.ID_ANY, u"type: ", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_type.Wrap(-1) gSizer_KeyBlob_Option.Add(self.m_staticText_type, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) m_choice_typeChoices = [u"Update", u"Program"] self.m_choice_type = wx.Choice(self.m_panel_KeyBlob_Option, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, -1), m_choice_typeChoices, 0) self.m_choice_type.SetSelection(0) gSizer_KeyBlob_Option.Add(self.m_choice_type, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 5) self.m_panel_KeyBlob_Option.SetSizer(gSizer_KeyBlob_Option) self.m_panel_KeyBlob_Option.Layout() gSizer_KeyBlob_Option.Fit(self.m_panel_KeyBlob_Option) self.m_notebook_KeyBlob_Option.AddPage(self.m_panel_KeyBlob_Option, u"KeyBlob Option", False) wSizer_FLEXSPI_NAND.Add(self.m_notebook_KeyBlob_Option, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_FLEXSPI_NAND = wx.StaticText(self, wx.ID_ANY, u" ", wx.DefaultPosition, wx.Size(500, -1), 0) self.m_staticText_FLEXSPI_NAND.Wrap(-1) wSizer_FLEXSPI_NAND.Add(self.m_staticText_FLEXSPI_NAND, 0, wx.ALL, 5) m_sdbSizer_FLEXSPI_NAND = wx.StdDialogButtonSizer() self.m_sdbSizer_FLEXSPI_NANDOK = wx.Button(self, wx.ID_OK) m_sdbSizer_FLEXSPI_NAND.AddButton(self.m_sdbSizer_FLEXSPI_NANDOK) self.m_sdbSizer_FLEXSPI_NANDCancel = wx.Button(self, wx.ID_CANCEL) m_sdbSizer_FLEXSPI_NAND.AddButton(self.m_sdbSizer_FLEXSPI_NANDCancel) m_sdbSizer_FLEXSPI_NAND.Realize() wSizer_FLEXSPI_NAND.Add(m_sdbSizer_FLEXSPI_NAND, 1, wx.EXPAND | wx.ALIGN_BOTTOM, 5) self.SetSizer(wSizer_FLEXSPI_NAND) self.Layout() self.Centre(wx.BOTH) self.m_sdbSizer_FLEXSPI_NANDCancel.Bind(wx.EVT_BUTTON, self.cancel_of_FLEXSPI_NAND) self.m_sdbSizer_FLEXSPI_NANDOK.Bind(wx.EVT_BUTTON, self.apply_of_FLEXSPI_NAND)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"RT Flash", pos=wx.DefaultPosition, size=wx.Size(576, 379), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetForegroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.m_menubar = wx.MenuBar(0) self.m_menu_file = wx.Menu() self.m_menuItem_exit = wx.MenuItem(self.m_menu_file, wx.ID_ANY, u"Exit", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_file.Append(self.m_menuItem_exit) self.m_menubar.Append(self.m_menu_file, u"File") self.m_menu_edit = wx.Menu() self.m_menubar.Append(self.m_menu_edit, u"Edit") self.m_menu_view = wx.Menu() self.m_menu_language = wx.Menu() self.m_menuItem_english = wx.MenuItem(self.m_menu_language, wx.ID_ANY, u"EN - English", wx.EmptyString, wx.ITEM_RADIO) self.m_menu_language.Append(self.m_menuItem_english) self.m_menuItem_chinese = wx.MenuItem(self.m_menu_language, wx.ID_ANY, u"ZH - 简体中文", wx.EmptyString, wx.ITEM_RADIO) self.m_menu_language.Append(self.m_menuItem_chinese) self.m_menu_view.AppendSubMenu(self.m_menu_language, u"Language/语言") self.m_menubar.Append(self.m_menu_view, u"View") self.m_menu_tools = wx.Menu() self.m_menu_usbDetection = wx.Menu() self.m_menuItem_usbDetectionDynamic = wx.MenuItem( self.m_menu_usbDetection, wx.ID_ANY, u"Dynamic", wx.EmptyString, wx.ITEM_RADIO) self.m_menu_usbDetection.Append(self.m_menuItem_usbDetectionDynamic) self.m_menuItem_usbDetectionStatic = wx.MenuItem( self.m_menu_usbDetection, wx.ID_ANY, u"Static", wx.EmptyString, wx.ITEM_RADIO) self.m_menu_usbDetection.Append(self.m_menuItem_usbDetectionStatic) self.m_menu_tools.AppendSubMenu(self.m_menu_usbDetection, u"USB Detection") self.m_menubar.Append(self.m_menu_tools, u"Tools") self.m_menu_window = wx.Menu() self.m_menubar.Append(self.m_menu_window, u"Window") self.m_menu_help = wx.Menu() self.m_menuItem_homePage = wx.MenuItem(self.m_menu_help, wx.ID_ANY, u"Home Page", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_help.Append(self.m_menuItem_homePage) self.m_menuItem_aboutAuthor = wx.MenuItem(self.m_menu_help, wx.ID_ANY, u"About Author", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_help.Append(self.m_menuItem_aboutAuthor) self.m_menuItem_revisionHistory = wx.MenuItem(self.m_menu_help, wx.ID_ANY, u"Revision History", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu_help.Append(self.m_menuItem_revisionHistory) self.m_menubar.Append(self.m_menu_help, u"Help") self.SetMenuBar(self.m_menubar) bSizer_win = wx.BoxSizer(wx.VERTICAL) wSizer_func = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) bSizer_setup = wx.BoxSizer(wx.VERTICAL) self.m_notebook_setup = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_setup = wx.Panel(self.m_notebook_setup, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) wSizer_setup = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_mcuDevice = wx.StaticText(self.m_panel_setup, wx.ID_ANY, u"RT Device:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_mcuDevice.Wrap(-1) wSizer_setup.Add(self.m_staticText_mcuDevice, 0, wx.ALL, 5) m_choice_mcuDeviceChoices = [ u"i.MXRT1011", u"i.MXRT1015", u"i.MXRT102x", u"i.MXRT105x", u"i.MXRT106x", u"i.MXRT1064 SIP" ] self.m_choice_mcuDevice = wx.Choice(self.m_panel_setup, wx.ID_ANY, wx.DefaultPosition, wx.Size(125, -1), m_choice_mcuDeviceChoices, 0) self.m_choice_mcuDevice.SetSelection(0) wSizer_setup.Add(self.m_choice_mcuDevice, 0, wx.ALL, 5) self.m_staticText_null1Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(220, 2), 0) self.m_staticText_null1Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null1Setup, 0, wx.ALL, 5) self.m_staticText_mcuBoard = wx.StaticText(self.m_panel_setup, wx.ID_ANY, u"RT Boards (Unlimited):", wx.DefaultPosition, wx.Size(220, -1), 0) self.m_staticText_mcuBoard.Wrap(-1) wSizer_setup.Add(self.m_staticText_mcuBoard, 0, wx.ALL, 5) self.m_staticText_null2Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(5, -1), 0) self.m_staticText_null2Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null2Setup, 0, wx.ALL, 5) self.m_staticText_connectedBoards = wx.StaticText( self.m_panel_setup, wx.ID_ANY, u"Connected:", wx.DefaultPosition, wx.Size(60, -1), 0) self.m_staticText_connectedBoards.Wrap(-1) wSizer_setup.Add(self.m_staticText_connectedBoards, 0, wx.ALL, 5) self.m_textCtrl_connectedBoards = wx.TextCtrl(self.m_panel_setup, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size(40, -1), wx.TE_PROCESS_ENTER) wSizer_setup.Add(self.m_textCtrl_connectedBoards, 0, wx.ALL, 5) self.m_staticText_detectedBoards = wx.StaticText( self.m_panel_setup, wx.ID_ANY, u"Detected:", wx.DefaultPosition, wx.Size(50, -1), 0) self.m_staticText_detectedBoards.Wrap(-1) wSizer_setup.Add(self.m_staticText_detectedBoards, 0, wx.ALL, 5) self.m_staticText_detectedBoardNum = wx.StaticText( self.m_panel_setup, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(20, -1), 0) self.m_staticText_detectedBoardNum.Wrap(-1) wSizer_setup.Add(self.m_staticText_detectedBoardNum, 0, wx.ALL, 5) self.m_staticText_null3Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(220, 2), 0) self.m_staticText_null3Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null3Setup, 0, wx.ALL, 5) self.m_staticText_serialPortIndex = wx.StaticText( self.m_panel_setup, wx.ID_ANY, u"RT Port Index:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_serialPortIndex.Wrap(-1) wSizer_setup.Add(self.m_staticText_serialPortIndex, 0, wx.ALL, 5) m_choice_serialPortIndexChoices = [u"0"] self.m_choice_serialPortIndex = wx.Choice( self.m_panel_setup, wx.ID_ANY, wx.DefaultPosition, wx.Size(40, -1), m_choice_serialPortIndexChoices, 0) self.m_choice_serialPortIndex.SetSelection(0) wSizer_setup.Add(self.m_choice_serialPortIndex, 0, wx.ALL, 5) self.m_staticText_portInfo = wx.StaticText(self.m_panel_setup, wx.ID_ANY, u"N/A", wx.DefaultPosition, wx.Size(80, -1), 0) self.m_staticText_portInfo.Wrap(-1) wSizer_setup.Add(self.m_staticText_portInfo, 0, wx.ALL, 5) self.m_staticText_null4Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(20, -1), 0) self.m_staticText_null4Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null4Setup, 0, wx.ALL, 5) self.m_radioBtn_uart = wx.RadioButton(self.m_panel_setup, wx.ID_ANY, u"UART", wx.DefaultPosition, wx.DefaultSize, 0) wSizer_setup.Add(self.m_radioBtn_uart, 0, wx.ALL, 5) self.m_staticText_null5Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(20, -1), 0) self.m_staticText_null5Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null5Setup, 0, wx.ALL, 5) self.m_radioBtn_usbhid = wx.RadioButton(self.m_panel_setup, wx.ID_ANY, u"USB-HID", wx.DefaultPosition, wx.DefaultSize, 0) wSizer_setup.Add(self.m_radioBtn_usbhid, 0, wx.ALL, 5) self.m_staticText_portVid = wx.StaticText(self.m_panel_setup, wx.ID_ANY, u"COM Port:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_portVid.Wrap(-1) wSizer_setup.Add(self.m_staticText_portVid, 0, wx.ALL, 5) m_choice_portVidChoices = [] self.m_choice_portVid = wx.Choice(self.m_panel_setup, wx.ID_ANY, wx.DefaultPosition, wx.Size(125, -1), m_choice_portVidChoices, 0) self.m_choice_portVid.SetSelection(0) wSizer_setup.Add(self.m_choice_portVid, 0, wx.ALL, 5) self.m_staticText_baudPid = wx.StaticText(self.m_panel_setup, wx.ID_ANY, u"Baudrate:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_baudPid.Wrap(-1) wSizer_setup.Add(self.m_staticText_baudPid, 0, wx.ALL, 5) m_choice_baudPidChoices = [] self.m_choice_baudPid = wx.Choice(self.m_panel_setup, wx.ID_ANY, wx.DefaultPosition, wx.Size(125, -1), m_choice_baudPidChoices, 0) self.m_choice_baudPid.SetSelection(0) wSizer_setup.Add(self.m_choice_baudPid, 0, wx.ALL, 5) self.m_staticText_null6Setup = wx.StaticText(self.m_panel_setup, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(220, 1), 0) self.m_staticText_null6Setup.Wrap(-1) wSizer_setup.Add(self.m_staticText_null6Setup, 0, wx.ALL, 5) self.m_panel_setup.SetSizer(wSizer_setup) self.m_panel_setup.Layout() wSizer_setup.Fit(self.m_panel_setup) self.m_notebook_setup.AddPage(self.m_panel_setup, u"Setup", False) bSizer_setup.Add(self.m_notebook_setup, 1, wx.EXPAND | wx.ALL, 5) wSizer_func.Add(bSizer_setup, 1, wx.EXPAND, 5) bSizer_download = wx.BoxSizer(wx.VERTICAL) self.m_notebook_download = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_download = wx.Panel(self.m_notebook_download, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) wSizer_download = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_appPath = wx.StaticText( self.m_panel_download, wx.ID_ANY, u"Application Image File (.sb) / Folder:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_appPath.Wrap(-1) wSizer_download.Add(self.m_staticText_appPath, 0, wx.ALL, 5) self.m_filePicker_appFilePath = wx.FilePickerCtrl( self.m_panel_download, wx.ID_ANY, u"Select a file", u"Select a file", u"*.*", wx.DefaultPosition, wx.Size(260, -1), wx.FLP_DEFAULT_STYLE) wSizer_download.Add(self.m_filePicker_appFilePath, 0, wx.ALL, 5) self.m_dirPicker_appFolderPath = wx.DirPickerCtrl( self.m_panel_download, wx.ID_ANY, u"Select a folder", u"Select a folder", wx.DefaultPosition, wx.Size(260, -1), wx.DIRP_DEFAULT_STYLE) wSizer_download.Add(self.m_dirPicker_appFolderPath, 0, wx.ALL, 5) self.m_staticText_null1Download = wx.StaticText( self.m_panel_download, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(60, -1), 0) self.m_staticText_null1Download.Wrap(-1) wSizer_download.Add(self.m_staticText_null1Download, 0, wx.ALL, 5) self.m_button_allInOneAction = wx.Button(self.m_panel_download, wx.ID_ANY, u"Start", wx.DefaultPosition, wx.Size(120, 40), 0) self.m_button_allInOneAction.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_download.Add(self.m_button_allInOneAction, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_staticText_null2Download = wx.StaticText( self.m_panel_download, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(50, -1), 0) self.m_staticText_null2Download.Wrap(-1) wSizer_download.Add(self.m_staticText_null2Download, 0, wx.ALL, 5) self.m_staticText_costTime = wx.StaticText(self.m_panel_download, wx.ID_ANY, u" 00:00.000", wx.DefaultPosition, wx.Size(55, -1), 0) self.m_staticText_costTime.Wrap(-1) wSizer_download.Add(self.m_staticText_costTime, 0, wx.ALL, 5) self.m_gauge_action = wx.Gauge(self.m_panel_download, wx.ID_ANY, 100, wx.DefaultPosition, wx.Size(190, 20), wx.GA_HORIZONTAL) self.m_gauge_action.SetValue(100) wSizer_download.Add(self.m_gauge_action, 0, wx.ALL, 5) self.m_staticText_successfulBoards = wx.StaticText( self.m_panel_download, wx.ID_ANY, u"Successful Boards:", wx.DefaultPosition, wx.Size(100, -1), 0) self.m_staticText_successfulBoards.Wrap(-1) wSizer_download.Add(self.m_staticText_successfulBoards, 0, wx.ALL, 5) self.m_staticText_successfulBoardNum = wx.StaticText( self.m_panel_download, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(20, -1), 0) self.m_staticText_successfulBoardNum.Wrap(-1) wSizer_download.Add(self.m_staticText_successfulBoardNum, 0, wx.ALL, 5) self.m_staticText_failedBoards = wx.StaticText(self.m_panel_download, wx.ID_ANY, u"Failed Boards:", wx.DefaultPosition, wx.Size(90, -1), 0) self.m_staticText_failedBoards.Wrap(-1) wSizer_download.Add(self.m_staticText_failedBoards, 0, wx.ALL, 5) self.m_staticText_failedBoardNum = wx.StaticText( self.m_panel_download, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(20, -1), 0) self.m_staticText_failedBoardNum.Wrap(-1) wSizer_download.Add(self.m_staticText_failedBoardNum, 0, wx.ALL, 5) self.m_staticText_null3Download = wx.StaticText( self.m_panel_download, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(260, 2), 0) self.m_staticText_null3Download.Wrap(-1) wSizer_download.Add(self.m_staticText_null3Download, 0, wx.ALL, 5) self.m_panel_download.SetSizer(wSizer_download) self.m_panel_download.Layout() wSizer_download.Fit(self.m_panel_download) self.m_notebook_download.AddPage(self.m_panel_download, u"Download", False) bSizer_download.Add(self.m_notebook_download, 1, wx.EXPAND | wx.ALL, 5) wSizer_logo = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_null1Logo = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(180, -1), 0) self.m_staticText_null1Logo.Wrap(-1) wSizer_logo.Add(self.m_staticText_null1Logo, 0, wx.ALL, 5) self.m_bitmap_nxp = wx.StaticBitmap(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.Size(80, 30), 0) wSizer_logo.Add(self.m_bitmap_nxp, 0, wx.ALL, 5) bSizer_download.Add(wSizer_logo, 1, wx.EXPAND, 5) wSizer_func.Add(bSizer_download, 1, wx.EXPAND, 5) bSizer_win.Add(wSizer_func, 1, wx.EXPAND, 5) self.SetSizer(bSizer_win) self.Layout() self.m_statusBar = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY) self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.callbackClose) self.Bind(wx.EVT_MENU, self.callbackExit, id=self.m_menuItem_exit.GetId()) self.Bind(wx.EVT_MENU, self.callbackSetLanguageAsEnglish, id=self.m_menuItem_english.GetId()) self.Bind(wx.EVT_MENU, self.callbackSetLanguageAsChinese, id=self.m_menuItem_chinese.GetId()) self.Bind(wx.EVT_MENU, self.callbackSetUsbDetectionAsDynamic, id=self.m_menuItem_usbDetectionDynamic.GetId()) self.Bind(wx.EVT_MENU, self.callbackSetUsbDetectionAsStatic, id=self.m_menuItem_usbDetectionStatic.GetId()) self.Bind(wx.EVT_MENU, self.callbackShowHomePage, id=self.m_menuItem_homePage.GetId()) self.Bind(wx.EVT_MENU, self.callbackShowAboutAuthor, id=self.m_menuItem_aboutAuthor.GetId()) self.Bind(wx.EVT_MENU, self.callbackShowRevisionHistory, id=self.m_menuItem_revisionHistory.GetId()) self.m_choice_mcuDevice.Bind(wx.EVT_CHOICE, self.callbackSetMcuDevice) self.m_textCtrl_connectedBoards.Bind(wx.EVT_TEXT_ENTER, self.callbackSetConnectedBoards) self.m_choice_serialPortIndex.Bind(wx.EVT_CHOICE, self.callbackSwitchSerialPortIndex) self.m_radioBtn_uart.Bind(wx.EVT_RADIOBUTTON, self.callbackSetUartPort) self.m_radioBtn_usbhid.Bind(wx.EVT_RADIOBUTTON, self.callbackSetUsbhidPort) self.m_choice_portVid.Bind(wx.EVT_CHOICE, self.callbackSetPortVid) self.m_choice_baudPid.Bind(wx.EVT_CHOICE, self.callbackSetBaudPid) self.m_filePicker_appFilePath.Bind(wx.EVT_FILEPICKER_CHANGED, self.callbackChangedAppFile) self.m_dirPicker_appFolderPath.Bind(wx.EVT_DIRPICKER_CHANGED, self.callbackChangedAppFolder) self.m_button_allInOneAction.Bind(wx.EVT_BUTTON, self.callbackAllInOneAction)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='HIROGARI TRACKING MAP', pos=wx.DefaultPosition, size=wx.Size(600, 380), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.Size(600, 380), wx.DefaultSize) self.wSizer1 = wx.BoxSizer(wx.VERTICAL) self.settingSizer = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.wSizer3 = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText1 = wx.StaticText(self, wx.ID_ANY, u"HIROGARI Tracking Map", wx.DefaultPosition, wx.DefaultSize, style=wx.TE_CENTER) self.m_staticText1.Wrap(-1) self.m_staticText1.SetFont( wx.Font(16, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString)) self.wSizer3.Add(self.m_staticText1, 0, wx.ALL, 10) self.settingSizer.Add(self.wSizer3, 1, wx.EXPAND, 5) self.wSizer2 = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) mode_choiceChoices = ['Designate', 'Real Time'] self.mode_choice = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(-1, -1), mode_choiceChoices, 0) self.mode_choice.SetSelection(1) self.wSizer2.Add(self.mode_choice, 0, wx.ALL, 5) self.track_date = wx.adv.DatePickerCtrl(self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.DP_DEFAULT) self.wSizer2.Add(self.track_date, 0, wx.ALL, 5) self.track_time = wx.adv.TimePickerCtrl(self, wx.ID_ANY, wx.DefaultDateTime, wx.DefaultPosition, wx.DefaultSize, wx.adv.TP_DEFAULT) self.wSizer2.Add(self.track_time, 0, wx.ALL, 5) self.show_button = wx.Button(self, wx.ID_ANY, u"SHOW", wx.DefaultPosition, wx.Size(60, -1), 0) self.wSizer2.Add(self.show_button, 0, wx.ALL, 5) self.settingSizer.Add(self.wSizer2, 1, wx.EXPAND, 5) self.wSizer1.Add(self.settingSizer, 1, wx.EXPAND, 0) self.mapSizer = wx.BoxSizer(wx.VERTICAL) self.tracking_map = wx.StaticBitmap(self, wx.ID_ANY, wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize, 0) self.mapSizer.Add(self.tracking_map, 0, wx.ALL, 5) self.wSizer1.Add(self.mapSizer, 1, wx.ALIGN_CENTER, 0) self.SetSizer(self.wSizer1) self.Layout() self.Centre(wx.BOTH)
def __init__(self, parent, config, video, shuffle, Dataframe, scorer, savelabeled): # Settting the GUI size and panels design displays = (wx.Display(i) for i in range(wx.Display.GetCount()) ) # Gets the number of displays screenSizes = [ display.GetGeometry().GetSize() for display in displays ] # Gets the size of each display index = 0 # For display 1. screenWidth = screenSizes[index][0] screenHeight = screenSizes[index][1] self.gui_size = (screenWidth * 0.7, screenHeight * 0.85) wx.Frame.__init__( self, parent, id=wx.ID_ANY, title='DeepLabCut2.0 - Manual Outlier Frame Extraction', size=wx.Size(self.gui_size), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.statusbar = self.CreateStatusBar() self.statusbar.SetStatusText("") self.SetSizeHints( wx.Size(self.gui_size) ) # This sets the minimum size of the GUI. It can scale now! ################################################################################################################################################### # Spliting the frame into top and bottom panels. Bottom panels contains the widgets. The top panel is for showing images and plotting! topSplitter = wx.SplitterWindow(self) self.image_panel = ImagePanel(topSplitter, config, video, shuffle, Dataframe, self.gui_size) self.widget_panel = WidgetPanel(topSplitter) topSplitter.SplitHorizontally(self.image_panel, self.widget_panel, sashPosition=self.gui_size[1] * 0.83) #0.9 topSplitter.SetSashGravity(1) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(topSplitter, 1, wx.EXPAND) self.SetSizer(sizer) ################################################################################################################################################### # Add Buttons to the WidgetPanel and bind them to their respective functions. widgetsizer = wx.WrapSizer(orient=wx.HORIZONTAL) self.load_button_sizer = wx.BoxSizer(wx.VERTICAL) self.help_button_sizer = wx.BoxSizer(wx.VERTICAL) self.help = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Help") self.help_button_sizer.Add(self.help, 1, wx.ALL, 15) # widgetsizer.Add(self.help , 1, wx.ALL, 15) self.help.Bind(wx.EVT_BUTTON, self.helpButton) widgetsizer.Add(self.help_button_sizer, 1, wx.ALL, 0) self.grab = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Grab Frames") widgetsizer.Add(self.grab, 1, wx.ALL, 15) self.grab.Bind(wx.EVT_BUTTON, self.grabFrame) self.grab.Enable(True) widgetsizer.AddStretchSpacer(5) self.slider = wx.Slider(self.widget_panel, id=wx.ID_ANY, value=0, minValue=0, maxValue=1, size=(200, -1), style=wx.SL_HORIZONTAL | wx.SL_AUTOTICKS | wx.SL_LABELS) widgetsizer.Add(self.slider, 1, wx.ALL, 5) self.slider.Bind(wx.EVT_SLIDER, self.OnSliderScroll) widgetsizer.AddStretchSpacer(5) self.start_frames_sizer = wx.BoxSizer(wx.VERTICAL) self.end_frames_sizer = wx.BoxSizer(wx.VERTICAL) self.start_frames_sizer.AddSpacer(15) # self.startFrame = wx.SpinCtrl(self.widget_panel, value='0', size=(100, -1), min=0, max=120) self.startFrame = wx.SpinCtrl(self.widget_panel, value='0', size=(100, -1)) #,style=wx.SP_VERTICAL) self.startFrame.Enable(False) self.start_frames_sizer.Add(self.startFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) start_text = wx.StaticText(self.widget_panel, label='Start Frame Index') self.start_frames_sizer.Add(start_text, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.checkBox = wx.CheckBox(self.widget_panel, id=wx.ID_ANY, label='Range of frames') self.checkBox.Bind(wx.EVT_CHECKBOX, self.activate_frame_range) self.start_frames_sizer.Add(self.checkBox, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) # self.end_frames_sizer.AddSpacer(15) self.endFrame = wx.SpinCtrl(self.widget_panel, value='1', size=(160, -1)) #, min=1, max=120) self.endFrame.Enable(False) self.end_frames_sizer.Add(self.endFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) end_text = wx.StaticText(self.widget_panel, label='Number of Frames') self.end_frames_sizer.Add(end_text, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.updateFrame = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Update") self.end_frames_sizer.Add(self.updateFrame, 1, wx.EXPAND | wx.ALIGN_LEFT, 15) self.updateFrame.Bind(wx.EVT_BUTTON, self.updateSlider) self.updateFrame.Enable(False) widgetsizer.Add(self.start_frames_sizer, 1, wx.ALL, 0) widgetsizer.AddStretchSpacer(5) widgetsizer.Add(self.end_frames_sizer, 1, wx.ALL, 0) widgetsizer.AddStretchSpacer(15) self.quit = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Quit") widgetsizer.Add(self.quit, 1, wx.ALL, 15) self.quit.Bind(wx.EVT_BUTTON, self.quitButton) self.quit.Enable(True) self.widget_panel.SetSizer(widgetsizer) self.widget_panel.SetSizerAndFit(widgetsizer) # Variables initialization self.numberFrames = 0 self.currFrame = 0 self.figure = Figure() self.axes = self.figure.add_subplot(111) self.drs = [] self.extract_range_frame = False self.firstFrame = 0 # self.cropping = False # Read confing file self.cfg = auxiliaryfunctions.read_config(config) self.Task = self.cfg['Task'] self.start = self.cfg['start'] self.stop = self.cfg['stop'] self.date = self.cfg['date'] self.trainFraction = self.cfg['TrainingFraction'] self.trainFraction = self.trainFraction[0] self.videos = self.cfg['video_sets'].keys() self.bodyparts = self.cfg['bodyparts'] self.colormap = plt.get_cmap(self.cfg['colormap']) self.colormap = self.colormap.reversed() self.markerSize = self.cfg['dotsize'] self.alpha = self.cfg['alphavalue'] self.iterationindex = self.cfg['iteration'] self.cropping = self.cfg['cropping'] self.video_names = [Path(i).stem for i in self.videos] self.config_path = Path(config) self.video_source = Path(video).resolve() self.shuffle = shuffle self.Dataframe = Dataframe self.scorer = scorer self.savelabeled = savelabeled # Read the video file self.vid = FMF.FlyMovie(str(self.video_source)) self.videoPath = os.path.dirname(self.video_source) self.filename = Path(self.video_source).name nframes = self.vid.n_frames while True: try: self.vid.get_frame(nframes) except FMF.NoMoreFramesException: nframes -= 1 continue break self.numberFrames = int(nframes) self.strwidth = int(np.ceil(np.log10(self.numberFrames))) # Set the values of slider and range of frames self.startFrame.SetMax(self.numberFrames - 1) self.slider.SetMax(self.numberFrames - 1) self.endFrame.SetMax(self.numberFrames - 1) self.startFrame.Bind(wx.EVT_SPINCTRL, self.updateSlider) #wx.EVT_SPIN # Set the status bar self.statusbar.SetStatusText('Working on video: {}'.format( os.path.split(str(self.video_source))[-1])) # Adding the video file to the config file. if not (str(self.video_source.stem) in self.video_names): add.add_new_videos(self.config_path, [self.video_source]) self.filename = Path(self.video_source).name self.update() self.plot_labels() self.widget_panel.Layout()
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"pzh-speech", pos = wx.DefaultPosition, size = wx.Size( 942,694 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.Colour( 64, 64, 64 ) ) self.menubar = wx.MenuBar( 0 ) self.m_menu_help = wx.Menu() self.m_menuItem_homePage = wx.MenuItem( self.m_menu_help, wx.ID_ANY, u"Home Page", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu_help.Append( self.m_menuItem_homePage ) self.m_menuItem_about = wx.MenuItem( self.m_menu_help, wx.ID_ANY, u"About Author", wx.EmptyString, wx.ITEM_NORMAL ) self.m_menu_help.Append( self.m_menuItem_about ) self.menubar.Append( self.m_menu_help, u"Help" ) self.SetMenuBar( self.menubar ) win_sizer = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) edit_win = wx.BoxSizer( wx.VERTICAL ) dir_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_selectAudioFile = wx.StaticText( self, wx.ID_ANY, u"Select Audio File:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_selectAudioFile.Wrap( -1 ) self.m_staticText_selectAudioFile.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) dir_win.Add( self.m_staticText_selectAudioFile, 0, wx.ALL, 5 ) self.m_genericDirCtrl_audioDir = wx.GenericDirCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 180,250 ), wx.DIRCTRL_SHOW_FILTERS|wx.HSCROLL, wx.EmptyString, 0 ) self.m_genericDirCtrl_audioDir.ShowHidden( False ) self.m_genericDirCtrl_audioDir.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) self.m_genericDirCtrl_audioDir.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) dir_win.Add( self.m_genericDirCtrl_audioDir, 1, wx.EXPAND |wx.ALL, 5 ) self.m_staticText_null0 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 30,-1 ), 0 ) self.m_staticText_null0.Wrap( -1 ) dir_win.Add( self.m_staticText_null0, 0, wx.ALL, 5 ) self.m_button_play = wx.Button( self, wx.ID_ANY, u"Play Start", wx.DefaultPosition, wx.Size( 110,-1 ), 0 ) dir_win.Add( self.m_button_play, 0, wx.ALL, 5 ) edit_win.Add( dir_win, 1, wx.EXPAND, 5 ) rec_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_null1 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_null1.Wrap( -1 ) rec_win.Add( self.m_staticText_null1, 0, wx.ALL, 5 ) self.m_staticText_recordAudioFile = wx.StaticText( self, wx.ID_ANY, u"Record Audio File:", wx.DefaultPosition, wx.Size( 180,-1 ), 0 ) self.m_staticText_recordAudioFile.Wrap( -1 ) self.m_staticText_recordAudioFile.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_recordAudioFile, 0, wx.ALL, 5 ) self.m_staticText_channels = wx.StaticText( self, wx.ID_ANY, u"Channels:", wx.DefaultPosition, wx.Size( 60,-1 ), 0 ) self.m_staticText_channels.Wrap( -1 ) self.m_staticText_channels.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_channels, 0, wx.ALL, 5 ) m_choice_channelsChoices = [ u"Mono", u"Stereo" ] self.m_choice_channels = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_channelsChoices, 0 ) self.m_choice_channels.SetSelection( 1 ) rec_win.Add( self.m_choice_channels, 0, wx.ALL, 5 ) self.m_staticText_sampRate = wx.StaticText( self, wx.ID_ANY, u"Samp Rate:", wx.DefaultPosition, wx.Size( 60,-1 ), 0 ) self.m_staticText_sampRate.Wrap( -1 ) self.m_staticText_sampRate.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_sampRate, 0, wx.ALL, 5 ) m_choice_sampRateChoices = [ u"44100", u"22050", u"16000", u"11025" ] self.m_choice_sampRate = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_sampRateChoices, 0 ) self.m_choice_sampRate.SetSelection( 0 ) rec_win.Add( self.m_choice_sampRate, 0, wx.ALL, 5 ) self.m_staticText_hz = wx.StaticText( self, wx.ID_ANY, u"Hz", wx.DefaultPosition, wx.Size( 20,-1 ), 0 ) self.m_staticText_hz.Wrap( -1 ) self.m_staticText_hz.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_hz, 0, wx.ALL, 5 ) self.m_staticText_bitDepth = wx.StaticText( self, wx.ID_ANY, u"Bit Depth:", wx.DefaultPosition, wx.Size( 60,-1 ), 0 ) self.m_staticText_bitDepth.Wrap( -1 ) self.m_staticText_bitDepth.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_bitDepth, 0, wx.ALL, 5 ) m_choice_bitDepthChoices = [ u"8", u"16", u"24", u"32" ] self.m_choice_bitDepth = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 80,-1 ), m_choice_bitDepthChoices, 0 ) self.m_choice_bitDepth.SetSelection( 1 ) rec_win.Add( self.m_choice_bitDepth, 0, wx.ALL, 5 ) self.m_staticText_bits = wx.StaticText( self, wx.ID_ANY, u"bits", wx.DefaultPosition, wx.Size( 20,-1 ), 0 ) self.m_staticText_bits.Wrap( -1 ) self.m_staticText_bits.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_bits, 0, wx.ALL, 5 ) self.m_staticText_recFileName = wx.StaticText( self, wx.ID_ANY, u"File:", wx.DefaultPosition, wx.Size( 30,-1 ), 0 ) self.m_staticText_recFileName.Wrap( -1 ) self.m_staticText_recFileName.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) rec_win.Add( self.m_staticText_recFileName, 0, wx.ALL, 5 ) self.m_textCtrl_recFileName = wx.TextCtrl( self, wx.ID_ANY, u"rec_untitled1.wav", wx.DefaultPosition, wx.Size( 110,-1 ), 0 ) rec_win.Add( self.m_textCtrl_recFileName, 0, wx.ALL, 5 ) self.m_staticText_null2 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 30,-1 ), 0 ) self.m_staticText_null2.Wrap( -1 ) rec_win.Add( self.m_staticText_null2, 0, wx.ALL, 5 ) self.m_button_record = wx.Button( self, wx.ID_ANY, u"Record Start", wx.DefaultPosition, wx.Size( 110,-1 ), 0 ) rec_win.Add( self.m_button_record, 0, wx.ALL, 5 ) edit_win.Add( rec_win, 1, wx.EXPAND, 5 ) win_sizer.Add( edit_win, 1, wx.EXPAND, 5 ) show_win = wx.BoxSizer( wx.VERTICAL ) plot_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_showAudioFile = wx.StaticText( self, wx.ID_ANY, u"Show Audio File:", wx.DefaultPosition, wx.Size( 215,-1 ), 0 ) self.m_staticText_showAudioFile.Wrap( -1 ) self.m_staticText_showAudioFile.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) plot_win.Add( self.m_staticText_showAudioFile, 0, wx.ALL, 5 ) self.m_staticText_domain = wx.StaticText( self, wx.ID_ANY, u"Domain:", wx.DefaultPosition, wx.Size( 50,-1 ), 0 ) self.m_staticText_domain.Wrap( -1 ) self.m_staticText_domain.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) plot_win.Add( self.m_staticText_domain, 0, wx.ALL, 5 ) m_choice_domainChoices = [ u"Time", u"Frequency" ] self.m_choice_domain = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_domainChoices, 0 ) self.m_choice_domain.SetSelection( 0 ) plot_win.Add( self.m_choice_domain, 0, wx.ALL, 5 ) self.m_panel_plot = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 720,360 ), wx.TAB_TRAVERSAL ) self.m_panel_plot.SetFont( wx.Font( 9, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "宋体" ) ) self.m_panel_plot.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) self.m_panel_plot.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) plot_win.Add( self.m_panel_plot, 1, wx.EXPAND |wx.ALL, 5 ) show_win.Add( plot_win, 1, wx.EXPAND, 5 ) ctrl_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_conv = wx.StaticText( self, wx.ID_ANY, u"Audio/Text Conversation Configuration and Display:", wx.DefaultPosition, wx.Size( 285,-1 ), 0 ) self.m_staticText_conv.Wrap( -1 ) self.m_staticText_conv.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_conv, 0, wx.ALL, 5 ) self.m_button_asrttsTextClear = wx.Button( self, wx.ID_ANY, u"Clear Text", wx.DefaultPosition, wx.Size( 80,-1 ), 0 ) ctrl_win.Add( self.m_button_asrttsTextClear, 0, wx.ALL, 5 ) self.m_staticText_null3 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) self.m_staticText_null3.Wrap( -1 ) ctrl_win.Add( self.m_staticText_null3, 0, wx.ALL, 5 ) self.m_staticText_lang = wx.StaticText( self, wx.ID_ANY, u"Language:", wx.Point( -1,-1 ), wx.Size( -1,-1 ), 0 ) self.m_staticText_lang.Wrap( -1 ) self.m_staticText_lang.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_lang, 0, wx.ALL, 5 ) m_choice_langChoices = [ u"US English", u"Mandarin Chinese" ] self.m_choice_lang = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_langChoices, 0 ) self.m_choice_lang.SetSelection( 0 ) ctrl_win.Add( self.m_choice_lang, 0, wx.ALL, 5 ) self.m_staticText_asrEngine = wx.StaticText( self, wx.ID_ANY, u"ASR Engine:", wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) self.m_staticText_asrEngine.Wrap( -1 ) self.m_staticText_asrEngine.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_asrEngine, 0, wx.ALL, 5 ) m_choice_asrEngineChoices = [ u"CMU Sphinx", u"Google Speech Recognition", u"Google Cloud Speech API", u"Wit.ai", u"Microsoft Bing Voice Recognition", u"Houndify API", u"IBM Speech to Text", u"Snowboy Hotword Detection" ] self.m_choice_asrEngine = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 155,-1 ), m_choice_asrEngineChoices, 0 ) self.m_choice_asrEngine.SetSelection( 0 ) ctrl_win.Add( self.m_choice_asrEngine, 0, wx.ALL, 5 ) self.m_staticText_asrId = wx.StaticText( self, wx.ID_ANY, u"Id:", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText_asrId.Wrap( -1 ) self.m_staticText_asrId.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_asrId, 0, wx.ALL, 5 ) self.m_textCtrl_asrId = wx.TextCtrl( self, wx.ID_ANY, u"N/A", wx.DefaultPosition, wx.Size( 150,-1 ), 0 ) ctrl_win.Add( self.m_textCtrl_asrId, 0, wx.ALL, 5 ) self.m_staticText_asrKey = wx.StaticText( self, wx.ID_ANY, u"Key:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_asrKey.Wrap( -1 ) self.m_staticText_asrKey.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_asrKey, 0, wx.ALL, 5 ) self.m_textCtrl_asrKey = wx.TextCtrl( self, wx.ID_ANY, u"N/A", wx.DefaultPosition, wx.Size( 232,-1 ), 0 ) ctrl_win.Add( self.m_textCtrl_asrKey, 0, wx.ALL, 5 ) self.m_staticText_ttsEngine = wx.StaticText( self, wx.ID_ANY, u"TTS Engine:", wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) self.m_staticText_ttsEngine.Wrap( -1 ) self.m_staticText_ttsEngine.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_ttsEngine, 0, wx.ALL, 5 ) m_choice_ttsEngineChoices = [ u"pyttsx3 - SAPI5", u"gTTS" ] self.m_choice_ttsEngine = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 155,-1 ), m_choice_ttsEngineChoices, 0 ) self.m_choice_ttsEngine.SetSelection( 0 ) ctrl_win.Add( self.m_choice_ttsEngine, 0, wx.ALL, 5 ) self.m_staticText_voice = wx.StaticText( self, wx.ID_ANY, u"Voice:", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText_voice.Wrap( -1 ) self.m_staticText_voice.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_voice, 0, wx.ALL, 5 ) m_choice_voiceChoices = [] self.m_choice_voice = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 310,-1 ), m_choice_voiceChoices, 0 ) self.m_choice_voice.SetSelection( 0 ) ctrl_win.Add( self.m_choice_voice, 0, wx.ALL, 5 ) self.m_staticText_null4 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) self.m_staticText_null4.Wrap( -1 ) ctrl_win.Add( self.m_staticText_null4, 0, wx.ALL, 5 ) self.m_staticText_ttwEngine = wx.StaticText( self, wx.ID_ANY, u"TTW Engine: ", wx.DefaultPosition, wx.Size( 70,-1 ), 0 ) self.m_staticText_ttwEngine.Wrap( -1 ) self.m_staticText_ttwEngine.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_ttwEngine, 0, wx.ALL, 5 ) m_choice_ttwEngineChoices = [ u"eSpeak TTS", u"Festival SSS" ] self.m_choice_ttwEngine = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 155,-1 ), m_choice_ttwEngineChoices, 0 ) self.m_choice_ttwEngine.SetSelection( 0 ) ctrl_win.Add( self.m_choice_ttwEngine, 0, wx.ALL, 5 ) self.m_staticText_gender = wx.StaticText( self, wx.ID_ANY, u"Gender:", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) self.m_staticText_gender.Wrap( -1 ) self.m_staticText_gender.SetForegroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_APPWORKSPACE ) ) ctrl_win.Add( self.m_staticText_gender, 0, wx.ALL, 5 ) m_choice_genderChoices = [ u"Male", u"Female" ] self.m_choice_gender = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 70,-1 ), m_choice_genderChoices, 0 ) self.m_choice_gender.SetSelection( 0 ) ctrl_win.Add( self.m_choice_gender, 0, wx.ALL, 5 ) show_win.Add( ctrl_win, 1, wx.EXPAND, 5 ) conv_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) text_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_textCtrl_asrttsText = wx.TextCtrl( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 480,120 ), wx.TE_MULTILINE ) text_win.Add( self.m_textCtrl_asrttsText, 0, wx.ALL, 5 ) conv_win.Add( text_win, 1, wx.EXPAND, 5 ) asrtts_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_button_asr = wx.Button( self, wx.ID_ANY, u"ASR", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) asrtts_win.Add( self.m_button_asr, 0, wx.ALL, 5 ) self.m_textCtrl_asrFileName = wx.TextCtrl( self, wx.ID_ANY, u"asr_untitled1.txt", wx.DefaultPosition, wx.Size( 180,-1 ), 0 ) asrtts_win.Add( self.m_textCtrl_asrFileName, 0, wx.ALL, 5 ) self.m_button_tts = wx.Button( self, wx.ID_ANY, u"TTS", wx.DefaultPosition, wx.Size( 40,-1 ), 0 ) asrtts_win.Add( self.m_button_tts, 0, wx.ALL, 5 ) self.m_textCtrl_ttsFileName = wx.TextCtrl( self, wx.ID_ANY, u"tts_untitled1.wav", wx.DefaultPosition, wx.Size( 180,-1 ), 0 ) asrtts_win.Add( self.m_textCtrl_ttsFileName, 0, wx.ALL, 5 ) conv_win.Add( asrtts_win, 1, wx.EXPAND, 5 ) show_win.Add( conv_win, 1, wx.EXPAND, 5 ) win_sizer.Add( show_win, 1, wx.EXPAND, 5 ) self.SetSizer( win_sizer ) self.Layout() self.statusBar = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY ) self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_MENU, self.showHomepageInfo, id = self.m_menuItem_homePage.GetId() ) self.Bind( wx.EVT_MENU, self.showAboutInfo, id = self.m_menuItem_about.GetId() ) self.m_genericDirCtrl_audioDir.Bind( wx.EVT_TREE_SEL_CHANGED, self.viewAudio ) self.m_button_play.Bind( wx.EVT_BUTTON, self.playAudio ) self.m_button_record.Bind( wx.EVT_BUTTON, self.recordAudio ) self.m_button_asrttsTextClear.Bind( wx.EVT_BUTTON, self.clearAsrTtsText ) self.m_choice_voice.Bind( wx.EVT_ENTER_WINDOW, self.refreshVoice ) self.m_button_asr.Bind( wx.EVT_BUTTON, self.audioSpeechRecognition ) self.m_button_tts.Bind( wx.EVT_BUTTON, self.textToSpeech )
def __init__(self, parent): wx.Dialog.__init__(self, parent, title="Create Instrument Presets") self.serial_options = ["baudrate", "port", "bytesize", "stopbits", "flowcontrol", "parity", "timeout", "idcmd", "id", "type", "name"] self.serial_data = {} self._instruments = {} self._selected_index = -1 self.columns = ["#", "Name"] # main sizer sizer = wx.BoxSizer(wx.VERTICAL) self.splitter = wx.SplitterWindow(self) # LHS vertical sizer left_panel = wx.Panel(self.splitter) vsizer = wx.BoxSizer(wx.VERTICAL) left_panel.SetSizer(vsizer) instrument_list_controls = wx.WrapSizer(wx.HORIZONTAL) for label, bmp, binding in [("New", "new", self.OnNewInstrument), ("Remove", "remove", self.OnRemoveInstrument)]: try: btn = wx.Button(left_panel, label=label, name="Instrument List", size=(32, 32), style=wx.BU_NOTEXT) btn.SetBitmap(theme.GetBitmap(bmp)) except: btn.Destroy() btn = wx.Button(left_panel, label=label, name="Instrument List", size=(64, 24)) btn.Bind(wx.EVT_BUTTON, binding) # btn.Bind(wx.EVT_LEFT_DCLICK, self.OnButtonLeftDouble) instrument_list_controls.Add(btn, 0, wx.ALL|wx.EXPAND|wx.ALIGN_CENTRE, 2) self.instrument_list = base.BaseList(left_panel) for col, name in enumerate(self.columns): self.instrument_list.InsertColumn(col, name) self.instrument_list.setResizeColumn(2) self.instrument_list.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnListItemSelected) # self.instrument_list.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnListItemSelected) # add to vertical sizer vsizer.Add(instrument_list_controls, 0, wx.ALL, 5) vsizer.Add(self.instrument_list, 1, wx.ALL|wx.EXPAND, 5) # RHS vertical sizer right_panel = wx.Panel(self.splitter) vsizer2 = wx.BoxSizer(wx.VERTICAL) right_panel.SetSizer(vsizer2) sbox = wx.StaticBox(right_panel) sbox_sizer = wx.StaticBoxSizer(sbox, wx.VERTICAL) grid = wx.GridBagSizer(2, 2) row = 0 self._items = [("port", "Port", "COM1"), ("baudrate", "Speed (baud)", "9600", ["110","300","600","1200","2400","4800","9600", "14400","19200","28800","38400","56000","57600", "115200","128000","153600","230400","256000", "460800","921600"]), ("bytesize", "Data bits", "8", [str(x) for x in range(5, 10)]), ("stopbits", "Stop bits", "1", [str(x) for x in range(0, 3)]), ("parity", "Parity", "None", ["None","Odd","Even","Mark","Space"]), ("flowcontrol", "Flow control", "None", ["None","XON/XOFF","RTS/CTS","DSR/DTR"]), ("timeout", "Timeout (s)", "1", [str(x) for x in range(1, 61, 1)])] name, label, default = self._items[0] lbl = wx.StaticText(right_panel, label=label) self.serial_data[name] = wx.TextCtrl(right_panel, value=default, name=name) grid.Add(lbl, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data[name], pos=(row, 1), flag=wx.ALL|wx.EXPAND, border=2) row += 1 for name, label, default, choices in self._items[1:]: lbl = wx.StaticText(right_panel, label=label) self.serial_data[name] = wx.ComboBox(right_panel, choices=choices, style=wx.CB_READONLY, name=name) self.serial_data[name].SetValue(default) grid.Add(lbl, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data[name], pos=(row, 1), flag=wx.ALL|wx.EXPAND, border=2) row += 1 # add a separator row += 1 grid.Add(wx.StaticLine(right_panel), pos=(row, 0), span=(0,3), flag=wx.ALL|wx.EXPAND, border=2) row += 1 label_id = wx.StaticText(right_panel, label="Set identification command:") self.serial_data["idcmd"] = wx.TextCtrl(right_panel, value="*IDN?", name="idcmd") get_id = wx.Button(right_panel, label="Get ID") get_id.Bind(wx.EVT_BUTTON, self.GetId) grid.Add(label_id, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data["idcmd"], pos=(row, 1), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(get_id, pos=(row, 2), flag=wx.ALL|wx.EXPAND, border=2) row += 1 label_id2 = wx.StaticText(right_panel, label="Id:") self.serial_data["id"] = wx.TextCtrl(right_panel, value="", name="id") grid.Add(label_id2, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data["id"], pos=(row, 1), span=(0, 2), flag=wx.ALL|wx.EXPAND, border=2) row += 1 # add a separator row += 1 grid.Add(wx.StaticLine(right_panel), pos=(row, 0), span=(0,3), flag=wx.ALL|wx.EXPAND, border=2) row += 1 label_type = wx.StaticText(right_panel, label="Type:") ins_types = ["Multimeter","PSU","Waveform Generator","Generic"] self.serial_data["type"] = wx.ComboBox(right_panel, choices=ins_types, style=wx.CB_READONLY, name="type") self.serial_data["type"].SetSelection(0) grid.Add(label_type, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data["type"], pos=(row, 1), span=(0,2), flag=wx.ALL|wx.EXPAND, border=2) row += 1 spacer = wx.StaticText(right_panel) grid.Add(spacer, pos=(row, 0), span=(0, 3), flag=wx.ALL|wx.EXPAND, border=2) grid.AddGrowableRow(row) # add a separator row += 1 grid.Add(wx.StaticLine(right_panel), pos=(row, 0), span=(0,3), flag=wx.ALL|wx.EXPAND, border=2) row += 1 label_name = wx.StaticText(right_panel, label="Name:") self.serial_data["name"] = wx.TextCtrl(right_panel, value="", name="name") self.serial_data["name"].Bind(wx.EVT_TEXT, self.OnTextChange) grid.Add(label_name, pos=(row, 0), flag=wx.ALL|wx.EXPAND, border=2) grid.Add(self.serial_data["name"], pos=(row, 1), span=(0, 2), flag=wx.ALL|wx.EXPAND, border=2) grid.AddGrowableCol(0) grid.AddGrowableCol(1) sbox_sizer.Add(grid, 4, wx.ALL|wx.EXPAND, 5) vsizer2.Add(sbox_sizer, 1, wx.ALL|wx.EXPAND, 5) hsizer_controls = wx.BoxSizer(wx.HORIZONTAL) btn_cancel = wx.Button(self, label="Cancel", size=(-1,24)) btn_cancel.Bind(wx.EVT_BUTTON, self.OnCancel) btn_save = wx.Button(self, label="Confirm Changes", size=(-1,24)) btn_save.Bind(wx.EVT_BUTTON, self.OnConfirm) hsizer_controls.Add(btn_cancel, 0, wx.ALL, 5) hsizer_controls.Add(btn_save, 0, wx.ALL, 5) self.splitter.SplitVertically(left_panel, right_panel) self.splitter.SetSashGravity(0.3) # add to main sizer sizer.Add(self.splitter, 1, wx.ALL|wx.EXPAND, 0) sizer.Add(hsizer_controls, 0, wx.ALL|wx.ALIGN_RIGHT, 2) self.SetSizer(sizer) sizer.Fit(self) self.SetMinSize(self.GetBestSize())
def __init__(self, parent, config, image): # Settting the GUI size and panels design displays = (wx.Display(i) for i in range(wx.Display.GetCount()) ) # Gets the number of displays screenSizes = [ display.GetGeometry().GetSize() for display in displays ] # Gets the size of each display index = 0 # For display 1. screenWidth = screenSizes[index][0] screenHeight = screenSizes[index][1] self.gui_size = (screenWidth * 0.7, screenHeight * 0.85) wx.Frame.__init__(self, parent, id=wx.ID_ANY, title='DeepLabCut2.0 - Select Crop Parameters', size=wx.Size(self.gui_size), pos=wx.DefaultPosition, style=wx.RESIZE_BORDER | wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.statusbar = self.CreateStatusBar() self.statusbar.SetStatusText("") self.SetSizeHints( wx.Size(self.gui_size) ) # This sets the minimum size of the GUI. It can scale now! ################################################################################################################################################### # Spliting the frame into top and bottom panels. Bottom panels contains the widgets. The top panel is for showing images and plotting! topSplitter = wx.SplitterWindow(self) self.image_panel = ImagePanel(topSplitter, config, self.gui_size) self.widget_panel = WidgetPanel(topSplitter) topSplitter.SplitHorizontally(self.image_panel, self.widget_panel, sashPosition=self.gui_size[1] * 0.83) #0.9 topSplitter.SetSashGravity(1) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(topSplitter, 1, wx.EXPAND) self.SetSizer(sizer) ################################################################################################################################################### # Add Buttons to the WidgetPanel and bind them to their respective functions. widgetsizer = wx.WrapSizer(orient=wx.HORIZONTAL) self.help = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Help") widgetsizer.Add(self.help, 1, wx.ALL, 15) self.help.Bind(wx.EVT_BUTTON, self.helpButton) self.quit = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Save parameters and Quit") widgetsizer.Add(self.quit, 1, wx.ALL, 15) self.quit.Bind(wx.EVT_BUTTON, self.quitButton) self.widget_panel.SetSizer(widgetsizer) self.widget_panel.SetSizerAndFit(widgetsizer) self.widget_panel.Layout() # Variables initialization self.image = image self.coords = [] self.figure = Figure() self.axes = self.figure.add_subplot(111) self.cfg = auxiliaryfunctions.read_config(config) MainFrame.show_image(self)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 619,256 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) wSizer_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_notebook_encryptionOpt = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_encryptionOpt = wx.Panel( self.m_notebook_encryptionOpt, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer_encryptionOpt = wx.GridSizer( 0, 2, 0, 0 ) self.m_staticText_keySource = wx.StaticText( self.m_panel_encryptionOpt, wx.ID_ANY, u"Key Source:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_keySource.Wrap( -1 ) gSizer_encryptionOpt.Add( self.m_staticText_keySource, 0, wx.ALL, 5 ) m_choice_keySourceChoices = [ u"Fuse OTPMK - SNVS" ] self.m_choice_keySource = wx.Choice( self.m_panel_encryptionOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size( 150,-1 ), m_choice_keySourceChoices, 0 ) self.m_choice_keySource.SetSelection( 0 ) gSizer_encryptionOpt.Add( self.m_choice_keySource, 0, wx.ALL, 5 ) self.m_staticText_aesMode = wx.StaticText( self.m_panel_encryptionOpt, wx.ID_ANY, u"AES Mode:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_aesMode.Wrap( -1 ) gSizer_encryptionOpt.Add( self.m_staticText_aesMode, 0, wx.ALL, 5 ) m_choice_aesModeChoices = [ u"CTR" ] self.m_choice_aesMode = wx.Choice( self.m_panel_encryptionOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size( 150,-1 ), m_choice_aesModeChoices, 0 ) self.m_choice_aesMode.SetSelection( 0 ) gSizer_encryptionOpt.Add( self.m_choice_aesMode, 0, wx.ALL, 5 ) self.m_staticText_regionCnt = wx.StaticText( self.m_panel_encryptionOpt, wx.ID_ANY, u"Region Count:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_regionCnt.Wrap( -1 ) gSizer_encryptionOpt.Add( self.m_staticText_regionCnt, 0, wx.ALL, 5 ) m_choice_regionCntChoices = [ u"0 - Whole Image", u"1 - User Defined", u"2 - User Defined", u"3 - User Defined" ] self.m_choice_regionCnt = wx.Choice( self.m_panel_encryptionOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size( 150,-1 ), m_choice_regionCntChoices, 0 ) self.m_choice_regionCnt.SetSelection( 0 ) gSizer_encryptionOpt.Add( self.m_choice_regionCnt, 0, wx.ALL, 5 ) self.m_panel_encryptionOpt.SetSizer( gSizer_encryptionOpt ) self.m_panel_encryptionOpt.Layout() gSizer_encryptionOpt.Fit( self.m_panel_encryptionOpt ) self.m_notebook_encryptionOpt.AddPage( self.m_panel_encryptionOpt, u"Encryption Option", False ) wSizer_win.Add( self.m_notebook_encryptionOpt, 1, wx.EXPAND |wx.ALL, 5 ) self.m_notebook_regionInfo = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_regionInfo = wx.Panel( self.m_notebook_regionInfo, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer_regionInfo = wx.GridSizer( 0, 2, 0, 0 ) self.m_staticText_regionStart = wx.StaticText( self.m_panel_regionInfo, wx.ID_ANY, u"Region Start", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_regionStart.Wrap( -1 ) gSizer_regionInfo.Add( self.m_staticText_regionStart, 0, wx.ALL, 5 ) self.m_staticText_regionLength = wx.StaticText( self.m_panel_regionInfo, wx.ID_ANY, u"Region Length", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_regionLength.Wrap( -1 ) gSizer_regionInfo.Add( self.m_staticText_regionLength, 0, wx.ALL, 5 ) self.m_textCtrl_region0Start = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, u"0x60001000", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region0Start, 0, wx.ALL, 5 ) self.m_textCtrl_region0Length = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, u"0x1000", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region0Length, 0, wx.ALL, 5 ) self.m_textCtrl_region1Start = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, u"0x60002000", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region1Start, 0, wx.ALL, 5 ) self.m_textCtrl_region1Length = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, u"0xe000", wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region1Length, 0, wx.ALL, 5 ) self.m_textCtrl_region2Start = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region2Start, 0, wx.ALL, 5 ) self.m_textCtrl_region2Length = wx.TextCtrl( self.m_panel_regionInfo, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) gSizer_regionInfo.Add( self.m_textCtrl_region2Length, 0, wx.ALL, 5 ) self.m_panel_regionInfo.SetSizer( gSizer_regionInfo ) self.m_panel_regionInfo.Layout() gSizer_regionInfo.Fit( self.m_panel_regionInfo ) self.m_notebook_regionInfo.AddPage( self.m_panel_regionInfo, u"Encrypted Region Info", False ) wSizer_win.Add( self.m_notebook_regionInfo, 1, wx.EXPAND |wx.ALL, 5 ) self.m_staticText_winNull0 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 348,-1 ), 0 ) self.m_staticText_winNull0.Wrap( -1 ) wSizer_win.Add( self.m_staticText_winNull0, 0, wx.ALL, 5 ) self.m_button_ok = wx.Button( self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_win.Add( self.m_button_ok, 0, wx.ALL, 5 ) self.m_button_cancel = wx.Button( self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_win.Add( self.m_button_cancel, 0, wx.ALL, 5 ) self.SetSizer( wSizer_win ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.m_choice_regionCnt.Bind( wx.EVT_CHOICE, self.callbackChangeRegionCount ) self.m_button_ok.Bind( wx.EVT_BUTTON, self.callbackOk ) self.m_button_cancel.Bind( wx.EVT_BUTTON, self.callbackCancel )
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(349, 327), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_notebook_sdOpt = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_sdOpt = wx.Panel(self.m_notebook_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_sdOpt = wx.GridSizer(0, 2, 0, 0) self.m_staticText_busWidth = wx.StaticText(self.m_panel_sdOpt, wx.ID_ANY, u"Bus Width:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_busWidth.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_busWidth, 0, wx.ALL, 5) m_choice_busWidthChoices = [u"1bit", u"4bit"] self.m_choice_busWidth = wx.Choice(self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_busWidthChoices, 0) self.m_choice_busWidth.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_busWidth, 0, wx.ALL, 5) self.m_staticText_timingInterface = wx.StaticText( self.m_panel_sdOpt, wx.ID_ANY, u"Timing Interface:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_timingInterface.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_timingInterface, 0, wx.ALL, 5) m_choice_timingInterfaceChoices = [ u"SDR12/Normal", u"SDR25/HighSpeed", u"SDR50", u"SDR104", u"DDR50" ] self.m_choice_timingInterface = wx.Choice( self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_timingInterfaceChoices, 0) self.m_choice_timingInterface.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_timingInterface, 0, wx.ALL, 5) self.m_staticText_enablePowerCycle = wx.StaticText( self.m_panel_sdOpt, wx.ID_ANY, u"Enable Power Cycle:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_enablePowerCycle.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_enablePowerCycle, 0, wx.ALL, 5) m_choice_enablePowerCycleChoices = [u"No", u"Yes"] self.m_choice_enablePowerCycle = wx.Choice( self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_enablePowerCycleChoices, 0) self.m_choice_enablePowerCycle.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_enablePowerCycle, 0, wx.ALL, 5) self.m_staticText_powerPolarity = wx.StaticText( self.m_panel_sdOpt, wx.ID_ANY, u"Power Polarity:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_powerPolarity.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_powerPolarity, 0, wx.ALL, 5) m_choice_powerPolarityChoices = [ u"RST Low-Disable", u"RST High-Disable" ] self.m_choice_powerPolarity = wx.Choice(self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_powerPolarityChoices, 0) self.m_choice_powerPolarity.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_powerPolarity, 0, wx.ALL, 5) self.m_staticText_powerUpTime = wx.StaticText(self.m_panel_sdOpt, wx.ID_ANY, u"Power Up Time:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_powerUpTime.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_powerUpTime, 0, wx.ALL, 5) m_choice_powerUpTimeChoices = [u"5ms", u"2.5ms"] self.m_choice_powerUpTime = wx.Choice(self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_powerUpTimeChoices, 0) self.m_choice_powerUpTime.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_powerUpTime, 0, wx.ALL, 5) self.m_staticText_powerDownTime = wx.StaticText( self.m_panel_sdOpt, wx.ID_ANY, u"Power Down Time:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_powerDownTime.Wrap(-1) gSizer_sdOpt.Add(self.m_staticText_powerDownTime, 0, wx.ALL, 5) m_choice_powerDownTimeChoices = [u"20ms", u"10ms", u"5ms", u"2.5ms"] self.m_choice_powerDownTime = wx.Choice(self.m_panel_sdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(140, -1), m_choice_powerDownTimeChoices, 0) self.m_choice_powerDownTime.SetSelection(0) gSizer_sdOpt.Add(self.m_choice_powerDownTime, 0, wx.ALL, 5) self.m_panel_sdOpt.SetSizer(gSizer_sdOpt) self.m_panel_sdOpt.Layout() gSizer_sdOpt.Fit(self.m_panel_sdOpt) self.m_notebook_sdOpt.AddPage(self.m_panel_sdOpt, u"SD Option", False) wSizer_win.Add(self.m_notebook_sdOpt, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_winNull0 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(38, -1), 0) self.m_staticText_winNull0.Wrap(-1) wSizer_win.Add(self.m_staticText_winNull0, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_cancel, 0, wx.ALL, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.callbackClose) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def test_wrapsize(self): ws = wx.WrapSizer() ws.Add(wx.Panel(self.frame)) ws.Add(wx.Panel(self.frame)) ws.Add(wx.Panel(self.frame))
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(860, 370), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) bSizer_byteIdx = wx.BoxSizer(wx.VERTICAL) self.m_staticText_address = wx.StaticText( self, wx.ID_ANY, u"Address", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_address.Wrap(-1) self.m_staticText_address.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_address, 0, wx.ALL, 5) self.m_staticText_byteIdx0 = wx.StaticText( self, wx.ID_ANY, u" 0x470[7:0]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx0.Wrap(-1) self.m_staticText_byteIdx0.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx0, 0, wx.ALL, 5) self.m_staticText_byteIdx1 = wx.StaticText( self, wx.ID_ANY, u" 0x470[15:8]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx1.Wrap(-1) self.m_staticText_byteIdx1.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx1, 0, wx.ALL, 5) self.m_staticText_byteIdx2 = wx.StaticText( self, wx.ID_ANY, u" 0x470[23:16]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx2.Wrap(-1) self.m_staticText_byteIdx2.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx2, 0, wx.ALL, 5) self.m_staticText_byteIdx3 = wx.StaticText( self, wx.ID_ANY, u" 0x470[31:24]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx3.Wrap(-1) self.m_staticText_byteIdx3.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx3, 0, wx.ALL, 5) wSizer_win.Add(bSizer_byteIdx, 1, wx.EXPAND, 5) bSizer_bitIdx = wx.BoxSizer(wx.VERTICAL) wSizer_bitIdx = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_bitIdx7 = wx.StaticText( self, wx.ID_ANY, u"7", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx7.Wrap(-1) self.m_staticText_bitIdx7.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx7, 0, wx.ALL, 5) self.m_staticText_bitIdx6 = wx.StaticText( self, wx.ID_ANY, u"6", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx6.Wrap(-1) self.m_staticText_bitIdx6.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx6, 0, wx.ALL, 5) self.m_staticText_bitIdx5 = wx.StaticText( self, wx.ID_ANY, u"5", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx5.Wrap(-1) self.m_staticText_bitIdx5.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx5, 0, wx.ALL, 5) self.m_staticText_bitIdx4 = wx.StaticText( self, wx.ID_ANY, u"4", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx4.Wrap(-1) self.m_staticText_bitIdx4.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx4, 0, wx.ALL, 5) self.m_staticText_bitIdx3 = wx.StaticText( self, wx.ID_ANY, u"3", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx3.Wrap(-1) self.m_staticText_bitIdx3.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx3, 0, wx.ALL, 5) self.m_staticText_bitIdx2 = wx.StaticText( self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx2.Wrap(-1) self.m_staticText_bitIdx2.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx2, 0, wx.ALL, 5) self.m_staticText_bitIdx1 = wx.StaticText( self, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx1.Wrap(-1) self.m_staticText_bitIdx1.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx1, 0, wx.ALL, 5) self.m_staticText_bitIdx0 = wx.StaticText( self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx0.Wrap(-1) self.m_staticText_bitIdx0.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx0, 0, wx.ALL, 5) self.m_staticText_bit7 = wx.StaticText( self, wx.ID_ANY, u"DLL Override", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit7.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit7, 0, wx.ALL, 5) self.m_staticText_bit6 = wx.StaticText( self, wx.ID_ANY, u"SD1_RST_PO_SEL", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit6.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit6, 0, wx.ALL, 5) self.m_staticText_bit5 = wx.StaticText( self, wx.ID_ANY, u"SD2 VOLTAGE", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit5.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit5, 0, wx.ALL, 5) self.m_staticText_bit4 = wx.StaticText( self, wx.ID_ANY, u"UART_Ser-D_Dis", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit4.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit4, 0, wx.ALL, 5) self.m_staticText_bit3 = wx.StaticText( self, wx.ID_ANY, u"Dis_SDMMC_manu", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit3.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit3, 0, wx.ALL, 5) self.m_staticText_bit2 = wx.StaticText( self, wx.ID_ANY, u"L1 I-Cache Dis", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit2.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit2, 0, wx.ALL, 5) self.m_staticText_bit1 = wx.StaticText( self, wx.ID_ANY, u"L1_D-Cache_DIS", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit1.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit1, 0, wx.ALL, 5) self.m_staticText_bit0 = wx.StaticText( self, wx.ID_ANY, u"Override_Pad_Set", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit0.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit0, 0, wx.ALL, 5) m_choice_bit7Choices = [u"0 -Slave Mode", u"1 -Override Mode"] self.m_choice_bit7 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit7Choices, 0) self.m_choice_bit7.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit7, 0, wx.ALL, 5) m_choice_bit6Choices = [u"0 -Reset Low", u"1 -Reset High"] self.m_choice_bit6 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit6Choices, 0) self.m_choice_bit6.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit6, 0, wx.ALL, 5) m_choice_bit5Choices = [u"0 -3.3V ", u"1 -1.8V"] self.m_choice_bit5 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit5Choices, 0) self.m_choice_bit5.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit5, 0, wx.ALL, 5) m_choice_bit4Choices = [u"0 -Not Disable ", u"1 -Disable"] self.m_choice_bit4 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit4Choices, 0) self.m_choice_bit4.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit4, 0, wx.ALL, 5) m_choice_bit3Choices = [u"0 -Enable ", u"1 -Disable"] self.m_choice_bit3 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit3Choices, 0) self.m_choice_bit3.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit3, 0, wx.ALL, 5) m_choice_bit2Choices = [u"0 ", u"1 "] self.m_choice_bit2 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit2Choices, 0) self.m_choice_bit2.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit2, 0, wx.ALL, 5) m_choice_bit1Choices = [u"0 -Enable ", u"1 -Disable"] self.m_choice_bit1 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit1Choices, 0) self.m_choice_bit1.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit1, 0, wx.ALL, 5) m_choice_bit0Choices = [u"0", u"1"] self.m_choice_bit0 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit0Choices, 0) self.m_choice_bit0.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit0, 0, wx.ALL, 5) self.m_staticText_bit15 = wx.StaticText( self, wx.ID_ANY, u"SD2_RST_PO_SEL", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit15.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit15, 0, wx.ALL, 5) self.m_staticText_bit14 = wx.StaticText( self, wx.ID_ANY, u"RE_TO_PRE-IDLE", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit14.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit14, 0, wx.ALL, 5) self.m_staticText_bit13 = wx.StaticText( self, wx.ID_ANY, u"Override_HYS_bit", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit13.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit13, 0, wx.ALL, 5) self.m_staticText_bit12 = wx.StaticText( self, wx.ID_ANY, u"USDHC_PAD_DOWN", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit12.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit12, 0, wx.ALL, 5) self.m_staticText_bit11 = wx.StaticText( self, wx.ID_ANY, u"ENA_EMMC_22K_PULLUP", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit11.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit11, 0, wx.ALL, 5) self.m_staticText_bit10 = wx.StaticText( self, wx.ID_ANY, u"BootFailIndiPinSelect[4]", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit10.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit10, 0, wx.ALL, 5) self.m_staticText_bit9 = wx.StaticText( self, wx.ID_ANY, u"USDHC_IOMUX_SION_BIT_ENA", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit9.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit9, 0, wx.ALL, 5) self.m_staticText_bit8 = wx.StaticText( self, wx.ID_ANY, u"USDHC_IOMUX_SRE_Ena", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit8.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit8, 0, wx.ALL, 5) m_choice_bit15Choices = [u"0 -Reset Low", u"1 -Reset High"] self.m_choice_bit15 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit15Choices, 0) self.m_choice_bit15.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit15, 0, wx.ALL, 5) m_choice_bit14Choices = [u"0", u"1"] self.m_choice_bit14 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit14Choices, 0) self.m_choice_bit14.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit14, 0, wx.ALL, 5) m_choice_bit13Choices = [u"0", u"1"] self.m_choice_bit13 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit13Choices, 0) self.m_choice_bit13.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit13, 0, wx.ALL, 5) m_choice_bit12Choices = [u"0 -no action", u"1 -pull down"] self.m_choice_bit12 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit12Choices, 0) self.m_choice_bit12.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit12, 0, wx.ALL, 5) m_choice_bit11Choices = [u"0 -47K pullup", u"1 -22K pullup"] self.m_choice_bit11 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit11Choices, 0) self.m_choice_bit11.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit11, 0, wx.ALL, 5) m_choice_bit10Choices = [u"0", u"1"] self.m_choice_bit10 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit10Choices, 0) self.m_choice_bit10.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit10, 0, wx.ALL, 5) m_choice_bit9Choices = [u"0 -Disable", u"1 -Enable"] self.m_choice_bit9 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit9Choices, 0) self.m_choice_bit9.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit9, 0, wx.ALL, 5) m_choice_bit8Choices = [u"0 -Disable", u"1 -Enable"] self.m_choice_bit8 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit8Choices, 0) self.m_choice_bit8.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit8, 0, wx.ALL, 5) self.m_staticText_bit23 = wx.StaticText( self, wx.ID_ANY, u"USDHC_CMD_OE_PRE_EN", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit23.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit23, 0, wx.ALL, 5) self.m_staticText_bit22_21 = wx.StaticText( self, wx.ID_ANY, u"LPB_BOOT", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit22_21.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit22_21, 0, wx.ALL, 5) self.m_staticText_bit20 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit20.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit20, 0, wx.ALL, 5) self.m_staticText_bit19_16 = wx.StaticText( self, wx.ID_ANY, u"Boot Failure Indicator Pin Select[3:0]", wx.DefaultPosition, wx.Size(350, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit19_16.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit19_16, 0, wx.ALL, 5) m_choice_bit23Choices = [u"0", u"1"] self.m_choice_bit23 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit23Choices, 0) self.m_choice_bit23.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit23, 0, wx.ALL, 5) m_choice_bit22_21Choices = [ u"00 -Div by 1", u"01 -Div by 2", u"10 -Div by 3", u"11 -Div by 4" ] self.m_choice_bit22_21 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit22_21Choices, 0) self.m_choice_bit22_21.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit22_21, 0, wx.ALL, 5) m_choice_bit20Choices = [u"x"] self.m_choice_bit20 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit20Choices, 0) self.m_choice_bit20.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit20, 0, wx.ALL, 5) m_choice_bit19_16Choices = [] self.m_choice_bit19_16 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(350, -1), m_choice_bit19_16Choices, 0) self.m_choice_bit19_16.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit19_16, 0, wx.ALL, 5) self.m_staticText_bit31 = wx.StaticText( self, wx.ID_ANY, u"OverNAND_PadSet", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit31.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit31, 0, wx.ALL, 5) self.m_staticText_bit30_24 = wx.StaticText( self, wx.ID_ANY, u"MMC_DLL_DLY[6:0]", wx.DefaultPosition, wx.Size(620, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit30_24.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit30_24, 0, wx.ALL, 5) m_choice_bit31Choices = [u"0", u"1"] self.m_choice_bit31 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit31Choices, 0) self.m_choice_bit31.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit31, 0, wx.ALL, 5) m_choice_bit30_24Choices = [] self.m_choice_bit30_24 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(620, -1), m_choice_bit30_24Choices, 0) self.m_choice_bit30_24.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit30_24, 0, wx.ALL, 5) self.m_staticText_null0BitIdx = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(420, -1), 0) self.m_staticText_null0BitIdx.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_null0BitIdx, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_bitIdx.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_bitIdx.Add(self.m_button_cancel, 0, wx.ALL, 5) self.m_staticText_null1BitIdx = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(720, 1), 0) self.m_staticText_null1BitIdx.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_null1BitIdx, 0, wx.ALL, 5) bSizer_bitIdx.Add(wSizer_bitIdx, 1, wx.EXPAND, 5) wSizer_win.Add(bSizer_bitIdx, 1, wx.EXPAND, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.callbackClose) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def __init__(self, app, parent=None, style=None, pos=wx.DefaultPosition): if style is None: style = (wx.DEFAULT_DIALOG_STYLE | wx.CENTER | wx.TAB_TRAVERSAL | wx.RESIZE_BORDER) title = _translate("Search for projects online") self.frameType = 'ProjectSearch' wx.Dialog.__init__(self, parent, -1, title=title, style=style, size=(700, 500), pos=pos) self.app = app self.project = None self.parent = parent # info about last search (NB None means no search but [] or '' means empty) self.lastSearchStr = None self.lastSearchOwn = None self.lastSearchGp = None self.lastSearchPub = None # self.mainPanel = wx.Panel(self, wx.ID_ANY) self.searchLabel = wx.StaticText(self, wx.ID_ANY, _translate('Search:')) self.searchCtrl = wx.TextCtrl(self, wx.ID_ANY) self.searchCtrl.Bind(wx.EVT_BUTTON, self.onSearch) self.searchBtn = wx.Button(self, wx.ID_ANY, _translate("Search")) self.searchBtn.Bind(wx.EVT_BUTTON, self.onSearch) self.searchBtn.SetDefault() self.searchInclPublic = wx.CheckBox(self, wx.ID_ANY, label="Public") self.searchInclPublic.Bind(wx.EVT_CHECKBOX, self.onSearch) self.searchInclPublic.SetValue(True) self.searchInclGroup = wx.CheckBox(self, wx.ID_ANY, label="My groups") self.searchInclGroup.Bind(wx.EVT_CHECKBOX, self.onSearch) self.searchInclGroup.SetValue(True) self.searchBuilderOnly = wx.CheckBox(self, wx.ID_ANY, label="Only Builder") self.searchBuilderOnly.Bind(wx.EVT_CHECKBOX, self.onSearch) # then the search results self.searchResults = ProjectListCtrl(self) # on the right self.detailsPanel = DetailsPanel(parent=self) # sizers layout self.searchBtnSizer = wx.BoxSizer(wx.HORIZONTAL) self.searchBtnSizer.Add(self.searchCtrl, 1, wx.EXPAND | wx.ALL, 5) self.searchBtnSizer.Add(self.searchBtn, 0, wx.EXPAND | wx.ALL, 5) self.optionsSizer = wx.WrapSizer() self.optionsSizer.AddMany([ self.searchInclGroup, self.searchInclPublic, self.searchBuilderOnly ]) self.leftSizer = wx.BoxSizer(wx.VERTICAL) self.leftSizer.Add(self.searchLabel, 0, wx.EXPAND | wx.ALL, 5) self.leftSizer.Add(self.optionsSizer) self.leftSizer.Add(self.searchBtnSizer, 0, wx.EXPAND | wx.ALL, 5) self.leftSizer.Add(self.searchResults, 1, wx.EXPAND | wx.ALL, 5) self.mainSizer = wx.BoxSizer(wx.HORIZONTAL) self.mainSizer.Add(self.leftSizer, 1, wx.EXPAND | wx.ALL, 5) self.mainSizer.Add(self.detailsPanel, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(self.mainSizer) if self.parent: self.CenterOnParent() self.Layout()
def __init__(self, parent, config): super(MainFrame, self).__init__( "DeepLabCut2.0 - Refinement ToolBox", parent, ) self.Bind(wx.EVT_CHAR_HOOK, self.OnKeyPressed) ################################################################################################################################################### # Spliting the frame into top and bottom panels. Bottom panels contains the widgets. The top panel is for showing images and plotting! topSplitter = wx.SplitterWindow(self) vSplitter = wx.SplitterWindow(topSplitter) self.image_panel = ImagePanel(vSplitter, config, self.gui_size) self.choice_panel = ScrollPanel(vSplitter) # self.choice_panel.SetupScrolling(scroll_x=True, scroll_y=True, scrollToTop=False) # self.choice_panel.SetupScrolling(scroll_x=True, scrollToTop=False) vSplitter.SplitVertically(self.image_panel, self.choice_panel, sashPosition=self.gui_size[0] * 0.8) vSplitter.SetSashGravity(1) self.widget_panel = WidgetPanel(topSplitter) topSplitter.SplitHorizontally(vSplitter, self.widget_panel, sashPosition=self.gui_size[1] * 0.83) # 0.9 topSplitter.SetSashGravity(1) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(topSplitter, 1, wx.EXPAND) self.SetSizer(sizer) ################################################################################################################################################### # Add Buttons to the WidgetPanel and bind them to their respective functions. widgetsizer = wx.WrapSizer(orient=wx.HORIZONTAL) self.load = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Load labels") widgetsizer.Add(self.load, 1, wx.ALL, 15) self.load.Bind(wx.EVT_BUTTON, self.browseDir) self.prev = wx.Button(self.widget_panel, id=wx.ID_ANY, label="<<Previous") widgetsizer.Add(self.prev, 1, wx.ALL, 15) self.prev.Bind(wx.EVT_BUTTON, self.prevImage) self.prev.Enable(False) self.next = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Next>>") widgetsizer.Add(self.next, 1, wx.ALL, 15) self.next.Bind(wx.EVT_BUTTON, self.nextImage) self.next.Enable(False) self.help = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Help") widgetsizer.Add(self.help, 1, wx.ALL, 15) self.help.Bind(wx.EVT_BUTTON, self.helpButton) self.help.Enable(True) self.zoom = wx.ToggleButton(self.widget_panel, label="Zoom") widgetsizer.Add(self.zoom, 1, wx.ALL, 15) self.zoom.Bind(wx.EVT_TOGGLEBUTTON, self.zoomButton) self.widget_panel.SetSizer(widgetsizer) self.zoom.Enable(False) self.home = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Home") widgetsizer.Add(self.home, 1, wx.ALL, 15) self.home.Bind(wx.EVT_BUTTON, self.homeButton) self.widget_panel.SetSizer(widgetsizer) self.home.Enable(False) self.pan = wx.ToggleButton(self.widget_panel, id=wx.ID_ANY, label="Pan") widgetsizer.Add(self.pan, 1, wx.ALL, 15) self.pan.Bind(wx.EVT_TOGGLEBUTTON, self.panButton) self.widget_panel.SetSizer(widgetsizer) self.pan.Enable(False) self.lock = wx.CheckBox(self.widget_panel, id=wx.ID_ANY, label="Lock View") widgetsizer.Add(self.lock, 1, wx.ALL, 15) self.lock.Bind(wx.EVT_CHECKBOX, self.lockChecked) self.widget_panel.SetSizer(widgetsizer) self.lock.Enable(False) self.save = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Save") widgetsizer.Add(self.save, 1, wx.ALL, 15) self.save.Bind(wx.EVT_BUTTON, self.saveDataSet) self.save.Enable(False) widgetsizer.AddStretchSpacer(15) self.quit = wx.Button(self.widget_panel, id=wx.ID_ANY, label="Quit") widgetsizer.Add(self.quit, 1, wx.ALL, 15) self.quit.Bind(wx.EVT_BUTTON, self.quitButton) self.widget_panel.SetSizer(widgetsizer) self.widget_panel.SetSizerAndFit(widgetsizer) self.widget_panel.Layout() ############################################################################################################################### # Variable initialization self.currentDirectory = os.getcwd() self.index = [] self.iter = [] self.threshold = [] self.file = 0 self.updatedCoords = [] self.dataFrame = None self.drs = [] cfg = auxiliaryfunctions.read_config(config) self.humanscorer = cfg["scorer"] self.move2corner = cfg["move2corner"] self.center = cfg["corner2move2"] self.colormap = plt.get_cmap(cfg["colormap"]) self.colormap = self.colormap.reversed() self.markerSize = cfg["dotsize"] self.alpha = cfg["alphavalue"] self.iterationindex = cfg["iteration"] self.project_path = cfg["project_path"] self.bodyparts = cfg["bodyparts"] self.threshold = 0.4 self.img_size = (10, 6) # (imgW, imgH) # width, height in inches. self.preview = False self.view_locked = False # Workaround for MAC - xlim and ylim changed events seem to be triggered too often so need to make sure that the # xlim and ylim have actually changed before turning zoom off self.prezoom_xlim = [] self.prezoom_ylim = []
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(636, 365), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_notebook_dcdOpt = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(290, 260), 0) self.m_panel_dcdOpt = wx.Panel(self.m_notebook_dcdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(270, -1), wx.TAB_TRAVERSAL) wSizer_dcdOpt = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_dcdSource = wx.StaticText(self.m_panel_dcdOpt, wx.ID_ANY, u"DCD Source:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_dcdSource.Wrap(-1) wSizer_dcdOpt.Add(self.m_staticText_dcdSource, 0, wx.ALL, 5) m_choice_dcdSourceChoices = [ u"Disable DCD", u"Use DCD bin file", u"Use DCD cfg file", u"Use DCD descriptor" ] self.m_choice_dcdSource = wx.Choice(self.m_panel_dcdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(185, -1), m_choice_dcdSourceChoices, 0) self.m_choice_dcdSource.SetSelection(0) wSizer_dcdOpt.Add(self.m_choice_dcdSource, 0, wx.ALL, 5) self.m_staticText_dcdBinFile = wx.StaticText(self.m_panel_dcdOpt, wx.ID_ANY, u"DCD bin file:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_dcdBinFile.Wrap(-1) wSizer_dcdOpt.Add(self.m_staticText_dcdBinFile, 0, wx.ALL, 5) self.m_filePicker_dcdBinFile = wx.FilePickerCtrl( self.m_panel_dcdOpt, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*", wx.DefaultPosition, wx.Size(185, -1), wx.FLP_DEFAULT_STYLE) wSizer_dcdOpt.Add(self.m_filePicker_dcdBinFile, 0, wx.ALL, 5) self.m_staticText_dcdCfgFile = wx.StaticText(self.m_panel_dcdOpt, wx.ID_ANY, u"DCD cfg file:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_dcdCfgFile.Wrap(-1) wSizer_dcdOpt.Add(self.m_staticText_dcdCfgFile, 0, wx.ALL, 5) self.m_filePicker_dcdCfgFile = wx.FilePickerCtrl( self.m_panel_dcdOpt, wx.ID_ANY, wx.EmptyString, u"Select a file", u"*.*", wx.DefaultPosition, wx.Size(185, -1), wx.FLP_DEFAULT_STYLE) wSizer_dcdOpt.Add(self.m_filePicker_dcdCfgFile, 0, wx.ALL, 5) self.m_staticText_dcdPurpose = wx.StaticText(self.m_panel_dcdOpt, wx.ID_ANY, u"DCD Purpose:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_dcdPurpose.Wrap(-1) wSizer_dcdOpt.Add(self.m_staticText_dcdPurpose, 0, wx.ALL, 5) m_choice_dcdPurposeChoices = [u"Misc", u"SDRAM"] self.m_choice_dcdPurpose = wx.Choice(self.m_panel_dcdOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size(185, -1), m_choice_dcdPurposeChoices, 0) self.m_choice_dcdPurpose.SetSelection(0) wSizer_dcdOpt.Add(self.m_choice_dcdPurpose, 0, wx.ALL, 5) self.m_staticText_sdramBase = wx.StaticText(self.m_panel_dcdOpt, wx.ID_ANY, u"SDRAM Base:", wx.DefaultPosition, wx.Size(75, -1), 0) self.m_staticText_sdramBase.Wrap(-1) wSizer_dcdOpt.Add(self.m_staticText_sdramBase, 0, wx.ALL, 5) self.m_textCtrl_sdramBase = wx.TextCtrl(self.m_panel_dcdOpt, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(185, -1), 0) wSizer_dcdOpt.Add(self.m_textCtrl_sdramBase, 0, wx.ALL, 5) self.m_panel_dcdOpt.SetSizer(wSizer_dcdOpt) self.m_panel_dcdOpt.Layout() self.m_notebook_dcdOpt.AddPage(self.m_panel_dcdOpt, u"DCD Option:", False) wSizer_win.Add(self.m_notebook_dcdOpt, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook_dcdDesc = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(290, 260), 0) self.m_panel_dcdDesc = wx.Panel(self.m_notebook_dcdDesc, wx.ID_ANY, wx.DefaultPosition, wx.Size(270, -1), wx.TAB_TRAVERSAL) wSizer_dcdDesc = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_dcdModel = wx.StaticText(self.m_panel_dcdDesc, wx.ID_ANY, u"Device Model:", wx.DefaultPosition, wx.Size(80, -1), 0) self.m_staticText_dcdModel.Wrap(-1) wSizer_dcdDesc.Add(self.m_staticText_dcdModel, 0, wx.ALL, 5) m_choice_dcdModelChoices = [ u"No", u"Micron_MT48LC16M16A2", u"ISSI_IS42S16160J" ] self.m_choice_dcdModel = wx.Choice(self.m_panel_dcdDesc, wx.ID_ANY, wx.DefaultPosition, wx.Size(180, -1), m_choice_dcdModelChoices, 0) self.m_choice_dcdModel.SetSelection(0) wSizer_dcdDesc.Add(self.m_choice_dcdModel, 0, wx.ALL, 5) self.m_textCtrl_dcdDesc = wx.TextCtrl(self.m_panel_dcdDesc, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(270, 190), wx.TE_MULTILINE) wSizer_dcdDesc.Add(self.m_textCtrl_dcdDesc, 0, wx.ALL, 5) self.m_panel_dcdDesc.SetSizer(wSizer_dcdDesc) self.m_panel_dcdDesc.Layout() self.m_notebook_dcdDesc.AddPage(self.m_panel_dcdDesc, u"DCD Descriptor:", False) wSizer_win.Add(self.m_notebook_dcdDesc, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_winNull0 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(330, -1), 0) self.m_staticText_winNull0.Wrap(-1) wSizer_win.Add(self.m_staticText_winNull0, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_win.Add(self.m_button_cancel, 0, wx.ALL, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.callbackClose) self.m_choice_dcdSource.Bind(wx.EVT_CHOICE, self.callbackSetDcdSource) self.m_choice_dcdPurpose.Bind(wx.EVT_CHOICE, self.callbackSetDcdPurpose) self.m_choice_dcdModel.Bind(wx.EVT_CHOICE, self.callbackSetDeviceModel) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def __init__(self, *args, **kwargs): super().__init__(*args, **kwargs) # Find out what devices we have to work with. lightToggles = depot.getHandlersOfType(depot.LIGHT_TOGGLE) ## Maps LightSource handlers to their associated panels of controls. self.lightToPanel = dict() # Construct the UI. # Sizer for all controls. We'll split them into bottom half (light # sources) and top half (everything else). self.Sizer = wx.BoxSizer(wx.VERTICAL) # Panel for holding the non-lightsource controls. topPanel = wx.Panel(self) self.topPanel = topPanel topSizer = wx.BoxSizer(wx.VERTICAL) # A row of buttons for various actions we know we can take. buttonSizer = wx.BoxSizer(wx.HORIZONTAL) # Abort button abortButton = wx.Button(topPanel, wx.ID_ANY, "abort") abortButton.SetLabelMarkup( "<span foreground='red'><big><b>ABORT</b></big></span>") abortButton.Bind(wx.EVT_BUTTON, lambda event: events.publish(events.USER_ABORT)) buttonSizer.Add(abortButton, 1, wx.EXPAND) # Snap image button snapButton = wx.Button(topPanel, wx.ID_ANY, "Snap\nimage") snapButton.Bind( wx.EVT_BUTTON, lambda evt: cockpit.interfaces.imager.imager.takeImage()) buttonSizer.Add(snapButton, 1, wx.EXPAND) # Video mode button videoButton = wx.ToggleButton(topPanel, wx.ID_ANY, "Live") videoButton.Bind(wx.EVT_TOGGLEBUTTON, lambda evt: cockpit.interfaces.imager.videoMode()) events.subscribe(cockpit.events.VIDEO_MODE_TOGGLE, lambda state: videoButton.SetValue(state)) buttonSizer.Add(videoButton, 1, wx.EXPAND) # Experiment & review buttons for lbl, fn in (("Single-site\nexperiment", lambda evt: singleSiteExperiment.showDialog(self)), ("Multi-site\nexperiment", lambda evt: multiSiteExperiment.showDialog(self)), ("View last\nfile", self.onViewLastFile)): btn = wx.Button(topPanel, wx.ID_ANY, lbl) btn.Bind(wx.EVT_BUTTON, fn) buttonSizer.Add(btn, 1, wx.EXPAND) # Increase font size in top row buttons. for w in [child.GetWindow() for child in buttonSizer.Children]: w.SetFont(w.GetFont().Larger()) topSizer.Add(buttonSizer) topSizer.AddSpacer(ROW_SPACER) # Make UIs for any other handlers / devices and insert them into # our window, if possible. # Light power things will be handled later. lightPowerThings = depot.getHandlersOfType(depot.LIGHT_POWER) lightPowerThings.sort(key=lambda l: l.wavelength) # Camera UIs are drawn separately. Currently, they are drawn first, # but this separation may make it easier to implement cameras in # ordered slots, giving the user control over exposure order. cameraThings = depot.getHandlersOfType(depot.CAMERA) # Ignore anything that is handled specially. ignoreThings = lightToggles + lightPowerThings ignoreThings += cameraThings # Remove ignoreThings from the full list of devices. otherThings = list(depot.getAllDevices()) otherThings.sort(key=lambda d: d.__class__.__name__) otherThings.extend(depot.getAllHandlers()) rowSizer = wx.WrapSizer(wx.HORIZONTAL) # Add objective control # If only one objective device (usual), add to end of top row, # otherwise add to start of 2nd row. hs = depot.getHandlersOfType(depot.OBJECTIVE) if len(hs) == 1: buttonSizer.Add(mainPanels.ObjectiveControls(self.topPanel), flag=wx.LEFT, border=2) else: rowSizer.Add(mainPanels.ObjectiveControls(self.topPanel), flag=wx.EXPAND) rowSizer.AddSpacer(COL_SPACER) ignoreThings.extend(hs) # Make the UI elements for the cameras. rowSizer.Add(mainPanels.CameraControlsPanel(self.topPanel), flag=wx.EXPAND) rowSizer.AddSpacer(COL_SPACER) # Add light controls. lightfilters = sorted(depot.getHandlersOfType(depot.LIGHT_FILTER)) ignoreThings.extend(lightfilters) # Add filterwheel controls. rowSizer.Add(mainPanels.FilterControls(self.topPanel), flag=wx.EXPAND) # Make the UI elements for eveything else. for thing in ignoreThings: if thing in otherThings: otherThings.remove(thing) for thing in sorted(otherThings): if depot.getHandler(thing, depot.CAMERA): # Camera UIs already drawn. continue item = thing.makeUI(topPanel) if item is not None: itemsizer = wx.BoxSizer(wx.VERTICAL) itemsizer.Add( cockpit.gui.mainPanels.PanelLabel(topPanel, thing.name)) itemsizer.Add(item, 1, wx.EXPAND) if rowSizer.GetChildren(): # Add a spacer. rowSizer.AddSpacer(COL_SPACER) rowSizer.Add(itemsizer, flag=wx.EXPAND) topSizer.Add(rowSizer) topPanel.SetSizerAndFit(topSizer) self.Sizer.Add(topPanel, flag=wx.EXPAND) self.Sizer.AddSpacer(ROW_SPACER) lights_sizer = wx.BoxSizer(wx.HORIZONTAL) lights_sizer.Add(mainPanels.LightControlsPanel(self), flag=wx.EXPAND) lights_sizer.Add(mainPanels.ChannelsPanel(self), flag=wx.EXPAND) self.Sizer.Add(lights_sizer, flag=wx.EXPAND) keyboard.setKeyboardHandlers(self) self.joystick = joystick.Joystick(self) self.SetDropTarget(viewFileDropTarget.ViewFileDropTarget(self)) # Show the list of windows on right-click. self.Bind(wx.EVT_CONTEXT_MENU, lambda event: keyboard.martialWindows(self))
def createTabbedGui(self): self.notesizer = wx.BoxSizer(wx.VERTICAL) self.notebook = wx.Notebook(self.panel) self.notebook.SetBackgroundColour(self.settings.bgcolor) page1panel = self.newPanel(self.notebook) page2panel = self.newPanel(self.notebook) self.mainsizer_page1 = wx.BoxSizer(wx.VERTICAL) page1panel1 = self.newPanel(page1panel) page1panel2 = self.newPanel(page1panel) self.uppersizer = MainToolbar(self, page1panel1, use_wrapsizer=True) page1panel1.SetSizer(self.uppersizer) self.mainsizer_page1.Add(page1panel1, 0, wx.EXPAND) self.lowersizer = wx.BoxSizer(wx.HORIZONTAL) page1panel2.SetSizer(self.lowersizer) leftsizer = wx.BoxSizer(wx.VERTICAL) left_pane = LeftPane(self, page1panel2, True) leftsizer.Add(left_pane, 1, wx.ALIGN_CENTER) rightsizer = wx.BoxSizer(wx.VERTICAL) extracontrols = wx.GridBagSizer() add_extra_controls(extracontrols, self, page1panel2, left_pane.extra_buttons) rightsizer.AddStretchSpacer() rightsizer.Add(extracontrols, 0, wx.ALIGN_CENTER) self.lowersizer.Add(leftsizer, 0, wx.ALIGN_CENTER | wx.RIGHT, border=10) self.lowersizer.Add(rightsizer, 1, wx.ALIGN_CENTER) self.mainsizer_page1.Add(page1panel2, 1) self.mainsizer = wx.BoxSizer(wx.HORIZONTAL) self.splitterwindow = wx.SplitterWindow(page2panel, style=wx.SP_3D) page2sizer1 = wx.BoxSizer(wx.HORIZONTAL) page2panel1 = self.newPanel(self.splitterwindow) page2sizer2 = wx.BoxSizer(wx.HORIZONTAL) page2panel2 = self.newPanel(self.splitterwindow) vizpane = VizPane(self, page2panel1) page2sizer1.Add(vizpane, 1, wx.EXPAND) page2sizer2.Add(LogPane(self, page2panel2), 1, wx.EXPAND) page2panel1.SetSizer(page2sizer1) page2panel2.SetSizer(page2sizer2) self.splitterwindow.SetMinimumPaneSize(1) self.splitterwindow.SetSashGravity(0.5) self.splitterwindow.SplitVertically(page2panel1, page2panel2, 0) self.mainsizer.Add(self.splitterwindow, 1, wx.EXPAND) page1panel.SetSizer(self.mainsizer_page1) page2panel.SetSizer(self.mainsizer) self.notesizer.Add(self.notebook, 1, wx.EXPAND) self.notebook.AddPage(page1panel, _("Commands")) self.notebook.AddPage(page2panel, _("Status")) self.panel.SetSizer(self.notesizer) self.statusbar = self.CreateStatusBar() self.statusbar.SetStatusText(_("Not connected to printer.")) self.panel.Bind(wx.EVT_MOUSE_EVENTS, self.editbutton) self.Bind(wx.EVT_CLOSE, self.kill) # Custom buttons if wx.VERSION > (2, 9): self.centersizer = wx.WrapSizer(wx.HORIZONTAL) else: self.centersizer = wx.GridBagSizer() self.centersizer = wx.GridBagSizer() self.centerpanel = self.newPanel(page1panel2) self.centerpanel.SetSizer(self.centersizer) rightsizer.Add(self.centerpanel, 0, wx.ALIGN_CENTER) rightsizer.AddStretchSpacer() self.panel.SetSizerAndFit(self.notesizer) # disable all printer controls until we connect to a printer self.pausebtn.Disable() self.recoverbtn.Disable() for i in self.printerControls: i.Disable() self.cbuttons_reload() minsize = self.lowersizer.GetMinSize() # lower pane minsize[1] = self.notebook.GetSize()[1] self.SetMinSize(self.ClientToWindowSize(minsize)) # client to window self.Fit()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(454, 335), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.Bind(wx.EVT_CLOSE, self.OnClose_LPSPI_NOR) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour(wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_LPSPI_NOR = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_notebook_LPSPI_NOR = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel_LPSPI_NOR = wx.Panel(self.m_notebook_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer_LPSPI_NOR = wx.GridSizer(0, 2, 0, 0) self.m_staticText_Page_Size = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"Page Size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Page_Size.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_Page_Size, 0, wx.ALL, 5) m_choice_Page_SizeChoices = [u"256 Bytes", u"512 Bytes", u"1024 Bytes", u"32 Bytes", u"64 Bytes", u"128 Bytes"] self.m_choice_Page_Size = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_Page_SizeChoices, 0) self.m_choice_Page_Size.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_Page_Size, 0, wx.ALL, 5) self.m_staticText_Sector_Size = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"Sector Size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Sector_Size.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_Sector_Size, 0, wx.ALL, 5) m_choice_Sector_SizeChoices = [u"4 KBytes", u"8 KBytes", u"32 KBytes", u"64 KBytes", u"128 KBytes", u"256 KBytes"] self.m_choice_Sector_Size = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_Sector_SizeChoices, 0) self.m_choice_Sector_Size.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_Sector_Size, 0, wx.ALL, 5) self.m_staticText_Memory_Size = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"Memory Size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Memory_Size.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_Memory_Size, 0, wx.ALL, 5) m_choice_Memory_SizeChoices = [u"512 KBytes", u"1024 KBytes", u"2 MBytes", u"4 MBytes", u"8 MBytes", u"16 MBytes", u"32 MBytes", u"64 MBytes", u"128 MBytes", u"256 MBytes", u"512 MBytes", u"1024 MBytes", u"32 KBytes", u"64 KBytes", u"128 KBytes", u"256 KBytes"] self.m_choice_Memory_Size = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_Memory_SizeChoices, 0) self.m_choice_Memory_Size.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_Memory_Size, 0, wx.ALL, 5) self.m_staticText_Memory_Type = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"Memory Type:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Memory_Type.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_Memory_Type, 0, wx.ALL, 5) m_choice_Memory_TypeChoices = [u"NOR Flash", u"EEPROM"] self.m_choice_Memory_Type = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_Memory_TypeChoices, 0) self.m_choice_Memory_Type.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_Memory_Type, 0, wx.ALL, 5) self.m_staticText_PCS_Index = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"PCS Index:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_PCS_Index.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_PCS_Index, 0, wx.ALL, 5) m_choice_PCS_IndexChoices = [u"PCS0", u"PCS1", u"PCS2", u"PCS3"] self.m_choice_PCS_Index = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_PCS_IndexChoices, 0) self.m_choice_PCS_Index.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_PCS_Index, 0, wx.ALL, 5) self.m_staticText_SPI_Index = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"SPI Index:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_SPI_Index.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_SPI_Index, 0, wx.ALL, 5) m_choice_SPI_IndexChoices = [u"SPI1", u"SPI2", u"SPI3", u"SPI4"] self.m_choice_SPI_Index = wx.Choice(self.m_panel_LPSPI_NOR, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_SPI_IndexChoices, 0) self.m_choice_SPI_Index.SetSelection(0) gSizer_LPSPI_NOR.Add(self.m_choice_SPI_Index, 0, wx.ALL, 5) self.m_staticText_Option1_Size = wx.StaticText(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"Option1 Size:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_Option1_Size.Wrap(-1) gSizer_LPSPI_NOR.Add(self.m_staticText_Option1_Size, 0, wx.ALL, 5) self.m_textCtrl_Option1_Size = wx.TextCtrl(self.m_panel_LPSPI_NOR, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0) gSizer_LPSPI_NOR.Add(self.m_textCtrl_Option1_Size, 0, wx.ALL, 5) self.m_panel_LPSPI_NOR.SetSizer(gSizer_LPSPI_NOR) self.m_panel_LPSPI_NOR.Layout() gSizer_LPSPI_NOR.Fit(self.m_panel_LPSPI_NOR) self.m_notebook_LPSPI_NOR.AddPage(self.m_panel_LPSPI_NOR, u"Option 0", False) wSizer_LPSPI_NOR.Add(self.m_notebook_LPSPI_NOR, 1, wx.EXPAND | wx.ALL, 5) self.m_notebook2 = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel2 = wx.Panel(self.m_notebook2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) gSizer2 = wx.GridSizer(0, 2, 0, 0) self.m_staticText_SPI_Speed = wx.StaticText(self.m_panel2, wx.ID_ANY, u"SPI Speed:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText_SPI_Speed.Wrap(-1) gSizer2.Add(self.m_staticText_SPI_Speed, 0, wx.ALL, 5) m_choice_SPI_SpeedChoices = [u"20 MHZ", u"10 MHZ", u"5 MHZ", u"2 MHZ"] self.m_choice_SPI_Speed = wx.Choice(self.m_panel2, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, m_choice_SPI_SpeedChoices, 0) self.m_choice_SPI_Speed.SetSelection(0) gSizer2.Add(self.m_choice_SPI_Speed, 0, wx.ALL, 5) self.m_panel2.SetSizer(gSizer2) self.m_panel2.Layout() gSizer2.Fit(self.m_panel2) self.m_notebook2.AddPage(self.m_panel2, u"Option 1", False) wSizer_LPSPI_NOR.Add(self.m_notebook2, 1, wx.EXPAND | wx.ALL, 5) self.m_staticText_LPSPI_NOR = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(235, -1), 0) self.m_staticText_LPSPI_NOR.Wrap(-1) wSizer_LPSPI_NOR.Add(self.m_staticText_LPSPI_NOR, 0, wx.ALL, 5) m_sdbSizer_LPSPI_NOR = wx.StdDialogButtonSizer() self.m_sdbSizer_LPSPI_NOROK = wx.Button(self, wx.ID_OK) m_sdbSizer_LPSPI_NOR.AddButton(self.m_sdbSizer_LPSPI_NOROK) self.m_sdbSizer_LPSPI_NORCancel = wx.Button(self, wx.ID_CANCEL) m_sdbSizer_LPSPI_NOR.AddButton(self.m_sdbSizer_LPSPI_NORCancel) m_sdbSizer_LPSPI_NOR.Realize(); wSizer_LPSPI_NOR.Add(m_sdbSizer_LPSPI_NOR, 1, wx.EXPAND, 5) self.SetSizer(wSizer_LPSPI_NOR) self.Layout() self.Centre(wx.BOTH) self.m_sdbSizer_LPSPI_NORCancel.Bind(wx.EVT_BUTTON, self.cancel_of_LPSPI_NOR) self.m_sdbSizer_LPSPI_NOROK.Bind(wx.EVT_BUTTON, self.apply_of_LPSPI_NOR)
def createGui(self, compact=False): self.mainsizer = wx.BoxSizer(wx.VERTICAL) self.lowersizer = wx.BoxSizer(wx.HORIZONTAL) upperpanel = self.newPanel(self.panel, False) self.uppersizer = MainToolbar(self, upperpanel) lowerpanel = self.newPanel(self.panel) upperpanel.SetSizer(self.uppersizer) lowerpanel.SetSizer(self.lowersizer) left_pane = LeftPane(self, lowerpanel) left_pane.Layout() # required to get correct rows/cols counts left_sizer = wx.BoxSizer(wx.VERTICAL) left_sizer.Add(left_pane, 0) self.lowersizer.Add(left_sizer, 0, wx.EXPAND) if not compact: # Use a splitterwindow to group viz and log rightpanel = self.newPanel(lowerpanel) rightsizer = wx.BoxSizer(wx.VERTICAL) rightpanel.SetSizer(rightsizer) self.splitterwindow = wx.SplitterWindow(rightpanel, style=wx.SP_3D) self.splitterwindow.SetMinimumPaneSize(150) self.splitterwindow.SetSashGravity(0.8) rightsizer.Add(self.splitterwindow, 1, wx.EXPAND) vizpanel = self.newPanel(self.splitterwindow) logpanel = self.newPanel(self.splitterwindow) self.splitterwindow.SplitVertically(vizpanel, logpanel, 0) else: vizpanel = self.newPanel(lowerpanel) logpanel = self.newPanel(lowerpanel) viz_pane = VizPane(self, vizpanel) # Custom buttons if wx.VERSION > (2, 9): self.centersizer = wx.WrapSizer(wx.HORIZONTAL) else: self.centersizer = wx.GridBagSizer() self.centerpanel = self.newPanel(vizpanel) self.centerpanel.SetSizer(self.centersizer) viz_pane.Add(self.centerpanel, 0, flag=wx.ALIGN_CENTER) vizpanel.SetSizer(viz_pane) log_pane = LogPane(self, logpanel) logpanel.SetSizer(log_pane) if not compact: self.lowersizer.Add(rightpanel, 1, wx.EXPAND) else: left_sizer.Add(logpanel, 1, wx.EXPAND) self.mainsizer.Add(upperpanel, 0) self.mainsizer.Add(lowerpanel, 1, wx.EXPAND) self.panel.SetSizer(self.mainsizer) self.statusbar = self.CreateStatusBar() self.statusbar.SetStatusText(_("Not connected to printer.")) self.panel.Bind(wx.EVT_MOUSE_EVENTS, self.editbutton) self.Bind(wx.EVT_CLOSE, self.kill) self.mainsizer.Layout() # This prevents resizing below a reasonnable value # We sum the lowersizer (left pane / viz / log) min size # the toolbar height and the statusbar/menubar sizes minsize = self.lowersizer.GetMinSize() # lower pane minsize[1] += self.uppersizer.GetMinSize()[1] # toolbar height self.SetMinSize(self.ClientToWindowSize(minsize)) # client to window # disable all printer controls until we connect to a printer self.pausebtn.Disable() self.recoverbtn.Disable() for i in self.printerControls: i.Disable() self.cbuttons_reload()
def createGui(self, compact=False, mini=False): self.mainsizer = wx.BoxSizer(wx.VERTICAL) self.lowersizer = wx.BoxSizer(wx.HORIZONTAL) upperpanel = self.newPanel(self.panel, False) self.toolbarsizer = MainToolbar(self, upperpanel) lowerpanel = self.newPanel(self.panel) upperpanel.SetSizer(self.toolbarsizer) lowerpanel.SetSizer(self.lowersizer) leftpanel = self.newPanel(lowerpanel) left_pane = LeftPaneToggleable(self, leftpanel, [self.lowersizer]) leftpanel.SetSizer(left_pane) left_real_panel = left_pane.panepanel controls_panel = self.newPanel(left_real_panel) controls_sizer = ControlsSizer(self, controls_panel, mini_mode=mini) controls_panel.SetSizer(controls_sizer) left_sizer = wx.BoxSizer(wx.VERTICAL) left_sizer.Add(controls_panel, 1, wx.EXPAND) left_pane.set_sizer(left_sizer) self.lowersizer.Add(leftpanel, 0, wx.EXPAND) if not compact: # Use a splitterwindow to group viz and log rightpanel = self.newPanel(lowerpanel) rightsizer = wx.BoxSizer(wx.VERTICAL) rightpanel.SetSizer(rightsizer) self.splitterwindow = wx.SplitterWindow(rightpanel, style=wx.SP_3D) self.splitterwindow.SetMinimumPaneSize(150) self.splitterwindow.SetSashGravity(0.8) rightsizer.Add(self.splitterwindow, 1, wx.EXPAND) vizpanel = self.newPanel(self.splitterwindow) logpanel = self.newPanel(self.splitterwindow) self.splitterwindow.SplitVertically( vizpanel, logpanel, self.settings.last_sash_position) self.splitterwindow.shrinked = False else: vizpanel = self.newPanel(lowerpanel) logpanel = self.newPanel(left_real_panel) viz_pane = VizPane(self, vizpanel) # Custom buttons if wx.VERSION > (2, 9): self.cbuttonssizer = wx.WrapSizer(wx.HORIZONTAL) else: self.cbuttonssizer = wx.GridBagSizer() self.centerpanel = self.newPanel(vizpanel) self.centerpanel.SetSizer(self.cbuttonssizer) viz_pane.Add(self.centerpanel, 0, flag=wx.ALIGN_CENTER) vizpanel.SetSizer(viz_pane) if compact: log_pane = LogPane(self, logpanel) else: log_pane = LogPaneToggleable(self, logpanel, [self.lowersizer]) left_pane.parentsizers.append(self.splitterwindow) logpanel.SetSizer(log_pane) if not compact: self.lowersizer.Add(rightpanel, 1, wx.EXPAND) else: left_sizer.Add(logpanel, 1, wx.EXPAND) self.lowersizer.Add(vizpanel, 1, wx.EXPAND) self.mainsizer.Add(upperpanel, 0, wx.EXPAND) self.mainsizer.Add(lowerpanel, 1, wx.EXPAND) self.panel.SetSizer(self.mainsizer) self.panel.Bind(wx.EVT_MOUSE_EVENTS, self.editbutton) self.Bind(wx.EVT_CLOSE, self.kill) self.mainsizer.Layout() # This prevents resizing below a reasonnable value # We sum the lowersizer (left pane / viz / log) min size # the toolbar height and the statusbar/menubar sizes minsize = [0, 0] minsize[0] = self.lowersizer.GetMinSize()[0] # lower pane minsize[1] = max(viz_pane.GetMinSize()[1], controls_sizer.GetMinSize()[1]) minsize[1] += self.toolbarsizer.GetMinSize()[1] # toolbar height displaysize = wx.DisplaySize() minsize[0] = min(minsize[0], displaysize[0]) minsize[1] = min(minsize[1], displaysize[1]) self.SetMinSize(self.ClientToWindowSize(minsize)) # client to window self.cbuttons_reload()
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(860, 370), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) wSizer_win = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) bSizer_byteIdx = wx.BoxSizer(wx.VERTICAL) self.m_staticText_address = wx.StaticText( self, wx.ID_ANY, u"Address", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_address.Wrap(-1) self.m_staticText_address.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_address, 0, wx.ALL, 5) self.m_staticText_byteIdx0 = wx.StaticText( self, wx.ID_ANY, u" 0x6D0[7:0]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx0.Wrap(-1) self.m_staticText_byteIdx0.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx0, 0, wx.ALL, 5) self.m_staticText_byteIdx1 = wx.StaticText( self, wx.ID_ANY, u" 0x6D0[15:8]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx1.Wrap(-1) self.m_staticText_byteIdx1.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx1, 0, wx.ALL, 5) self.m_staticText_byteIdx2 = wx.StaticText( self, wx.ID_ANY, u" 0x6D0[23:16]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx2.Wrap(-1) self.m_staticText_byteIdx2.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx2, 0, wx.ALL, 5) self.m_staticText_byteIdx3 = wx.StaticText( self, wx.ID_ANY, u" 0x6D0[31:24]", wx.DefaultPosition, wx.Size(80, 51), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_byteIdx3.Wrap(-1) self.m_staticText_byteIdx3.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer_byteIdx.Add(self.m_staticText_byteIdx3, 0, wx.ALL, 5) wSizer_win.Add(bSizer_byteIdx, 1, wx.EXPAND, 5) bSizer_bitIdx = wx.BoxSizer(wx.VERTICAL) wSizer_bitIdx = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_staticText_bitIdx7 = wx.StaticText( self, wx.ID_ANY, u"7", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx7.Wrap(-1) self.m_staticText_bitIdx7.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx7, 0, wx.ALL, 5) self.m_staticText_bitIdx6 = wx.StaticText( self, wx.ID_ANY, u"6", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx6.Wrap(-1) self.m_staticText_bitIdx6.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx6, 0, wx.ALL, 5) self.m_staticText_bitIdx5 = wx.StaticText( self, wx.ID_ANY, u"5", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx5.Wrap(-1) self.m_staticText_bitIdx5.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx5, 0, wx.ALL, 5) self.m_staticText_bitIdx4 = wx.StaticText( self, wx.ID_ANY, u"4", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx4.Wrap(-1) self.m_staticText_bitIdx4.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx4, 0, wx.ALL, 5) self.m_staticText_bitIdx3 = wx.StaticText( self, wx.ID_ANY, u"3", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx3.Wrap(-1) self.m_staticText_bitIdx3.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx3, 0, wx.ALL, 5) self.m_staticText_bitIdx2 = wx.StaticText( self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx2.Wrap(-1) self.m_staticText_bitIdx2.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx2, 0, wx.ALL, 5) self.m_staticText_bitIdx1 = wx.StaticText( self, wx.ID_ANY, u"1", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx1.Wrap(-1) self.m_staticText_bitIdx1.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx1, 0, wx.ALL, 5) self.m_staticText_bitIdx0 = wx.StaticText( self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SUNKEN) self.m_staticText_bitIdx0.Wrap(-1) self.m_staticText_bitIdx0.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) wSizer_bitIdx.Add(self.m_staticText_bitIdx0, 0, wx.ALL, 5) self.m_staticText_bit7 = wx.StaticText( self, wx.ID_ANY, u"BT_Failure_Pin", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit7.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit7, 0, wx.ALL, 5) self.m_staticText_bit6 = wx.StaticText( self, wx.ID_ANY, u"BT_USB_VBUS", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit6.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit6, 0, wx.ALL, 5) self.m_staticText_bit5_0 = wx.StaticText( self, wx.ID_ANY, u"BT_PAD_Settings (Speed - Drive Strength - Slew Rate)", wx.DefaultPosition, wx.Size(530, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit5_0.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit5_0, 0, wx.ALL, 5) m_choice_bit7Choices = [u"0 - Disabled", u"1 - Enabled"] self.m_choice_bit7 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit7Choices, 0) self.m_choice_bit7.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit7, 0, wx.ALL, 5) m_choice_bit6Choices = [u"0 - Not Handle", u"1 - Handle"] self.m_choice_bit6 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit6Choices, 0) self.m_choice_bit6.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit6, 0, wx.ALL, 5) self.m_textCtrl_bit5_0 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(530, -1), 0) wSizer_bitIdx.Add(self.m_textCtrl_bit5_0, 0, wx.ALL, 5) self.m_staticText_bit15_13 = wx.StaticText( self, wx.ID_ANY, u"BT_WDOG_Timeout", wx.DefaultPosition, wx.Size(260, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit15_13.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit15_13, 0, wx.ALL, 5) self.m_staticText_bit12 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit12.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit12, 0, wx.ALL, 5) self.m_staticText_bit11_8 = wx.StaticText( self, wx.ID_ANY, u"BT_Read_Retry_Sequence", wx.DefaultPosition, wx.Size(350, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit11_8.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit11_8, 0, wx.ALL, 5) m_choice_bit15_13Choices = [ u"000 - 64s", u"001 - 32s", u"010 - 16s", u"011 - Reserved", u"100 - 8s", u"101 - 4s", u"110 - Reserved", u"111 - Reserved" ] self.m_choice_bit15_13 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(260, -1), m_choice_bit15_13Choices, 0) self.m_choice_bit15_13.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit15_13, 0, wx.ALL, 5) m_choice_bit12Choices = [u"x - N/A"] self.m_choice_bit12 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit12Choices, 0) self.m_choice_bit12.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit12, 0, wx.ALL, 5) m_choice_bit11_8Choices = [ u"0000 - Don't use read retry(RR) sequence", u"0001 - Micron 20nm RR sequence", u"0010 - Toshiba A19nm RR sequence", u"0011 - Toshiba 19nm RR sequence", u"0100 - SanDisk 19nm RR sequence", u"0101 - SanDisk 1ynmRR sequence", u"0110 - Reserved", u"0111 - Reserved", u"1000 - Reserved", u"1001 - Reserved", u"1010 - Reserved", u"1011 - Reserved", u"1100 - Reserved", u"1101 - Reserved", u"1110 - Reserved", u"1111 - Reserved" ] self.m_choice_bit11_8 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(350, -1), m_choice_bit11_8Choices, 0) self.m_choice_bit11_8.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit11_8, 0, wx.ALL, 5) self.m_staticText_bit23_22 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit23_22.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit23_22, 0, wx.ALL, 5) self.m_staticText_bit21_20 = wx.StaticText( self, wx.ID_ANY, u"Reserved", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit21_20.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit21_20, 0, wx.ALL, 5) self.m_staticText_bit19_16 = wx.StaticText( self, wx.ID_ANY, u"Default_FlexRAM_Partion", wx.DefaultPosition, wx.Size(350, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit19_16.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit19_16, 0, wx.ALL, 5) m_choice_bit23_22Choices = [u"xx - N/A"] self.m_choice_bit23_22 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit23_22Choices, 0) self.m_choice_bit23_22.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit23_22, 0, wx.ALL, 5) m_choice_bit21_20Choices = [u"xx - N/A"] self.m_choice_bit21_20 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit21_20Choices, 0) self.m_choice_bit21_20.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit21_20, 0, wx.ALL, 5) m_choice_bit19_16Choices = [u"xxxx - ", u"0000 - "] self.m_choice_bit19_16 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(350, -1), m_choice_bit19_16Choices, 0) self.m_choice_bit19_16.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit19_16, 0, wx.ALL, 5) self.m_staticText_bit31_30 = wx.StaticText( self, wx.ID_ANY, u"SD_Calibration_Step", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit31_30.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit31_30, 0, wx.ALL, 5) self.m_staticText_bit29_28 = wx.StaticText( self, wx.ID_ANY, u"BT_LPSPI_Speed", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit29_28.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit29_28, 0, wx.ALL, 5) self.m_staticText_bit27 = wx.StaticText( self, wx.ID_ANY, u"BT_LPSPI_Addr", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit27.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit27, 0, wx.ALL, 5) self.m_staticText_bit26_25 = wx.StaticText( self, wx.ID_ANY, u"BT_LPSPI_Port", wx.DefaultPosition, wx.Size(170, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit26_25.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit26_25, 0, wx.ALL, 5) self.m_staticText_bit24 = wx.StaticText( self, wx.ID_ANY, u"Recovery_BT", wx.DefaultPosition, wx.Size(80, -1), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_SIMPLE) self.m_staticText_bit24.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_bit24, 0, wx.ALL, 5) m_choice_bit31_30Choices = [ u"00 - 1", u"01 - Reserved", u"10 - Reserved", u"11 - Reserved" ] self.m_choice_bit31_30 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit31_30Choices, 0) self.m_choice_bit31_30.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit31_30, 0, wx.ALL, 5) m_choice_bit29_28Choices = [ u"00 - 20MHz", u"01 - 10MHz", u"10 - 5MHz", u"11 - 2MHz" ] self.m_choice_bit29_28 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit29_28Choices, 0) self.m_choice_bit29_28.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit29_28, 0, wx.ALL, 5) m_choice_bit27Choices = [ u"0 - 3bytes (24-bit)", u"1 - 2bytes (16-bit)" ] self.m_choice_bit27 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit27Choices, 0) self.m_choice_bit27.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit27, 0, wx.ALL, 5) m_choice_bit26_25Choices = [ u"00 - LPSPI1", u"01 - LPSPI2", u"10 - LPSPI3", u"11 - LPSPI4" ] self.m_choice_bit26_25 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(170, -1), m_choice_bit26_25Choices, 0) self.m_choice_bit26_25.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit26_25, 0, wx.ALL, 5) m_choice_bit24Choices = [u"0 - Disabled", u"1 - Enabled"] self.m_choice_bit24 = wx.Choice(self, wx.ID_ANY, wx.DefaultPosition, wx.Size(80, -1), m_choice_bit24Choices, 0) self.m_choice_bit24.SetSelection(0) wSizer_bitIdx.Add(self.m_choice_bit24, 0, wx.ALL, 5) self.m_staticText_null0BitIdx = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(420, -1), 0) self.m_staticText_null0BitIdx.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_null0BitIdx, 0, wx.ALL, 5) self.m_button_ok = wx.Button(self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_bitIdx.Add(self.m_button_ok, 0, wx.ALL, 5) self.m_button_cancel = wx.Button(self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size(100, -1), 0) wSizer_bitIdx.Add(self.m_button_cancel, 0, wx.ALL, 5) self.m_staticText_null1BitIdx = wx.StaticText(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(720, 1), 0) self.m_staticText_null1BitIdx.Wrap(-1) wSizer_bitIdx.Add(self.m_staticText_null1BitIdx, 0, wx.ALL, 5) bSizer_bitIdx.Add(wSizer_bitIdx, 1, wx.EXPAND, 5) wSizer_win.Add(bSizer_bitIdx, 1, wx.EXPAND, 5) self.SetSizer(wSizer_win) self.Layout() self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.callbackClose) self.m_button_ok.Bind(wx.EVT_BUTTON, self.callbackOk) self.m_button_cancel.Bind(wx.EVT_BUTTON, self.callbackCancel)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = wx.EmptyString, pos = wx.DefaultPosition, size = wx.Size( 987,398 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.DefaultSize, wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) wSizer_win = wx.WrapSizer( wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS ) self.m_staticText_deviceModel = wx.StaticText( self, wx.ID_ANY, u"Use Typical Device Model:", wx.DefaultPosition, wx.Size( 149,-1 ), 0 ) self.m_staticText_deviceModel.Wrap( -1 ) wSizer_win.Add( self.m_staticText_deviceModel, 0, wx.ALL, 5 ) m_choice_deviceModeChoices = [ u"No", u"Complete_FDCB", u"ISSI_IS25LPxxxA_IS25WPxxxA", u"ISSI_IS26KSxxxS_IS26KLxxxS", u"Macronix_MX25Uxxx32F_MX25Lxxx45G", u"Macronix_MX25UMxxx45G_MX66UMxxx45G_MX25LMxxx45G", u"Macronix_MX25UM51345G", u"Macronix_MX25UM51345G_2nd", u"Micron_MT25QLxxxA", u"Micron_MT35XLxxxA_MT35XUxxxA", u"Adesto_AT25SFxxxA", u"Adesto_ATXPxxx", u"Cypress_S25FSxxxS_S25FLxxxS", u"Cypress_S26KSxxxS_S26KLxxxS", u"GigaDevice_GD25QxxxC", u"GigaDevice_GD25LBxxxE", u"GigaDevice_GD25LTxxxE", u"GigaDevice_GD25LXxxxE", u"Winbond_W25QxxxJV", u"Microchip_SST26VFxxxB", u"FudanMicro_FM25Qxxx", u"BoyaMicro_BY25QxxxBS", u"XMC_XM25QHxxxB_XM25QUxxxB", u"XTXtech_X25FxxxB_X25QxxxD", u"Puya_P25QxxxLE_P25QxxxH_P25QxxxU", u"AMIC_A25LQxxx" ] self.m_choice_deviceMode = wx.Choice( self, wx.ID_ANY, wx.DefaultPosition, wx.Size( 593,-1 ), m_choice_deviceModeChoices, 0 ) self.m_choice_deviceMode.SetSelection( 0 ) wSizer_win.Add( self.m_choice_deviceMode, 0, wx.ALL, 5 ) self.m_checkBox_keepFdcb = wx.CheckBox( self, wx.ID_ANY, u"Keep FDCB", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_win.Add( self.m_checkBox_keepFdcb, 0, wx.ALL, 5 ) self.m_notebook_norOpt0 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_norOpt0 = wx.Panel( self.m_notebook_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer_norOpt0 = wx.GridSizer( 0, 2, 0, 0 ) self.m_staticText_deviceType = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Device Type:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_deviceType.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_deviceType, 0, wx.ALL, 5 ) m_choice_deviceTypeChoices = [ u"QuadSPI SDR NOR", u"QuadSPI DDR NOR", u"Hyper Flash 1.8V", u"Hyper Flash 3.0V", u"Macronix Octal DDR", u"Macronix Octal SDR", u"Micron Octal DDR", u"Micron Octal SDR", u"Adesto EcoXIP DDR", u"Adesto EcoXIP SDR" ] self.m_choice_deviceType = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_deviceTypeChoices, 0 ) self.m_choice_deviceType.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_deviceType, 0, wx.ALL, 5 ) self.m_staticText_queryPads = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Query Pads:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_queryPads.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_queryPads, 0, wx.ALL, 5 ) m_choice_queryPadsChoices = [ u"1", u"4", u"8" ] self.m_choice_queryPads = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_queryPadsChoices, 0 ) self.m_choice_queryPads.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_queryPads, 0, wx.ALL, 5 ) self.m_staticText_cmdPads = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Cmd Pads:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_cmdPads.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_cmdPads, 0, wx.ALL, 5 ) m_choice_cmdPadsChoices = [ u"1", u"4", u"8" ] self.m_choice_cmdPads = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_cmdPadsChoices, 0 ) self.m_choice_cmdPads.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_cmdPads, 0, wx.ALL, 5 ) self.m_staticText_quadModeSetting = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Quad Mode Setting:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_quadModeSetting.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_quadModeSetting, 0, wx.ALL, 5 ) m_choice_quadModeSettingChoices = [ u"Not Configured", u"Set StatusReg1[6]", u"Set StatusReg2[1]", u"Set StatusReg2[7]", u"Set StatusReg2[1] by 0x31" ] self.m_choice_quadModeSetting = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_quadModeSettingChoices, 0 ) self.m_choice_quadModeSetting.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_quadModeSetting, 0, wx.ALL, 5 ) self.m_staticText_miscMode = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Misc Mode:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_miscMode.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_miscMode, 0, wx.ALL, 5 ) m_choice_miscModeChoices = [ u"Disabled", u"0_4_4 Mode", u"0_8_8 Mode", u"Data Order Swapped", u"Data Samp Intr Loopback", u"Stand SPI mode" ] self.m_choice_miscMode = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_miscModeChoices, 0 ) self.m_choice_miscMode.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_miscMode, 0, wx.ALL, 5 ) self.m_staticText_maxFrequency = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Max Frequency:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_maxFrequency.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_maxFrequency, 0, wx.ALL, 5 ) m_choice_maxFrequencyChoices = [ u"30MHz", u"50MHz", u"60MHz", u"75MHz", u"80MHz", u"100MHz", u"133MHz", u"166MHz" ] self.m_choice_maxFrequency = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_maxFrequencyChoices, 0 ) self.m_choice_maxFrequency.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_maxFrequency, 0, wx.ALL, 5 ) self.m_staticText_hasOption1 = wx.StaticText( self.m_panel_norOpt0, wx.ID_ANY, u"Has Option1:", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_hasOption1.Wrap( -1 ) gSizer_norOpt0.Add( self.m_staticText_hasOption1, 0, wx.ALL, 5 ) m_choice_hasOption1Choices = [ u"No", u"Yes" ] self.m_choice_hasOption1 = wx.Choice( self.m_panel_norOpt0, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_hasOption1Choices, 0 ) self.m_choice_hasOption1.SetSelection( 0 ) gSizer_norOpt0.Add( self.m_choice_hasOption1, 0, wx.ALL, 5 ) self.m_panel_norOpt0.SetSizer( gSizer_norOpt0 ) self.m_panel_norOpt0.Layout() gSizer_norOpt0.Fit( self.m_panel_norOpt0 ) self.m_notebook_norOpt0.AddPage( self.m_panel_norOpt0, u"Nor Option0", False ) wSizer_win.Add( self.m_notebook_norOpt0, 1, wx.EXPAND |wx.ALL, 5 ) self.m_notebook_norOpt1 = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_norOpt1 = wx.Panel( self.m_notebook_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer_norOpt1 = wx.GridSizer( 0, 2, 0, 0 ) self.m_staticText_flashConnection = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Flash Connection:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_flashConnection.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_flashConnection, 0, wx.ALL, 5 ) m_choice_flashConnectionChoices = [ u"Single Port A", u"Parallel", u"Single Port B", u"Both Ports" ] self.m_choice_flashConnection = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_flashConnectionChoices, 0 ) self.m_choice_flashConnection.SetSelection( 0 ) gSizer_norOpt1.Add( self.m_choice_flashConnection, 0, wx.ALL, 5 ) self.m_staticText_driveStrength = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Drive Strength:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_driveStrength.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_driveStrength, 0, wx.ALL, 5 ) self.m_textCtrl_driveStrength = wx.TextCtrl( self.m_panel_norOpt1, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_norOpt1.Add( self.m_textCtrl_driveStrength, 0, wx.ALL, 5 ) self.m_staticText_dqsPinmuxGroup = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"DQS Pinmux Group:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_dqsPinmuxGroup.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_dqsPinmuxGroup, 0, wx.ALL, 5 ) self.m_textCtrl_dqsPinmuxGroup = wx.TextCtrl( self.m_panel_norOpt1, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_norOpt1.Add( self.m_textCtrl_dqsPinmuxGroup, 0, wx.ALL, 5 ) self.m_staticText_enableSecondPinmux = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Enable Second Pinmux:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_enableSecondPinmux.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_enableSecondPinmux, 0, wx.ALL, 5 ) m_choice_enableSecondPinmuxChoices = [ u"No", u"Yes" ] self.m_choice_enableSecondPinmux = wx.Choice( self.m_panel_norOpt1, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_enableSecondPinmuxChoices, 0 ) self.m_choice_enableSecondPinmux.SetSelection( 0 ) gSizer_norOpt1.Add( self.m_choice_enableSecondPinmux, 0, wx.ALL, 5 ) self.m_staticText_statusOverride = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Status Override:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_statusOverride.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_statusOverride, 0, wx.ALL, 5 ) self.m_textCtrl_statusOverride = wx.TextCtrl( self.m_panel_norOpt1, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_norOpt1.Add( self.m_textCtrl_statusOverride, 0, wx.ALL, 5 ) self.m_staticText_dummyCycles = wx.StaticText( self.m_panel_norOpt1, wx.ID_ANY, u"Dummy Cycles:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_dummyCycles.Wrap( -1 ) gSizer_norOpt1.Add( self.m_staticText_dummyCycles, 0, wx.ALL, 5 ) self.m_textCtrl_dummyCycles = wx.TextCtrl( self.m_panel_norOpt1, wx.ID_ANY, u"0", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_norOpt1.Add( self.m_textCtrl_dummyCycles, 0, wx.ALL, 5 ) self.m_panel_norOpt1.SetSizer( gSizer_norOpt1 ) self.m_panel_norOpt1.Layout() gSizer_norOpt1.Fit( self.m_panel_norOpt1 ) self.m_notebook_norOpt1.AddPage( self.m_panel_norOpt1, u"Nor Option1", False ) wSizer_win.Add( self.m_notebook_norOpt1, 1, wx.EXPAND |wx.ALL, 5 ) self.m_notebook_dualImageOpt = wx.Notebook( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_dualImageOpt = wx.Panel( self.m_notebook_dualImageOpt, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) gSizer_dualImageOpt = wx.GridSizer( 0, 2, 0, 0 ) self.m_staticText_image0Version = wx.StaticText( self.m_panel_dualImageOpt, wx.ID_ANY, u"Image 0 Version(0-65535):", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_image0Version.Wrap( -1 ) gSizer_dualImageOpt.Add( self.m_staticText_image0Version, 0, wx.ALL, 5 ) self.m_textCtrl_image0Version = wx.TextCtrl( self.m_panel_dualImageOpt, wx.ID_ANY, u"none", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_dualImageOpt.Add( self.m_textCtrl_image0Version, 0, wx.ALL, 5 ) self.m_staticText_image1Version = wx.StaticText( self.m_panel_dualImageOpt, wx.ID_ANY, u"Image 1 Version(0-65535):", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_image1Version.Wrap( -1 ) gSizer_dualImageOpt.Add( self.m_staticText_image1Version, 0, wx.ALL, 5 ) self.m_textCtrl_image1Version = wx.TextCtrl( self.m_panel_dualImageOpt, wx.ID_ANY, u"none", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_dualImageOpt.Add( self.m_textCtrl_image1Version, 0, wx.ALL, 5 ) self.m_staticText_image1Offset = wx.StaticText( self.m_panel_dualImageOpt, wx.ID_ANY, u"Image 1 Offset:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_image1Offset.Wrap( -1 ) gSizer_dualImageOpt.Add( self.m_staticText_image1Offset, 0, wx.ALL, 5 ) self.m_textCtrl_image1Offset = wx.TextCtrl( self.m_panel_dualImageOpt, wx.ID_ANY, u"0x0", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) gSizer_dualImageOpt.Add( self.m_textCtrl_image1Offset, 0, wx.ALL, 5 ) self.m_staticText_image1Size = wx.StaticText( self.m_panel_dualImageOpt, wx.ID_ANY, u"Image 1 Size:", wx.DefaultPosition, wx.Size( 140,-1 ), 0 ) self.m_staticText_image1Size.Wrap( -1 ) gSizer_dualImageOpt.Add( self.m_staticText_image1Size, 0, wx.ALL, 5 ) m_choice_image1SizeChoices = [ u"Same as Offset", u"1MB", u"2MB", u"3MB", u"4MB", u"5MB", u"6MB", u"7MB", u"8MB", u"9MB", u"10MB", u"11MB", u"12MB", u"256KB", u"512KB", u"768KB" ] self.m_choice_image1Size = wx.Choice( self.m_panel_dualImageOpt, wx.ID_ANY, wx.DefaultPosition, wx.Size( 140,-1 ), m_choice_image1SizeChoices, 0 ) self.m_choice_image1Size.SetSelection( 0 ) gSizer_dualImageOpt.Add( self.m_choice_image1Size, 0, wx.ALL, 5 ) self.m_panel_dualImageOpt.SetSizer( gSizer_dualImageOpt ) self.m_panel_dualImageOpt.Layout() gSizer_dualImageOpt.Fit( self.m_panel_dualImageOpt ) self.m_notebook_dualImageOpt.AddPage( self.m_panel_dualImageOpt, u"Dual Image Option", False ) wSizer_win.Add( self.m_notebook_dualImageOpt, 1, wx.EXPAND |wx.ALL, 5 ) self.m_staticText_winNull0 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 20,-1 ), 0 ) self.m_staticText_winNull0.Wrap( -1 ) wSizer_win.Add( self.m_staticText_winNull0, 0, wx.ALL, 5 ) self.m_button_completeFdcb = wx.Button( self, wx.ID_ANY, u"Complete FDCB Configuration (512bytes)", wx.DefaultPosition, wx.Size( 238,-1 ), 0 ) wSizer_win.Add( self.m_button_completeFdcb, 0, wx.ALL, 5 ) self.m_staticText_winNull1 = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size( 395,-1 ), 0 ) self.m_staticText_winNull1.Wrap( -1 ) wSizer_win.Add( self.m_staticText_winNull1, 0, wx.ALL, 5 ) self.m_button_ok = wx.Button( self, wx.ID_ANY, u"Ok", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_win.Add( self.m_button_ok, 0, wx.ALL, 5 ) self.m_button_cancel = wx.Button( self, wx.ID_ANY, u"Cancel", wx.DefaultPosition, wx.Size( 100,-1 ), 0 ) wSizer_win.Add( self.m_button_cancel, 0, wx.ALL, 5 ) self.SetSizer( wSizer_win ) self.Layout() self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_CLOSE, self.callbackClose ) self.m_choice_deviceMode.Bind( wx.EVT_CHOICE, self.callbackUseTypicalDeviceModel ) self.m_choice_hasOption1.Bind( wx.EVT_CHOICE, self.callbackHasOption1 ) self.m_button_completeFdcb.Bind( wx.EVT_BUTTON, self.callbackSetCompleteFdcb ) self.m_button_ok.Bind( wx.EVT_BUTTON, self.callbackOk ) self.m_button_cancel.Bind( wx.EVT_BUTTON, self.callbackCancel )
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=wx.EmptyString, pos=wx.DefaultPosition, size=wx.Size(451, 321), style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.m_menubar2 = wx.MenuBar(0) self.m_menu2 = wx.Menu() self.m_menuItem2 = wx.MenuItem(self.m_menu2, wx.ID_ANY, u"Whinar Kukuh Rizky Ardana", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu2.Append(self.m_menuItem2) self.m_menuItem3 = wx.MenuItem(self.m_menu2, wx.ID_ANY, u"192410102041", wx.EmptyString, wx.ITEM_NORMAL) self.m_menu2.Append(self.m_menuItem3) self.m_menubar2.Append(self.m_menu2, u"Identity") self.SetMenuBar(self.m_menubar2) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.m_textCtrl1 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) bSizer1.Add(self.m_textCtrl1, 0, wx.ALL | wx.EXPAND, 5) wSizer1 = wx.WrapSizer(wx.HORIZONTAL, wx.WRAPSIZER_DEFAULT_FLAGS) self.m_buttonClear = wx.Button(self, wx.ID_ANY, u"CLEAR", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonClear, 0, wx.ALL, 5) self.m_buttonPersen = wx.Button(self, wx.ID_ANY, u"%", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonPersen, 0, wx.ALL, 5) self.m_buttonPangkat = wx.Button(self, wx.ID_ANY, u"X^2", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonPangkat, 0, wx.ALL, 5) self.m_buttonAkar = wx.Button(self, wx.ID_ANY, u"X^1/2", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonAkar, 0, wx.ALL, 5) self.m_button8 = wx.Button(self, wx.ID_ANY, u"8", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button8, 0, wx.ALL, 5) self.m_button7 = wx.Button(self, wx.ID_ANY, u"7", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button7, 0, wx.ALL, 5) self.m_button9 = wx.Button(self, wx.ID_ANY, u"9", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button9, 0, wx.ALL, 5) self.m_buttonKali = wx.Button(self, wx.ID_ANY, u"x", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonKali, 0, wx.ALL, 5) self.m_button4 = wx.Button(self, wx.ID_ANY, u"4", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button4, 0, wx.ALL, 5) self.m_button5 = wx.Button(self, wx.ID_ANY, u"5", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button5, 0, wx.ALL, 5) self.m_button6 = wx.Button(self, wx.ID_ANY, u"6", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button6, 0, wx.ALL, 5) self.m_buttonTambah = wx.Button(self, wx.ID_ANY, u"+", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonTambah, 0, wx.ALL, 5) self.m_button1 = wx.Button(self, wx.ID_ANY, u"1", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button1, 0, wx.ALL, 5) self.m_button2 = wx.Button(self, wx.ID_ANY, u"2", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button2, 0, wx.ALL, 5) self.m_button3 = wx.Button(self, wx.ID_ANY, u"3", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button3, 0, wx.ALL, 5) self.m_buttonKurang = wx.Button(self, wx.ID_ANY, u"-", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonKurang, 0, wx.ALL, 5) self.m_buttonKoma = wx.Button(self, wx.ID_ANY, u".", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonKoma, 0, wx.ALL, 5) self.m_button0 = wx.Button(self, wx.ID_ANY, u"0", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_button0, 0, wx.ALL, 5) self.m_buttonHasil = wx.Button(self, wx.ID_ANY, u"=", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonHasil, 0, wx.ALL, 5) self.m_buttonBagi = wx.Button(self, wx.ID_ANY, u"/", wx.DefaultPosition, wx.DefaultSize, 0) wSizer1.Add(self.m_buttonBagi, 0, wx.ALL, 5) bSizer1.Add(wSizer1, 1, wx.EXPAND, 5) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.m_buttonClear.Bind(wx.EVT_BUTTON, self.deleteAll) self.m_buttonPersen.Bind(wx.EVT_BUTTON, self.handleOperator) self.m_buttonPangkat.Bind(wx.EVT_BUTTON, self.secondRank) self.m_buttonAkar.Bind(wx.EVT_BUTTON, self.seconRankRoot) self.m_button8.Bind(wx.EVT_BUTTON, self.onClick) self.m_button7.Bind(wx.EVT_BUTTON, self.onClick) self.m_button9.Bind(wx.EVT_BUTTON, self.onClick) self.m_buttonKali.Bind(wx.EVT_BUTTON, self.handleOperator) self.m_button4.Bind(wx.EVT_BUTTON, self.onClick) self.m_button5.Bind(wx.EVT_BUTTON, self.onClick) self.m_button6.Bind(wx.EVT_BUTTON, self.onClick) self.m_buttonTambah.Bind(wx.EVT_BUTTON, self.handleOperator) self.m_button1.Bind(wx.EVT_BUTTON, self.onClick) self.m_button2.Bind(wx.EVT_BUTTON, self.onClick) self.m_button3.Bind(wx.EVT_BUTTON, self.onClick) self.m_buttonKurang.Bind(wx.EVT_BUTTON, self.handleOperator) self.m_buttonKoma.Bind(wx.EVT_BUTTON, self.onClick) self.m_button0.Bind(wx.EVT_BUTTON, self.onClick) self.m_buttonHasil.Bind(wx.EVT_BUTTON, self.hasil) self.m_buttonBagi.Bind(wx.EVT_BUTTON, self.handleOperator)