Exemple #1
0
    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)
Exemple #2
0
    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()
Exemple #3
0
    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)
Exemple #4
0
	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 )
Exemple #5
0
    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)
Exemple #10
0
    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)
Exemple #11
0
    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()
Exemple #13
0
	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())
Exemple #15
0
    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)
Exemple #18
0
 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)
Exemple #20
0
    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()
Exemple #21
0
    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)
Exemple #23
0
    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))
Exemple #24
0
    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()
Exemple #25
0
    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)
Exemple #26
0
    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()
Exemple #27
0
    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)
Exemple #29
0
	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)