def _CreateToolBar(self, d='H'): '''创建工具栏''' bmp_open = wx.Bitmap(APP_ICON, wx.BITMAP_TYPE_ANY) bmp_save = wx.Bitmap(APP_ICON, wx.BITMAP_TYPE_ANY) bmp_help = wx.Bitmap(APP_ICON, wx.BITMAP_TYPE_ANY) bmp_about = wx.Bitmap(APP_ICON, wx.BITMAP_TYPE_ANY) if d.upper() in ['V', 'VERTICAL']: tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_TEXT | aui.AUI_TB_VERTICAL) else: tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_TEXT) tb.SetToolBitmapSize(wx.Size(16, 16)) tb.AddSimpleTool(self.id_open, u'打开', bmp_open, u'打开文件') tb.AddSimpleTool(self.id_save, u'保存', bmp_save, u'保存文件') tb.AddSeparator() tb.AddSimpleTool(self.id_help, u'帮助', bmp_help, u'帮助') tb.AddSimpleTool(self.id_about, u'关于', bmp_about, u'关于') tb.Realize() return tb
def __init__(self, parent, *args, **kwargs): wx.Panel.__init__(self, parent, *args, **kwargs) self.toolbarart = AuiToolBarPopupArt(self) sizer = wx.BoxSizer(wx.VERTICAL) tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_OVERFLOW | aui.AUI_TB_TEXT | aui.AUI_TB_HORZ_TEXT | aui.AUI_TB_PLAIN_BACKGROUND) tb.SetToolBitmapSize(wx.Size(16, 16)) tb_bmp1 = wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE, wx.ART_OTHER, wx.Size(16, 16)) tb.AddSimpleTool(ID_TOOL_START + 200, "Item 1", tb_bmp1) tb.AddCheckTool(ID_TOOL_START + 201, "Toggle", tb_bmp1, wx.NullBitmap) tb.AddRadioTool(ID_TOOL_START + 202, "Radio 0", tb_bmp1, wx.NullBitmap) tb.AddRadioTool(ID_TOOL_START + 203, "Radio 1", tb_bmp1, wx.NullBitmap) tb.AddSeparator() tb.AddSimpleTool(ID_TOOL_START + 204, "Item 5", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 205, "Item 6", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 206, "Item 7", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 207, "Item 8", tb_bmp1) tb.SetArtProvider(self.toolbarart) tb.Realize() sizer.Add(tb, 0, wx.EXPAND) ns = {} ns['wx'] = wx ns['app'] = wx.GetApp() ns['frame'] = parent shell = py.shell.Shell(self, -1, locals=ns) sizer.Add(shell, 1, wx.EXPAND) self.SetSizer(sizer) self.Bind(wx.EVT_TOOL, self.OnTool)
def test_lib_agw_aui_ToolbarCtor(self): tb = aui.AuiToolBar(self.frame, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_OVERFLOW | aui.AUI_TB_VERT_TEXT) tb_bmp1 = wx.ArtProvider.GetBitmap(wx.ART_QUESTION, wx.ART_OTHER, wx.Size(16, 16)) tb.AddSimpleTool(-1, "Test", tb_bmp1) tb.AddSimpleTool(-1, "Check 1", tb_bmp1, "Check 1", aui.ITEM_CHECK) tb.AddSimpleTool(-1, "Radio 1", tb_bmp1, "Radio 1", aui.ITEM_RADIO) tb.AddSeparator() # prepare a few custom overflow elements for the toolbars' overflow buttons prepend_items, append_items = [], [] item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_SEPARATOR) append_items.append(item) item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_NORMAL) item.SetId(-1) item.SetLabel("Customize...") append_items.append(item) tb.SetCustomOverflowItems(prepend_items, append_items) tb.Realize()
def MakeToolBar2(self): tbar = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) tbar.SetToolBitmapSize(wx.Size(32, 32)) ID_OUTIL_AFFICHAGE_LABELS = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_AFFICHAGE_LABELS, _(u"Afficher les labels associés aux données"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Calque_label.png"), wx.BITMAP_TYPE_ANY), _(u"Afficher les labels associés aux données"), aui.ITEM_CHECK) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnAffichage_labels, id=ID_OUTIL_AFFICHAGE_LABELS) tbar.ToggleTool(ID_OUTIL_AFFICHAGE_LABELS, True) ID_OUTIL_AFFICHAGE_REMPLISSAGE = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_AFFICHAGE_REMPLISSAGE, _(u"Afficher le remplissage des objets associés aux données"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Calque_fond.png"), wx.BITMAP_TYPE_ANY), _(u"Afficher le remplissage des objets associés aux données"), aui.ITEM_CHECK) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnAffichage_remplissage, id=ID_OUTIL_AFFICHAGE_REMPLISSAGE) tbar.ToggleTool(ID_OUTIL_AFFICHAGE_REMPLISSAGE, True) ID_OUTIL_AFFICHAGE_COULEURS = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_AFFICHAGE_COULEURS, _(u"Synchroniser les couleurs du remplissage avec les données"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Calque_couleurs.png"), wx.BITMAP_TYPE_ANY), _(u"Synchroniser les couleurs du remplissage avec les données"), aui.ITEM_CHECK) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnAffichage_couleurs, id=ID_OUTIL_AFFICHAGE_COULEURS) tbar.ToggleTool(ID_OUTIL_AFFICHAGE_COULEURS, True) ID_OUTIL_AFFICHAGE_BORDS = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_AFFICHAGE_BORDS, _(u"Afficher les bords des objets associés aux données"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Calque_bords.png"), wx.BITMAP_TYPE_ANY), _(u"Afficher les bords des objets associés aux données"), aui.ITEM_CHECK) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnAffichage_bords, id=ID_OUTIL_AFFICHAGE_BORDS) tbar.ToggleTool(ID_OUTIL_AFFICHAGE_BORDS, True) tbar.Realize() return tbar
def MakeToolBar1(self): tbar = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) tbar.SetToolBitmapSize(wx.Size(32, 32)) ID_OUTIL_CURSEUR = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_CURSEUR, _(u"Curseur"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Curseur.png"), wx.BITMAP_TYPE_ANY), _(u"Curseur"), aui.ITEM_RADIO) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnOutil_curseur, id=ID_OUTIL_CURSEUR) tbar.ToggleTool(ID_OUTIL_CURSEUR, True) ID_OUTIL_DEPLACER = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_DEPLACER, _(u"Déplacer"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Main.png"), wx.BITMAP_TYPE_ANY), _(u"Déplacer"), aui.ITEM_RADIO) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnOutil_deplacer, id=ID_OUTIL_DEPLACER) ID_OUTIL_ZOOM_OUT = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_ZOOM_OUT, _(u"Zoom arrière"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/zoom_moins.png"), wx.BITMAP_TYPE_ANY), _(u"Zoom arrière"), aui.ITEM_RADIO) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnOutil_zoom_moins, id=ID_OUTIL_ZOOM_OUT) ID_OUTIL_ZOOM_IN = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_ZOOM_IN, _(u"Zoom avant"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/zoom_plus.png"), wx.BITMAP_TYPE_ANY), _(u"Zoom avant"), aui.ITEM_RADIO) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnOutil_zoom_plus, id=ID_OUTIL_ZOOM_IN) tbar.AddSeparator() ID_OUTIL_ZOOM_AJUSTER = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_ZOOM_AJUSTER, _(u"Ajuster et centrer l'affichage"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Ajuster.png"), wx.BITMAP_TYPE_ANY), _(u"Ajuster et centrer l'affichage")) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnOutil_ajuster, id=ID_OUTIL_ZOOM_AJUSTER) tbar.AddSeparator() ID_OUTIL_AFFICHAGE_APERCU = wx.NewId() tbar.AddSimpleTool(ID_OUTIL_AFFICHAGE_APERCU, _(u"Afficher un aperçu PDF"), wx.Bitmap(Chemins.GetStaticPath("Images/32x32/Pdf.png"), wx.BITMAP_TYPE_ANY), _(u"Afficher un aperçu PDF")) self.Bind(wx.EVT_TOOL, self.ctrl_canvas.OnAffichage_apercu, id=ID_OUTIL_AFFICHAGE_APERCU) tbar.Realize() return tbar
def __init__(self, parent): wx.Panel.__init__(self, parent) agwStyle = aui.AUI_TB_OVERFLOW | aui.AUI_TB_PLAIN_BACKGROUND self.tb = aui.AuiToolBar(self, agwStyle=agwStyle) self.tb.AddSimpleTool(self.ID_GOTO_PARENT, 'Parent', wx.Bitmap(to_byte(goup_xpm)), 'Parent folder') self.tb.AddSimpleTool(self.ID_GOTO_HOME, 'Home', wx.Bitmap(to_byte(home_xpm)), 'Current folder') self.tb.Realize() self.dirtree = DirTreeCtrl(self, style=wx.TR_DEFAULT_STYLE | wx.TR_HAS_VARIABLE_ROW_HEIGHT | wx.TR_HIDE_ROOT) self.dirtree.SetRootDir(os.getcwd()) self.box = wx.BoxSizer(wx.VERTICAL) self.box.Add(self.tb, 0, wx.EXPAND, 0) #self.box.Add(wx.StaticLine(self), 0, wx.EXPAND) self.box.Add(self.dirtree, 1, wx.EXPAND) self.box.Fit(self) self.SetSizer(self.box) self.Bind(wx.EVT_TOOL, self.OnGotoHome, id=self.ID_GOTO_HOME) self.Bind(wx.EVT_TOOL, self.OnGotoParent, id=self.ID_GOTO_PARENT) self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnItemActivated, self.dirtree)
def __init__(self, frame): aui.AuiToolBar.__init__(self, frame) # prepare a few custom overflow elements for the toolbars' overflow buttons prepend_items, append_items = [], [] item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_SEPARATOR) append_items.append(item) item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_NORMAL) item.SetId(ID_CustomizeToolbar) item.SetLabel("Customize...") append_items.append(item) self._frame = frame # DEBUG If we attach to frame it won't be detachable, and overlaps # If self, buttons are not shown self.tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) self.tb.SetToolBitmapSize(wx.Size(16, 16)) self._buttons = [] self._search_handlers = {} self._current_description = None self.tb.SetCustomOverflowItems(prepend_items, append_items) self.tb.Realize()
def __init__(self, parent): wx.Frame.__init__(self, parent, style=wx.NO_BORDER| wx.FRAME_TOOL_WINDOW|wx.FRAME_NO_TASKBAR| wx.FRAME_FLOAT_ON_PARENT|wx.STAY_ON_TOP) self._toolbar = None self.tb = aui.AuiToolBar(self, -1, agwStyle=aui.AUI_TB_VERTICAL| aui.AUI_TB_TEXT|aui.AUI_TB_HORZ_TEXT) self.Bind(wx.EVT_ACTIVATE, self.OnActivate)
def _InitUserToolbar(self): if self.tb2: pinfo = self._mgr.GetPane(self.tb2) self._mgr.ClosePane(pinfo) self._mgr.DetachPane(self.tb2) self.tb2.Destroy() self.tb2 = aui.AuiToolBar(self, -1) self.tb2.SetToolBitmapSize(wx.Size(16, 16)) self.tb2.AddSpacer(1)
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TAB_TRAVERSAL | wx.NO_BORDER, name=wx.PanelNameStr): """Initialize the HTML viewer""" NbookPanel.__init__(self, parent, id, pos, size, style, name) self.Tag = "ImgView" self.Title = _("Image Library") self.icon = wx.ArtProvider_GetBitmap(str(ed_glob.ID_DECA_IMAGES), wx.ART_MENU, wx.Size(16, 16)) bSizer = wx.BoxSizer(wx.VERTICAL) self.mtb = aui.AuiToolBar(self, -1, agwStyle=aui.AUI_TB_HORZ_LAYOUT) self.mtb.SetToolBitmapSize(wx.Size(16, 16)) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_ADD), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_ADD, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Add image"), _("Import image into the library"), None) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_REMOVE), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_REMOVE, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Remove image"), _("Remove imeage from the library"), None) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_REFRESH), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_REFRESH, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Refresh"), _("Reload library contents"), None) self.mtb.Realize() bSizer.Add(self.mtb, proportion=0, flag=wx.EXPAND, border=5) self.view = wx.ListCtrl(self, wx.ID_ANY, style=wx.LC_ICON | wx.LC_AUTOARRANGE) #self.view = libul.UltimateListCtrl( self, agwStyle=wx.LC_ICON|wx.LC_AUTOARRANGE| libul.ULC_AUTOARRANGE) #self.view.InsertColumn(0, heading="", width= 220) #self.view.InsertColumn(1, heading="", width= 220) bSizer.Add(self.view, proportion=1, flag=wx.EXPAND, border=0) self.SetSizer(bSizer) self.Layout() self.items = [] self.Bind(wx.EVT_MENU, self.OnAddImage, id=wx.ID_ADD) self.Bind(wx.EVT_MENU, self.OnDelete, id=wx.ID_REMOVE) self.Bind(wx.EVT_MENU, self.UpdateView, id=wx.ID_REFRESH) self.Bind(wx.EVT_LIST_ITEM_SELECTED, self.OnItemSelected, self.view) wx.CallAfter(self.UpdateView)
def __init__(self, parent, results): wx.Panel.__init__(self, parent, -1) self._parent = parent self.filtertimer = wx.Timer() self.results = results self.toolbar = aui.AuiToolBar(self, -1, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW | aui.AUI_TB_HORZ_TEXT) self.filterctrl = wx.SearchCtrl(self.toolbar, -1, size=(220, -1), style=wx.TE_PROCESS_ENTER) self.filterctrl.SetDescriptiveText(_("Filter...")) self.filterctrl.GetChildren()[0].SetAcceleratorTable( wx.AcceleratorTable([(wx.ACCEL_CTRL, ord("A"), wx.ID_SELECTALL)])) self.toolbar.AddControl(self.filterctrl) self.filterctrl.Bind(wx.EVT_TEXT, self.OnText) self.filterctrl.Bind(wx.EVT_TEXT_ENTER, self.OnFilter) self.filterctrl.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self.OnCancelBtn) self.ID_EXCLUDE = wx.NewId() self.toolbar.AddCheckTool(self.ID_EXCLUDE, "", parent.Bitmap("exclude"), wx.NullBitmap, _("Exclude Filter")) self.Bind(wx.EVT_MENU, self.OnExclude, id=self.ID_EXCLUDE) self.toolbar.AddSeparator() self.toolbar.AddSimpleTool(wx.ID_SAVE, _("Save"), parent.Bitmap("save"), _("Save Results")) self.Bind(wx.EVT_MENU, self.OnSave, id=wx.ID_SAVE) self.toolbar.AddSimpleTool(wx.ID_REFRESH, _("Refresh"), parent.Bitmap("refresh"), _("Redo Search")) self.Bind(wx.EVT_MENU, self.OnRefresh, id=wx.ID_REFRESH) self.toolbar.Realize() self.tree = wx.TreeCtrl(self, -1, style=wx.NO_BORDER | wx.TR_HAS_BUTTONS | wx.TR_NO_LINES | wx.TR_FULL_ROW_HIGHLIGHT | wx.TR_LINES_AT_ROOT | wx.TR_HIDE_ROOT) self.root = self.tree.AddRoot("") self.tree.SetFont( wx.Font(parent.GetFont().GetPointSize(), wx.TELETYPE, wx.NORMAL, wx.NORMAL)) self.Load(results, False) sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.toolbar, 0, wx.EXPAND) sizer.Add(self.tree, 1, wx.EXPAND) self.SetSizer(sizer) self.tree.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnItemActivated) self.filtertimer.Bind(wx.EVT_TIMER, self.OnFilter)
def BuildToolbar( self ) : tb = aui.AuiToolBar( self, -1 ) self.ToolBar = tb tb.SetToolBitmapSize( ( 8, 8) )# this required for non-standard size buttons on MSW self.Bind(wx.EVT_TOOL, self.OnToolLock, source = tb.AddSimpleTool(wx.ID_ANY, 'Lock view', wx.Image(r'RCP2Console\Resources\Lock.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Lock current view while processing messagse')) self.Bind(wx.EVT_TOOL, self.OnToolSettings, source = tb.AddSimpleTool(wx.ID_ANY, 'Settings', wx.Image(r'RCP2Console\Resources\Configure.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Open settings window')) self.Bind(wx.EVT_TOOL, self.OnToolClear, source = tb.AddSimpleTool(wx.ID_ANY, 'Clear', wx.Image(r'RCP2Console\Resources\Clear.png', wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'Clear all HTML text from console')) tb.Realize() return tb
def CreateToolBar(self, wind): global bmCrosshairs, bmRectSelect, bmLineSelect, bmSquiggleSelect if bmCrosshairs == None: #load bitmaps on first use bmCrosshairs = wx.Bitmap( os.path.join(dirname, 'icons/crosshairs.png')) bmRectSelect = wx.Bitmap( os.path.join(dirname, 'icons/rect_select.png')) bmLineSelect = wx.Bitmap( os.path.join(dirname, 'icons/line_select.png')) bmSquiggleSelect = wx.Bitmap( os.path.join(dirname, 'icons/squiggle_select.png')) self.toolB = aui.AuiToolBar(wind, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW | aui.AUI_TB_VERTICAL) self.toolB.SetToolBitmapSize(wx.Size(16, 16)) #ID_POINTER = wx.NewId() ID_CROSSHAIRS = wx.NewId() ID_RECTSELECT = wx.NewId() ID_LINESELECT = wx.NewId() ID_SQUIGGLESELECT = wx.NewId() self.toolB.AddRadioTool(ID_CROSSHAIRS, "Point selection", bmCrosshairs, bmCrosshairs) self.toolB.AddRadioTool(ID_RECTSELECT, "Rectangle selection", bmRectSelect, bmRectSelect) self.toolB.AddRadioTool(ID_LINESELECT, "Line selection", bmLineSelect, bmLineSelect) self.toolB.AddRadioTool(ID_SQUIGGLESELECT, "Freeform selection", bmSquiggleSelect, bmSquiggleSelect) self.toolB.Realize() #self._mgr.AddPane(tb5, aui.AuiPaneInfo().Name("tb5").Caption("Sample Vertical Toolbar"). # ToolbarPane().Left().GripperTop()) self.toolB.ToggleTool(ID_CROSSHAIRS, True) wind.Bind(wx.EVT_TOOL, self.OnSelectCrosshairs, id=ID_CROSSHAIRS) wind.Bind(wx.EVT_TOOL, self.OnSelectRectangle, id=ID_RECTSELECT) wind.Bind(wx.EVT_TOOL, self.OnSelectLine, id=ID_LINESELECT) wind.Bind(aui.EVT_AUITOOLBAR_RIGHT_CLICK, self.OnLineThickness, id=ID_LINESELECT) wind.Bind(wx.EVT_TOOL, self.OnSelectSquiggle, id=ID_SQUIGGLESELECT) return self.toolB
def __init__(self, parent, id=-1, pos=wx.DefaultPosition, size=wx.DefaultSize, style=wx.TAB_TRAVERSAL | wx.NO_BORDER, name=wx.PanelNameStr): """Initialize the HTML viewer""" NbookPanel.__init__(self, parent, id, pos, size, style, name) self.Tag = "HtmlView" self.Title = _("Help viewer") self.icon = wx.ArtProvider_GetBitmap(str(ed_glob.ID_WEB), wx.ART_MENU, wx.Size(16, 16)) bSizer = wx.BoxSizer(wx.VERTICAL) self.mtb = aui.AuiToolBar(self, -1, agwStyle=aui.AUI_TB_HORZ_LAYOUT) self.mtb.SetToolBitmapSize(wx.Size(16, 16)) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_BACKWARD), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_BACKWARD, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Back"), _("Return to previous page"), None) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_FORWARD), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_FORWARD, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Forward"), _("Go to the next page"), None) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_REFRESH), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_REFRESH, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Refresh"), _("Reload current page"), None) tbmp = wx.ArtProvider_GetBitmap(str(ed_glob.ID_HOMEPAGE), wx.ART_MENU, wx.Size(16, 16)) self.mtb.AddTool(wx.ID_HOME, '', tbmp, tbmp, wx.ITEM_NORMAL, _("Home"), _("Go to the start page"), None) self.mtb.AddSpacer(1) self.Location = self.mtb.AddLabel(self.ID_Location, "about:blank") self.mtb.Realize() bSizer.Add(self.mtb, proportion=0, flag=wx.EXPAND, border=5) self.html = wx.Panel(self) bSizer.Add(self.html, proportion=1, flag=wx.EXPAND, border=0) self.SetSizer(bSizer) self.Layout() self.Bind(wx.EVT_MENU, self.OnBack, id=wx.ID_BACKWARD) self.Bind(wx.EVT_MENU, self.OnForward, id=wx.ID_FORWARD) self.Bind(wx.EVT_MENU, self.OnRefresh, id=wx.ID_REFRESH) self.Bind(wx.EVT_MENU, self.OnHome, id=wx.ID_HOME) self.Bind(wx.EVT_SHOW, self.OnShow)
def testToolbar(self): #### More testing prepend_items, append_items = [], [] item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_SEPARATOR) append_items.append(item) item = aui.AuiToolBarItem() item.SetKind(wx.ITEM_NORMAL) item.SetId(ID_CustomizeToolbar) item.SetLabel("Customize...") append_items.append(item) tb3 = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) tb3.SetToolBitmapSize(wx.Size(16, 16)) tb3_bmp1 = wx.ArtProvider.GetBitmap(wx.ART_FOLDER, wx.ART_OTHER, wx.Size(16, 16)) tb3.AddSimpleTool(ID_SampleItem + 16, "Check 1", tb3_bmp1, "Check 1", aui.ITEM_CHECK) tb3.AddSimpleTool(ID_SampleItem + 17, "Check 2", tb3_bmp1, "Check 2", aui.ITEM_CHECK) tb3.AddSimpleTool(ID_SampleItem + 18, "Check 3", tb3_bmp1, "Check 3", aui.ITEM_CHECK) tb3.AddSimpleTool(ID_SampleItem + 19, "Check 4", tb3_bmp1, "Check 4", aui.ITEM_CHECK) tb3.AddSeparator() tb3.AddSimpleTool(ID_SampleItem + 20, "Radio 1", tb3_bmp1, "Radio 1", aui.ITEM_RADIO) tb3.AddSimpleTool(ID_SampleItem + 21, "Radio 2", tb3_bmp1, "Radio 2", aui.ITEM_RADIO) tb3.AddSimpleTool(ID_SampleItem + 22, "Radio 3", tb3_bmp1, "Radio 3", aui.ITEM_RADIO) tb3.AddSeparator() tb3.AddSimpleTool(ID_SampleItem + 23, "Radio 1 (Group 2)", tb3_bmp1, "Radio 1 (Group 2)", aui.ITEM_RADIO) tb3.AddSimpleTool(ID_SampleItem + 24, "Radio 2 (Group 2)", tb3_bmp1, "Radio 2 (Group 2)", aui.ITEM_RADIO) tb3.AddSimpleTool(ID_SampleItem + 25, "Radio 3 (Group 2)", tb3_bmp1, "Radio 3 (Group 2)", aui.ITEM_RADIO) tb3.SetCustomOverflowItems(prepend_items, append_items) tb3.Realize() return tb3
def Initialize(cls, frame, **kwargs): if cls.isInitialized: return cls.isInitialized = True cls.frame = frame # stack panel cls.panelStack = StackPanel(frame) dp.send('frame.add_panel', panel=cls.panelStack, title="Call Stack", active=False, showhidemenu='View:Panels:Call Stack') # debugger toolbar dp.send('frame.add_menu', path='Tools:Debug', rxsignal='', kind='Popup') cls.tbDebug = aui.AuiToolBar(frame, style=wx.TB_FLAT | wx.TB_HORIZONTAL) items = ( ('Run\tF5', 'resume', run_svg, run_grey_svg, 'paused'), ('Stop\tShift-F5', 'stop', stop_svg, stop_grey_svg, 'paused'), ('Step\tF10', 'step', step_over_svg, step_over_grey_svg, 'paused'), ('Step Into\tF11', 'step_into', step_into_svg, step_into_grey_svg, 'can_stepin'), ('Step Out\tShift-F11', 'step_out', step_out_svg, step_out_grey_svg, 'can_stepout'), ) cls.menus = {} for label, signal, xpm, xpm_grey, status in items: resp = dp.send('frame.add_menu', path='Tools:Debug:' + label, rxsignal='debugger.' + signal, updatesignal='debugtool.updateui') if not resp: continue cls.menus[resp[0][1]] = status cls.tbDebug.AddTool(resp[0][1], label, svg_to_bitmap(xpm), svg_to_bitmap(xpm_grey), wx.ITEM_NORMAL, label) cls.tbDebug.Realize() dp.send('frame.add_panel', panel=cls.tbDebug, title='Debugger', active=False, paneInfo=aui.AuiPaneInfo().Name('debugger').Caption( 'Debugger').ToolbarPane().Top(), showhidemenu='View:Toolbars:Debugger') dp.connect(cls.OnUpdateMenuUI, 'debugtool.updateui') dp.connect(cls.OnDebugPaused, 'debugger.paused') dp.connect(cls.OnDebugEnded, 'debugger.ended') dp.connect(cls.Uninitialize, 'frame.exit')
def OnInit(self): style = aui.AUI_TB_DEFAULT_STYLE if self.direction == wx.LEFT or self.direction == wx.RIGHT: style |= aui.AUI_TB_VERT_TEXT else: style |= aui.AUI_TB_HORZ_TEXT self.toolbar = aui.AuiToolBar(self._frame, -1, agwStyle=style) self.hoveritem = -1 self.hovertimer = wx.Timer() self.hovertimer.Bind(wx.EVT_TIMER, self.OnHoverTimer) self.toolbar.Bind(wx.EVT_MENU, self.OnPane) self.toolbar.Bind(aui.EVT_AUITOOLBAR_MIDDLE_CLICK, self.OnMiddleClick) self.toolbar.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveWindow) self.toolbar.Bind(wx.EVT_MOTION, self.OnMotion)
def __CreateToolbar(self): """生成工具栏""" # 创建AuiToolBar self.tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) # 图标大小 tsize = wx.Size(24, 24) self.tb.SetToolBitmapSize(tsize) # 打开目录 self.tb.AddTool( wx.ID_OPEN, "打开目录", wx.ArtProvider.GetBitmap(wx.ART_FOLDER_OPEN, wx.ART_TOOLBAR, tsize), wx.NullBitmap, wx.ITEM_NORMAL, "打开目录", "打开工程文件夹") # 保存文件 self.tb.AddTool( wx.ID_SAVE, "保存文件", wx.ArtProvider.GetBitmap(wx.ART_FILE_SAVE, wx.ART_TOOLBAR, tsize), wx.NullBitmap, wx.ITEM_NORMAL, "保存文件", "将修改保存到文件中") # 分隔条 self.tb.AddSeparator() # 撤销 self.tb.AddTool( wx.ID_UNDO, "撤销", wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_TOOLBAR, tsize), wx.NullBitmap, wx.ITEM_NORMAL, "撤销", "撤销上一次修改") # 重做 self.tb.AddTool( wx.ID_REDO, "重做", wx.ArtProvider.GetBitmap(wx.ART_REDO, wx.ART_TOOLBAR, tsize), wx.NullBitmap, wx.ITEM_NORMAL, "重做", "重做撤销的修改") self.tb.Realize() self._mgr.AddPane( self.tb, aui.AuiPaneInfo().Name("toolbar").Caption( "Big Toolbar").ToolbarPane().Top())
def initStandardLayout(self): self.configPanel = self.configPanelClass(parent=self, pg=self) # set up this page to be managed by AUI self.auiManager = aui.AuiManager() self.auiManager.SetManagedWindow(self) # new aui toolbar self.toolbar = aui.AuiToolBar(self) self.initStandardToolbarControls() # realize the new toolbar self.toolbar.Realize() # add toolbar pane toolbarAuiInfo = ( aui.AuiPaneInfo().Name('toolbar').Caption(self.name + ' Tools').ToolbarPane(). Top().CloseButton(False).LeftDockable(False).RightDockable(False)) self.auiManager.AddPane(self.toolbar, toolbarAuiInfo) # add configPanel pane configPaneAuiInfo = (aui.AuiPaneInfo().Name('config').Caption( self.name + ' Configuration').Right().TopDockable(False).BottomDockable(False)) # setup best size, leave room for scrollbars configPanelSizer = self.configPanel.GetSizer() if configPanelSizer is not None: minSize = configPanelSizer.GetMinSize() systemSettings = wx.SystemSettings() bestSize = (minSize[0] + systemSettings.GetMetric(wx.SYS_VSCROLL_X), minSize[1] + systemSettings.GetMetric(wx.SYS_HSCROLL_Y)) configPaneAuiInfo.BestSize(bestSize) # add config pane to aui manager self.auiManager.AddPane(self.configPanel, configPaneAuiInfo) # start with config pane hidden configPaneAuiInfo.Hide() # update aui manager for changes to take effect self.auiManager.Update()
def initToolbar(self): self.toolbar = aui.AuiToolBar(self) self.startButton = wx.Button(self.toolbar, label='Start') self.toolbar.AddControl(self.startButton, label='Run') self.Bind(wx.EVT_BUTTON, self.toggleRunning, self.startButton) self.subjectTextCtrl = wx.TextCtrl(self.toolbar) self.subjectTextCtrl.SetValue('s') self.toolbar.AddControl(self.subjectTextCtrl, label='Subject') self.protocolComboBox = wx.ComboBox(self.toolbar, choices=self.protocols, value=self.protocol, style=wx.CB_READONLY) self.toolbar.AddControl(self.protocolComboBox, label='Protocol') self.Bind(wx.EVT_COMBOBOX, self.setProtocolFromComboBox, self.protocolComboBox)
def __init__(self, parent): wx.Panel.__init__(self, parent) self.html = html.WebView.New(self) agwStyle = aui.AUI_TB_OVERFLOW | aui.AUI_TB_PLAIN_BACKGROUND self.tb = aui.AuiToolBar(self, agwStyle=agwStyle) self.tb.AddSimpleTool(wx.ID_BACKWARD, 'Back', svg_to_bitmap(backward_svg), 'Go the previous page') self.tb.AddSimpleTool(wx.ID_FORWARD, 'Forward', svg_to_bitmap(forward_svg), 'Go to the next page') self.search = AutocompleteTextCtrl(self.tb, completer=self.completer) item = self.tb.AddControl(self.search) item.SetProportion(1) self.tb.Realize() # Setup the layout sizer = wx.BoxSizer(wx.VERTICAL) sizer.Add(self.tb, 0, wx.ALL | wx.EXPAND, 0) sizer.Add(self.html, 1, wx.ALL | wx.EXPAND, 0) self.SetSizer(sizer) self.history = [] self.history_index = -1 self.findStr = "" self.findFlags = html.WEBVIEW_FIND_DEFAULT | html.WEBVIEW_FIND_WRAP self.Bind(wx.EVT_TEXT_ENTER, self.OnDoSearch, self.search) self.Bind(html.EVT_WEBVIEW_NAVIGATING, self.OnWebViewNavigating, self.html) self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateUI) self.Bind(wx.EVT_TOOL, self.OnBack, id=wx.ID_BACKWARD) self.Bind(wx.EVT_TOOL, self.OnForward, id=wx.ID_FORWARD) self.Bind(wx.EVT_TOOL, self.OnShowFind, id=wx.ID_FIND) accel = [(wx.ACCEL_CTRL, ord('F'), wx.ID_FIND)] self.accel = wx.AcceleratorTable(accel) self.SetAcceleratorTable(self.accel)
def CreateShapeToolbar(self): import wx.lib.agw.aui as aui ID_SampleItem=666 # create some toolbars tb1 = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) tb1.SetToolBitmapSize(wx.Size(16, 16)) tb1.AddSimpleTool(ID_SampleItem+1, "Duplicate", wx.Bitmap('img/duplicate.png'),'duplicate') tb1.Bind(wx.EVT_MENU,self.OnDuplicate,id=ID_SampleItem+1) tb1.AddSimpleTool(ID_SampleItem+2, "Delete", wx.Bitmap('img/delete.png'),'remove') tb1.Bind(wx.EVT_MENU,self.OnDelElt,id=ID_SampleItem+2) tb1.AddSimpleTool(ID_SampleItem+3, "Center H", wx.Bitmap('img/btn_center_horizontal.png'),'center H') tb1.Bind(wx.EVT_MENU,self.OnCenterHElt,id=ID_SampleItem+3) tb1.AddSimpleTool(ID_SampleItem+4, "Center V", wx.Bitmap('img/btn_center_vertical.png'),'center V') tb1.Bind(wx.EVT_MENU,self.OnCenterVElt,id=ID_SampleItem+4) tb1.AddSimpleTool(ID_SampleItem+5, "Max H", wx.Bitmap('img/max_h.gif'),'max H') tb1.Bind(wx.EVT_MENU,self.OnMaxHElt,id=ID_SampleItem+5) tb1.AddSimpleTool(ID_SampleItem+6, "Max V", wx.Bitmap('img/max_v.gif'),'max V') tb1.Bind(wx.EVT_MENU,self.OnMaxVElt,id=ID_SampleItem+6) tb1.Realize() return tb1
def CreateAuiToolBar(self): tb3 = AUI.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, AUI.AUI_TB_DEFAULT_STYLE) tb3.SetName("AuiToolBar") tb3.SetToolBitmapSize(wx.Size(16, 16)) tb3_bmp1 = wx.ArtProvider.GetBitmap(wx.ART_FOLDER, wx.ART_OTHER, wx.Size(16, 16)) tb3.AddSimpleTool(ID_AuiToolBar, "Check 1", tb3_bmp1, "Check 1", AUI.ITEM_CHECK) tb3.AddSimpleTool(ID_AuiToolBar + 1, "Check 2", tb3_bmp1, "Check 2", AUI.ITEM_CHECK) tb3.AddSimpleTool(ID_AuiToolBar + 2, "Check 3", tb3_bmp1, "Check 3", AUI.ITEM_CHECK) tb3.AddSimpleTool(ID_AuiToolBar + 3, "Check 4", tb3_bmp1, "Check 4", AUI.ITEM_CHECK) tb3.AddSeparator() tb3.AddSimpleTool(ID_AuiToolBar + 4, "Radio 1", tb3_bmp1, "Radio 1", AUI.ITEM_RADIO) tb3.AddSimpleTool(ID_AuiToolBar + 5, "Radio 2", tb3_bmp1, "Radio 2", AUI.ITEM_RADIO) tb3.AddSimpleTool(ID_AuiToolBar + 6, "Radio 3", tb3_bmp1, "Radio 3", AUI.ITEM_RADIO) tb3.AddSeparator() tb3.AddSimpleTool(ID_AuiToolBar + 7, "Radio 1 (Group 2)", tb3_bmp1, "Radio 1 (Group 2)", AUI.ITEM_RADIO) tb3.AddSimpleTool(ID_AuiToolBar + 8, "Radio 2 (Group 2)", tb3_bmp1, "Radio 2 (Group 2)", AUI.ITEM_RADIO) tb3.AddSimpleTool(ID_AuiToolBar + 9, "Radio 3 (Group 2)", tb3_bmp1, "Radio 3 (Group 2)", AUI.ITEM_RADIO) tb3.Realize() self._auiMgr.AddPane( tb3, AUI.AuiPaneInfo().Name("tb3").Caption( "AuiToolbar").ToolbarPane().Top())
def CreateTaskToolbar(self): # old version of wx, dont use text text tb4 = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, wx.TB_FLAT | wx.TB_NODIVIDER) tsize = wx.Size(16, 16) GetBmp = lambda id: wx.ArtProvider.GetBitmap(id, wx.ART_TOOLBAR, tsize) tb4.SetToolBitmapSize(tsize) if WX_VERSION < (2, 8, 11): # TODO: prevent SEGV! tb4.AddSpacer(200) tb4.AddLabel(-1, "Task:", width=30) tb4.AddCheckTool(ID_CHANGE, "Task", images.month.GetBitmap(), wx.NullBitmap, short_help_string="Change current Task") tb4.ToggleTool(ID_CHANGE, False) tb4.SetToolDropDown(ID_CHANGE, True) tb4.AddLabel(ID_TASK_LABEL, "create a task...", width=100) tb4.Realize() self.task_toolbar = tb4 return tb4
def create_toolbar(self): tb1 = aui.AuiToolBar(self._par, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_OVERFLOW) tb1.SetToolBitmapSize(wx.Size(48, 48)) tb1.AddSimpleTool(ids.ID_IPP_TEST_TOOGLE, "Test", images.zhao32.GetBitmap()) tb1.AddSeparator() tb1.AddSimpleTool(wx.ID_ANY, "Test", wx.ArtProvider.GetBitmap(wx.ART_QUESTION)) tb1.AddSimpleTool(wx.ID_ANY, "Test", wx.ArtProvider.GetBitmap(wx.ART_INFORMATION)) tb1.AddSimpleTool(wx.ID_ANY, "Test", wx.ArtProvider.GetBitmap(wx.ART_WARNING)) tb1.AddSimpleTool(wx.ID_ANY, "Test", wx.ArtProvider.GetBitmap(wx.ART_MISSING_IMAGE)) tb1.Realize() self._mgr.AddPane( tb1, aui.AuiPaneInfo().Name( PANE_IDS[0]).Caption("Big Toolbar").ToolbarPane().Top())
def __init__(self, parent): wx.Panel.__init__(self, parent, -1) #self.sim = Wave() data = np.zeros((30, 30)) #self.sim.get_frame() sizer = wx.BoxSizer(wx.VERTICAL) tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_OVERFLOW | aui.AUI_TB_PLAIN_BACKGROUND) tb.SetToolBitmapSize(wx.Size(16, 16)) tb.AddSimpleTool(self.ID_RUN, "Run", wx.Bitmap(to_byte(run_xpm))) tb.AddSimpleTool(self.ID_PAUSE, "Pause", wx.Bitmap(to_byte(pause_xpm))) tb.AddSimpleTool(self.ID_STOP, "Stop", wx.Bitmap(to_byte(stop_xpm))) tb.Realize() sizer.Add(tb, 0, wx.EXPAND, 0) self.canvas = Surface(self, {'z': data}) self.canvas.SetRangeZ([-1., 1.]) sizer.Add(self.canvas, 1, wx.EXPAND | wx.ALL, 5) self.SetSizer(sizer) self.Bind(wx.EVT_UPDATE_UI, self.OnUpdateTool) self.Bind(wx.EVT_TOOL, self.OnProcessTool) self.qCmd = mp.Queue() self.qResp = mp.Queue() self.process = mp.Process(target=SimProcess, args=(self.qCmd, self.qResp)) self.process.start() self.timer = wx.Timer(self) self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer) self.timer.Start(3) self.status = 'pause'
def __init__(self, parent, size): """构造函数""" wx.Frame.__init__(self, None, -1, 'wxPlot', style=wx.DEFAULT_FRAME_STYLE) self.SetSize(parent.size) self.Center() self.SetIcon(wx.Icon(os.path.join(BASE_PATH, 'res', 'wxplot.ico'))) self.scene = scene.WxGLScene(self, style=parent.style3d, **parent.kwds) self.parent = parent self.csize = self.scene.GetClientSize() bmp_style = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_style_32.png'), wx.BITMAP_TYPE_ANY) bmp_restore = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_restore_32.png'), wx.BITMAP_TYPE_ANY) bmp_save = wx.Bitmap(os.path.join(BASE_PATH, 'res', 'tb_save_32.png'), wx.BITMAP_TYPE_ANY) self.bmp_play = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_play_32.png'), wx.BITMAP_TYPE_ANY) self.bmp_stop = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_stop_32.png'), wx.BITMAP_TYPE_ANY) self.bmp_show = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_show_32.png'), wx.BITMAP_TYPE_ANY) self.bmp_hide = wx.Bitmap( os.path.join(BASE_PATH, 'res', 'tb_hide_32.png'), wx.BITMAP_TYPE_ANY) self.tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize) self.tb.SetToolBitmapSize(wx.Size(32, 32)) self.tb.AddSimpleTool(self.ID_STYLE, '风格', bmp_style, '绘图风格') self.tb.AddSeparator() self.tb.AddSimpleTool(self.ID_RESTORE, '复位', bmp_restore, '位置还原') self.tb.AddSimpleTool(self.ID_SAVE, '保存', bmp_save, '保存为文件') self.tb.AddSeparator() self.tb.AddSimpleTool(self.ID_GRID, '网格', self.bmp_hide, '显示/隐藏网格') self.tb.AddSimpleTool(self.ID_PAUSE, '动态显示', self.bmp_play, '停止/开启动态显示)') self.tb.SetToolDropDown(self.ID_STYLE, True) self.tb.Realize() self._mgr = aui.AuiManager() self._mgr.SetManagedWindow(self) self._mgr.AddPane(self.scene, aui.AuiPaneInfo().Name('Scene').CenterPane().Show()) self._mgr.AddPane( self.tb, aui.AuiPaneInfo().Name('ToolBar').ToolbarPane().Bottom().Floatable( False)) self._mgr.Update() self.once_timer = wx.Timer() # 单次定时器 self.once_timer.Bind(wx.EVT_TIMER, self.on_once_timer) self.th = None # 生成gif或mp4文件的线程 self.q = queue.Queue() # PIL对象数据队列 self.out_file = None # 输出文件名 self.ext = None # 文件格式 self.fs = None # 总帧数 self.fps = None # 帧率 self.loop = None # 是否循环(仅gif有效) self.mod = None # 帧间隔 self.offset = None # 帧偏移 self.f = None # 已完成帧数 self.last = None # 上一次截图的计数周期 self.scene.Bind(wx.EVT_SIZE, self.on_resize) self.Bind(aui.EVT_AUITOOLBAR_TOOL_DROPDOWN, self.on_style, id=self.ID_STYLE) self.Bind(wx.EVT_MENU, self.on_save, id=self.ID_SAVE) self.Bind(wx.EVT_MENU, self.on_style, id=self.ID_STYLE) self.Bind(wx.EVT_MENU, self.on_pause, id=self.ID_PAUSE) self.Bind(wx.EVT_MENU, self.on_restore, id=self.ID_RESTORE) self.Bind(wx.EVT_MENU, self.on_grid, id=self.ID_GRID) self.Bind(wx.EVT_MENU, self.on_color, id=self.id_white) self.Bind(wx.EVT_MENU, self.on_color, id=self.id_black) self.Bind(wx.EVT_MENU, self.on_color, id=self.id_gray) self.Bind(wx.EVT_MENU, self.on_color, id=self.id_blue)
def __init__(self): wx.Frame.__init__(self, None, -1, 'AuiToolBarPopup Demo', size=(300, 432)) self._mgr = aui.AuiManager() # tell AuiManager to manage this frame self._mgr.SetManagedWindow(self) self.toolbarart = AuiToolBarPopupArt(self) self._mgr.AddPane( MyPanel(self), aui.AuiPaneInfo().Name("test1").Caption( "Pane Caption").CenterPane()) tb = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_OVERFLOW | aui.AUI_TB_TEXT | aui.AUI_TB_HORZ_TEXT | aui.AUI_TB_PLAIN_BACKGROUND) tb.SetToolBitmapSize(wx.Size(16, 16)) tb_bmp1 = wx.ArtProvider.GetBitmap(wx.ART_NORMAL_FILE, wx.ART_OTHER, wx.Size(16, 16)) tb.AddSimpleTool(ID_TOOL_START + 0, "Item 1", tb_bmp1) tb.AddCheckTool(ID_TOOL_START + 1, "Toggle", tb_bmp1, wx.NullBitmap) tb.AddSeparator() tb.AddRadioTool(ID_TOOL_START + 2, "Radio 0", tb_bmp1, wx.NullBitmap) tb.AddRadioTool(ID_TOOL_START + 3, "Radio 1", tb_bmp1, wx.NullBitmap) tb.AddSeparator() tb.AddSimpleTool(ID_TOOL_START + 4, "Item 5", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 5, "Item 6", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 6, "Item 7", tb_bmp1) tb.AddSimpleTool(ID_TOOL_START + 7, "Item 8", tb_bmp1) choice = wx.Choice(tb, -1, choices=["One choice", "Another choice"]) tb.AddControl(choice) cmb = wx.ComboBox(tb, -1, choices=["Option 1", "Option 2", "Option 3"]) tb.AddControl(cmb) spin = wx.SpinCtrl(tb, -1) tb.AddControl(spin) tb.SetToolDropDown(ID_TOOL_START + 6, True) tb.Realize() tb.SetArtProvider(self.toolbarart) self._mgr.AddPane( tb, aui.AuiPaneInfo().Name("tb").Caption("tb").ToolbarPane().Floatable( False).Top()) tb2 = aui.AuiToolBar(self, -1, wx.DefaultPosition, wx.DefaultSize, agwStyle=aui.AUI_TB_OVERFLOW | aui.AUI_TB_TEXT | aui.AUI_TB_HORZ_TEXT | aui.AUI_TB_PLAIN_BACKGROUND) tb2.SetToolBitmapSize(wx.Size(16, 16)) tb2.AddSimpleTool(ID_TOOL_START + 100, "Item 1", tb_bmp1) tb2.AddSimpleTool(ID_TOOL_START + 101, "Item 2", tb_bmp1) tb2.AddSimpleTool(ID_TOOL_START + 102, "Item 3", tb_bmp1) tb2.AddSimpleTool(ID_TOOL_START + 103, "Item 4", tb_bmp1) tb2.AddSeparator() statictext = wx.StaticText(tb2, -1, "StaticText") tb2.AddControl(statictext) slider = wx.Slider(tb2, 100, 25, 1, 100, size=(250, -1), style=wx.SL_HORIZONTAL) tb2.AddControl(slider) search = wx.SearchCtrl(tb2, size=(200, -1), style=wx.TE_PROCESS_ENTER) tb2.AddControl(search) tb2.Realize() tb2.SetArtProvider(self.toolbarart) self._mgr.AddPane( tb2, aui.AuiPaneInfo().Name("tb2").Caption( "tb2").ToolbarPane().Floatable(False).Top().Row(1)) self._mgr.Update() self.Bind(wx.EVT_TOOL, self.OnTool) self.Bind(aui.EVT_AUITOOLBAR_TOOL_DROPDOWN, self.OnDropDownToolbarItem, id=ID_TOOL_START + 6)
def __init__(self, parent, loadedPipeline, loadedPipelinePath=None): wx.Frame.__init__(self, parent, title="Scimitar Data Analysis (alpha)", size=(800, 600)) # Set log on the main Scimitar form. self.MainLog = parent.log self.parent = parent self.loadedPipelinePath = loadedPipelinePath # Set analysis pipeline associated with this form. if loadedPipeline == None: self.pipeline = AnalysisCore.AnalysisPipeline() else: self.pipeline = loadedPipeline # Set up AUI manager. self._mgr = aui.AuiManager() self._mgr.SetManagedWindow(self) # Set up toolbar. if getattr(sys, 'frozen', False): basedir = sys._MEIPASS else: basedir = path.dirname(__file__) self.SetIcon(wx.Icon(basedir + '/resources/scimitar.ico')) newAnalysis_bmp = wx.Bitmap(basedir + '/resources/new.png') openAnalysis_bmp = wx.Bitmap(basedir + '/resources/open.png') save_bmp = wx.Bitmap(basedir + '/resources/save.png') saveAs_bmp = wx.Bitmap(basedir + '/resources/saveAs.png') up_bmp = wx.Bitmap(basedir + '/resources/up.png') down_bmp = wx.Bitmap(basedir + '/resources/down.png') add_bmp = wx.Bitmap(basedir + '/resources/add.png') remove_bmp = wx.Bitmap(basedir + '/resources/remove.png') reportCard_bmp = wx.Bitmap(basedir + '/resources/reportCard.png') execute_bmp = wx.Bitmap(basedir + '/resources/createScript.png') change_bmp = wx.Bitmap(basedir + '/resources/change.png') self.toolbar = aui.AuiToolBar( self, -1, wx.DefaultPosition, wx.DefaultSize, wx.TB_FLAT | wx.TB_NODIVIDER | wx.TB_TEXT) self.toolbar.SetToolBitmapSize(wx.Size(32, 32)) toolNew = self.toolbar.AddTool(wx.ID_ANY, "New", newAnalysis_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="New analysis file.") toolOpen = self.toolbar.AddTool( wx.ID_ANY, "Open", openAnalysis_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Open analysis file.") toolSave = self.toolbar.AddTool( wx.ID_ANY, "Save", save_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Save analysis file.") toolSaveAs = self.toolbar.AddTool(wx.ID_ANY, "Save As", saveAs_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="New analysis as.") self.toolbar.AddSeparator() toolAddModule = self.toolbar.AddTool( wx.ID_ANY, "Add", add_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Add new module.") toolRemoveModule = self.toolbar.AddTool( wx.ID_ANY, "Remove", remove_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Remove selected module.") toolMoveModuleUp = self.toolbar.AddTool( wx.ID_ANY, "Up", up_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Move selected module up.") toolMoveModuleDown = self.toolbar.AddTool( wx.ID_ANY, "Down", down_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Move selected module down.") toolChangeLocation = self.toolbar.AddTool( wx.ID_ANY, "Change", change_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Move module to a different pipeline section.") self.toolbar.AddSeparator() toolReportCard = self.toolbar.AddTool( wx.ID_ANY, "Report Card", reportCard_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Get pipeline report card.") toolExecute = self.toolbar.AddTool( wx.ID_ANY, "Execute", execute_bmp, wx.NullBitmap, aui.ITEM_NORMAL, short_help_string="Execute pipeline.") self.toolbar.Realize() self._mgr.AddPane(self.toolbar, aui.AuiPaneInfo().ToolbarPane().Top()) # Set up module tree. self.moduleTreeCtrl = wx.TreeCtrl(self, size=(200, 200)) self.nodeRoot = self.moduleTreeCtrl.AddRoot("Pipeline") self.nodeSettings = self.moduleTreeCtrl.AppendItem( self.nodeRoot, 'Settings') self.nodeLoadData = self.moduleTreeCtrl.AppendItem( self.nodeRoot, 'Inspect Data') self.nodeReductionModules = self.moduleTreeCtrl.AppendItem( self.nodeRoot, 'Initial Reduction') self.nodeActiveModules = self.moduleTreeCtrl.AppendItem( self.nodeRoot, 'Active') self.nodeInactiveModules = self.moduleTreeCtrl.AppendItem( self.nodeRoot, 'Inactive') if not loadedPipeline == None: for i in range(0, len(self.pipeline.reductionModules)): treeID = self.moduleTreeCtrl.AppendItem( self.nodeReductionModules, self.pipeline.reductionModules[i].moduleName) self.moduleTreeCtrl.SetPyData( treeID, self.pipeline.reductionModules[i].moduleID) for i in range(0, len(self.pipeline.activeModules)): treeID = self.moduleTreeCtrl.AppendItem( self.nodeActiveModules, self.pipeline.activeModules[i].moduleName) self.moduleTreeCtrl.SetPyData( treeID, self.pipeline.activeModules[i].moduleID) for i in range(0, len(self.pipeline.inactiveModules)): treeID = self.moduleTreeCtrl.AppendItem( self.nodeInactiveModules, self.pipeline.inactiveModules[i].moduleName) self.moduleTreeCtrl.SetPyData( treeID, self.pipeline.inactiveModules[i].moduleID) self.moduleTreeCtrl.ExpandAll() self.moduleTreeCtrl.SelectItem(self.nodeSettings) # Setup the AUI notebook for the main pane. self.mainNotebook = aui.AuiNotebook(self) self.mainSettingsTab = TabMainSettings(self.mainNotebook, self.pipeline) self.loadDataTab = TabLoadData(self.mainNotebook, self.pipeline, self) self.mainNotebook.AddPage(self.mainSettingsTab, "Main Settings") self.mainNotebook.AddPage(self.loadDataTab, "Inspect Data") # Add bindings. self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.onTreeItemDoubleClicked, self.moduleTreeCtrl) self.Bind(wx.EVT_TOOL, self.onAddNewModule, toolAddModule) self.Bind(wx.EVT_TOOL, self.onRemoveModule, toolRemoveModule) self.Bind(wx.EVT_TOOL, self.onMoveModuleUp, toolMoveModuleUp) self.Bind(wx.EVT_TOOL, self.onMoveModuleDown, toolMoveModuleDown) self.Bind(wx.EVT_TOOL, self.onNew, toolNew) self.Bind(wx.EVT_TOOL, self.onOpen, toolOpen) self.Bind(wx.EVT_TOOL, self.onSaveAs, toolSaveAs) self.Bind(wx.EVT_TOOL, self.onSave, toolSave) self.Bind(wx.EVT_TOOL, self.onReportCard, toolReportCard) self.Bind(wx.EVT_TOOL, self.onExecutePipeline, toolExecute) self.Bind(wx.EVT_TOOL, self.onChangeModuleLocation, toolChangeLocation) self.Connect(-1, -1, self.pipeline.EXECUTION_COMPLETE_ID, self.onExecutionCompletedSignal) self._mgr.AddPane(self.moduleTreeCtrl, aui.AuiPaneInfo().Left().Caption("Analysis Modules")) self._mgr.AddPane( self.mainNotebook, aui.AuiPaneInfo().CenterPane().Caption("Module Configuration")) self._mgr.Update() self.mainSettingsTab.settingsGrid.FitColumns( ) # Expand columns in settings grid to properly fit. self.moduleTreeCtrl.ExpandAll() self.moduleTreeCtrl.SelectItem(self.nodeSettings) self.Show()
def __init__(self, parent, ID, title, position, size): wx.Frame.__init__(self, parent, ID, title, position, size) self.mgr = aui.AuiManager(self) taskPanel = wx.Panel(self, -1, size=(350, 300)) taskBox = wx.BoxSizer(wx.VERTICAL) # Check in with the central dispatch (should be defined in encoder_cfg.py) # if you aren't running a server, terrible things will happen here self.central = Pyro4.Proxy('PYRONAME:central.encoding@{0}:{1}'.format( pyro_host, pyro_port)) self.ids = { 'taskList': wx.NewId(), 'addFolder': wx.NewId(), 'addVideo': wx.NewId(), 'taskTimer': wx.NewId(), 'add': wx.NewId(), 'cancel': wx.NewId(), 'view': wx.NewId(), 'clear': wx.NewId(), 'retry': wx.NewId(), } # Our working dialog for display when we're busy FTP'ing files around self.workingDiag = None # Thread reference to the thread which will perform the actual FTP operations self.currThread = None # Counts the videos we've FTP'ed so far -- assuming we've added multiple videos self.workingTotal = 0 # Would be used for cancelling adding -- if that were implemented # TODO -- Implement cancelling of FTP / Add Task Operation self.needCancel = False # List of video files we still need to FTP and add tasks for self.pendingSends = [] # The main table display which contains all the tasks self.taskList = TaskGrid(taskPanel, self.getData(), rowLabels=None, colLabels=[ 'Task Name', 'Status', 'Assigned Encoder', 'Completed', 'Started', 'Finished' ]) taskBox.Add(self.taskList, 1, wx.EXPAND | wx.ALL) hudtoolbar = aui.AuiToolBar(self, -1, wx.DefaultPosition, size=(1000, -1), agwStyle=aui.AUI_TB_DEFAULT_STYLE | aui.AUI_TB_NO_AUTORESIZE | aui.AUI_TB_OVERFLOW | aui.AUI_TB_TEXT | aui.AUI_TBTOOL_TEXT_BOTTOM) hudtoolbar.SetToolBitmapSize(wx.Size(40, 40)) hudtoolbar.AddSimpleTool(self.ids['add'], 'Add Encode', wx.ArtProvider.GetBitmap(wx.ART_ADD_BOOKMARK)) hudtoolbar.AddSimpleTool(self.ids['view'], 'View', wx.ArtProvider.GetBitmap(wx.ART_FIND)) hudtoolbar.AddSimpleTool(self.ids['clear'], 'Clear', wx.ArtProvider.GetBitmap(wx.ART_DEL_BOOKMARK)) hudtoolbar.AddSimpleTool(self.ids['retry'], 'Retry', wx.ArtProvider.GetBitmap(wx.ART_REDO)) hudtoolbar.AddSimpleTool(self.ids['cancel'], 'Cancel', wx.ArtProvider.GetBitmap(wx.ART_DELETE)) hudtoolbar.Realize() taskPanel.SetSizer(taskBox) self.mgr.AddPane( hudtoolbar, aui.AuiPaneInfo().ToolbarPane().Top().Row(1).Gripper(False)) self.mgr.AddPane( taskPanel, aui.AuiPaneInfo().Center().Floatable(False).MaximizeButton( False).CaptionVisible(False).CloseButton(False)) self.mgr.SetDockSizeConstraint(.5, .5) self.mgr.Update() self.Centre() # This timer will update the table with the latest and greatest list of tasks # from the central server every 4000ms self.timer = wx.Timer(self, self.ids['taskTimer']) self.timer.Start(4000) wx.EVT_TIMER(self, self.ids['taskTimer'], self.refreshList) wx.EVT_TOOL(self, self.ids['cancel'], self.cancel) wx.EVT_TOOL(self, self.ids['add'], self.add) wx.EVT_TOOL(self, self.ids['view'], self.view) wx.EVT_TOOL(self, self.ids['clear'], self.clear) wx.EVT_TOOL(self, self.ids['retry'], self.retry) self.taskList.Bind(wx.grid.EVT_GRID_CELL_LEFT_CLICK, self.handleClick)