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)
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)
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')
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()
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)
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)
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 = '添加物品类别成功!'
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)
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 = '添加物品成功!'
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()
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)
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)
def test_infobarDefaultCtor(self): ib = wx.InfoBar() ib.Create(self.frame)
def test_infobar1(self): ib = wx.InfoBar(self.frame) ib.ShowMessage("hello world") self.myYield() ib.Dismiss()
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)
def test_infobarCtor(self): ib = wx.InfoBar(self.frame)
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)