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
示例#2
0
    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)
示例#3
0
    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()
示例#4
0
    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
示例#5
0
    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
示例#6
0
    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)
示例#7
0
    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()
示例#8
0
 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)
示例#9
0
 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)
示例#10
0
    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)
示例#11
0
    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)
示例#12
0
    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
示例#13
0
    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
示例#14
0
    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)
示例#15
0
    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
示例#16
0
    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')
示例#17
0
    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)
示例#18
0
    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())
示例#19
0
    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()
示例#20
0
文件: textstim.py 项目: idfah/cebl
    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)
示例#21
0
    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)
示例#22
0
文件: designer.py 项目: opqopq/bgm_wx
 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
示例#23
0
    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())
示例#24
0
    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
示例#25
0
 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())
示例#26
0
    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'
示例#27
0
    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)
示例#28
0
    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()
示例#30
0
    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)