def __init__(
        self,
        parent,
        construct: cs.Construct,
        on_obj_changed: Optional[Callable[[], None]] = None,
        on_entry_selected: Optional[Callable[[Optional[int], Optional[int]],
                                             None]] = None,
    ):
        super().__init__(parent)

        self._on_entry_selected = on_entry_selected

        vsizer = wx.BoxSizer(wx.VERTICAL)

        # Create DataViewCtrl
        self._dvc = dv.DataViewCtrl(self,
                                    wx.ID_ANY,
                                    wx.DefaultPosition,
                                    wx.DefaultSize,
                                    0,
                                    name="construct_editor")
        self._dvc.AppendTextColumn("Name", 0, width=250)
        self._dvc.AppendTextColumn("Type", 1, width=100)
        self._dvc.AppendTextColumn("Value", 2, width=260)
        vsizer.Add(self._dvc, 3, wx.ALL | wx.EXPAND, 5)

        # Create Model of DataViewCtrl
        self._model = ConstructEditorModel(include_metadata(construct),
                                           on_obj_changed)
        self._dvc.AssociateModel(self._model)

        # Create InfoBars
        self._parse_error_info_bar = wx.InfoBar(self)
        vsizer.Add(self._parse_error_info_bar, 0, wx.EXPAND)

        self._build_error_info_bar = wx.InfoBar(self)
        vsizer.Add(self._build_error_info_bar, 0, wx.EXPAND)

        # create details viewer
        self._entry_details_viewer = EntryDetailsViewer(self)
        vsizer.Add(self._entry_details_viewer, 1, wx.ALL | wx.EXPAND, 5)

        self.SetSizer(vsizer)
        self.Layout()

        # Connect Events
        self._dvc.Bind(
            dv.EVT_DATAVIEW_SELECTION_CHANGED,
            self._on_dvc_selection_changed,
            id=wx.ID_ANY,
        )
        self._dvc.Bind(dv.EVT_DATAVIEW_ITEM_CONTEXT_MENU, self._on_right_click)
    def __init__(self, parent, *args, title=None, subTitle='', **kw):
        wx.Panel.__init__(self, parent, id=-1)
        WorkspaceHelper.__init__(self)
        self.info = wx.InfoBar(self)
        #         self.parent = parent
        self.title = title
        vBox = wx.BoxSizer(wx.VERTICAL)

        vBoxFooter = wx.BoxSizer(wx.VERTICAL)
        ###################################3333333333
        self.headerPanel = HeaderPanel(self,
                                       title=title,
                                       subTitle=subTitle,
                                       imageName='import_wiz.png')
        startDirectory = self.getWorkpacePath()
        self.dbb = filebrowse.DirBrowseButton(self,
                                              -1,
                                              size=(450, -1),
                                              changeCallback=self.dbbCallback,
                                              startDirectory=startDirectory,
                                              dialogTitle=startDirectory,
                                              labelText="Workspace: ")
        self.dbb.SetValue(startDirectory)
        self.buttons = CreateButtonPanel(self)
        ####################################################################
        vBoxFooter.Add(self.buttons, 0, wx.EXPAND, 0)
        vBox.Add(self.headerPanel, 0, wx.EXPAND, 0)
        vBox.Add(self.info, 0, wx.EXPAND)
        vBox.Add(self.dbb, 1, wx.EXPAND, 0)
        vBox.Add(vBoxFooter, 0, wx.EXPAND | wx.ALL, 5)
        self.SetSizer(vBox)
        self.SetAutoLayout(True)
示例#3
0
    def __init__(self, parent, log=None):
        self.log = log
        wx.Panel.__init__(self, parent, -1)
        self.newPath = Workspace().path
        vBox = wx.BoxSizer(wx.VERTICAL)
        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        hBox2 = wx.BoxSizer(wx.HORIZONTAL)
        hBox3 = wx.BoxSizer(wx.HORIZONTAL)
        hBox4 = wx.BoxSizer(wx.HORIZONTAL)

        page = '''
        <html>
        <body>
            <h4>Select a workspace</h4>
            Opal stores your books in a folder called workspace. \n
            Choose a workspace folder to use for this session.
        </body>
        </html>
        '''
        
        
        ctrl = wx.html.HtmlWindow(self, -1, wx.DefaultPosition, size=(550, 100))
        if "gtk2" in wx.PlatformInfo or "gtk3" in wx.PlatformInfo:
            ctrl.SetStandardFonts()
        ctrl.SetPage(page)

        self.info = wx.InfoBar(self)


# TODO
        self.dbb = filebrowse.DirBrowseButton(
            self, -1, size=(450, -1), changeCallback=self.dbbCallback, startDirectory=Workspace().path
            )
        print '----otherWorkspace------', Workspace().path
        if Workspace().path:
            self.dbb.textControl.SetValue(Workspace().path)


        okButton = wx.Button(self, -1, "OK")
        cancelButton = wx.Button(self, -1, "Cancel")
        self.Bind(wx.EVT_BUTTON, self.okBtnClicked, okButton)
        self.Bind(wx.EVT_BUTTON, self.cancelBtnClicked, cancelButton)




        hBox2.Add(ctrl, 0, wx.ALL | wx.EXPAND, 5)
        vBox.Add(self.info, 0, wx.EXPAND)
        hBox4.Add(self.dbb, 0, wx.ALL | wx.EXPAND, 5)

        hBox3.Add(okButton, 0, wx.ALL | wx.RIGHT, 5)
        hBox3.Add(cancelButton, 0, wx.ALL | wx.RIGHT, 5)

        vBox.Add(hBox2, 0, wx.EXPAND)
        vBox.Add(hBox1, 0, wx.EXPAND)
        vBox.Add(hBox4, 0, wx.EXPAND)
        vBox.Add(hBox3, 0, wx.ALL | wx.RIGHT, 5)

        self.SetSizer(vBox)
        vBox.Fit(self)
示例#4
0
 def test_infobar2(self):
     ib = wx.InfoBar(self.frame)
     ib.AddButton(1234, "New Button")
     ib.AddButton(wx.ID_SAVE)
     ib.ShowMessage("hello world")
     self.myYield()
     ib.RemoveButton(wx.ID_SAVE)
     ib.Dismiss()
    def __init__(self, parent, log):
        self.log = log
        wx.Panel.__init__(self, parent, -1)

        # Create the InfoBar.  It starts out in a hidden state so it
        # won't be visible until we need it.
        self.info = wx.InfoBar(self)
        panel = wx.Panel(self)

        self.message = wx.TextCtrl(panel, -1, "Hello World", size=(250,-1))
        self.flags = wx.Choice(panel, choices=[f[1] for f in flags])
        self.flags.SetSelection(1) # wx.ICON_INFORMATION is the default

        smBtn = wx.Button(panel, -1, "Show Message")
        dmBtn = wx.Button(panel, -1, "Dismiss")
        addBtn = wx.Button(panel, -1, "Add Button")

        self.addBtnCount = 0  # Lets keep track of the buttons added.

        fgs = wx.FlexGridSizer(cols=3, vgap=10, hgap=10)
        fgs.Add(wx.StaticText(panel, -1, "Message:"), 0,
                wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_RIGHT)
        fgs.Add(self.message)
        fgs.Add(self.flags)
        fgs.AddSpacer(5)

        hbox = wx.BoxSizer(wx.HORIZONTAL)
        hbox.Add(smBtn, 0, wx.RIGHT, 5)
        hbox.Add(dmBtn)
        fgs.Add(hbox)
        fgs.AddSpacer(5)
        fgs.AddSpacer(5)
        fgs.Add(addBtn)

        panel.Sizer = wx.BoxSizer(wx.VERTICAL)
        text = """\
An info bar is a transient window shown at top or bottom of its parent window
to display non-critical information to the user."""
        panel.Sizer.Add(wx.StaticText(panel, -1, text), 0, wx.TOP|wx.LEFT, 25)
        panel.Sizer.Add(fgs, 1, wx.EXPAND|wx.ALL, 25)

        self.Sizer = wx.BoxSizer(wx.VERTICAL)
        self.Sizer.Add(self.info, 0, wx.EXPAND)
        self.Sizer.Add(panel, 1, wx.EXPAND)

        self.Bind(wx.EVT_BUTTON, self.OnShowMessage, smBtn)
        self.Bind(wx.EVT_BUTTON, self.OnDismiss, dmBtn)
        self.Bind(wx.EVT_BUTTON, self.OnAddButton, addBtn)
 def __init__(self, parent):
     self.status_validation = False
     wx.Frame.__init__(self,
                       parent,
                       id=wx.ID_ANY,
                       title=wx.EmptyString,
                       pos=wx.DefaultPosition,
                       size=wx.Size(900, 400),
                       style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
     self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)
     #Introducing the sizers
     bSizer1 = wx.BoxSizer(wx.HORIZONTAL)
     bSizer2 = wx.BoxSizer(wx.VERTICAL)
     #Let's set up the controls
     self.m_infoCtrl2 = wx.InfoBar(self)
     self.m_infoCtrl2.SetShowHideEffects(wx.SHOW_EFFECT_NONE,
                                         wx.SHOW_EFFECT_NONE)
     self.m_infoCtrl2.SetEffectDuration(500)
     bSizer2.Add(self.m_infoCtrl2, 0, wx.ALL | wx.EXPAND, 5)
     #
     self.m_button1 = wx.Button(self, wx.ID_ANY, u"Introduce Geni Token",
                                wx.DefaultPosition, wx.DefaultSize, 0)
     bSizer2.Add(self.m_button1, 0, wx.ALIGN_CENTER | wx.ALL, 5)
     #
     self.m_button2 = wx.Button(self, wx.ID_ANY, u"Get Ancestors",
                                wx.DefaultPosition, wx.DefaultSize, 0)
     bSizer2.Add(self.m_button2, 0, wx.ALIGN_CENTER | wx.ALL, 5)
     #
     self.m_button3 = wx.Button(self, wx.ID_ANY, u"Get Cousins",
                                wx.DefaultPosition, wx.DefaultSize, 0)
     bSizer2.Add(self.m_button3, 0, wx.ALIGN_CENTER | wx.ALL, 5)
     #
     self.m_button4 = wx.Button(self, wx.ID_ANY,
                                u"Import Family Search to Geni",
                                wx.DefaultPosition, wx.DefaultSize, 0)
     bSizer2.Add(self.m_button4, 0, wx.ALIGN_CENTER | wx.ALL, 5)
     bSizer1.Add(bSizer2, 1, wx.EXPAND, 5)
     #
     self.SetSizer(bSizer1)
     self.Layout()
     self.Centre(wx.BOTH)
     # Connect Events
     self.m_button1.Bind(wx.EVT_BUTTON, self.OnClickIntroductionKey)
     self.m_button4.Bind(wx.EVT_BUTTON, self.OnClickOpenImportFSDialog)
     #Subsriptions
     pub.subscribe(self.__onGeniKeyUpdateValidation, 'geni.key.validate')
示例#7
0
    def __init__(self, parent, book):
        wx.Panel.__init__(self, parent)
        self.currentBook = book
        self.tempRowDict = None
        self.downloadMetadataInfo = DownloadMetadataInfo()
        self.onlineDatabase = OnlineDatabase()
        self.mainPanel = wx.Panel(self, -1, style=wx.SIMPLE_BORDER)
        self.rowList = [
            "Title", "Authors", 'Series', 'Tags', 'Rating', 'Publisher',
            'ISBN-13', 'ISBN-10', 'Language', 'Description', 'Cover'
        ]

        #         self.mainPanel.SetBackgroundColour('#FFFFFF')
        self.mainBox = wx.StaticBox(self.mainPanel, -1, "main box")
        self.left_staticbox = wx.StaticBox(self.mainPanel, -1, "left box")
        self.right_staticbox = wx.StaticBox(self.mainPanel, -1, "right box")

        self.helptext = wx.StaticText(self.mainPanel, -1,
                                      "Please review downloaded metadata.")

        self.search = wx.SearchCtrl(self,
                                    size=wx.DefaultSize,
                                    style=wx.TE_PROCESS_ENTER)
        self.search.SetValue(self.currentBook.bookName)
        self.search.ShowCancelButton(True)
        self.searchCache = dict()
        self.info = wx.InfoBar(self)
        self.thumbnail = ThumbnailCtrl(self, imagehandler=NativeImageHandler)
        self.worker = None
        self.defaultSearch(self.currentBook.bookName)
        # Set up event handler for any worker thread results
        #         EVT_RESULT(self, self.OnResult)

        # And indicate we don't have a worker thread yet
        #         self.rowDic = dict()
        self.diffView(self.currentBook)

        #         bitmap = wx.ArtProvider_GetBitmap(wx.ART_GO_BACK)
        #         self.okButton = wx.Button(self.mainPanel, -1, 'ok')
        #         self.copyRightToLeftButton = wx.BitmapButton(self.mainPanel, -1, bitmap, (10, 10), style=wx.BORDER_DEFAULT)
        self.createButtonBar()
        self.SetProperties()
        self.doLayout()
        self.BindEvents()
示例#8
0
    def CreateBottomArea(self):
        self.bottom = wx.Panel(self)
        self.bottom_splitter = wx.SplitterWindow(self.bottom)

        self.bottom_ready_panel = wx.Panel(self.bottom_splitter)
        self.ready_list = ui.ReadyListCtrl(self.bottom_ready_panel)
        ready_bz = wx.StaticBoxSizer(wx.VERTICAL, self.bottom_ready_panel, u'待测条码区')
        ready_bz.Add(self.ready_list, 1, wx.EXPAND)
        self.bottom_ready_panel.SetSizer(ready_bz)

        self.bottom_finish_panel = wx.Panel(self.bottom_splitter)
        self.finish_list = ui.FinishListCtrl(self.bottom_finish_panel)
        finish_bz = wx.StaticBoxSizer(wx.VERTICAL, self.bottom_finish_panel, u'已测条码区')
        finish_bz.Add(self.finish_list, 1, wx.EXPAND)
        self.bottom_finish_panel.SetSizer(finish_bz)

        self.bottom_splitter.SplitVertically(self.bottom_ready_panel, self.bottom_finish_panel)
        self.bottom_splitter.SetSashGravity(1 / 3.0)
        self.infobar = wx.InfoBar(self.bottom)
        sizer_main = wx.BoxSizer(wx.VERTICAL)
        sizer_main.Add(self.bottom_splitter, 1, wx.EXPAND)
        sizer_main.Add(self.infobar, 0, wx.EXPAND)
        self.bottom.SetSizer(sizer_main)
示例#9
0
    def __init__(self, parent):
        wx.Frame.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          title=u"Kipartman",
                          pos=wx.DefaultPosition,
                          size=wx.Size(1160, 686),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

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

        self.menu_bar = wx.MenuBar(0)
        self.menu_file = wx.Menu()
        self.menu_file_project = wx.MenuItem(self.menu_file, wx.ID_ANY,
                                             u"Open project", wx.EmptyString,
                                             wx.ITEM_NORMAL)
        self.menu_file.Append(self.menu_file_project)

        self.menu_file.AppendSeparator()

        self.menu_buy_parts = wx.MenuItem(self.menu_file, wx.ID_ANY,
                                          u"Buy parts",
                                          u"Open the buy parts window",
                                          wx.ITEM_NORMAL)
        self.menu_file.Append(self.menu_buy_parts)

        self.menu_bar.Append(self.menu_file, u"File")

        self.menu_view = wx.Menu()
        self.menu_view_configuration = wx.MenuItem(self.menu_view, wx.ID_ANY,
                                                   u"Configuration",
                                                   wx.EmptyString,
                                                   wx.ITEM_NORMAL)
        self.menu_view.Append(self.menu_view_configuration)

        self.menu_bar.Append(self.menu_view, u"View")

        self.menu_help = wx.Menu()
        self.menu_about = wx.MenuItem(self.menu_help, wx.ID_ANY, u"About",
                                      wx.EmptyString, wx.ITEM_NORMAL)
        self.menu_help.Append(self.menu_about)

        self.menu_bar.Append(self.menu_help, u"Help")

        self.SetMenuBar(self.menu_bar)

        bSizer5 = wx.BoxSizer(wx.VERTICAL)

        self.info = wx.InfoBar(self)
        self.info.SetShowHideEffects(wx.SHOW_EFFECT_NONE, wx.SHOW_EFFECT_NONE)
        self.info.SetEffectDuration(500)
        bSizer5.Add(self.info, 0, wx.ALL | wx.EXPAND, 5)

        self.notebook = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition,
                                    wx.DefaultSize, 0)

        bSizer5.Add(self.notebook, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(bSizer5)
        self.Layout()
        self.status = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY)

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_KILL_FOCUS, self.onKillFocus)
        self.Bind(wx.EVT_MENU,
                  self.onMenuFileProjetSelection,
                  id=self.menu_file_project.GetId())
        self.Bind(wx.EVT_MENU,
                  self.onMenuBuyPartsSelection,
                  id=self.menu_buy_parts.GetId())
        self.Bind(wx.EVT_MENU,
                  self.onMenuViewConfigurationSelection,
                  id=self.menu_view_configuration.GetId())
        self.Bind(wx.EVT_MENU,
                  self.onMenuHelpAboutSelection,
                  id=self.menu_about.GetId())
        self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGED,
                           self.onNotebookPageChanged)
        self.notebook.Bind(wx.EVT_NOTEBOOK_PAGE_CHANGING,
                           self.onNotebookPageChanging)
示例#10
0
    def __init__(self,
                 parent,
                 sid,
                 title,
                 size=(350, 296),
                 pos=wx.DefaultPosition,
                 style=wx.DEFAULT_DIALOG_STYLE,
                 name='dialog'):

        wx.Dialog.__init__(self)
        self.SetExtraStyle(wx.DIALOG_EX_CONTEXTHELP)
        self.Create(parent, sid, title, pos, size, style, name)

        self.info = wx.InfoBar(self)

        help_msg = '用于控制在物品树中的显示顺序,值越大越靠前'
        order_tp = wx.ToolTip(help_msg)
        name_label = wx.StaticText(self, -1, "类别名称:")
        order_label = wx.StaticText(self, -1, "显示顺序:")
        order_label.SetHelpText(help_msg)
        desc_label = wx.StaticText(self, -1, "类别描述:")

        self.tc_catagoryname = wx.TextCtrl(self, -1, "")
        self.tc_catagoryname.SetMaxLength(12)
        self.tc_order = wx.TextCtrl(self, -1, "1")
        self.tc_order.SetMaxLength(6)
        self.tc_order.SetToolTip(order_tp)
        self.tc_catagorydesc = wx.TextCtrl(self,
                                           -1,
                                           "",
                                           style=wx.TE_MULTILINE,
                                           size=(-1, 100))

        fgSizer = wx.FlexGridSizer(3, 2, 5, 5)
        fgSizer.Add(name_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_catagoryname, 1, wx.ALL | wx.EXPAND, 5)
        fgSizer.Add(order_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_order, 0, wx.ALL | wx.EXPAND, 5)
        fgSizer.Add(desc_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_catagorydesc, 1, wx.ALL | wx.EXPAND, 5)
        fgSizer.AddGrowableCol(1, proportion=1)

        line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL)

        save_btn = wx.Button(self, wx.ID_OK, label="保存")
        save_btn.SetDefault()
        cancel_btn = wx.Button(self, wx.ID_CANCEL, label="取消")
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        hbox.Add(save_btn, 0, wx.ALL, 5)
        hbox.Add(cancel_btn, 0, wx.ALL, 5)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.info, 0, wx.EXPAND, 5)
        sizer.Add(fgSizer, 0, wx.ALL | wx.EXPAND, 5)
        sizer.Add(line, 0, wx.EXPAND | wx.ALL)
        sizer.Add(hbox, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5)
        self.SetSizer(sizer)

        self.Bind(wx.EVT_BUTTON, self.OnSave, save_btn)
        self.Bind(wx.EVT_BUTTON, self.OnCancel, cancel_btn)

        self.tc_order.Bind(wx.EVT_CHAR, self.OnChar)

        self.tc_catagoryname.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_order.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_catagorydesc.Bind(wx.EVT_SET_FOCUS, self.OnFocus)

        self.catagory_id = -1
        self.msg = '添加物品类别成功!'
示例#11
0
    def __init__(self, parent):
        wx.Frame.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          title=wx.EmptyString,
                          pos=wx.DefaultPosition,
                          size=wx.Size(1100, 550),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)
        self.SetSizeHints(wx.DefaultSize, wx.DefaultSize)

        box = wx.BoxSizer(wx.VERTICAL)

        self.infoBar = wx.InfoBar(self)
        box.Add(self.infoBar, wx.SizerFlags().Expand())

        box1 = wx.BoxSizer(wx.HORIZONTAL)

        box1.SetMinSize(wx.Size(100, 30))
        self.m_staticText26 = wx.StaticText(self, wx.ID_ANY, u"选择文件…",
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText26.Wrap(-1)

        self.m_staticText26.SetMinSize(wx.Size(600, -1))
        self.m_staticText26.SetMaxSize(wx.Size(600, -1))

        box1.Add(self.m_staticText26, 0, wx.ALL, 5)

        self.m_button3 = wx.Button(self, wx.ID_ANY, u"选择", wx.DefaultPosition,
                                   wx.DefaultSize, 0)
        self.Bind(wx.EVT_BUTTON, self.add, self.m_button3)

        box.Add(box1, 1, 0, 5)
        box.Add(self.m_button3, 0, wx.ALL, 5)

        self.rb = wx.RadioBox(self, choices=['区块', '交易'])
        box.Add(self.rb)
        self.Bind(wx.EVT_RADIOBOX, self.change_type, self.rb)

        box2 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_listBox4 = wx.ListBox(self, -1, size=wx.Size(200, 350))
        box2.Add(self.m_listBox4, 0, wx.ALL, 5)
        # self.Bind(wx.EVT_LISTBOX, self.list_click, self.m_listBox4)

        self.m_listBox3 = wx.ListCtrl(self,
                                      -1,
                                      size=wx.Size(450, 350),
                                      style=wx.LC_REPORT)
        self.m_listBox3.InsertColumn(0, 'id', width=100)
        self.m_listBox3.InsertColumn(1, '收到消息时间', width=200)
        self.m_listBox3.InsertColumn(3, 'peer', wx.LIST_FORMAT_LEFT, width=150)
        box2.Add(self.m_listBox3, 0, wx.ALL, 5)
        # self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.f, self.m_listBox3)

        box21 = wx.BoxSizer(wx.VERTICAL)

        self.text0 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        self.text0.Wrap(-1)

        box21.Add(self.text0, 0, wx.ALL, 5)

        self.text1 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        self.text1.Wrap(-1)

        box21.Add(self.text1, 0, wx.ALL, 5)

        self.text2 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        self.text2.Wrap(-1)

        box21.Add(self.text2, 0, wx.ALL, 5)

        self.text3 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        self.text3.Wrap(-1)

        box21.Add(self.text3, 0, wx.ALL, 5)

        self.text11 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        self.text11.Wrap(-1)

        box21.Add(self.text11, 0, wx.ALL, 5)

        self.m_textCtrl11 = wx.TextCtrl(self, wx.TE_READONLY,
                                        wx.EmptyString, wx.DefaultPosition,
                                        wx.Size(300, -1), 0)
        box21.Add(self.m_textCtrl11, 0, wx.ALL, 5)

        self.text12 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        self.text12.Wrap(-1)

        box21.Add(self.text12, 0, wx.ALL, 5)

        self.m_textCtrl12 = wx.TextCtrl(
            self,
            wx.TE_READONLY,
            wx.EmptyString,
            wx.DefaultPosition,
            wx.Size(300, -1),
        )
        box21.Add(self.m_textCtrl12, 0, wx.ALL, 5)

        self.text13 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        self.text13.Wrap(-1)

        box21.Add(self.text13, 0, wx.ALL, 5)

        self.m_textCtrl13 = wx.TextCtrl(self, wx.TE_READONLY,
                                        wx.EmptyString, wx.DefaultPosition,
                                        wx.Size(300, -1), 0)
        box21.Add(self.m_textCtrl13, 0, wx.ALL, 5)

        self.text14 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                    wx.DefaultPosition, wx.DefaultSize, 0)
        self.text14.Wrap(-1)

        box21.Add(self.text14, 0, wx.ALL, 5)

        self.text5 = wx.StaticText(self, wx.ID_ANY, wx.EmptyString,
                                   wx.DefaultPosition, wx.DefaultSize, 0)
        self.text5.Wrap(-1)

        box21.Add(self.text5, 0, wx.ALL, 5)

        box2.Add(box21, 1, wx.EXPAND, 5)

        box.Add(box2, 1, wx.EXPAND, 5)
        #
        # box3 = wx.BoxSizer(wx.HORIZONTAL)
        #
        # self.m_textCtrl3 = wx.TextCtrl(self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(300, -1), 0)
        # box3.Add(self.m_textCtrl3, 0, wx.ALL, 5)
        #
        # self.m_button4 = wx.Button(self, wx.ID_ANY, u"搜索", wx.DefaultPosition, wx.DefaultSize, 0)
        # box3.Add(self.m_button4, 0, wx.ALL, 5)
        # self.Bind(wx.EVT_BUTTON, self.search, self.m_button4)
        # box.Add(box3, 1, wx.EXPAND, 5)

        self.SetSizer(box)
        self.Layout()

        self.Centre(wx.BOTH)
示例#12
0
    def InitUI(self):

        self.info = wx.InfoBar(self)

        name_label = wx.StaticText(self, wx.ID_ANY, '物品名称:')
        unit_label = wx.StaticText(self, wx.ID_ANY, '规格:')
        catagory_label = wx.StaticText(self, wx.ID_ANY, '所属分类:')
        price_label = wx.StaticText(self, wx.ID_ANY, '单价:')
        order_label = wx.StaticText(self, -1, "显示顺序:")
        order_label.SetHelpText('用于控制在物品树中的显示顺序,值越大越靠前')

        self.tc_goodsName = wx.TextCtrl(self, wx.ID_ANY, '')
        self.tc_goodsName.SetMaxLength(16)
        self.tc_goodsUnit = wx.TextCtrl(self, wx.ID_ANY, '')
        self.tc_goodsUnit.SetMaxLength(4)

        self.tc_goodsPrice = wx.TextCtrl(self, wx.ID_ANY, '')
        self.tc_order = wx.TextCtrl(self, wx.ID_ANY, "1")
        help_msg = '用于控制在物品树中的显示顺序,值越大越靠前'
        order_tp = wx.ToolTip(help_msg)
        self.tc_order.SetToolTip(order_tp)
        self.tc_order.SetMaxLength(6)

        self.catagory_lb = wx.ListBox(self, wx.ID_ANY, wx.DefaultPosition,
                                      wx.DefaultSize, [],
                                      wx.LB_SINGLE | wx.LB_OWNERDRAW)
        gbSizer = wx.GridBagSizer(5, 5)
        gbSizer.Add(catagory_label, (0, 0), (1, 1), wx.ALL | wx.ALIGN_RIGHT, 5)
        gbSizer.Add(self.catagory_lb, (0, 1), (1, 1), wx.ALL | wx.EXPAND, 5)
        gbSizer.Add(name_label, (1, 0), (1, 1), wx.ALL, 5)

        gbSizer.Add(self.tc_goodsName, (1, 1), (1, 1), wx.ALL | wx.EXPAND, 5)
        gbSizer.Add(unit_label, (2, 0), (1, 1), wx.ALL | wx.ALIGN_RIGHT, 5)
        gbSizer.Add(self.tc_goodsUnit, (2, 1), (1, 1), wx.ALL | wx.EXPAND, 5)

        gbSizer.Add(price_label, (3, 0), (1, 1), wx.ALL | wx.ALIGN_RIGHT, 5)
        gbSizer.Add(self.tc_goodsPrice, (3, 1), (1, 1), wx.ALL | wx.EXPAND, 5)
        gbSizer.Add(order_label, (4, 0), (1, 1), wx.ALIGN_RIGHT | wx.ALL, 5)
        gbSizer.Add(self.tc_order, (4, 1), (1, 1), wx.ALL | wx.EXPAND, 5)
        gbSizer.AddGrowableCol(1)
        line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL)

        save_btn = wx.Button(self, wx.ID_OK, label="保存")
        save_btn.SetDefault()
        cancel_btn = wx.Button(self, wx.ID_CANCEL, label="取消")
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        hbox.Add(save_btn, 0, wx.ALL, 5)
        hbox.Add(cancel_btn, 0, wx.ALL, 5)

        self.vBox = wx.BoxSizer(wx.VERTICAL)
        self.vBox.Add(self.info, 0, wx.ALL | wx.EXPAND, 5)
        self.vBox.Add(gbSizer, 0, wx.ALL | wx.EXPAND, 5)
        self.vBox.Add(line, 0, wx.GROW | wx.ALL, 5)
        self.vBox.Add(hbox, 0, wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5)
        self.SetSizer(self.vBox)

        self.Bind(wx.EVT_BUTTON, self.OnSave, save_btn)
        self.Bind(wx.EVT_BUTTON, self.OnCancel, cancel_btn)

        self.tc_goodsName.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_goodsUnit.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_goodsPrice.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_order.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.catagory_lb.Bind(wx.EVT_SET_FOCUS, self.OnFocus)

        self.tc_order.Bind(wx.EVT_CHAR, self.OnIntegerChar)
        self.tc_goodsPrice.Bind(wx.EVT_CHAR, self.OnFloatChar)

        self.goods_id = -1
        self.msg = '添加物品成功!'
示例#13
0
    def __init__(self, parent, title, demo, servercomm, args):

        #call superclass' __init__
        UI.__init__(self, parent, title, demo, servercomm)

        self.args = args

        #Flag to tell the UI to use the server or to use a local simuation file
        #(local files not supported yet)
        self.serverversion = True

        #How often we should poll the server for new results
        self.refreshrate = 0.25

        #File number we want to read first
        self.fno = 0

        #variables for the log file
        self.now = datetime.datetime.now
        self.date = self.now().strftime("%Y-%m-%d")
        filename = self.date + ".log"
        self.logfile = open(filename, 'a')

        #set up sizers that allow you to position window elements easily

        #main sizer - arrange items horizontally on screen (controls on left, display on right)
        self.mainsizer = wx.BoxSizer(wx.HORIZONTAL)
        #sizer for the plot window on the right ofthe screen
        self.PlotSizer = wx.BoxSizer(wx.VERTICAL)
        #sizer for buttons (align buttons vertically)
        self.buttonsizer = wx.BoxSizer(wx.VERTICAL)

        #button to start simulation/reset to setup screen
        self.SimButton = wx.Button(self, wx.ID_ANY, "Start a Simulation")
        self.Bind(wx.EVT_BUTTON, self.SwapScreens, self.SimButton)

        #Text box to display info on the costings
        self.logger = wx.TextCtrl(self,
                                  style=wx.TE_READONLY | wx.TE_MULTILINE
                                  | wx.TE_RICH2,
                                  size=(-1, -1))

        #Text box to show info on what the mouse is hovering over
        self.info = wx.TextCtrl(self, style=wx.TE_READONLY, size=(-1, -1))

        #Button for resetting the setup screen
        self.ResetButton = wx.Button(self, wx.ID_ANY, label="Reset")
        self.Bind(wx.EVT_BUTTON, self.reset, self.ResetButton)

        #Button for entering/exiting delete mode
        self.DeleteModeButton = wx.Button(self, wx.ID_ANY, "Enter Delete Mode")
        self.Bind(wx.EVT_BUTTON, self.DeleteMode, self.DeleteModeButton)

        #bar to display instructions to user
        self.infobar = wx.InfoBar(self)
        #tel the infobar to have no opening/closing animations as it slows down the UI
        self.infobar.SetShowHideEffects(wx.SHOW_EFFECT_NONE,
                                        wx.SHOW_EFFECT_NONE)

        #Button to show results
        self.ResultsButton = wx.Button(self, wx.ID_ANY, "Results")
        self.Bind(wx.EVT_BUTTON, self.results, self.ResultsButton)

        #Place items in sizers
        self.mainsizer.Add(self.buttonsizer, 1, wx.EXPAND | wx.ALL)
        self.mainsizer.Add(self.PlotSizer, 3, wx.EXPAND)

        self.PlotSizer.Add(self.infobar, 0, wx.EXPAND)
        self.PlotSizer.Add(self.canvas, 3, wx.EXPAND | wx.ALL)

        #Set the sizer for the window and fit everything to the window
        self.SetSizer(self.mainsizer)

        self.resultsscreen = False
        self.ShowSetupControls()

        self.Fit()

        #show window
        self.Show()
示例#14
0
    def __init__(self, parent):
        wx.Frame.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          title=_(u"Dewarp"),
                          pos=wx.DefaultPosition,
                          size=wx.Size(640, 480),
                          style=wx.DEFAULT_FRAME_STYLE | wx.TAB_TRAVERSAL)

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

        self.m_menubar1 = wx.MenuBar(0)
        self.m_menu1 = wx.Menu()
        self.m_menuItem3 = wx.MenuItem(self.m_menu1, wx.ID_OPEN,
                                       _(u"Open") + u"\t" + u"Ctrl+O",
                                       _(u"Open an image file"),
                                       wx.ITEM_NORMAL)
        self.m_menu1.Append(self.m_menuItem3)

        self.m_menuItem8 = wx.MenuItem(self.m_menu1, wx.ID_SAVE,
                                       _(u"Save") + u"\t" + u"Ctrl+S",
                                       wx.EmptyString, wx.ITEM_NORMAL)
        self.m_menu1.Append(self.m_menuItem8)

        self.m_menuItem2 = wx.MenuItem(self.m_menu1, wx.ID_EXIT,
                                       _(u"Exit") + u"\t" + u"Alt+F4",
                                       _(u"Quits the program"), wx.ITEM_NORMAL)
        self.m_menu1.Append(self.m_menuItem2)

        self.m_menubar1.Append(self.m_menu1, _(u"File"))

        self.m_menu4 = wx.Menu()
        self.m_menuItem15 = wx.MenuItem(self.m_menu4, wx.ID_ANY,
                                        _(u"Fit to window"), wx.EmptyString,
                                        wx.ITEM_NORMAL)
        self.m_menu4.Append(self.m_menuItem15)

        self.m_menu4.AppendSeparator()

        self.m_menuItem18 = wx.MenuItem(
            self.m_menu4, wx.ID_ANY,
            _(u"Original size") + u"\t" + u"Ctrl+0",
            _(u"Reset image size to original size"), wx.ITEM_NORMAL)
        self.m_menu4.Append(self.m_menuItem18)

        self.m_menuItem16 = wx.MenuItem(self.m_menu4, wx.ID_ANY,
                                        _(u"Zoom in (x2)") + u"\t" + u"Ctrl++",
                                        wx.EmptyString, wx.ITEM_NORMAL)
        self.m_menu4.Append(self.m_menuItem16)

        self.m_menuItem17 = wx.MenuItem(
            self.m_menu4, wx.ID_ANY,
            _(u"Zoom out (/2)") + u"\t" + u"Ctrl+-", wx.EmptyString,
            wx.ITEM_NORMAL)
        self.m_menu4.Append(self.m_menuItem17)

        self.m_menubar1.Append(self.m_menu4, _(u"View"))

        self.m_menu3 = wx.Menu()
        self.m_menuItem4 = wx.MenuItem(
            self.m_menu3, wx.ID_ANY,
            _(u"Reset") + u"\t" + u"Alt+R",
            _(u"Deletes all points already set on the image"), wx.ITEM_NORMAL)
        self.m_menu3.Append(self.m_menuItem4)

        self.m_menuItem19 = wx.MenuItem(self.m_menu3, wx.ID_ANY,
                                        _(u"Guess corners"), wx.EmptyString,
                                        wx.ITEM_NORMAL)
        self.m_menu3.Append(self.m_menuItem19)

        self.m_menuItem5 = wx.MenuItem(
            self.m_menu3, wx.ID_ANY,
            _(u"Preview") + u"\t" + u"Alt+P",
            _(u"Opens the transformed image in a preview window"),
            wx.ITEM_NORMAL)
        self.m_menu3.Append(self.m_menuItem5)

        self.m_menu3.AppendSeparator()

        self.menuitem_grey = wx.MenuItem(self.m_menu3, wx.ID_ANY,
                                         _(u"Greyscale") + u"\t" + u"Alt+G",
                                         wx.EmptyString, wx.ITEM_CHECK)
        self.m_menu3.Append(self.menuitem_grey)

        self.menuitem_norm = wx.MenuItem(self.m_menu3, wx.ID_ANY,
                                         _(u"Normalize") + u"\t" + u"Alt+N",
                                         wx.EmptyString, wx.ITEM_CHECK)
        self.m_menu3.Append(self.menuitem_norm)

        self.menuitem_bin = wx.MenuItem(self.m_menu3, wx.ID_ANY,
                                        _(u"Binary") + u"\t" + u"Alt+B",
                                        wx.EmptyString, wx.ITEM_CHECK)
        self.m_menu3.Append(self.menuitem_bin)

        self.menu_threshold = wx.Menu()
        self.m_menuItem10 = wx.MenuItem(self.menu_threshold, wx.ID_ANY,
                                        _(u"Constant"), wx.EmptyString,
                                        wx.ITEM_RADIO)
        self.menu_threshold.Append(self.m_menuItem10)

        self.m_menuItem13 = wx.MenuItem(self.menu_threshold, wx.ID_ANY,
                                        _(u"Otsu"), wx.EmptyString,
                                        wx.ITEM_RADIO)
        self.menu_threshold.Append(self.m_menuItem13)

        self.m_menuItem11 = wx.MenuItem(self.menu_threshold, wx.ID_ANY,
                                        _(u"Adaptive mean"), wx.EmptyString,
                                        wx.ITEM_RADIO)
        self.menu_threshold.Append(self.m_menuItem11)

        self.m_menuItem12 = wx.MenuItem(self.menu_threshold, wx.ID_ANY,
                                        _(u"Adaptive gauss"), wx.EmptyString,
                                        wx.ITEM_RADIO)
        self.menu_threshold.Append(self.m_menuItem12)

        self.m_menu3.AppendSubMenu(self.menu_threshold,
                                   _(u"Thresholding mode"))

        self.m_menu3.AppendSeparator()

        self.m_menuItem14 = wx.MenuItem(self.m_menu3, wx.ID_ANY, _(u"Blur"),
                                        wx.EmptyString, wx.ITEM_CHECK)
        self.m_menu3.Append(self.m_menuItem14)

        self.m_menubar1.Append(self.m_menu3, _(u"Action"))

        self.m_menu2 = wx.Menu()
        self.m_menuItem1 = wx.MenuItem(
            self.m_menu2, wx.ID_ABOUT,
            _(u"About") + u"\t" + u"F1",
            _(u"Shows information about the software"), wx.ITEM_NORMAL)
        self.m_menu2.Append(self.m_menuItem1)

        self.m_menubar1.Append(self.m_menu2, _(u"Help"))

        self.SetMenuBar(self.m_menubar1)

        vSizer = wx.BoxSizer(wx.VERTICAL)

        self.m_panel3 = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition,
                                 wx.DefaultSize, wx.TAB_TRAVERSAL)
        fgSizer1 = wx.FlexGridSizer(3, 2, 0, 0)
        fgSizer1.SetFlexibleDirection(wx.BOTH)
        fgSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_NONE)

        self.m_staticText10 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                            _(u"Wrap: "), wx.DefaultPosition,
                                            wx.DefaultSize, 0)
        self.m_staticText10.Wrap(-1)
        fgSizer1.Add(self.m_staticText10, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                     5)

        bSizer5 = wx.BoxSizer(wx.HORIZONTAL)

        self.statictext_width = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                              _(u"Export width: "),
                                              wx.DefaultPosition,
                                              wx.DefaultSize, 0)
        self.statictext_width.Wrap(-1)
        bSizer5.Add(self.statictext_width, 0,
                    wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        self.textctrl_width = wx.TextCtrl(self.m_panel3, wx.ID_ANY, _(u"1414"),
                                          wx.DefaultPosition, wx.DefaultSize,
                                          0)
        self.textctrl_width.SetMaxLength(9)
        bSizer5.Add(self.textctrl_width, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                    5)

        self.statictext_height = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                               _(u" height: "),
                                               wx.DefaultPosition,
                                               wx.DefaultSize, 0)
        self.statictext_height.Wrap(-1)
        bSizer5.Add(self.statictext_height, 0,
                    wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        self.textctrl_height = wx.TextCtrl(self.m_panel3, wx.ID_ANY,
                                           _(u"2000"), wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.textctrl_height.SetMaxLength(9)
        bSizer5.Add(self.textctrl_height, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                    5)

        fgSizer1.Add(bSizer5, 1, wx.ALIGN_CENTER_VERTICAL | wx.EXPAND, 0)

        self.m_staticText12 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                            _(u"Binary: "), wx.DefaultPosition,
                                            wx.DefaultSize, 0)
        self.m_staticText12.Wrap(-1)
        fgSizer1.Add(self.m_staticText12, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                     5)

        bSizer6 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_staticText3 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                           _(u"Blocksize: "),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText3.Wrap(-1)
        bSizer6.Add(self.m_staticText3, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                    5)

        self.m_slider4 = wx.Slider(self.m_panel3, wx.ID_ANY, 11, 3, 100,
                                   wx.DefaultPosition, wx.DefaultSize,
                                   wx.SL_BOTH | wx.SL_HORIZONTAL)
        bSizer6.Add(self.m_slider4, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        self.m_staticText4 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                           _(u" constant: "),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText4.Wrap(-1)
        bSizer6.Add(self.m_staticText4, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                    5)

        self.m_slider5 = wx.Slider(self.m_panel3, wx.ID_ANY, 5, 0, 100,
                                   wx.DefaultPosition, wx.DefaultSize,
                                   wx.SL_BOTH | wx.SL_HORIZONTAL)
        bSizer6.Add(self.m_slider5, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        self.m_staticText21 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                            _(u" constant: "),
                                            wx.DefaultPosition, wx.DefaultSize,
                                            0)
        self.m_staticText21.Wrap(-1)
        bSizer6.Add(self.m_staticText21, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                    5)

        self.m_slider3 = wx.Slider(self.m_panel3, wx.ID_ANY, 127, 0, 255,
                                   wx.DefaultPosition, wx.DefaultSize,
                                   wx.SL_BOTH | wx.SL_HORIZONTAL)
        bSizer6.Add(self.m_slider3, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        fgSizer1.Add(bSizer6, 1, wx.EXPAND, 0)

        self.m_staticText8 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                           _(u"Blur: "), wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText8.Wrap(-1)
        fgSizer1.Add(self.m_staticText8, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                     5)

        bSizer61 = wx.BoxSizer(wx.HORIZONTAL)

        self.m_slider41 = wx.Slider(self.m_panel3, wx.ID_ANY, 5, 0, 41,
                                    wx.DefaultPosition, wx.DefaultSize,
                                    wx.SL_BOTH | wx.SL_HORIZONTAL)
        bSizer61.Add(self.m_slider41, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        self.m_staticText9 = wx.StaticText(self.m_panel3, wx.ID_ANY,
                                           _(u" not black: "),
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText9.Wrap(-1)
        bSizer61.Add(self.m_staticText9, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL,
                     5)

        self.m_slider51 = wx.Slider(self.m_panel3, wx.ID_ANY, 100, 0, 100,
                                    wx.DefaultPosition, wx.DefaultSize,
                                    wx.SL_HORIZONTAL)
        bSizer61.Add(self.m_slider51, 0, wx.ALIGN_CENTER_VERTICAL | wx.ALL, 5)

        fgSizer1.Add(bSizer61, 1, wx.EXPAND, 0)

        self.m_panel3.SetSizer(fgSizer1)
        self.m_panel3.Layout()
        fgSizer1.Fit(self.m_panel3)
        vSizer.Add(self.m_panel3, 0, wx.EXPAND | wx.ALL, 0)

        self.infobar = wx.InfoBar(self)
        self.infobar.SetShowHideEffects(wx.SHOW_EFFECT_BLEND,
                                        wx.SHOW_EFFECT_NONE)
        self.infobar.SetEffectDuration(100)
        vSizer.Add(self.infobar, 0, wx.EXPAND, 0)

        hSizer = wx.BoxSizer(wx.HORIZONTAL)

        bSizer3 = wx.BoxSizer(wx.VERTICAL)

        filelistChoices = [_(u"Testfile1"), _(u"Testfile2")]
        self.filelist = wx.CheckListBox(
            self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize,
            filelistChoices, wx.LB_EXTENDED | wx.LB_HSCROLL | wx.LB_NEEDED_SB)
        bSizer3.Add(self.filelist, 1, wx.EXPAND, 0)

        self.magnification = wx.StaticBitmap(self, wx.ID_ANY, wx.NullBitmap,
                                             wx.DefaultPosition,
                                             wx.DefaultSize, 0)
        bSizer3.Add(self.magnification, 0, wx.EXPAND | wx.SHAPED, 0)

        hSizer.Add(bSizer3, 0, wx.EXPAND, 0)

        self.ImageWindow = wx.ScrolledWindow(self, wx.ID_ANY,
                                             wx.DefaultPosition,
                                             wx.DefaultSize,
                                             wx.HSCROLL | wx.VSCROLL)
        self.ImageWindow.SetScrollRate(5, 5)
        bSizer7 = wx.BoxSizer(wx.VERTICAL)

        self.ImageCtrl = wx.StaticBitmap(self.ImageWindow, wx.ID_ANY,
                                         wx.NullBitmap, wx.DefaultPosition,
                                         wx.DefaultSize, 0)
        bSizer7.Add(self.ImageCtrl, 1, wx.EXPAND, 0)

        self.ImageWindow.SetSizer(bSizer7)
        self.ImageWindow.Layout()
        bSizer7.Fit(self.ImageWindow)
        hSizer.Add(self.ImageWindow, 1, wx.EXPAND, 0)

        vSizer.Add(hSizer, 1, wx.EXPAND, 0)

        self.SetSizer(vSizer)
        self.Layout()
        self.sb = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY)

        self.Centre(wx.BOTH)

        # Connect Events
        self.Bind(wx.EVT_CLOSE, self.OnClose)
        self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
        self.Bind(wx.EVT_MENU, self.OnOpen, id=self.m_menuItem3.GetId())
        self.Bind(wx.EVT_MENU, self.OnSave, id=self.m_menuItem8.GetId())
        self.Bind(wx.EVT_MENU, self.OnClose, id=self.m_menuItem2.GetId())
        self.Bind(wx.EVT_MENU, self.OnReset, id=self.m_menuItem4.GetId())
        self.Bind(wx.EVT_MENU,
                  self.OnGuessCorners,
                  id=self.m_menuItem19.GetId())
        self.Bind(wx.EVT_MENU, self.OnPreview, id=self.m_menuItem5.GetId())
        self.Bind(wx.EVT_MENU, self.OnGreyscale, id=self.menuitem_grey.GetId())
        self.Bind(wx.EVT_MENU, self.OnNormalize, id=self.menuitem_norm.GetId())
        self.Bind(wx.EVT_MENU, self.OnBinary, id=self.menuitem_bin.GetId())
        self.Bind(wx.EVT_MENU, self.OnBinConst, id=self.m_menuItem10.GetId())
        self.Bind(wx.EVT_MENU, self.OnBinOtsu, id=self.m_menuItem13.GetId())
        self.Bind(wx.EVT_MENU,
                  self.OnBinAdaptMean,
                  id=self.m_menuItem11.GetId())
        self.Bind(wx.EVT_MENU,
                  self.OnBinAdaptGauss,
                  id=self.m_menuItem12.GetId())
        self.Bind(wx.EVT_MENU, self.OnBlur, id=self.m_menuItem14.GetId())
        self.Bind(wx.EVT_MENU, self.OnAbout, id=self.m_menuItem1.GetId())
        self.m_slider4.Bind(wx.EVT_SCROLL, self.OnChangeBlocksize)
        self.m_slider5.Bind(wx.EVT_SCROLL, self.OnChangeConstant)
        self.m_slider3.Bind(wx.EVT_SCROLL, self.OnChangeConstant)
        self.m_slider41.Bind(wx.EVT_SCROLL, self.OnChangeBlur)
        self.m_slider51.Bind(wx.EVT_SCROLL, self.OnChangeColorRatio)
        self.ImageCtrl.Bind(wx.EVT_LEFT_DOWN, self.OnDown)
        self.ImageCtrl.Bind(wx.EVT_LEFT_UP, self.OnUp)
        self.ImageCtrl.Bind(wx.EVT_MOTION, self.OnMotion)
        self.ImageCtrl.Bind(wx.EVT_PAINT, self.OnPaint)
        self.ImageCtrl.Bind(wx.EVT_SIZE, self.OnSize)
示例#15
0
    def __init__(self, parent=None, name='', *args, **kw):
        wx.Panel.__init__(self, parent, id=-1)
        WorkspaceHelper.__init__(self)
        self.parent = parent
        self.info = wx.InfoBar(self)
        vBox = wx.BoxSizer(wx.VERTICAL)
        vBoxHeader = wx.BoxSizer(wx.VERTICAL)
        vBoxBody = wx.BoxSizer(wx.VERTICAL)
        vBoxFooter = wx.BoxSizer(wx.VERTICAL)
        ####################################################################
        '''
        Header section
        '''
        self.st = wx.StaticLine(self, wx.ID_ANY)
        # Make and layout the controls
        fs = self.GetFont().GetPointSize()
        bf = wx.Font(fs + 4, wx.SWISS, wx.NORMAL, wx.BOLD)
        nf = wx.Font(fs + 2, wx.SWISS, wx.NORMAL, wx.NORMAL)

        self.header = wx.StaticText(self, -1, name)
        self.header.SetFont(bf)
        vBoxHeader.Add(self.header, 0, wx.ALL | wx.EXPAND, 5)
        vBoxHeader.Add(self.st, 0, wx.ALL | wx.EXPAND, 5)
        ####################################################################)
        workspacePath = self.getWorkpacePath()
        #         self.workspacePathLabel = wx.StaticText(self, -1, "Workspace path:")
        self.workspacePathText = filebrowse.DirBrowseButton(
            self,
            -1,
            size=(450, -1),
            changeCallback=self.dbbCallback,
            labelText="Workspace path:")
        self.workspacePathText.startDirectory = workspacePath
        self.workspacePathText.SetValue(workspacePath)
        #         self.workspacePathText = wx.TextCtrl(self, -1, self.getWorkpacePath(), size=(150, -1));
        self.workspacePathText.SetHelpText("Workspace Path")
        #         self.workspacePathText.SetBackgroundColour("light Gray")
        #         self.workspacePathText.SetBackgroundStyle(wx.TE_READONLY)

        #         bookNameLabel = wx.StaticText(self, -1, "Title:")
        #         bookName = wx.TextCtrl(self, -1, "", size=(150, -1));
        #
        #         booShortkNameLabel = wx.StaticText(self, -1, "Short Title:")
        #         bookShortName = ExpandoTextCtrl(self, -1, "", size=(150, -1));

        #         authorsLabel = wx.StaticText(self, -1, "Authors:")
        #         authorName = wx.TextCtrl(self, -1, "", size=(50, -1));
        #
        #         numberOfPagesLabel = wx.StaticText(self, -1, "Number of pages:")
        #         numberOfPages = wx.TextCtrl(self, -1, "", size=(70, -1));
        #

        hBox1 = wx.BoxSizer(wx.HORIZONTAL)
        #         hBox1.Add(self.workspacePathLabel , 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL)
        hBox1.Add(self.workspacePathText, 0, wx.EXPAND | wx.ALL)

        hBox2 = wx.BoxSizer(wx.HORIZONTAL)
        #         hBox2.Add(authorsLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL)
        #         hBox2.Add(authorName, 0, wx.EXPAND | wx.ALL)

        hBox3 = wx.BoxSizer(wx.HORIZONTAL)

        #         hBox3.Add(booShortkNameLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL)
        #         hBox3.Add(bookShortName, 0, wx.EXPAND|wx.ALL)

        hBox4 = wx.BoxSizer(wx.HORIZONTAL)
        #         hBox4.Add(numberOfPagesLabel, 0, wx.ALIGN_RIGHT | wx.ALIGN_CENTER_VERTICAL)
        #         hBox4.Add(numberOfPages, 0, wx.EXPAND | wx.ALL)
        ####################################################################
        '''
        Footer section
        '''
        self.applyResetButtonPanel = ApplyResetButtonPanel(self)
        vBoxFooter.Add(self.applyResetButtonPanel, 0, wx.EXPAND | wx.ALL, 1)

        ####################################################################
        vBoxBody.Add(hBox1, 0, wx.EXPAND | wx.ALL, 1)
        vBoxBody.Add(hBox2, 0, wx.EXPAND | wx.ALL, 1)
        vBoxBody.Add(hBox3, 0, wx.EXPAND | wx.ALL, 1)
        vBoxBody.Add(hBox4, 0, wx.EXPAND | wx.ALL, 1)
        vBox.Add(self.info, 0, wx.EXPAND)
        vBox.Add(vBoxHeader, 1, wx.EXPAND | wx.ALL, 1)
        vBox.Add(vBoxBody, 99, wx.EXPAND | wx.ALL, 1)
        vBox.Add(vBoxFooter, 1, wx.EXPAND | wx.ALL, 1)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(vBox, 0, wx.EXPAND, 1)
        self.SetSizer(sizer)
示例#16
0
 def test_infobarDefaultCtor(self):
     ib = wx.InfoBar()
     ib.Create(self.frame)
示例#17
0
 def test_infobar1(self):
     ib = wx.InfoBar(self.frame)
     ib.ShowMessage("hello world")
     self.myYield()
     ib.Dismiss()
示例#18
0
    def __init__(self, parent=None, name='', *args, **kw):
        wx.Panel.__init__(self, parent, id=-1)
        WorkspaceHelper.__init__(self)
        self.parent = parent
        self.info = wx.InfoBar(self)
        vBox = wx.BoxSizer(wx.VERTICAL)
        vBoxHeader = wx.BoxSizer(wx.VERTICAL)
        vBoxBody = wx.BoxSizer(wx.VERTICAL)
        vBoxFooter = wx.BoxSizer(wx.VERTICAL)
        ####################################################################
        '''
        Header section
        '''
        self.st = wx.StaticLine(self, wx.ID_ANY)
        # Make and layout the controls
        fs = self.GetFont().GetPointSize()
        bf = wx.Font(fs + 4, wx.SWISS, wx.NORMAL, wx.BOLD)
        nf = wx.Font(fs + 2, wx.SWISS, wx.NORMAL, wx.NORMAL)

        self.header = wx.StaticText(self, -1, name)
        self.header.SetFont(bf)
        vBoxHeader.Add(self.header, 0, wx.ALL | wx.EXPAND, 5)
        vBoxHeader.Add(self.st, 0, wx.ALL | wx.EXPAND, 5)
        ####################################################################

        #         self.runInBackground = wx.CheckBox(self, -1, "Always run in background", style=wx.ALIGN_LEFT)
        #         self.next_previous = wx.CheckBox(self, -1, "Keep next/previous editor, view and perspectives dialog open", style=wx.ALIGN_LEFT)
        #         self.showHeapStatus = wx.CheckBox(self, -1, "Show heap status", style=wx.ALIGN_LEFT)
        #
        #         hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        #         l1 = wx.StaticText(self, -1, "Workbench save interval (in minutes): ")
        #         hbox1.Add(l1, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 5)
        #         self.t1 = wx.TextCtrl(self, value="5")
        #         hbox1.Add(self.t1, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 5)
        #
        #         box_title = wx.StaticBox(self, -1, "Open mode")
        #         radio1 = wx.RadioButton(self, -1, " Double click ")
        #         radio2 = wx.RadioButton(self, -1, " Single click ")
        #         l2 = wx.StaticText(self, -1, "Note : This preference may not take effect on all views ")
        #         box = wx.StaticBoxSizer(box_title, wx.VERTICAL)
        #         grid = wx.FlexGridSizer(cols=1)
        #         grid.Add(radio1, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT | wx.TOP, 5)
        #         grid.Add(radio2, 0, wx.ALIGN_LEFT | wx.LEFT | wx.RIGHT | wx.TOP, 5)
        #         box.Add(grid, 0, wx.ALIGN_LEFT | wx.ALL, 5)
        #         box.Add(l2 , 0, wx.ALIGN_LEFT | wx.ALL, 5)
        #
        #         vBox1 = wx.BoxSizer(wx.VERTICAL)
        #         vBox1.Add(self.runInBackground, 0, wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL, 5)
        #         vBox1.Add(self.next_previous, 0, wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL, 5)
        #         vBox1.Add(self.showHeapStatus, 0, wx.ALIGN_LEFT | wx.ALIGN_CENTER_VERTICAL, 5)
        #         vBox1.Add(hbox1, 0, wx.EXPAND | wx.ALL, 5)
        #         vBox1.Add(box, 0, wx.EXPAND | wx.ALL, 5)
        libraryPath = self.getLibraryPath()
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        self.dbb = filebrowse.DirBrowseButton(self,
                                              -1,
                                              size=(450, -1),
                                              changeCallback=self.dbbCallback,
                                              labelText="Library path:")
        self.dbb.startDirectory = libraryPath
        self.dbb.SetValue(libraryPath)
        hbox1.Add(self.dbb, 1, wx.EXPAND | wx.ALIGN_LEFT | wx.ALL, 5)

        #         btn = wx.Button(self, wx.ID_HELP)
        hBox3 = wx.BoxSizer(wx.HORIZONTAL)

        ####################################################################
        '''
        Footer section
        '''
        self.applyResetButtonPanel = ApplyResetButtonPanel(self)
        vBoxFooter.Add(self.applyResetButtonPanel, 0, wx.EXPAND | wx.ALL, 1)

        ####################################################################
        #         vBoxBody.Add(vBox1, 0, wx.EXPAND | wx.ALL, 1)
        vBox.Add(self.info, 0, wx.EXPAND)
        vBoxBody.Add(hbox1, 0, wx.EXPAND | wx.ALL, 1)

        vBox.Add(vBoxHeader, 0, wx.EXPAND | wx.ALL, 1)

        vBox.Add(vBoxBody, 1, wx.EXPAND | wx.ALL, 1)
        vBox.Add(vBoxFooter, 0, wx.EXPAND | wx.ALL, 1)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(vBox, 0, wx.EXPAND, 1)
        self.SetSizer(sizer)
示例#19
0
 def test_infobarCtor(self):
     ib = wx.InfoBar(self.frame)
示例#20
0
    def __init__(self,
                 parent,
                 sid,
                 title,
                 size=(350, 225),
                 pos=wx.DefaultPosition,
                 style=wx.DEFAULT_DIALOG_STYLE,
                 name='dialog'):
        wx.Dialog.__init__(self)
        self.Create(parent, sid, title, pos, size, style, name)

        self.info = wx.InfoBar(self)

        oldpassword_label = wx.StaticText(self, -1, "原登录密码:")
        newpassword_label = wx.StaticText(self, -1, "新密码:")
        comfirm_label = wx.StaticText(self, -1, "新密码确认:")

        self.tc_oldpasswd = wx.TextCtrl(
            self,
            -1,
            "",
            style=wx.TE_PASSWORD,
        )
        self.tc_oldpasswd.SetMaxLength(15)
        self.tc_newpasswd = wx.TextCtrl(self, -1, "", style=wx.TE_PASSWORD)
        self.tc_newpasswd.SetMaxLength(15)
        self.tc_comfirmpasswd = wx.TextCtrl(self, -1, "", style=wx.TE_PASSWORD)
        self.tc_comfirmpasswd.SetMaxLength(15)

        fgSizer = wx.FlexGridSizer(3, 2, 5, 5)
        fgSizer.Add(oldpassword_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_oldpasswd, 1, wx.ALL | wx.EXPAND, 5)
        fgSizer.Add(newpassword_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_newpasswd, 1, wx.ALL | wx.EXPAND, 5)
        fgSizer.Add(comfirm_label, 0, wx.ALIGN_RIGHT | wx.ALL, 5)
        fgSizer.Add(self.tc_comfirmpasswd, 1, wx.ALL | wx.EXPAND, 5)
        fgSizer.AddGrowableCol(1)

        line = wx.StaticLine(self, -1, size=(20, -1), style=wx.LI_HORIZONTAL)

        save_btn = wx.Button(self, wx.ID_OK, label="保存")
        save_btn.SetDefault()
        cancel_btn = wx.Button(self, wx.ID_CANCEL, label="取消")
        hbox = wx.BoxSizer(wx.HORIZONTAL)
        hbox.Add(save_btn, 0, wx.ALL, 5)
        hbox.Add(cancel_btn, 0, wx.ALL, 5)

        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer.Add(self.info, 0, wx.ALL | wx.EXPAND, 5)
        sizer.Add(fgSizer, 0, wx.ALL | wx.EXPAND, 5)
        sizer.Add(line, 0, wx.ALL | wx.EXPAND, 5)
        sizer.Add(hbox, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.SetSizer(sizer)

        self.Bind(wx.EVT_BUTTON, self.OnSave, save_btn)
        self.Bind(wx.EVT_BUTTON, self.OnCancel, cancel_btn)

        self.tc_oldpasswd.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_newpasswd.Bind(wx.EVT_SET_FOCUS, self.OnFocus)
        self.tc_comfirmpasswd.Bind(wx.EVT_SET_FOCUS, self.OnFocus)