def test_simplebook03(self): nb = wx.Simplebook(self.frame) p1 = wx.Panel(nb) nb.AddPage(p1, "") p2 = wx.Panel(nb) nb.AddPage(p2, "") nb.ChangeSelection(0)
def setup_selector(self): "create the selector" # print('in setup_selector') self.sel = wx.ComboBox(self, size=(140, -1), style=wx.CB_READONLY) self.sel.Bind(wx.EVT_COMBOBOX, self.after_changing_page) # als ik echt met een choicebook werkte, kon ik deze *twee* gebruiken: # self.book.Bind(wx.EVT_CHOICEBOOK_PAGE_CHANGED, self.OnPageChanged) # self.book.Bind(wx.EVT_CHOICEBOOK_PAGE_CHANGING, self.OnPageChanging) self.pnl = wx.Simplebook(self)
def __init__(self, *args, **kwgs): wx.Panel.__init__(self, *args, **kwgs) # current file and folder self.currentFile = '' self.currentDir = os.getcwd() # book control self.book = wx.Simplebook(self) # directory control self.ftree = wx.GenericDirCtrl(self.book, style=wx.DIRCTRL_EDIT_LABELS | wx.DIRCTRL_DIR_ONLY) # webview: flie list mode self.flist = html2.WebView.New(self.book) # webview: flie view mode # TODO: this will be replaced by proper viewer # wx.lib.ClickableHtmlWindow # wx.lib.docview # wx.lib.iewin # wx.lib.imagebrowser # wx.lib.imagebrowser.ImagePanel # wx.lib.pdfviewer # wx.lib.pdfwin # wx.lib.pydocview # textviewer # texteditor self.fview = html2.WebView.New(self.book) # button bitmaps bmpFTree = peiFTree.GetBitmap() bmpFList = peiFList.GetBitmap() bmpFView = peiFView.GetBitmap() bmpBMark = peiBMark.GetBitmap() # self.btnFTree = wx.BitmapToggleButton( self, -1, bmpFTree, (20, 20), (bmpFTree.GetWidth() + 14, bmpFTree.GetHeight() + 14)) self.btnFList = wx.BitmapToggleButton( self, -1, bmpFList, (20, 20), (bmpFList.GetWidth() + 14, bmpFList.GetHeight() + 14)) self.btnFView = wx.BitmapToggleButton( self, -1, bmpFView, (20, 20), (bmpFView.GetWidth() + 14, bmpFView.GetHeight() + 14)) self.btnBMark = wx.BitmapButton( self, -1, bmpBMark, (20, 20), (bmpBMark.GetWidth() + 14, bmpBMark.GetHeight() + 14)) # self.pages = [{ 'name': 'Tree', 'page': self.ftree, 'button': self.btnFTree }, { 'name': 'List', 'page': self.flist, 'button': self.btnFList }, { 'name': 'View', 'page': self.fview, 'button': self.btnFView }] # add pages to the book for idx, item in enumerate(self.pages): self.book.AddPage(item['page'], '') item['page no'] = idx # address bar self.bookmark = BookMark(self, -1, choices=[], style=wx.TE_PROCESS_ENTER) sizer_h = wx.BoxSizer(wx.HORIZONTAL) sizer_h.Add(self.btnFTree, 0, wx.ALL, 2) sizer_h.Add(self.btnFList, 0, wx.ALL, 2) sizer_h.Add(self.btnFView, 0, wx.ALL, 2) sizer_h.Add(self.bookmark, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 2) sizer_h.Add(self.btnBMark, 0, wx.ALL, 2) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.book, 1, wx.ALL | wx.EXPAND, 4) sizer.Add(sizer_h, 0, wx.ALL | wx.EXPAND, 0) self.SetSizer(sizer) self.SetAutoLayout(True) sizer.Fit(self) # event from DIRCTRL self.Bind(wx.EVT_DIRCTRL_SELECTIONCHANGED, self.OnDirSelChanged, self.ftree) self.Bind(wx.EVT_DIRCTRL_FILEACTIVATED, self.OnFileActivated, self.ftree) # event from WEBVIEW self.Bind(wx.html2.EVT_WEBVIEW_NAVIGATED, self.OnWebNavigated, self.flist) self.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.OnWebLoaded, self.flist) # event from TOGGLEBUTTON self.Bind(wx.EVT_TOGGLEBUTTON, self.OnPageChange, self.btnFTree) self.Bind(wx.EVT_TOGGLEBUTTON, self.OnPageChange, self.btnFList) self.Bind(wx.EVT_TOGGLEBUTTON, self.OnPageChange, self.btnFView) # event from BUTTON self.Bind(wx.EVT_BUTTON, self.OnBookMark, self.btnBMark) # event from COMBOBOX self.Bind(wx.EVT_COMBOBOX, self.OnAddressSelect, self.bookmark) self.Bind(wx.EVT_TEXT_ENTER, self.OnAddressEnter, self.bookmark) # set initial page self.btnFTree.SetValue(1) self.SetCurrentPage('Tree')
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(900, 600), style=wx.TAB_TRAVERSAL, name=wx.EmptyString): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style, name=name) fs_layout = wx.BoxSizer(wx.VERTICAL) self.fs_split_ft_fp = wx.SplitterWindow(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.SP_3D | wx.SP_LIVE_UPDATE) self.fs_split_ft_fp.Bind(wx.EVT_IDLE, self.fs_split_ft_fpOnIdle) self.fs_filetree = wx.Panel(self.fs_split_ft_fp, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) ft_layout = wx.BoxSizer(wx.VERTICAL) self.ft_filetree = wx.TreeCtrl( self.fs_filetree, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE | wx.TR_EDIT_LABELS | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_HIDE_ROOT | wx.TR_NO_LINES | wx.TR_TWIST_BUTTONS) self.ft_filetree.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString)) ft_layout.Add(self.ft_filetree, 1, wx.EXPAND, 5) self.fs_filetree.SetSizer(ft_layout) self.fs_filetree.Layout() ft_layout.Fit(self.fs_filetree) self.fs_filepreview = wx.Panel(self.fs_split_ft_fp, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_layout = wx.BoxSizer(wx.VERTICAL) self.fp_formats_book = wx.Simplebook(self.fs_filepreview, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.fp_empty = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.fp_formats_book.AddPage(self.fp_empty, u"a page", True) self.fp_text = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_text_layout = wx.BoxSizer(wx.VERTICAL) self.fp_text_edit = wx.TextCtrl(self.fp_text, wx.ID_ANY, u"Hello World!", wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE) fp_text_layout.Add(self.fp_text_edit, 1, wx.EXPAND, 5) self.fp_text.SetSizer(fp_text_layout) self.fp_text.Layout() fp_text_layout.Fit(self.fp_text) self.fp_formats_book.AddPage(self.fp_text, u"a page", False) self.fp_gds = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_gds_layout = wx.BoxSizer(wx.VERTICAL) self.fp_gds_stc = GdsSTC(self.fp_gds, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.fp_gds_stc.SetUseTabs(True) self.fp_gds_stc.SetTabWidth(4) self.fp_gds_stc.SetIndent(4) self.fp_gds_stc.SetTabIndents(True) self.fp_gds_stc.SetBackSpaceUnIndents(True) self.fp_gds_stc.SetViewEOL(False) self.fp_gds_stc.SetViewWhiteSpace(False) self.fp_gds_stc.SetMarginWidth(2, 0) self.fp_gds_stc.SetIndentationGuides(True) self.fp_gds_stc.SetReadOnly(False) self.fp_gds_stc.SetMarginType(1, wx.stc.STC_MARGIN_SYMBOL) self.fp_gds_stc.SetMarginMask(1, wx.stc.STC_MASK_FOLDERS) self.fp_gds_stc.SetMarginWidth(1, 16) self.fp_gds_stc.SetMarginSensitive(1, True) self.fp_gds_stc.SetProperty("fold", "1") self.fp_gds_stc.SetFoldFlags( wx.stc.STC_FOLDFLAG_LINEBEFORE_CONTRACTED | wx.stc.STC_FOLDFLAG_LINEAFTER_CONTRACTED) self.fp_gds_stc.SetMarginType(0, wx.stc.STC_MARGIN_NUMBER) self.fp_gds_stc.SetMarginWidth( 0, self.fp_gds_stc.TextWidth(wx.stc.STC_STYLE_LINENUMBER, "_99999")) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS) self.fp_gds_stc.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDER, wx.BLACK) self.fp_gds_stc.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDER, wx.WHITE) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS) self.fp_gds_stc.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK) self.fp_gds_stc.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS) self.fp_gds_stc.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK) self.fp_gds_stc.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS) self.fp_gds_stc.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK) self.fp_gds_stc.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY) self.fp_gds_stc.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY) self.fp_gds_stc.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT)) self.fp_gds_stc.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) fp_gds_layout.Add(self.fp_gds_stc, 1, wx.EXPAND, 5) fp_gds_cmd_layout = wx.BoxSizer(wx.HORIZONTAL) self.fp_gds_cmd_name = wx.StaticText(self.fp_gds, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) self.fp_gds_cmd_name.Wrap(-1) self.fp_gds_cmd_name.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, wx.EmptyString)) fp_gds_cmd_layout.Add(self.fp_gds_cmd_name, 0, wx.TOP | wx.BOTTOM | wx.LEFT, 5) self.fp_gds_cmd_help = wx.StaticText(self.fp_gds, wx.ID_ANY, u"g", wx.DefaultPosition, wx.DefaultSize, 0) self.fp_gds_cmd_help.Wrap(-1) fp_gds_cmd_layout.Add(self.fp_gds_cmd_help, 0, wx.ALL, 5) fp_gds_layout.Add(fp_gds_cmd_layout, 0, wx.EXPAND, 5) self.fp_gds.SetSizer(fp_gds_layout) self.fp_gds.Layout() fp_gds_layout.Fit(self.fp_gds) self.fp_formats_book.AddPage(self.fp_gds, u"a page", False) self.fp_bg = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_bg_layout = wx.BoxSizer(wx.VERTICAL) self.fp_bg_viewimage_scaled = ScaledImage(self.fp_bg, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.fp_bg_viewimage_scaled.SetBackgroundColour( wx.Colour(248, 248, 248)) fp_bg_layout.Add(self.fp_bg_viewimage_scaled, 1, wx.EXPAND, 5) self.fp_bg.SetSizer(fp_bg_layout) self.fp_bg.Layout() fp_bg_layout.Fit(self.fp_bg) self.fp_formats_book.AddPage(self.fp_bg, u"a page", False) self.fp_ani = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_ani_layout = wx.BoxSizer(wx.VERTICAL) self.fp_ani_imageindex = wx.Slider( self.fp_ani, wx.ID_ANY, 0, 0, 4, wx.DefaultPosition, wx.DefaultSize, wx.SL_AUTOTICKS | wx.SL_HORIZONTAL | wx.SL_LABELS) fp_ani_layout.Add(self.fp_ani_imageindex, 0, wx.EXPAND | wx.RIGHT | wx.LEFT, 5) self.fp_ani_viewimage_scaled = ScaledImage(self.fp_ani, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.fp_ani_viewimage_scaled.SetBackgroundColour( wx.Colour(248, 248, 248)) fp_ani_layout.Add(self.fp_ani_viewimage_scaled, 1, wx.ALL | wx.EXPAND, 5) self.fp_ani.SetSizer(fp_ani_layout) self.fp_ani.Layout() fp_ani_layout.Fit(self.fp_ani) self.fp_formats_book.AddPage(self.fp_ani, u"a page", False) self.fp_place = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_place_layout = wx.BoxSizer(wx.VERTICAL) self.fp_place_viewer = PlaceViewer(self.fp_place, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_place_layout.Add(self.fp_place_viewer, 1, wx.EXPAND | wx.ALL, 5) self.fp_place.SetSizer(fp_place_layout) self.fp_place.Layout() fp_place_layout.Fit(self.fp_place) self.fp_formats_book.AddPage(self.fp_place, u"a page", False) self.fp_samplebank = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_samplebank_layout = wx.BoxSizer(wx.VERTICAL) fp_samplebank_listChoices = [] self.fp_samplebank_list = wx.ListBox(self.fp_samplebank, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, fp_samplebank_listChoices, 0) fp_samplebank_layout.Add(self.fp_samplebank_list, 1, wx.ALL | wx.EXPAND, 5) self.fp_samplebank.SetSizer(fp_samplebank_layout) self.fp_samplebank.Layout() fp_samplebank_layout.Fit(self.fp_samplebank) self.fp_formats_book.AddPage(self.fp_samplebank, u"a page", False) self.fp_info = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_info_layout = wx.BoxSizer(wx.VERTICAL) self.fp_info_text = wx.TextCtrl(self.fp_info, wx.ID_ANY, u"Hello World!", wx.DefaultPosition, wx.DefaultSize, wx.TE_MULTILINE) self.fp_info_text.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_MENU)) fp_info_layout.Add(self.fp_info_text, 1, wx.EXPAND, 5) self.fp_info.SetSizer(fp_info_layout) self.fp_info.Layout() fp_info_layout.Fit(self.fp_info) self.fp_formats_book.AddPage(self.fp_info, u"a page", False) self.fp_puzzle = wx.Panel(self.fp_formats_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) fp_puzzle_layout = wx.BoxSizer(wx.VERTICAL) self.puzzle_scintilla = wx.stc.StyledTextCtrl(self.fp_puzzle, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.puzzle_scintilla.SetUseTabs(False) self.puzzle_scintilla.SetTabWidth(4) self.puzzle_scintilla.SetIndent(4) self.puzzle_scintilla.SetTabIndents(True) self.puzzle_scintilla.SetBackSpaceUnIndents(True) self.puzzle_scintilla.SetViewEOL(False) self.puzzle_scintilla.SetViewWhiteSpace(False) self.puzzle_scintilla.SetMarginWidth(2, 0) self.puzzle_scintilla.SetIndentationGuides(True) self.puzzle_scintilla.SetReadOnly(False) self.puzzle_scintilla.SetMarginType(1, wx.stc.STC_MARGIN_SYMBOL) self.puzzle_scintilla.SetMarginMask(1, wx.stc.STC_MASK_FOLDERS) self.puzzle_scintilla.SetMarginWidth(1, 16) self.puzzle_scintilla.SetMarginSensitive(1, True) self.puzzle_scintilla.SetProperty("fold", "1") self.puzzle_scintilla.SetFoldFlags( wx.stc.STC_FOLDFLAG_LINEBEFORE_CONTRACTED | wx.stc.STC_FOLDFLAG_LINEAFTER_CONTRACTED) self.puzzle_scintilla.SetMarginType(0, wx.stc.STC_MARGIN_NUMBER) self.puzzle_scintilla.SetMarginWidth( 0, self.puzzle_scintilla.TextWidth(wx.stc.STC_STYLE_LINENUMBER, "_99999")) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDER, wx.stc.STC_MARK_BOXPLUS) self.puzzle_scintilla.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDER, wx.BLACK) self.puzzle_scintilla.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDER, wx.WHITE) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPEN, wx.stc.STC_MARK_BOXMINUS) self.puzzle_scintilla.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.BLACK) self.puzzle_scintilla.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPEN, wx.WHITE) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERSUB, wx.stc.STC_MARK_EMPTY) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEREND, wx.stc.STC_MARK_BOXPLUS) self.puzzle_scintilla.MarkerSetBackground(wx.stc.STC_MARKNUM_FOLDEREND, wx.BLACK) self.puzzle_scintilla.MarkerSetForeground(wx.stc.STC_MARKNUM_FOLDEREND, wx.WHITE) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.stc.STC_MARK_BOXMINUS) self.puzzle_scintilla.MarkerSetBackground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.BLACK) self.puzzle_scintilla.MarkerSetForeground( wx.stc.STC_MARKNUM_FOLDEROPENMID, wx.WHITE) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERMIDTAIL, wx.stc.STC_MARK_EMPTY) self.puzzle_scintilla.MarkerDefine(wx.stc.STC_MARKNUM_FOLDERTAIL, wx.stc.STC_MARK_EMPTY) self.puzzle_scintilla.SetSelBackground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHT)) self.puzzle_scintilla.SetSelForeground( True, wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) fp_puzzle_layout.Add(self.puzzle_scintilla, 1, wx.EXPAND | wx.ALL, 0) self.fp_puzzle.SetSizer(fp_puzzle_layout) self.fp_puzzle.Layout() fp_puzzle_layout.Fit(self.fp_puzzle) self.fp_formats_book.AddPage(self.fp_puzzle, u"a page", False) fp_layout.Add(self.fp_formats_book, 1, wx.EXPAND, 5) self.fs_filepreview.SetSizer(fp_layout) self.fs_filepreview.Layout() fp_layout.Fit(self.fs_filepreview) self.fs_split_ft_fp.SplitVertically(self.fs_filetree, self.fs_filepreview, 0) fs_layout.Add(self.fs_split_ft_fp, 1, wx.EXPAND, 5) self.SetSizer(fs_layout) self.Layout() # Connect Events self.ft_filetree.Bind(wx.EVT_TREE_END_LABEL_EDIT, self.ft_filetree_end_label_edit) self.ft_filetree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.ft_filetree_activated) self.ft_filetree.Bind(wx.EVT_TREE_KEY_DOWN, self.ft_filetree_keydown) self.ft_filetree.Bind(wx.EVT_TREE_SEL_CHANGED, self.ft_filetree_selchanged) self.fp_text_edit.Bind(wx.EVT_TEXT, self.fp_text_edit_changed) self.fp_gds_stc.Bind(wx.EVT_UPDATE_UI, self.fp_gds_stc_updateui) self.fp_ani_imageindex.Bind(wx.EVT_SLIDER, self.fp_ani_imageindex_on_slider)
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(559, 377), style=wx.TAB_TRAVERSAL, name=wx.EmptyString): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style, name=name) lay_body = wx.BoxSizer(wx.VERTICAL) lay_title = wx.BoxSizer(wx.HORIZONTAL) self.pn_title = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) lay_data_title = wx.BoxSizer(wx.HORIZONTAL) self.lb_transaction_name1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"Cadastro de NCM/SH", wx.DefaultPosition, wx.DefaultSize, 0) self.lb_transaction_name1.Wrap(-1) self.lb_transaction_name1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_name1, 1, wx.ALL, 5) self.lb_transaction_code1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"ERNCM", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_transaction_code1.Wrap(-1) self.lb_transaction_code1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_code1, 0, wx.ALL, 5) self.pn_title.SetSizer(lay_data_title) self.pn_title.Layout() lay_data_title.Fit(self.pn_title) lay_title.Add(self.pn_title, 1, wx.ALL | wx.EXPAND, 1) lay_body.Add(lay_title, 0, wx.ALIGN_TOP | wx.EXPAND, 0) lay_widgets = wx.BoxSizer(wx.VERTICAL) self.sb_widgets = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_NONE) self.pn_data_fields = wx.Panel(self.sb_widgets, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_SIMPLE) lay_dispenser = wx.BoxSizer(wx.HORIZONTAL) lay_label_1 = wx.BoxSizer(wx.VERTICAL) self.lb_ncm = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"NCM/SH:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_ncm.Wrap(-1) self.lb_ncm.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_ncm, 0, wx.ALL, 2) self.lb_capitulo = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Capítulo:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_capitulo.Wrap(-1) self.lb_capitulo.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_capitulo, 0, wx.ALL, 2) self.lb_descricao = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Descrição:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_descricao.Wrap(-1) self.lb_descricao.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_descricao, 0, wx.ALL, 2) self.lb_vigencia_ini = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Vig.inicial:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_vigencia_ini.Wrap(-1) self.lb_vigencia_ini.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_vigencia_ini, 0, wx.ALL, 5) self.lb_vigencia_fim = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Vig.fim:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_vigencia_fim.Wrap(-1) self.lb_vigencia_fim.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_vigencia_fim, 0, wx.ALL, 2) self.lb_umd = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Un. Medida:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_umd.Wrap(-1) self.lb_umd.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_umd, 0, wx.ALL, 2) lay_dispenser.Add(lay_label_1, 0, wx.EXPAND, 5) lay_text_1 = wx.BoxSizer(wx.VERTICAL) self.tc_ncm = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(-1, 25), 0) self.tc_ncm.SetMaxLength(8) lay_text_1.Add(self.tc_ncm, 0, wx.ALL, 2) self.tc_capitulo = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(35, 25), 0) self.tc_capitulo.SetMaxLength(2) lay_text_1.Add(self.tc_capitulo, 0, wx.ALL, 2) self.tc_descricao = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(400, 25), 0) self.tc_descricao.SetMaxLength(500) lay_text_1.Add(self.tc_descricao, 0, wx.ALL, 2) self.tc_vigencia_ini = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(100, 25), 0) lay_text_1.Add(self.tc_vigencia_ini, 0, wx.ALL, 2) self.tc_vigencia_fim = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(100, 25), 0) lay_text_1.Add(self.tc_vigencia_fim, 0, wx.ALL, 2) self.tc_umd = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(40, 25), 0) lay_text_1.Add(self.tc_umd, 0, wx.ALL, 2) lay_dispenser.Add(lay_text_1, 0, wx.EXPAND, 1) self.pn_data_fields.SetSizer(lay_dispenser) self.pn_data_fields.Layout() lay_dispenser.Fit(self.pn_data_fields) self.sb_widgets.AddPage(self.pn_data_fields, u"Cadastro", False) self.pn_data_list = wx.Panel(self.sb_widgets, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_SIMPLE) lay_grid_list = wx.BoxSizer(wx.VERTICAL) self.mg_search = wx.grid.Grid(self.pn_data_list, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) # Grid self.mg_search.CreateGrid(1, 6) self.mg_search.EnableEditing(True) self.mg_search.EnableGridLines(True) self.mg_search.EnableDragGridSize(False) self.mg_search.SetMargins(0, 0) # Columns self.mg_search.SetColSize(0, 100) self.mg_search.SetColSize(1, 70) self.mg_search.SetColSize(2, 400) self.mg_search.SetColSize(3, 100) self.mg_search.SetColSize(4, 100) self.mg_search.SetColSize(5, 50) self.mg_search.EnableDragColMove(False) self.mg_search.EnableDragColSize(True) self.mg_search.SetColLabelSize(30) self.mg_search.SetColLabelValue(0, u"NCM/SH") self.mg_search.SetColLabelValue(1, u"Capítulo") self.mg_search.SetColLabelValue(2, u"Descrição") self.mg_search.SetColLabelValue(3, u"Vig.Inicial") self.mg_search.SetColLabelValue(4, u"Vig.Final") self.mg_search.SetColLabelValue(5, u"UMD") self.mg_search.SetColLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Rows self.mg_search.EnableDragRowSize(True) self.mg_search.SetRowLabelSize(30) self.mg_search.SetRowLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Label Appearance # Cell Defaults self.mg_search.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) lay_grid_list.Add(self.mg_search, 1, wx.EXPAND, 5) self.pn_data_list.SetSizer(lay_grid_list) self.pn_data_list.Layout() lay_grid_list.Fit(self.pn_data_list) self.sb_widgets.AddPage(self.pn_data_list, u"Lista", False) lay_widgets.Add(self.sb_widgets, 1, wx.EXPAND | wx.ALL, 0) lay_body.Add(lay_widgets, 1, wx.EXPAND, 5) lay_botton = wx.BoxSizer(wx.HORIZONTAL) bSizer7 = wx.BoxSizer(wx.HORIZONTAL) self.bt_search = wx.Button(self, wx.ID_ANY, u"Localizar", wx.DefaultPosition, wx.Size(100, 36), 0) self.bt_search.SetBitmap( wx.Bitmap(u"desingner/icons/ac_buscar_16x16.png", wx.BITMAP_TYPE_ANY)) self.bt_search.SetBitmapDisabled( wx.Bitmap(u"desingner/icons/ac_buscar_16x16_inat.png", wx.BITMAP_TYPE_ANY)) bSizer7.Add(self.bt_search, 0, wx.ALL, 5) self.bt_import = wx.Button(self, wx.ID_ANY, u"&Importar Tabela", wx.DefaultPosition, wx.Size(-1, 36), 0) bSizer7.Add(self.bt_import, 0, wx.ALL, 5) bSizer7.Add((0, 0), 1, wx.EXPAND, 0) lay_botton.Add(bSizer7, 1, wx.EXPAND, 5) lay_body.Add(lay_botton, 0, wx.ALIGN_BOTTOM | wx.EXPAND, 0) self.SetSizer(lay_body) self.Layout() # Connect Events self.tc_umd.Bind(wx.EVT_KILL_FOCUS, self.on_kill_focus) self.mg_search.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.on_grid_dclick) self.bt_search.Bind(wx.EVT_BUTTON, self.ac_search) self.bt_import.Bind(wx.EVT_BUTTON, self.on_import)
def __init__(self, *args, **kwargs): wx.Control.__init__(self, *args, **kwargs) self.__CreateMenu() self.SetMinSize((600, 400)) wx.GetApp().directory.Bind( ContentDirectory.Event.STATE_CHANGED, lambda emitter, state: wx. CallAfter(self.__OnDirectoryStateChanged, emitter, state)) wx.GetApp().directory.Bind( ContentDirectory.Event.DEVICE_CHANGED, lambda emitter, state: wx.CallAfter( self.__OnDirectoryDeviceChanged, emitter, state)) sizer = wx.BoxSizer(wx.VERTICAL) self.sizer_header = wx.BoxSizer(wx.HORIZONTAL) self.sizer_header.Add(3, 0) self.breadcrumbs = BreadCrumbs(self) self.sizer_header.Add(self.breadcrumbs, 0, wx.EXPAND) self.sizer_header.Add(6, 0, 1) self.__title = wx.StaticText(self) self.sizer_header.Add(self.__title, 0, wx.CENTER) self.sizer_header.Add(6, 0, 1) button_panel = wx.Panel(self) button_panel.sizer = wx.BoxSizer() button_panel.SetSizer(button_panel.sizer) self.sizer_header.Add(button_panel) self.button_download = wx.Button(button_panel, wx.ID_DELETE, label=_('Download')) self.button_download.Disable() self.button_download.Bind(wx.EVT_BUTTON, self._OnDownloadButtonClicked) button_panel.sizer.Add(self.button_download, 0, wx.EXPAND) button_panel.sizer.Add(3, 0, 0) self.button_reload = wx.Button(button_panel, wx.ID_DELETE, label=_('Reload')) self.button_reload.Disable() self.button_reload.Bind(wx.EVT_BUTTON, lambda event: wx.GetApp().directory.Load()) button_panel.sizer.Add(self.button_reload, 0, wx.EXPAND) button_panel.sizer.Add(3, 0, 0) button_menu_sizer = wx.BoxSizer(wx.VERTICAL) self.button_menu = wx.BitmapButton(button_panel, bitmap=self.__GetMenuBitmap()) self.button_menu.Bind(wx.EVT_BUTTON, self.__OnMenuButtonClicked) button_menu_sizer.Add(self.button_menu, 1, wx.CENTER) button_panel.sizer.Add(button_menu_sizer, 0, wx.EXPAND) self.sizer_header.Add(3, 0) sizer.Add(0, 3) sizer.Add(self.sizer_header, 0, wx.EXPAND) sizer.Add(0, 3) sizer.Add(wx.StaticLine(self, size=(-1, 1)), 0, wx.EXPAND) self.notebook = wx.Simplebook(self) self.welcome_panel = WelcomePanel(self.notebook) self.contentDirectoryListView = ContentDirectoryListView(self.notebook) self.wait_panel = WaitingForDevicePanel(self.notebook) self.loadDirectoryPanel = LoadDirectoryPanel(self.notebook) self.errorPanel = ErrorPanel(self.notebook) self.empty_directory_panel = DirectoryEmptyPanel(self.notebook) self.notebook.AddPage(self.welcome_panel, '') self.notebook.AddPage(self.contentDirectoryListView, '') self.notebook.AddPage(self.wait_panel, '') self.notebook.AddPage(self.loadDirectoryPanel, '') self.notebook.AddPage(self.errorPanel, '') self.notebook.AddPage(self.empty_directory_panel, '') sizer.Add(self.notebook, 1, wx.EXPAND) self.SetSizer(sizer) self.button_download.Bind(wx.EVT_BUTTON, self.contentDirectoryListView.Download) self.Bind(wx.EVT_SIZE, self.OnResize)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Menu Principal", pos=wx.DefaultPosition, size=wx.Size(883, 620), style=wx.DEFAULT_FRAME_STYLE | wx.MAXIMIZE | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.mn_mn01 = wx.MenuBar(0) self.mn_sistema = wx.Menu() self.mi_config = wx.MenuItem(self.mn_sistema, wx.ID_ANY, u"Configuração", u"Abre painel de teste", wx.ITEM_NORMAL) self.mn_sistema.Append(self.mi_config) self.mi_exit = wx.MenuItem(self.mn_sistema, wx.ID_ANY, u"Sair", u"Encerra o sistema", wx.ITEM_NORMAL) self.mi_exit.SetBitmap( wx.Bitmap(u"desingner/icons/ac_sair_16x16.png", wx.BITMAP_TYPE_ANY)) self.mn_sistema.Append(self.mi_exit) self.mn_mn01.Append(self.mn_sistema, u"Sistema") self.SetMenuBar(self.mn_mn01) self.tb_mn01 = self.CreateToolBar(wx.TB_FLAT, wx.ID_ANY) self.tb_mn01.SetToolBitmapSize(wx.Size(26, 26)) self.lb_executar = wx.StaticText(self.tb_mn01, wx.ID_ANY, u"Executar: ", wx.DefaultPosition, wx.Size(68, -1), wx.ALIGN_RIGHT) self.lb_executar.Wrap(-1) self.tb_mn01.AddControl(self.lb_executar) self.tc_executar = wx.TextCtrl(self.tb_mn01, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(-1, -1), 0) self.tb_mn01.AddControl(self.tc_executar) self.mt_run = self.tb_mn01.AddLabelTool( wx.ID_EXECUTE, u"Executar", wx.Bitmap(u"desingner/icons/ac_executar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Executa comando.", None) self.tb_mn01.AddSeparator() self.mt_ok = self.tb_mn01.AddLabelTool( wx.ID_SAVE, u"OK", wx.Bitmap(u"desingner/icons/ac_confirmar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Confirma operação da tela", None) self.mt_cancel = self.tb_mn01.AddLabelTool( wx.ID_CANCEL, u"Fechar", wx.Bitmap(u"desingner/icons/ac_cancelar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Cancela operação da tela.", None) self.mt_find = self.tb_mn01.AddLabelTool( wx.ID_FIND, u"Localizar", wx.Bitmap(u"desingner/icons/ac_buscar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Localiza registro.", None) self.tb_mn01.AddSeparator() self.mt_insert = self.tb_mn01.AddLabelTool( wx.ID_ADD, u"Novo registro", wx.Bitmap(u"desingner/icons/ac_adicionar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Cria novo registro", None) self.mt_edit = self.tb_mn01.AddLabelTool( wx.ID_EDIT, u"Altera registro", wx.Bitmap(u"desingner/icons/ac_editar_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Altera registro atual", None) self.mt_delete = self.tb_mn01.AddLabelTool( wx.ID_DELETE, u"Inativa registro", wx.Bitmap(u"desingner/icons/ac_lixeira_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Inativa o registro atual", None) self.tb_mn01.AddSeparator() self.mt_print = self.tb_mn01.AddLabelTool( wx.ID_PRINT, u"Envia tela para impressora", wx.Bitmap(u"desingner/icons/ac_imprimir_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Envia dados da tela para impressora", None) self.mt_pdf = self.tb_mn01.AddLabelTool( wx.ID_PRINT, u"Envia tela para impressora", wx.Bitmap(u"desingner/icons/ac_pdf_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Gera arquivo PDF com dados da tela", None) self.tb_mn01.AddSeparator() self.mt_exit = self.tb_mn01.AddLabelTool( wx.ID_EXIT, u"Sair", wx.Bitmap(u"desingner/icons/ac_sair_16x16.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Encerra seção em andamento.", None) self.tb_mn01.Realize() bSizer1 = wx.BoxSizer(wx.VERTICAL) self.sb_transaction = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) bSizer1.Add(self.sb_transaction, 1, wx.EXPAND | wx.ALL, 1) self.SetSizer(bSizer1) self.Layout() self.mn_timer = wx.Timer() self.mn_timer.SetOwner(self, wx.ID_ANY) self.Centre(wx.BOTH) # Connect Events self.Bind(wx.EVT_CLOSE, self.on_exit) self.Bind(wx.EVT_MENU, self.ac_config, id=self.mi_config.GetId()) self.Bind(wx.EVT_MENU, self.on_exit, id=self.mi_exit.GetId()) self.tc_executar.Bind(wx.EVT_KEY_DOWN, self.on_keydown) self.Bind(wx.EVT_TOOL, self.ac_run, id=self.mt_run.GetId()) self.Bind(wx.EVT_TOOL, self.on_ok, id=self.mt_ok.GetId()) self.Bind(wx.EVT_TOOL, self.on_cancel, id=self.mt_cancel.GetId()) self.Bind(wx.EVT_TOOL, self.on_find, id=self.mt_find.GetId()) self.Bind(wx.EVT_TOOL, self.on_insert, id=self.mt_insert.GetId()) self.Bind(wx.EVT_TOOL, self.on_edit, id=self.mt_edit.GetId()) self.Bind(wx.EVT_TOOL, self.on_delete, id=self.mt_delete.GetId()) self.Bind(wx.EVT_TOOL, self.on_print, id=self.mt_print.GetId()) self.Bind(wx.EVT_TOOL, self.on_pdf, id=self.mt_pdf.GetId()) self.Bind(wx.EVT_TOOL, self.on_exit, id=self.mt_exit.GetId()) self.Bind(wx.EVT_TIMER, self.on_timer, id=wx.ID_ANY)
def __init__(self, parent, root_frame): super().__init__(parent, root_frame) #toolbar self.identifier = 'variables' self.styling_name = 'Variables' self.styling_icon = wx.Bitmap('resources/toolbar/variables.bmp') #set up sizer self._gbs_main = wx.GridBagSizer(0, 0) self._gbs_main.SetFlexibleDirection(wx.BOTH) self._gbs_main.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) #create elements self._lb_variables = wx.ListBox(self, wx.ID_ANY) self._lb_variables.Bind(wx.EVT_LISTBOX, self._bind_lb_variables_new_selection, self._lb_variables) self._gbs_main.Add(self._lb_variables, wx.GBPosition(0, 0), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND) self._variable_data = [] self._variable_current = None self._bk_props = wx.Simplebook(self, wx.ID_ANY) #since data sets and formulae have different properties, they need different property grids self._prop_dataset = wx.propgrid.PropertyGrid(self._bk_props, wx.ID_ANY) self._prop_dataset.Bind(wx.propgrid.EVT_PG_CHANGED, self._bind_property_changed) self._prop_formula = wx.propgrid.PropertyGrid(self._bk_props, wx.ID_ANY) self._prop_formula.Bind(wx.propgrid.EVT_PG_CHANGED, self._bind_property_changed) self._prop_dataset.SetColumnCount(2) self._prop_formula.SetColumnCount(2) self._prop_formula.Append( wx.propgrid.StringProperty('Symbol', 'symbol', 'name')) self._prop_formula.Append( wx.propgrid.StringProperty('Formula', 'formula', '0')) self._bk_props.ShowNewPage(self._prop_dataset) self._bk_props.ShowNewPage(self._prop_formula) self._gbs_main.Add(self._bk_props, wx.GBPosition(0, 2), wx.GBSpan(3, 1), wx.ALL | wx.EXPAND) self._btn_new_dataset = wx.Button(self, wx.ID_ANY, "New Dataset") self._btn_new_dataset.Bind(wx.EVT_BUTTON, self._bind_btn_new_dataset_clicked) self._gbs_main.Add(self._btn_new_dataset, wx.GBPosition(1, 1), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND) self._btn_new_formula = wx.Button(self, wx.ID_ANY, "New Formula") self._btn_new_formula.Bind(wx.EVT_BUTTON, self._bind_btn_new_formula_clicked) self._gbs_main.Add(self._btn_new_formula, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND) self._btn_delete = wx.Button(self, wx.ID_ANY, "Delete Variable") self._btn_delete.Bind(wx.EVT_BUTTON, self._bind_btn_delete_clicked) self._gbs_main.Add(self._btn_delete, wx.GBPosition(2, 0), wx.GBSpan(1, 2), wx.ALL | wx.EXPAND) #finalise layout for i in range(3): self._gbs_main.AddGrowableCol(i) for j in range(1): self._gbs_main.AddGrowableRow(j) self.SetSizer(self._gbs_main) self.Layout() self._gbs_main.Fit(self)
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(559, 377), style=wx.TAB_TRAVERSAL, name=wx.EmptyString): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style, name=name) lay_body = wx.BoxSizer(wx.VERTICAL) lay_title = wx.BoxSizer(wx.HORIZONTAL) self.pn_title = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) lay_data_title = wx.BoxSizer(wx.HORIZONTAL) self.lb_transaction_name1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"Cadastro de Usuários", wx.DefaultPosition, wx.DefaultSize, 0) self.lb_transaction_name1.Wrap(-1) self.lb_transaction_name1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_name1, 1, wx.ALL, 5) self.lb_transaction_code1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"SRUSR", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_transaction_code1.Wrap(-1) self.lb_transaction_code1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_code1, 0, wx.ALL, 5) self.pn_title.SetSizer(lay_data_title) self.pn_title.Layout() lay_data_title.Fit(self.pn_title) lay_title.Add(self.pn_title, 1, wx.ALL | wx.EXPAND, 1) lay_body.Add(lay_title, 0, wx.ALIGN_TOP | wx.EXPAND, 0) lay_widgets = wx.BoxSizer(wx.VERTICAL) self.sb_widgets = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_NONE) self.pn_data_fields = wx.Panel(self.sb_widgets, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_SIMPLE) lay_dispenser = wx.BoxSizer(wx.HORIZONTAL) lay_label_1 = wx.BoxSizer(wx.VERTICAL) self.lb_matricula = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Matrícula:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_matricula.Wrap(-1) self.lb_matricula.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_matricula, 0, wx.ALL, 2) self.lb_nome = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Nome:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_nome.Wrap(-1) self.lb_nome.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_nome, 0, wx.ALL, 2) self.lb_setor = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Setor:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_setor.Wrap(-1) self.lb_setor.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_setor, 0, wx.ALL, 2) self.lb_funcao = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Função:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_funcao.Wrap(-1) self.lb_funcao.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_funcao, 0, wx.ALL, 5) self.lb_senha = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Senha:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_senha.Wrap(-1) self.lb_senha.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_senha, 0, wx.ALL, 2) self.lb_frequencia = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Frequência:", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_frequencia.Wrap(-1) self.lb_frequencia.SetMinSize(wx.Size(100, 25)) lay_label_1.Add(self.lb_frequencia, 0, wx.ALL, 2) lay_dispenser.Add(lay_label_1, 0, wx.EXPAND, 5) lay_text_1 = wx.BoxSizer(wx.VERTICAL) lay_matricula = wx.BoxSizer(wx.HORIZONTAL) self.tc_matricula = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(-1, 25), 0) self.tc_matricula.SetMaxLength(10) lay_matricula.Add(self.tc_matricula, 0, wx.ALL, 2) self.lb_situacao = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Situação:", wx.DefaultPosition, wx.Size(-1, 25), wx.ALIGN_RIGHT) self.lb_situacao.Wrap(-1) lay_matricula.Add(self.lb_situacao, 0, wx.ALL, 2) cb_situacaoChoices = [u"Ativo", u"Bloqueado", u"Cancelado"] self.cb_situacao = wx.ComboBox(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(-1, 25), cb_situacaoChoices, 0) lay_matricula.Add(self.cb_situacao, 0, wx.ALL, 2) lay_text_1.Add(lay_matricula, 0, wx.EXPAND, 0) self.tc_nome = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(400, 25), 0) self.tc_nome.SetMaxLength(50) lay_text_1.Add(self.tc_nome, 0, wx.ALL, 2) bSizer14 = wx.BoxSizer(wx.HORIZONTAL) self.tc_setor = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(35, 25), 0) self.tc_setor.SetMaxLength(2) bSizer14.Add(self.tc_setor, 0, wx.ALL, 2) self.bt_fd_setor = wx.Button(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(25, 25), 0) self.bt_fd_setor.SetBitmap( wx.Bitmap(u"desingner/icons/ac_buscar_16x16.png", wx.BITMAP_TYPE_ANY)) self.bt_fd_setor.SetBitmapDisabled( wx.Bitmap(u"desingner/icons/ac_buscar_16x16_inat.png", wx.BITMAP_TYPE_ANY)) bSizer14.Add(self.bt_fd_setor, 0, wx.ALL, 2) self.lb_nome_setor = wx.StaticText(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(330, 25), 0 | wx.BORDER_SIMPLE) self.lb_nome_setor.Wrap(-1) self.lb_nome_setor.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) bSizer14.Add(self.lb_nome_setor, 0, wx.ALL, 2) lay_text_1.Add(bSizer14, 0, wx.EXPAND, 5) bSizer15 = wx.BoxSizer(wx.HORIZONTAL) self.tc_funcao = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(35, 25), 0) bSizer15.Add(self.tc_funcao, 0, wx.ALL, 2) self.bt_fd_funcao = wx.Button(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(25, 25), 0) self.bt_fd_funcao.SetBitmap( wx.Bitmap(u"desingner/icons/ac_buscar_16x16.png", wx.BITMAP_TYPE_ANY)) self.bt_fd_funcao.SetBitmapDisabled( wx.Bitmap(u"desingner/icons/ac_buscar_16x16_inat.png", wx.BITMAP_TYPE_ANY)) bSizer15.Add(self.bt_fd_funcao, 0, wx.ALL, 2) self.lb_nome_funcao = wx.StaticText(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(330, 25), 0 | wx.BORDER_SIMPLE) self.lb_nome_funcao.Wrap(-1) self.lb_nome_funcao.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_HIGHLIGHTTEXT)) bSizer15.Add(self.lb_nome_funcao, 0, wx.ALL, 2) lay_text_1.Add(bSizer15, 0, wx.EXPAND, 5) lay_senha = wx.BoxSizer(wx.HORIZONTAL) self.tc_senha = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(-1, 25), 0) self.tc_senha.SetMaxLength(10) lay_senha.Add(self.tc_senha, 0, wx.ALL, 2) self.cb_redefinir = wx.CheckBox(self.pn_data_fields, wx.ID_ANY, u"Redefinir com frequência", wx.DefaultPosition, wx.Size(-1, 25), 0) lay_senha.Add(self.cb_redefinir, 0, wx.ALL, 2) lay_text_1.Add(lay_senha, 0, wx.EXPAND, 0) lay_frequencia = wx.BoxSizer(wx.HORIZONTAL) self.tc_frequencia = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(40, 25), 0) self.tc_frequencia.SetMaxLength(3) lay_frequencia.Add(self.tc_frequencia, 0, wx.ALL, 2) self.m_staticText16 = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"dias", wx.DefaultPosition, wx.Size(-1, 25), 0) self.m_staticText16.Wrap(-1) lay_frequencia.Add(self.m_staticText16, 0, wx.ALL, 2) lay_frequencia.Add((100, 25), 0, wx.EXPAND, 5) self.lb_vigencia = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Expira em:", wx.DefaultPosition, wx.Size(80, 25), wx.ALIGN_RIGHT) self.lb_vigencia.Wrap(-1) lay_frequencia.Add(self.lb_vigencia, 0, wx.ALL, 2) self.tc_vigencia = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(90, 25), wx.TE_READONLY) lay_frequencia.Add(self.tc_vigencia, 0, wx.ALL, 2) lay_text_1.Add(lay_frequencia, 0, wx.EXPAND, 0) lay_dispenser.Add(lay_text_1, 0, wx.EXPAND, 1) self.pn_data_fields.SetSizer(lay_dispenser) self.pn_data_fields.Layout() lay_dispenser.Fit(self.pn_data_fields) self.sb_widgets.AddPage(self.pn_data_fields, u"Cadastro", False) self.pn_data_list = wx.Panel(self.sb_widgets, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_SIMPLE) lay_grid_list = wx.BoxSizer(wx.VERTICAL) self.mg_search = wx.grid.Grid(self.pn_data_list, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) # Grid self.mg_search.CreateGrid(1, 2) self.mg_search.EnableEditing(True) self.mg_search.EnableGridLines(True) self.mg_search.EnableDragGridSize(False) self.mg_search.SetMargins(0, 0) # Columns self.mg_search.SetColSize(0, 100) self.mg_search.SetColSize(1, 400) self.mg_search.EnableDragColMove(False) self.mg_search.EnableDragColSize(True) self.mg_search.SetColLabelSize(30) self.mg_search.SetColLabelValue(0, u"Matrícula") self.mg_search.SetColLabelValue(1, u"Nome Usuário") self.mg_search.SetColLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Rows self.mg_search.EnableDragRowSize(True) self.mg_search.SetRowLabelSize(30) self.mg_search.SetRowLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Label Appearance # Cell Defaults self.mg_search.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) lay_grid_list.Add(self.mg_search, 1, wx.EXPAND, 5) self.pn_data_list.SetSizer(lay_grid_list) self.pn_data_list.Layout() lay_grid_list.Fit(self.pn_data_list) self.sb_widgets.AddPage(self.pn_data_list, u"Lista", False) lay_widgets.Add(self.sb_widgets, 1, wx.EXPAND | wx.ALL, 0) lay_body.Add(lay_widgets, 1, wx.EXPAND, 5) lay_botton = wx.BoxSizer(wx.HORIZONTAL) bSizer7 = wx.BoxSizer(wx.HORIZONTAL) self.bt_search = wx.Button(self, wx.ID_ANY, u"Localizar", wx.DefaultPosition, wx.Size(100, 36), 0) self.bt_search.SetBitmap( wx.Bitmap(u"desingner/icons/ac_buscar_16x16.png", wx.BITMAP_TYPE_ANY)) self.bt_search.SetBitmapDisabled( wx.Bitmap(u"desingner/icons/ac_buscar_16x16_inat.png", wx.BITMAP_TYPE_ANY)) bSizer7.Add(self.bt_search, 0, wx.ALL, 5) self.bt_select = wx.Button(self, wx.ID_ANY, u"&Redefinir Senha", wx.DefaultPosition, wx.Size(-1, 36), 0) bSizer7.Add(self.bt_select, 0, wx.ALL, 5) bSizer7.Add((0, 0), 1, wx.EXPAND, 0) lay_botton.Add(bSizer7, 1, wx.EXPAND, 5) lay_body.Add(lay_botton, 0, wx.ALIGN_BOTTOM | wx.EXPAND, 0) self.SetSizer(lay_body) self.Layout() # Connect Events self.bt_fd_setor.Bind(wx.EVT_BUTTON, self.ac_find_setor) self.bt_fd_funcao.Bind(wx.EVT_BUTTON, self.ac_find_funcao) self.tc_frequencia.Bind(wx.EVT_KILL_FOCUS, self.on_kill_focus) self.mg_search.Bind(wx.grid.EVT_GRID_CELL_LEFT_DCLICK, self.on_grid_dclick) self.bt_search.Bind(wx.EVT_BUTTON, self.ac_search) self.bt_select.Bind(wx.EVT_BUTTON, self.on_reset_pass)
def test_simplebook02(self): nb = wx.Simplebook() nb.Create(self.frame)
def __init__( self, parent ): wx.Frame.__init__ ( self, parent, id = wx.ID_ANY, title = u"请求测试", pos = wx.DefaultPosition, size = wx.Size( 1024,576 ), style = wx.DEFAULT_FRAME_STYLE|wx.TAB_TRAVERSAL ) self.SetSizeHints( wx.Size( 512,288 ), wx.DefaultSize ) self.SetBackgroundColour( wx.SystemSettings.GetColour( wx.SYS_COLOUR_WINDOW ) ) bSizer_root = wx.BoxSizer( wx.VERTICAL ) bSizer_work_group = wx.BoxSizer( wx.HORIZONTAL ) bSizer_workshop = wx.BoxSizer( wx.VERTICAL ) bSizer_workshop.SetMinSize( wx.Size( 300,-1 ) ) self.m_panel_workshop = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer4 = wx.BoxSizer( wx.VERTICAL ) self.m_scrolledWindow1 = wx.ScrolledWindow( self.m_panel_workshop, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.HSCROLL|wx.VSCROLL ) self.m_scrolledWindow1.SetScrollRate( 5, 5 ) bSizer6 = wx.BoxSizer( wx.VERTICAL ) self.m_treeCtrl_request_struct = wx.TreeCtrl( self.m_scrolledWindow1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE|wx.TR_HIDE_ROOT|wx.TR_SINGLE|wx.TR_TWIST_BUTTONS ) bSizer6.Add( self.m_treeCtrl_request_struct, 1, wx.ALL|wx.EXPAND, 5 ) self.m_scrolledWindow1.SetSizer( bSizer6 ) self.m_scrolledWindow1.Layout() bSizer6.Fit( self.m_scrolledWindow1 ) bSizer4.Add( self.m_scrolledWindow1, 1, wx.EXPAND |wx.ALL, 5 ) bSizer5 = wx.BoxSizer( wx.HORIZONTAL ) self.m_button1 = wx.Button( self.m_panel_workshop, wx.ID_ANY, u"新建请求", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer5.Add( self.m_button1, 0, wx.ALL, 5 ) self.m_button2 = wx.Button( self.m_panel_workshop, wx.ID_ANY, u"发送请求", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer5.Add( self.m_button2, 0, wx.ALL, 5 ) self.m_button3 = wx.Button( self.m_panel_workshop, wx.ID_ANY, u"设置", wx.DefaultPosition, wx.DefaultSize, 0 ) bSizer5.Add( self.m_button3, 0, wx.ALL, 5 ) bSizer4.Add( bSizer5, 0, wx.EXPAND, 5 ) self.m_panel_workshop.SetSizer( bSizer4 ) self.m_panel_workshop.Layout() bSizer4.Fit( self.m_panel_workshop ) bSizer_workshop.Add( self.m_panel_workshop, 1, wx.EXPAND |wx.ALL, 5 ) self.m_staticline_1 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) bSizer_workshop.Add( self.m_staticline_1, 0, wx.EXPAND |wx.ALL, 5 ) self.m_gauge_state = wx.Gauge( self, wx.ID_ANY, 100, wx.DefaultPosition, wx.DefaultSize, wx.GA_HORIZONTAL ) self.m_gauge_state.SetValue( 0 ) bSizer_workshop.Add( self.m_gauge_state, 0, wx.ALL|wx.EXPAND, 5 ) bSizer_work_group.Add( bSizer_workshop, 0, wx.EXPAND, 5 ) self.m_staticline_2 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_VERTICAL ) bSizer_work_group.Add( self.m_staticline_2, 0, wx.EXPAND |wx.ALL, 5 ) self.m_panel_info_veiw_port = wx.Panel( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer7 = wx.BoxSizer( wx.HORIZONTAL ) bSizer8 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText2 = wx.StaticText( self.m_panel_info_veiw_port, wx.ID_ANY, u"请求头与响应头", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText2.Wrap( -1 ) bSizer8.Add( self.m_staticText2, 0, wx.ALL, 5 ) self.m_staticline5 = wx.StaticLine( self.m_panel_info_veiw_port, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) bSizer8.Add( self.m_staticline5, 0, wx.EXPAND |wx.ALL, 5 ) bSizer12 = wx.BoxSizer( wx.VERTICAL ) self.m_treeListCtrl_request_info = wx.dataview.TreeListCtrl( self.m_panel_info_veiw_port, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.dataview.TL_DEFAULT_STYLE ) self.m_treeListCtrl_request_info.AppendColumn( u"Column1", wx.COL_WIDTH_DEFAULT, wx.ALIGN_LEFT, wx.COL_RESIZABLE ) self.m_treeListCtrl_request_info.AppendColumn( u"Column2", wx.COL_WIDTH_DEFAULT, wx.ALIGN_LEFT, wx.COL_RESIZABLE ) bSizer12.Add( self.m_treeListCtrl_request_info, 1, wx.EXPAND |wx.ALL, 5 ) bSizer8.Add( bSizer12, 1, wx.EXPAND, 5 ) bSizer7.Add( bSizer8, 1, wx.EXPAND, 5 ) self.m_staticline4 = wx.StaticLine( self.m_panel_info_veiw_port, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL|wx.LI_VERTICAL ) bSizer7.Add( self.m_staticline4, 0, wx.EXPAND |wx.ALL, 5 ) bSizer9 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText3 = wx.StaticText( self.m_panel_info_veiw_port, wx.ID_ANY, u"响应主体", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText3.Wrap( -1 ) bSizer9.Add( self.m_staticText3, 0, wx.ALL, 5 ) self.m_staticline6 = wx.StaticLine( self.m_panel_info_veiw_port, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) bSizer9.Add( self.m_staticline6, 0, wx.EXPAND |wx.ALL, 5 ) self.m_simplebook_respond_body = wx.Simplebook( self.m_panel_info_veiw_port, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_panel_html = wx.Panel( self.m_simplebook_respond_body, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer14 = wx.BoxSizer( wx.VERTICAL ) self.m_textCtrl1 = wx.TextCtrl( self.m_panel_html, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_LEFT|wx.TE_MULTILINE|wx.TE_READONLY ) bSizer14.Add( self.m_textCtrl1, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panel_html.SetSizer( bSizer14 ) self.m_panel_html.Layout() bSizer14.Fit( self.m_panel_html ) self.m_simplebook_respond_body.AddPage( self.m_panel_html, u"a page", False ) self.m_panel_json = wx.Panel( self.m_simplebook_respond_body, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer15 = wx.BoxSizer( wx.VERTICAL ) self.m_treeCtrl_respond_json = wx.TreeCtrl( self.m_panel_json, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TR_DEFAULT_STYLE|wx.TR_NO_LINES|wx.TR_TWIST_BUTTONS ) bSizer15.Add( self.m_treeCtrl_respond_json, 1, wx.ALL|wx.EXPAND, 5 ) self.m_panel_json.SetSizer( bSizer15 ) self.m_panel_json.Layout() bSizer15.Fit( self.m_panel_json ) self.m_simplebook_respond_body.AddPage( self.m_panel_json, u"a page", False ) self.m_panel_else = wx.Panel( self.m_simplebook_respond_body, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL ) bSizer16 = wx.BoxSizer( wx.VERTICAL ) self.m_staticText4 = wx.StaticText( self.m_panel_else, wx.ID_ANY, u"不可接受的响应", wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText4.Wrap( -1 ) bSizer16.Add( self.m_staticText4, 0, wx.ALL, 5 ) self.m_panel_else.SetSizer( bSizer16 ) self.m_panel_else.Layout() bSizer16.Fit( self.m_panel_else ) self.m_simplebook_respond_body.AddPage( self.m_panel_else, u"a page", False ) bSizer9.Add( self.m_simplebook_respond_body, 1, wx.EXPAND |wx.ALL, 5 ) bSizer7.Add( bSizer9, 1, wx.EXPAND, 5 ) self.m_panel_info_veiw_port.SetSizer( bSizer7 ) self.m_panel_info_veiw_port.Layout() bSizer7.Fit( self.m_panel_info_veiw_port ) bSizer_work_group.Add( self.m_panel_info_veiw_port, 1, wx.EXPAND |wx.ALL, 5 ) bSizer_root.Add( bSizer_work_group, 1, wx.EXPAND, 5 ) self.m_staticline_3 = wx.StaticLine( self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LI_HORIZONTAL ) bSizer_root.Add( self.m_staticline_3, 0, wx.EXPAND |wx.ALL, 5 ) self.m_staticText_infomation = wx.StaticText( self, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0 ) self.m_staticText_infomation.Wrap( -1 ) bSizer_root.Add( self.m_staticText_infomation, 0, wx.ALL|wx.EXPAND, 5 ) self.SetSizer( bSizer_root ) self.Layout() self.m_statusBar = self.CreateStatusBar( 1, wx.STB_SIZEGRIP, wx.ID_ANY ) self.Centre( wx.BOTH ) # Connect Events self.Bind( wx.EVT_CLOSE, self.exit ) self.Bind( wx.EVT_MOVE_END, self.resize ) self.m_treeCtrl_request_struct.Bind( wx.EVT_TREE_ITEM_ACTIVATED, self.edit_data ) self.m_treeCtrl_request_struct.Bind( wx.EVT_TREE_SEL_CHANGED, self.select_data ) self.m_button1.Bind( wx.EVT_BUTTON, self.new_reuqest ) self.m_button2.Bind( wx.EVT_BUTTON, self.send_request ) self.m_button3.Bind( wx.EVT_BUTTON, self.setting )
def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition, size=wx.Size(559, 377), style=wx.TAB_TRAVERSAL, name=wx.EmptyString): wx.Panel.__init__(self, parent, id=id, pos=pos, size=size, style=style, name=name) lay_body = wx.BoxSizer(wx.VERTICAL) lay_title = wx.BoxSizer(wx.HORIZONTAL) self.pn_title = wx.Panel(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) lay_data_title = wx.BoxSizer(wx.HORIZONTAL) self.lb_transaction_name1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"Cadastro de Usuários", wx.DefaultPosition, wx.DefaultSize, 0) self.lb_transaction_name1.Wrap(-1) self.lb_transaction_name1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_name1, 1, wx.ALL, 5) self.lb_transaction_code1 = wx.StaticText(self.pn_title, wx.ID_ANY, u"SRCFG", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_RIGHT) self.lb_transaction_code1.Wrap(-1) self.lb_transaction_code1.SetFont( wx.Font(wx.NORMAL_FONT.GetPointSize(), wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Tahoma")) lay_data_title.Add(self.lb_transaction_code1, 0, wx.ALL, 5) self.pn_title.SetSizer(lay_data_title) self.pn_title.Layout() lay_data_title.Fit(self.pn_title) lay_title.Add(self.pn_title, 1, wx.ALL | wx.EXPAND, 1) lay_body.Add(lay_title, 0, wx.ALIGN_TOP | wx.EXPAND, 0) lay_widgets = wx.BoxSizer(wx.VERTICAL) self.sb_widgets = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_NONE) self.pn_data_fields = wx.Panel(self.sb_widgets, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.BORDER_SIMPLE) self.pn_data_fields.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) lay_dispenser = wx.BoxSizer(wx.HORIZONTAL) lay_label_1 = wx.BoxSizer(wx.VERTICAL) self.lb_fundo = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Cor do Fundo:", wx.DefaultPosition, wx.Size(100, 25), wx.ALIGN_RIGHT) self.lb_fundo.Wrap(-1) lay_label_1.Add(self.lb_fundo, 0, wx.ALL, 2) self.lb_fundo1 = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Cor da Frente:", wx.DefaultPosition, wx.Size(100, 25), wx.ALIGN_RIGHT) self.lb_fundo1.Wrap(-1) lay_label_1.Add(self.lb_fundo1, 0, wx.ALL, 2) self.lb_mode_theme = wx.StaticText(self.pn_data_fields, wx.ID_ANY, u"Tema:", wx.DefaultPosition, wx.Size(100, 25), wx.ALIGN_RIGHT) self.lb_mode_theme.Wrap(-1) lay_label_1.Add(self.lb_mode_theme, 0, wx.ALL, 2) lay_dispenser.Add(lay_label_1, 0, wx.EXPAND, 5) lay_text_1 = wx.BoxSizer(wx.VERTICAL) lay_cor_fundo = wx.BoxSizer(wx.HORIZONTAL) self.cp_background = wx.ColourPickerCtrl(self.pn_data_fields, wx.ID_ANY, wx.Colour(48, 48, 48), wx.DefaultPosition, wx.Size(100, 25), wx.CLRP_DEFAULT_STYLE) lay_cor_fundo.Add(self.cp_background, 0, wx.ALL, 2) self.tc_color_background = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, 25), 0) lay_cor_fundo.Add(self.tc_color_background, 0, wx.ALL, 2) lay_text_1.Add(lay_cor_fundo, 0, wx.EXPAND, 0) lay_cor_botao = wx.BoxSizer(wx.HORIZONTAL) self.cp_foreground = wx.ColourPickerCtrl(self.pn_data_fields, wx.ID_ANY, wx.Colour(255, 255, 255), wx.DefaultPosition, wx.Size(100, 25), wx.CLRP_DEFAULT_STYLE) lay_cor_botao.Add(self.cp_foreground, 0, wx.ALL, 2) self.tc_color_foreground = wx.TextCtrl(self.pn_data_fields, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.Size(200, 25), 0) lay_cor_botao.Add(self.tc_color_foreground, 0, wx.ALL, 2) lay_text_1.Add(lay_cor_botao, 0, wx.EXPAND, 5) lay_dark_mode = wx.BoxSizer(wx.HORIZONTAL) cb_mode_themeChoices = [ u"Dark", u"Light", u"Night Theme", u"Shades of Gray" ] self.cb_mode_theme = wx.ComboBox(self.pn_data_fields, wx.ID_ANY, u"Dark", wx.DefaultPosition, wx.Size(150, 25), cb_mode_themeChoices, 0) self.cb_mode_theme.SetSelection(0) lay_dark_mode.Add(self.cb_mode_theme, 0, wx.ALL, 2) lay_text_1.Add(lay_dark_mode, 0, wx.EXPAND, 2) lay_dispenser.Add(lay_text_1, 0, wx.EXPAND, 1) self.pn_data_fields.SetSizer(lay_dispenser) self.pn_data_fields.Layout() lay_dispenser.Fit(self.pn_data_fields) self.sb_widgets.AddPage(self.pn_data_fields, u"Cadastro", False) lay_widgets.Add(self.sb_widgets, 1, wx.EXPAND | wx.ALL, 0) lay_body.Add(lay_widgets, 1, wx.EXPAND, 5) lay_botton = wx.BoxSizer(wx.HORIZONTAL) bSizer7 = wx.BoxSizer(wx.HORIZONTAL) self.bt_apply = wx.Button(self, wx.ID_ANY, u"Aplicar", wx.DefaultPosition, wx.Size(-1, 36), 0) bSizer7.Add(self.bt_apply, 0, wx.ALL, 5) bSizer7.Add((0, 0), 1, wx.EXPAND, 0) lay_botton.Add(bSizer7, 1, wx.EXPAND, 5) lay_body.Add(lay_botton, 0, wx.ALIGN_BOTTOM | wx.EXPAND, 0) self.SetSizer(lay_body) self.Layout() # Connect Events self.cp_background.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_colour_background) self.cp_background.Bind(wx.EVT_KILL_FOCUS, self.on_cp_background_killfocus) self.cp_foreground.Bind(wx.EVT_COLOURPICKER_CHANGED, self.on_colour_foreground) self.cp_foreground.Bind(wx.EVT_KILL_FOCUS, self.on_cp_background_killfocus) self.cb_mode_theme.Bind(wx.EVT_COMBOBOX, self.on_select) self.bt_apply.Bind(wx.EVT_BUTTON, self.on_apply)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"Quiz", pos=wx.DefaultPosition, size=wx.Size(500, 300), style=wx.CAPTION | wx.CLOSE_BOX | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) bSizer1 = wx.BoxSizer(wx.VERTICAL) self.m_simplebook1 = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.m_panel1 = wx.Panel(self.m_simplebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer2 = wx.BoxSizer(wx.VERTICAL) bSizer2.Add((0, 0), 1, wx.EXPAND, 5) self.m_staticText9 = wx.StaticText(self.m_panel1, wx.ID_ANY, u"Test name:", wx.DefaultPosition, wx.DefaultSize, 0) self.m_staticText9.Wrap(-1) bSizer2.Add(self.m_staticText9, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_inputCtlr = wx.TextCtrl(self.m_panel1, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, wx.TE_CENTER | wx.TE_PROCESS_ENTER) self.m_inputCtlr.SetMinSize(wx.Size(200, -1)) bSizer2.Add(self.m_inputCtlr, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_enterBtn = wx.Button(self.m_panel1, wx.ID_ANY, u"Enter", wx.DefaultPosition, wx.DefaultSize, 0) bSizer2.Add(self.m_enterBtn, 0, wx.ALIGN_CENTER | wx.ALL, 5) bSizer2.Add((0, 0), 1, wx.EXPAND, 5) self.m_panel1.SetSizer(bSizer2) self.m_panel1.Layout() bSizer2.Fit(self.m_panel1) self.m_simplebook1.AddPage(self.m_panel1, u"a page", False) self.m_panel2 = wx.Panel(self.m_simplebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer3 = wx.BoxSizer(wx.VERTICAL) bSizer3.Add((0, 0), 1, wx.EXPAND, 5) self.m_questionText = wx.StaticText(self.m_panel2, wx.ID_ANY, u"MyLabel", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_questionText.Wrap(-1) bSizer3.Add(self.m_questionText, 0, wx.ALIGN_CENTER | wx.ALL, 5) gSizer1 = wx.GridSizer(0, 2, 0, 0) self.m_answerBox0 = wx.CheckBox(self.m_panel2, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0) gSizer1.Add(self.m_answerBox0, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_answerBox1 = wx.CheckBox(self.m_panel2, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0) gSizer1.Add(self.m_answerBox1, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_answerBox2 = wx.CheckBox(self.m_panel2, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0) gSizer1.Add(self.m_answerBox2, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_answerBox3 = wx.CheckBox(self.m_panel2, wx.ID_ANY, u"Check Me!", wx.DefaultPosition, wx.DefaultSize, 0) gSizer1.Add(self.m_answerBox3, 0, wx.ALIGN_CENTER | wx.ALL, 5) bSizer3.Add(gSizer1, 1, wx.EXPAND, 5) bSizer3.Add((0, 0), 1, wx.EXPAND, 5) self.m_panel2.SetSizer(bSizer3) self.m_panel2.Layout() bSizer3.Fit(self.m_panel2) self.m_simplebook1.AddPage(self.m_panel2, u"a page", False) self.m_panel3 = wx.Panel(self.m_simplebook1, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer4 = wx.BoxSizer(wx.VERTICAL) bSizer4.Add((0, 0), 1, wx.EXPAND, 5) self.m_resultText = wx.StaticText(self.m_panel3, wx.ID_ANY, u"Your result: 3/5", wx.DefaultPosition, wx.DefaultSize, 0) self.m_resultText.Wrap(-1) bSizer4.Add(self.m_resultText, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.m_button7 = wx.Button(self.m_panel3, wx.ID_ANY, u"Again", wx.DefaultPosition, wx.DefaultSize, 0) bSizer4.Add(self.m_button7, 0, wx.ALIGN_CENTER | wx.ALL, 5) bSizer4.Add((0, 0), 1, wx.EXPAND, 5) self.m_panel3.SetSizer(bSizer4) self.m_panel3.Layout() bSizer4.Fit(self.m_panel3) self.m_simplebook1.AddPage(self.m_panel3, u"a page", False) bSizer1.Add(self.m_simplebook1, 1, wx.EXPAND, 5) self.SetSizer(bSizer1) self.Layout() self.Centre(wx.BOTH) # Connect Events self.m_inputCtlr.Bind(wx.EVT_TEXT, self.on_text) self.m_inputCtlr.Bind(wx.EVT_TEXT_ENTER, self.enter) self.m_enterBtn.Bind(wx.EVT_BUTTON, self.enter) self.m_answerBox0.Bind(wx.EVT_CHECKBOX, self.check) self.m_answerBox1.Bind(wx.EVT_CHECKBOX, self.check) self.m_answerBox2.Bind(wx.EVT_CHECKBOX, self.check) self.m_answerBox3.Bind(wx.EVT_CHECKBOX, self.check) self.m_button7.Bind(wx.EVT_BUTTON, self.finish)
def __init__(self, app: wx.App): super().__init__(None, wx.ID_ANY, title="Data Analyser") self.app = app self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetSize(800, 600) self.SetMinSize(wx.Size(500, 400)) #a dictionary for sharing data between frames #in theory, it could be used for any data #however, it is only used for sharing the file object between the frames (so they don't have their own separate connections) self.subframe_share = {'file': None, 'file is temp': True} #make temp datafile #sciplot.datafile.create_blank_datafile("user/temp.db") if os.path.isfile(os.path.join('user', 'temp.db')): os.remove(os.path.join('user', 'temp.db')) self.subframe_share['file'] = sciplot.datafile.DataFile("user/temp.db") self.subframe_share['file'].initialise_tables() #set icon icon = wx.Icon() icon.CopyFromBitmap(wx.Bitmap("resources/icon.ico", wx.BITMAP_TYPE_ANY)) self.SetIcon(icon) #make sizer (organises the elements in the frame) self._gbs_main = wx.GridBagSizer(0, 0) self._gbs_main.SetFlexibleDirection(wx.BOTH) self._gbs_main.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED) #set growable regions for i in range(0, 1, 1): self._gbs_main.AddGrowableCol(i) for j in range(1, 2, 1): self._gbs_main.AddGrowableRow(j) #make status bar self._sb_main = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY) self._sb_main.PushStatusText("") #make menu bar self._mb_main = wx.MenuBar() self._mb_cats = {} self._mb_subitems = {} self._mb_cats_internalonly = {} for name in ['File', 'Help']: #add menu bar categories self._mb_cats[name] = wx.Menu() self._mb_main.Append(self._mb_cats[name], name) self._mb_subitems[name] = [] self._mb_cats_internalonly[name] = True self.SetMenuBar(self._mb_main) #add internal menu bar items for cat, title, func in [ ('File', 'Open', self._choose_db), ('File', 'Save', self._commit_db), ('File', 'Save As (temporary files)', self._save_temp), ('Help', 'Quickstart', self._help_quickstart) ]: menu_item = self._mb_cats[cat].Append(wx.ID_ANY, title) self.Bind(wx.EVT_MENU, func, menu_item) self._mb_subitems[cat].append(menu_item) #make toolbar self._tlbr_panelswitch = wx.ToolBar(self, wx.ID_ANY) self._tlbr_panelswitch_tools: typing.Dict[str, wx.ToolBarToolBase] = {} #make panel embedding UI self._bk_sub = wx.Simplebook(self, wx.ID_ANY) self._gbs_main.Add(self._bk_sub, wx.GBPosition(1, 0), wx.GBSpan(1, 1), wx.EXPAND, 0) self._subframes: typing.Dict[str, forms.SubFrame] = { } #type hints - only for editor self._current_frame = None i = 0 for FrameType in forms.manifest: new_frame = FrameType(self._bk_sub, self) self._subframes[new_frame.identifier] = new_frame self._tlbr_panelswitch_tools[ new_frame.identifier] = self._tlbr_panelswitch.AddTool( wx.ID_ANY, new_frame.styling_name, new_frame.styling_icon) self._tlbr_panelswitch_tools[new_frame.identifier].SetLongHelp( new_frame.styling_name ) #set the hover tooltip on the toolbar button to be the name of the frame that the toolbar button will switch to self.Bind( wx.EVT_TOOL, functools.partial(self._toolbar_form_clicked, new_frame.identifier), self._tlbr_panelswitch_tools[new_frame.identifier]) self._bk_sub.ShowNewPage(new_frame) new_frame.hook_file_opened() new_frame.toolbar_index = i #register menu items menu_items = new_frame.get_menu_items() for name, items in menu_items: for title, func in items: if self._mb_cats_internalonly[name]: self._mb_cats[name].AppendSeparator( ) #this is the start of the menu items provided by the external frames, add a separator to show this self._mb_cats_internalonly[name] = False menu_item = self._mb_cats[name].Append(wx.ID_ANY, title) self.Bind(wx.EVT_MENU, func, menu_item) self._mb_subitems[name].append(menu_item) if isinstance(new_frame, forms.manifest[0]): self.set_form(new_frame.identifier) i += 1 #controls have all been added, make toolbar static self._tlbr_panelswitch.Realize() self._gbs_main.Add(self._tlbr_panelswitch, wx.GBPosition(0, 0), wx.GBSpan(1, 1), wx.ALL | wx.EXPAND, 0) #configure layout self.SetSizer(self._gbs_main) self.Layout() self.Centre(wx.BOTH) self.set_form("data", True) #choose the data form when the program first opens
def test_simplebook01(self): nb = wx.Simplebook(self.frame)
def __init__(self, parent): wx.Frame.__init__(self, parent, id=wx.ID_ANY, title=u"XaaS Automation © MMXIX", pos=wx.DefaultPosition, size=wx.Size(1000, 749), style=wx.DEFAULT_FRAME_STYLE | wx.STAY_ON_TOP | wx.TAB_TRAVERSAL) self.SetSizeHints(wx.DefaultSize, wx.DefaultSize) self.SetFont( wx.Font(9, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, wx.EmptyString)) self.app_menu = wx.MenuBar(0) self.script = wx.Menu() self.app_menu.Append(self.script, u"Script") self.SetMenuBar(self.app_menu) bSizer7 = wx.BoxSizer(wx.VERTICAL) bSizer15 = wx.BoxSizer(wx.HORIZONTAL) bSizer15.SetMinSize(wx.Size(-1, 0)) self.m_bitmap1 = wx.StaticBitmap( self, wx.ID_ANY, wx.Bitmap(u"res/logo apct heigh 50.png", wx.BITMAP_TYPE_ANY), wx.DefaultPosition, wx.DefaultSize, 0) self.m_bitmap1.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_WINDOW)) self.m_bitmap1.SetMinSize(wx.Size(230, 54)) bSizer15.Add(self.m_bitmap1, 0, wx.ALL, 1) self.m_toolBar1 = wx.ToolBar(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TB_HORIZONTAL) self.m_toolBar1.SetToolBitmapSize(wx.Size(-1, 43)) self.m_toolBar1.AddSeparator() self.tool_home = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/xaas_logo_32.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Job Home Page", None) self.tool_input = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/input.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Input Scripts", None) self.tool_cleanup = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/cleanup.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Clean Up / Netlist", None) self.tool_analysis = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/analyze.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"DFM Analysis", None) self.tool_edit = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/pcb.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Prod Edit", None) self.m_tool11 = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/panel.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Coupons & Panel", None) self.tool_targets = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/targets.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Overlay & Targets", None) self.m_tool12 = self.m_toolBar1.AddTool( wx.ID_ANY, u"tool", wx.Bitmap(u"res/output.png", wx.BITMAP_TYPE_ANY), wx.NullBitmap, wx.ITEM_NORMAL, wx.EmptyString, u"Output System", None) self.m_toolBar1.AddSeparator() self.m_toolBar1.AddSeparator() self.t_head_home = wx.StaticText(self.m_toolBar1, wx.ID_ANY, u"PyCAM Scripting System v 0.1", wx.DefaultPosition, wx.DefaultSize, 0) self.t_head_home.Wrap(-1) self.t_head_home.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_toolBar1.AddControl(self.t_head_home) self.m_toolBar1.Realize() bSizer15.Add(self.m_toolBar1, 1, wx.EXPAND, 0) bSizer8 = wx.BoxSizer(wx.VERTICAL) bSizer15.Add(bSizer8, 1, wx.EXPAND, 5) bSizer7.Add(bSizer15, 0, wx.EXPAND, 0) self.app_book = wx.Simplebook(self, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) self.page_0 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.bSizer18 = wx.BoxSizer(wx.VERTICAL) self.lb_home = wx.Listbook(self.page_0, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LB_DEFAULT) self.m_panel11 = wx.Panel(self.lb_home, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) self.lb_home.AddPage(self.m_panel11, u"Summary", True) self.m_panel9 = wx.Panel(self.lb_home, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer20 = wx.BoxSizer(wx.VERTICAL) self.m_textCtrl4 = wx.TextCtrl(self.m_panel9, wx.ID_ANY, wx.EmptyString, wx.DefaultPosition, wx.DefaultSize, 0) bSizer20.Add(self.m_textCtrl4, 1, wx.ALL | wx.EXPAND, 1) bSizer22 = wx.BoxSizer(wx.HORIZONTAL) bSizer22.SetMinSize(wx.Size(-1, 50)) self.m_button3 = wx.Button(self.m_panel9, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0) bSizer22.Add(self.m_button3, 0, wx.ALL | wx.EXPAND, 0) self.m_button4 = wx.Button(self.m_panel9, wx.ID_ANY, u"MyButton", wx.DefaultPosition, wx.DefaultSize, 0) bSizer22.Add(self.m_button4, 0, wx.ALL | wx.EXPAND, 0) bSizer20.Add(bSizer22, 0, wx.EXPAND, 0) self.m_panel9.SetSizer(bSizer20) self.m_panel9.Layout() bSizer20.Fit(self.m_panel9) self.lb_home.AddPage(self.m_panel9, u"Job Log", False) self.m_panel10 = wx.Panel(self.lb_home, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer21 = wx.BoxSizer(wx.VERTICAL) self.m_panel10.SetSizer(bSizer21) self.m_panel10.Layout() bSizer21.Fit(self.m_panel10) self.lb_home.AddPage(self.m_panel10, u"Job Notes", False) self.bSizer18.Add(self.lb_home, 1, wx.EXPAND | wx.ALL, 3) self.page_0.SetSizer(self.bSizer18) self.page_0.Layout() self.bSizer18.Fit(self.page_0) self.app_book.AddPage(self.page_0, u"a page", False) self.page_1 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer12 = wx.BoxSizer(wx.VERTICAL) self.m_staticText6 = wx.StaticText(self.page_1, wx.ID_ANY, u"TBD INPUT", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText6.Wrap(-1) self.m_staticText6.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText6.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer12.Add(self.m_staticText6, 0, wx.ALL | wx.EXPAND, 0) self.page_1.SetSizer(bSizer12) self.page_1.Layout() bSizer12.Fit(self.page_1) self.app_book.AddPage(self.page_1, u"a page", False) self.page_2 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer123 = wx.BoxSizer(wx.VERTICAL) self.m_staticText63 = wx.StaticText(self.page_2, wx.ID_ANY, u"TBD CLEAN UP", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText63.Wrap(-1) self.m_staticText63.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText63.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer123.Add(self.m_staticText63, 0, wx.ALL | wx.EXPAND, 0) self.page_2.SetSizer(bSizer123) self.page_2.Layout() bSizer123.Fit(self.page_2) self.app_book.AddPage(self.page_2, u"a page", False) self.page_3 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer1231 = wx.BoxSizer(wx.VERTICAL) self.m_staticText631 = wx.StaticText(self.page_3, wx.ID_ANY, u"TBD ANALYSIS", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText631.Wrap(-1) self.m_staticText631.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText631.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer1231.Add(self.m_staticText631, 0, wx.ALL | wx.EXPAND, 0) self.page_3.SetSizer(bSizer1231) self.page_3.Layout() bSizer1231.Fit(self.page_3) self.app_book.AddPage(self.page_3, u"a page", False) self.page_4 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer121 = wx.BoxSizer(wx.VERTICAL) self.m_staticText61 = wx.StaticText(self.page_4, wx.ID_ANY, u"TBD PROD", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText61.Wrap(-1) self.m_staticText61.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText61.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer121.Add(self.m_staticText61, 0, wx.ALL | wx.EXPAND, 0) self.page_4.SetSizer(bSizer121) self.page_4.Layout() bSizer121.Fit(self.page_4) self.app_book.AddPage(self.page_4, u"a page", False) self.page_5 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer122 = wx.BoxSizer(wx.VERTICAL) self.m_staticText62 = wx.StaticText(self.page_5, wx.ID_ANY, u"TBD CPNs PANEL", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText62.Wrap(-1) self.m_staticText62.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText62.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer122.Add(self.m_staticText62, 0, wx.ALL | wx.EXPAND, 0) self.page_5.SetSizer(bSizer122) self.page_5.Layout() bSizer122.Fit(self.page_5) self.app_book.AddPage(self.page_5, u"a page", False) self.page_6 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bx_targets = wx.BoxSizer(wx.VERTICAL) self.m_listbook121 = wx.Listbook(self.page_6, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.LB_DEFAULT) self.pn_di_app = wx.Panel(self.m_listbook121, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bx_tgt_app = wx.BoxSizer(wx.HORIZONTAL) bSizer211 = wx.BoxSizer(wx.VERTICAL) self.g_di_layers = wx.grid.Grid(self.pn_di_app, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, 0) # Grid self.g_di_layers.CreateGrid(0, 5) self.g_di_layers.EnableEditing(True) self.g_di_layers.EnableGridLines(True) self.g_di_layers.EnableDragGridSize(False) self.g_di_layers.SetMargins(0, 0) # Columns self.g_di_layers.EnableDragColMove(False) self.g_di_layers.EnableDragColSize(True) self.g_di_layers.SetColLabelSize(30) self.g_di_layers.SetColLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Rows self.g_di_layers.EnableDragRowSize(True) self.g_di_layers.SetRowLabelSize(80) self.g_di_layers.SetRowLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER) # Label Appearance # Cell Defaults self.g_di_layers.SetDefaultCellAlignment(wx.ALIGN_LEFT, wx.ALIGN_TOP) bSizer211.Add(self.g_di_layers, 1, wx.ALL | wx.EXPAND, 5) bSizer221 = wx.BoxSizer(wx.HORIZONTAL) bSizer221.SetMinSize(wx.Size(-1, 50)) self.bt_di_save = wx.Button(self.pn_di_app, wx.ID_ANY, u"Save", wx.DefaultPosition, wx.DefaultSize, 0) self.bt_di_save.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer221.Add(self.bt_di_save, 1, wx.ALL | wx.EXPAND, 2) self.bt_di_undo = wx.Button(self.pn_di_app, wx.ID_ANY, u"Reload", wx.DefaultPosition, wx.DefaultSize, 0) self.bt_di_undo.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer221.Add(self.bt_di_undo, 1, wx.ALL | wx.EXPAND, 2) self.bt_di_undo1 = wx.Button(self.pn_di_app, wx.ID_ANY, u"Close", wx.DefaultPosition, wx.DefaultSize, 0) self.bt_di_undo1.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer221.Add(self.bt_di_undo1, 1, wx.ALL | wx.EXPAND, 2) bSizer211.Add(bSizer221, 0, wx.EXPAND, 1) bx_tgt_app.Add(bSizer211, 1, wx.EXPAND, 1) bSizer23 = wx.BoxSizer(wx.VERTICAL) self.m_staticText22 = wx.StaticText( self.pn_di_app, wx.ID_ANY, u"Select Target Set", wx.DefaultPosition, wx.Size(-1, 27), wx.ALIGN_CENTER_HORIZONTAL | wx.BORDER_THEME) self.m_staticText22.Wrap(-1) self.m_staticText22.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer23.Add(self.m_staticText22, 0, wx.ALL | wx.EXPAND, 5) bSizer23.Add((0, 5), 0, 0, 5) self.tx_di_set1 = wx.StaticText(self.pn_di_app, wx.ID_ANY, u"Target Set A", wx.DefaultPosition, wx.DefaultSize, 0) self.tx_di_set1.Wrap(-1) self.tx_di_set1.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer23.Add(self.tx_di_set1, 0, wx.ALL, 5) ch_di_set1Choices = [] self.ch_di_set1 = wx.Choice(self.pn_di_app, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, ch_di_set1Choices, 0) self.ch_di_set1.SetSelection(0) self.ch_di_set1.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial")) bSizer23.Add(self.ch_di_set1, 0, wx.ALL | wx.EXPAND, 5) self.tx_di_set2 = wx.StaticText(self.pn_di_app, wx.ID_ANY, u"Target Set B", wx.DefaultPosition, wx.DefaultSize, 0) self.tx_di_set2.Wrap(-1) self.tx_di_set2.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer23.Add(self.tx_di_set2, 0, wx.ALL, 5) ch_di_set2Choices = [] self.ch_di_set2 = wx.Choice(self.pn_di_app, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, ch_di_set2Choices, 0) self.ch_di_set2.SetSelection(0) self.ch_di_set2.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial")) bSizer23.Add(self.ch_di_set2, 0, wx.ALL | wx.EXPAND, 5) self.tx_di_set3 = wx.StaticText(self.pn_di_app, wx.ID_ANY, u"Target Set C", wx.DefaultPosition, wx.DefaultSize, 0) self.tx_di_set3.Wrap(-1) self.tx_di_set3.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer23.Add(self.tx_di_set3, 0, wx.ALL, 5) ch_di_set3Choices = [] self.ch_di_set3 = wx.Choice(self.pn_di_app, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, ch_di_set3Choices, 0) self.ch_di_set3.SetSelection(0) self.ch_di_set3.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial")) bSizer23.Add(self.ch_di_set3, 0, wx.ALL | wx.EXPAND, 5) self.tx_di_set4 = wx.StaticText(self.pn_di_app, wx.ID_ANY, u"Target Set D", wx.DefaultPosition, wx.DefaultSize, 0) self.tx_di_set4.Wrap(-1) self.tx_di_set4.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bSizer23.Add(self.tx_di_set4, 0, wx.ALL, 5) ch_di_set4Choices = [] self.ch_di_set4 = wx.Choice(self.pn_di_app, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, ch_di_set4Choices, 0) self.ch_di_set4.SetSelection(0) self.ch_di_set4.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial")) bSizer23.Add(self.ch_di_set4, 0, wx.ALL | wx.EXPAND, 5) bSizer23.Add((0, 30), 0, 0, 5) bx_di_cmds = wx.BoxSizer(wx.HORIZONTAL) bx_di_cmds.SetMinSize(wx.Size(-1, 50)) self.m_button10 = wx.Button(self.pn_di_app, wx.ID_ANY, u"Apply Target Sets", wx.DefaultPosition, wx.DefaultSize, 0) self.m_button10.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bx_di_cmds.Add(self.m_button10, 1, wx.ALL | wx.EXPAND, 2) self.m_button11 = wx.Button(self.pn_di_app, wx.ID_ANY, u"Remove All DI Tg", wx.DefaultPosition, wx.DefaultSize, 0) self.m_button11.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_BOLD, False, "Arial")) bx_di_cmds.Add(self.m_button11, 1, wx.ALL | wx.EXPAND, 2) bSizer23.Add(bx_di_cmds, 0, wx.EXPAND, 5) bx_tgt_app.Add(bSizer23, 1, wx.EXPAND, 5) self.pn_di_app.SetSizer(bx_tgt_app) self.pn_di_app.Layout() bx_tgt_app.Fit(self.pn_di_app) self.m_listbook121.AddPage(self.pn_di_app, u"DI Targets", False) bx_targets.Add(self.m_listbook121, 1, wx.EXPAND | wx.ALL, 2) self.page_6.SetSizer(bx_targets) self.page_6.Layout() bx_targets.Fit(self.page_6) self.app_book.AddPage(self.page_6, u"a page", False) self.page_7 = wx.Panel(self.app_book, wx.ID_ANY, wx.DefaultPosition, wx.DefaultSize, wx.TAB_TRAVERSAL) bSizer12311 = wx.BoxSizer(wx.VERTICAL) self.m_staticText6311 = wx.StaticText(self.page_7, wx.ID_ANY, u"TBD OUTPUT", wx.DefaultPosition, wx.DefaultSize, wx.ALIGN_CENTER_HORIZONTAL) self.m_staticText6311.Wrap(-1) self.m_staticText6311.SetFont( wx.Font(24, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_ITALIC, wx.FONTWEIGHT_NORMAL, False, "Arial Narrow")) self.m_staticText6311.SetBackgroundColour( wx.SystemSettings.GetColour(wx.SYS_COLOUR_INFOBK)) bSizer12311.Add(self.m_staticText6311, 0, wx.ALL | wx.EXPAND, 0) self.page_7.SetSizer(bSizer12311) self.page_7.Layout() bSizer12311.Fit(self.page_7) self.app_book.AddPage(self.page_7, u"a page", False) bSizer7.Add(self.app_book, 1, wx.ALL | wx.EXPAND, 1) self.SetSizer(bSizer7) self.Layout() self.sb_status = self.CreateStatusBar(1, wx.STB_SIZEGRIP, wx.ID_ANY) self.sb_status.SetFont( wx.Font(12, wx.FONTFAMILY_SWISS, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_NORMAL, False, "Arial")) self.Centre(wx.BOTH) # Connect Events self.m_bitmap1.Bind(wx.EVT_LEFT_UP, self.exit_script) self.Bind(wx.EVT_TOOL, self.activate_home, id=self.tool_home.GetId()) self.Bind(wx.EVT_TOOL_ENTER, self.exec_tool_enter, id=self.tool_home.GetId()) self.Bind(wx.EVT_TOOL, self.activate_input, id=self.tool_input.GetId()) self.Bind(wx.EVT_TOOL, self.activate_cleanup, id=self.tool_cleanup.GetId()) self.Bind(wx.EVT_TOOL, self.activate_analysis, id=self.tool_analysis.GetId()) self.Bind(wx.EVT_TOOL, self.activate_edit, id=self.tool_edit.GetId()) self.Bind(wx.EVT_TOOL, self.activate_panel, id=self.m_tool11.GetId()) self.Bind(wx.EVT_TOOL, self.activate_targets, id=self.tool_targets.GetId()) self.Bind(wx.EVT_TOOL, self.activate_output, id=self.m_tool12.GetId()) self.bt_di_save.Bind(wx.EVT_LEFT_UP, self.cmd_save) self.bt_di_undo1.Bind(wx.EVT_LEFT_UP, self.exit_script)
def __init__(self, *args, **kwgs): wx.Panel.__init__(self, *args, **kwgs) # current file and folder self.currentFile = '' self.currentDir = os.getcwd() # book control self.book = wx.Simplebook(self) # directory control without files self.dirctrl1 = wx.GenericDirCtrl(self.book, style=wx.DIRCTRL_DIR_ONLY) # directory control with files self.dirctrl2 = wx.GenericDirCtrl(self.book) # webview: flie list mode self.webview = html2.WebView.New(self.book) # webview: flie view mode # TODO: this will be replaced by proper viewer # wx.lib.ClickableHtmlWindow # wx.lib.docview # wx.lib.iewin # wx.lib.imagebrowser # wx.lib.imagebrowser.ImagePanel # wx.lib.pdfviewer # wx.lib.pdfwin # wx.lib.pydocview # textviewer # texteditor self.viewer = html2.WebView.New(self.book) self.pages = [ {'name':'Dir1', 'page':self.dirctrl1}, {'name':'Dir2', 'page':self.dirctrl2}, {'name':'List', 'page':self.webview}, {'name':'View', 'page':self.viewer}] # add pages to the book for idx, item in enumerate(self.pages): self.book.AddPage(item['page'], '') item['page no'] = idx sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.book, 1, wx.ALL|wx.EXPAND, 4) self.SetSizer(sizer) self.SetAutoLayout(True) sizer.Fit(self) # event from DIRCTRL self.Bind(wx.EVT_DIRCTRL_SELECTIONCHANGED, self.OnDirSelChanged, self.dirctrl1) self.Bind(wx.EVT_DIRCTRL_FILEACTIVATED, self.OnFileActivated, self.dirctrl2) # event from WEBVIEW self.Bind(wx.html2.EVT_WEBVIEW_NAVIGATED, self.OnWebNavigated, self.webview) self.Bind(wx.html2.EVT_WEBVIEW_LOADED, self.OnWebLoaded, self.webview) # set initial page self.SetCurrentPage('Dir1')