def test_lib_agw_ribbonPanelCtor(self):
     rib = RB.RibbonBar(self.frame,
                        wx.ID_ANY,
                        agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                        | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)
     page = RB.RibbonPage(rib, wx.ID_ANY, "Appearance")
     RB.RibbonPanel(page)
示例#2
0
    def __init__(self, parent):
        #wx.Panel.__init__(self, parent, wx.ID_ANY,size=wx.Size(30,103))
        wx.Panel.__init__(self, parent, wx.ID_ANY)
        self._ribbon = RB.RibbonBar(self, wx.ID_ANY)

        dirName = os.path.dirname(os.path.abspath(sys.argv[0]))

        bitmapDir = os.path.join(dirName, 'icons')
        self.bitmap_action_dir = os.path.join(bitmapDir, 'actions')
        #to tylko na pewien czas
        #bitmapDir = os.path.join(bitmapDir, 'icons')
        #sys.path.append(os.path.split(dirName)[0])

        self.AddHomePage()
        self.AddEditPage()
        self.AddViewPage()
        self.BindButtons()

        primary, secondary, tertiary = self._ribbon.GetArtProvider().GetColourScheme(0, 0, 0)
        #print primary
        #print secondary
        #print tertiary

        art_provider = AR.RibbonArtProvider()
        art_provider.SetColourScheme(wx.NamedColour("gray"),wx.Colour(255, 223, 114),wx.NamedColour("green"))
        self._ribbon.SetArtProvider(art_provider)
        #self._ribbon.GetArtProvider().SetColourScheme(wx.NamedColour("blue"),secondary,tertiary)
        #self._ribbon.GetArtProvider().SetColourScheme(wx.NamedColour("gray"),wx.NamedColour("yellow"),wx.NamedColour("green"))

        self._ribbon.Realize()
        s = wx.BoxSizer(wx.VERTICAL)

        s.Add(self._ribbon, 0, wx.EXPAND)
        self.SetSizer(s)
    def test_lib_agw_ribbonCtor(self):
        rib = RB.RibbonBar(self.frame,
                           wx.ID_ANY,
                           agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                           | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)

        home = RB.RibbonPage(rib, wx.ID_ANY, "Examples",
                             CreateBitmap("ribbon"))
        toolbar_panel = RB.RibbonPanel(
            home,
            wx.ID_ANY,
            "Toolbar",
            wx.NullBitmap,
            wx.DefaultPosition,
            wx.DefaultSize,
            agwStyle=RB.RIBBON_PANEL_NO_AUTO_MINIMISE)

        toolbar = RB.RibbonToolBar(toolbar_panel, wx.ID_ANY)
        toolbar.AddTool(wx.ID_ANY, CreateBitmap("align_left"))
        toolbar.AddTool(wx.ID_ANY, CreateBitmap("align_center"))
        toolbar.AddSeparator()
        toolbar.AddHybridTool(
            wx.ID_NEW,
            wx.ArtProvider.GetBitmap(wx.ART_NEW, wx.ART_OTHER, wx.Size(16,
                                                                       15)))
        toolbar.AddSeparator()
        toolbar.AddDropdownTool(
            wx.ID_UNDO,
            wx.ArtProvider.GetBitmap(wx.ART_UNDO, wx.ART_OTHER,
                                     wx.Size(16, 15)))
示例#4
0
文件: app.py 项目: eshikafe/wxSynfig
    def create_ribbon_ui(self):
        panel = wx.Panel(self)
        self._ribbon = RB.RibbonBar(panel,
                                    wx.ID_ANY,
                                    agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                                    | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)
        home = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Home")
        toolbar_panel = RB.RibbonPanel(
            home,
            wx.ID_ANY,
            "Toolbar",
            wx.NullBitmap,
            wx.DefaultPosition,
            wx.DefaultSize,
            agwStyle=RB.RIBBON_PANEL_NO_AUTO_MINIMISE
            | RB.RIBBON_PANEL_EXT_BUTTON)
        toolbar = RB.RibbonToolBar(toolbar_panel, ID_MAIN_TOOLBAR)

        canvas_rib = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Canvas")
        toolbox_rib = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Toolbox")

        self._ribbon.Realize()

        s = wx.BoxSizer(wx.VERTICAL)
        s.Add(self._ribbon, 0, wx.EXPAND)
        panel.SetSizer(s)
        self.panel = panel
示例#5
0
 def __init__(self,
              parent,
              id=wx.ID_ANY,
              title="My Ribbon Pane",
              pos=wx.DefaultPosition,
              size=(1280, 960),
              style=wx.DEFAULT_FRAME_STYLE,
              log=None,
              api=None):
     wx.Frame.__init__(self, parent, id, title, pos, size, style)
     self.panel = panel = MainPanel(self)
     self.name = 'MainFrame'
     self.logger = log
     self.api = api
     ## Ribbon tool bar
     self._ribbon = RB.RibbonBar(panel,
                                 wx.ID_ANY,
                                 agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE)
     ribbonPanels = self.setupRibbonBar()
     ## Raw panel; this is where the ribbon buttons will load data
     self.rawPanel = RawPanel(panel, wx.ID_ANY)
     ## Box for the ribbon at the top and a data panel on the bottom
     self.mainBox = wx.BoxSizer(wx.VERTICAL)
     self.mainBox.Add(self._ribbon, 0, wx.EXPAND)
     self.mainBox.Add(self.rawPanel, 1, wx.EXPAND)
     self.Layout()
     ## Apply the layout
     panel.SetSizer(self.mainBox)
     ## Bind events
     self.BindEvents(ribbonPanels)
     self.CenterOnScreen()
     self.Show()
     panel.SendSizeEvent()
 def test_lib_agw_ribbonGalleryCtor(self):
     rib = RB.RibbonBar(self.frame,
                        wx.ID_ANY,
                        agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                        | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)
     page = RB.RibbonPage(rib, wx.ID_ANY, "Appearance")
     primary_panel = RB.RibbonPanel(page, wx.ID_ANY, "Primary Colour")
     RB.RibbonGallery(primary_panel)
 def test_lib_agw_ribbonArtProviders(self):
     rib = RB.RibbonBar(self.frame,
                        wx.ID_ANY,
                        agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                        | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)
     rib.SetArtProvider(RB.RibbonDefaultArtProvider())
     rib.SetArtProvider(RB.RibbonAUIArtProvider())
     rib.SetArtProvider(RB.RibbonMSWArtProvider())
     rib.SetArtProvider(RB.RibbonOSXArtProvider())
示例#8
0
    def __init__(self, *args, context=None, **kwds):
        kwds["style"] = kwds.get("style", 0) | wx.TAB_TRAVERSAL
        wx.Panel.__init__(self, *args, **kwds)
        self.context = context
        self._job = Job(
            process=self._perform_realization,
            job_name="realize_ribbon_bar",
            interval=0.1,
            times=1,
            run_main=True,
        )
        self.buttons = []
        self.ribbon_bars = []
        self.ribbon_panels = []
        self.ribbon_pages = []

        # Some helper variables for showing / hiding the toolbar
        self.panels_shown = True
        self.minmax = None
        self.context = context
        self.stored_labels = {}
        self.stored_height = 0
        self.art_provider_count = 0

        self.button_lookup = {}
        self.group_lookup = {}

        # Define Ribbon.
        self._ribbon = RB.RibbonBar(
            self,
            agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
            | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS
            | RB.RIBBON_BAR_SHOW_PANEL_MINIMISE_BUTTONS,
        )
        self.__set_ribbonbar()

        sizer_1 = wx.BoxSizer(wx.HORIZONTAL)
        sizer_1.Add(self._ribbon, 1, wx.EXPAND, 0)
        self.SetSizer(sizer_1)
        self.Layout()
        # self._ribbon
        self.pipe_state = None
        self._ribbon_dirty = False
示例#9
0
    def __init__(self, parent, id=wx.ID_ANY, title="", pos=wx.DefaultPosition,
                 size=wx.DefaultSize, style=wx.DEFAULT_FRAME_STYLE, log=None):

        wx.Frame.__init__(self, parent, id, title, pos, size, wx.DEFAULT_FRAME_STYLE+wx.NO_BORDER+wx.CAPTION  )

        panel = wx.Panel(self)
        
        self._ribbon = RB.RibbonBar(panel, wx.ID_ANY, agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE|RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)

        self._bitmap_creation_dc = wx.MemoryDC()
        self._colour_data = wx.ColourData()
        
        home = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Examples", CreateBitmap("ribbon"))

        toolbar_panel = mini_toolbar(home)

        # selection_panel = mini_selection(home)

        # # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # #
        selection_panel = RB.RibbonPanel(home, wx.ID_ANY, "Selection", CreateBitmap("selection_panel"))
        selection = RB.RibbonButtonBar(selection_panel)
        selection.AddSimpleButton(ID_SELECTION_EXPAND_V, "Expand Vertically", CreateBitmap("expand_selection_v"),
                                  "This is a tooltip for Expand Vertically\ndemonstrating a tooltip")
        selection.AddSimpleButton(ID_SELECTION_EXPAND_H, "Expand Horizontally", CreateBitmap("expand_selection_h"), "")
        selection.AddButton(ID_SELECTION_CONTRACT, "Contract", CreateBitmap("auto_crop_selection"),
                                  CreateBitmap("auto_crop_selection_small"))

        # # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # #
        shapes_panel = RB.RibbonPanel(home, wx.ID_ANY, "Shapes", CreateBitmap("circle_small"))
        shapes = RB.RibbonButtonBar(shapes_panel)
        shapes.AddButton(ID_CIRCLE, "Circle", CreateBitmap("circle"), CreateBitmap("circle_small"),
                         help_string="This is a tooltip for the circle button\ndemonstrating another tooltip",
                         kind=RB.RIBBON_BUTTON_TOGGLE)
        shapes.AddSimpleButton(ID_CROSS, "Cross", CreateBitmap("cross"), "")
        shapes.AddHybridButton(ID_TRIANGLE, "Triangle", CreateBitmap("triangle"))
        shapes.AddSimpleButton(ID_SQUARE, "Square", CreateBitmap("square"), "")
        shapes.AddDropdownButton(ID_POLYGON, "Other Polygon", CreateBitmap("hexagon"), "")

        # # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # #

        sizer_panel = RB.RibbonPanel(home, wx.ID_ANY, "Panel with Sizer",
                                     wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize,
                                     agwStyle=RB.RIBBON_PANEL_DEFAULT_STYLE)

        strs = ["Item 1 using a box sizer now", "Item 2 using a box sizer now"]
        sizer_panelcombo = wx.ComboBox(sizer_panel, wx.ID_ANY, "", wx.DefaultPosition, wx.DefaultSize,
                                       strs, wx.CB_READONLY)

        sizer_panelcombo2 = wx.ComboBox(sizer_panel, wx.ID_ANY, "", wx.DefaultPosition, wx.DefaultSize,
                                        strs, wx.CB_READONLY)

        sizer_panelcombo.Select(0)
        sizer_panelcombo2.Select(1)
        sizer_panelcombo.SetMinSize(wx.Size(150, -1))
        sizer_panelcombo2.SetMinSize(wx.Size(150, -1))

        # not using wx.WrapSizer(wx.HORIZONTAL) as it reports an incorrect min height
        sizer_panelsizer = wx.BoxSizer(wx.VERTICAL)
        sizer_panelsizer.AddStretchSpacer(1)
        sizer_panelsizer.Add(sizer_panelcombo, 0, wx.ALL|wx.EXPAND, 2)
        sizer_panelsizer.Add(sizer_panelcombo2, 0, wx.ALL|wx.EXPAND, 2)
        sizer_panelsizer.AddStretchSpacer(1)
        sizer_panel.SetSizer(sizer_panelsizer)

        # # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # ## # #

        label_font = wx.Font(8, wx.FONTFAMILY_DEFAULT, wx.FONTSTYLE_NORMAL, wx.FONTWEIGHT_LIGHT)
        self._bitmap_creation_dc.SetFont(label_font)

        scheme = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Appearance", CreateBitmap("eye"))
        self._default_primary, self._default_secondary, self._default_tertiary = self._ribbon.GetArtProvider().GetColourScheme(1, 1, 1)

        provider_panel = RB.RibbonPanel(scheme, wx.ID_ANY, "Art", wx.NullBitmap, wx.DefaultPosition, wx.DefaultSize,
                                        agwStyle=RB.RIBBON_PANEL_NO_AUTO_MINIMISE)
        provider_bar = RB.RibbonButtonBar(provider_panel, wx.ID_ANY)
        provider_bar.AddSimpleButton(ID_DEFAULT_PROVIDER, "Default Provider",
                                     wx.ArtProvider.GetBitmap(wx.ART_QUESTION, wx.ART_OTHER, wx.Size(32, 32)), "")
        provider_bar.AddSimpleButton(ID_AUI_PROVIDER, "AUI Provider", CreateBitmap("aui_style"), "")
        provider_bar.AddSimpleButton(ID_MSW_PROVIDER, "MSW Provider", CreateBitmap("msw_style"), "")
        
        primary_panel = RB.RibbonPanel(scheme, wx.ID_ANY, "Primary Colour", CreateBitmap("colours"))
        self._primary_gallery = self.PopulateColoursPanel(primary_panel, self._default_primary, ID_PRIMARY_COLOUR)

        secondary_panel = RB.RibbonPanel(scheme, wx.ID_ANY, "Secondary Colour", CreateBitmap("colours"))
        self._secondary_gallery = self.PopulateColoursPanel(secondary_panel, self._default_secondary, ID_SECONDARY_COLOUR)
    
        dummy_2 = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Empty Page", CreateBitmap("empty"))
        dummy_3 = RB.RibbonPage(self._ribbon, wx.ID_ANY, "Another Page", CreateBitmap("empty"))

        self._ribbon.Realize()

        self._logwindow = wx.TextCtrl(panel, wx.ID_ANY, "", wx.DefaultPosition, wx.DefaultSize,
                                      wx.TE_MULTILINE | wx.TE_READONLY | wx.TE_LEFT | wx.TE_BESTWRAP | wx.BORDER_NONE)

        self._togglePanels = wx.ToggleButton(panel, ID_TOGGLE_PANELS, "&Toggle panels")
        self._togglePanels.SetValue(True)
    
        s = wx.BoxSizer(wx.VERTICAL)

        s.Add(self._ribbon, 0, wx.EXPAND)
        s.Add(self._logwindow, 1, wx.EXPAND)
        s.Add(self._togglePanels, 0, wx.ALL|wx.ALIGN_CENTER_HORIZONTAL, 10)

        panel.SetSizer(s)
        self.panel = panel

        self.BindEvents([selection, shapes, provider_bar, toolbar_panel])

        self.SetIcon(images.Mondrian.Icon)
        self.CenterOnScreen()
        self.Show()
 def test_lib_agw_ribbonPageCtor(self):
     rib = RB.RibbonBar(self.frame,
                        wx.ID_ANY,
                        agwStyle=RB.RIBBON_BAR_DEFAULT_STYLE
                        | RB.RIBBON_BAR_SHOW_PANEL_EXT_BUTTONS)
     RB.RibbonPage(rib)
示例#11
0
    def __init__(self):
        wx.Frame.__init__(
            self,
            None,
            -1,
            'zoop',
            size=(600, 530),
            pos=(200, 200),
            style=wx.CAPTION | wx.CLOSE_BOX | wx.SYSTEM_MENU
        )  #wx.DEFAULT_FRAME_STYLE|wx.WANTS_CHARS) #^(wx.MINIMIZE_BOX | wx.MAXIMIZE_BOX)) #, style=wx.STAY_ON_TOP)

        # tell FrameManager to manage this frame
        self._mgr = wx.aui.AuiManager()
        self._mgr.SetManagedWindow(self)
        self.SetMinSize(wx.Size(500, 400))

        # xrc gui layout ------------------
        # XML Resources can be loaded from a file like this:
        res1 = xrc.XmlResource(RESFILE_TB)
        self.m_tb_main = res1.LoadToolBar(self, "m_tb_main")
        self.m_tb_main.Realize()

        #tell the frame to not manage teh toolbar, aui manager will instead
        self.SetToolBar(None)

        # XML Resources can be loaded from a file like this:
        res = xrc.XmlResource(RESFILE_PA)
        self.m_pa_pages = res.LoadPanel(self, "m_pa_pages")

        self.pa_ribbon = xrc.XRCCTRL(self, 'm_pa_ribbon')
        self.lc_playlist = xrc.XRCCTRL(self, 'm_lc_playlist')

        # ribbon bar
        self._ribbon = RB.RibbonBar(self.pa_ribbon, wx.ID_ANY)
        dummy_3 = RB.RibbonPage(self._ribbon, wx.ID_ANY,
                                "Playlist")  #, CreateBitmap("empty"))
        dummy_4 = RB.RibbonPage(self._ribbon, wx.ID_ANY,
                                "Last.fm")  #, CreateBitmap("empty"))
        dummy_5 = RB.RibbonPage(self._ribbon, wx.ID_ANY,
                                "Favorites")  #, CreateBitmap("empty"))
        self._ribbon.Realize()
        bgcolour = self.pa_ribbon.GetBackgroundColour()
        self._ribbon.GetArtProvider().SetColourScheme(bgcolour, 0, 1)

        s = wx.BoxSizer(wx.VERTICAL)
        s.Add(self._ribbon, 1, wx.EXPAND)
        self.pa_ribbon.SetSizer(s)
        self.pa_ribbon.SetMinSize((400, 120))

        # add a bunch of panes
        self._mgr.AddPane(self.m_pa_pages,
                          wx.aui.AuiPaneInfo().Name("MainPanel").CenterPane())

        self._mgr.AddPane(
            self.m_tb_main,
            wx.aui.AuiPaneInfo().Name("Playback").Caption("Playback Toolbar").
            ToolbarPane().Top().LeftDockable(False).RightDockable(False))

        #self._mgr.AddPane(self.m_pa_pages, wx.aui.AuiPaneInfo().
        #                  Name("Playlist").Caption("Playlist").Top().
        #                  CloseButton(True).MaximizeButton(True))

        #self._mgr.AddPane(self._ribbon, wx.aui.AuiPaneInfo().
        #                  Name("Ribbon").Top().
        #                  CloseButton(True).MaximizeButton(True))

        # "commit" all changes made to FrameManager
        self._mgr.Update()

        #class MainPanel(wx.Panel):
        #    def __init__(self, parent, resfile=RESFILE):
        #        wx.Panel.__init__(self, parent, -1)

        #        self.parent = parent

        # xml-rpc client
        xmlrpc = xmlrpc_client.Client()
        self.cl = xmlrpc.client
        xmlrpc.ListMethods()

        # xrc gui layout ------------------
        # XML Resources can be loaded from a file like this:
        #        res = xrc.XmlResource(RESFILE)
        #        self.panel = res.LoadPanel(self, "m_pa_main")

        #        self.lc_playlist = xrc.XRCCTRL(self,'m_lc_playlist')

        self.Bind(wx.EVT_TOOL, self.OnPlayClick, id=xrc.XRCID("m_tl_play"))
        self.Bind(wx.EVT_TOOL, self.OnStopClick, id=xrc.XRCID("m_tl_stop"))
        #self.Bind(wx.EVT_BUTTON, self.OnButtonThree, id=xrc.XRCID("m_button3"))
        #self.Bind(wx.EVT_BUTTON, self.OnLoadClick, id=xrc.XRCID("m_button4"))

        # and do the layout
        #        sizer = wx.BoxSizer(wx.VERTICAL)
        #        sizer.Add(self.panel, 1, wx.EXPAND|wx.ALL, 0)
        #        self.SetSizer(sizer)
        #        self.SetAutoLayout(True)

        #        self.Layout()

        self.cl.AddItem({
            'Artist': 'Beck',
            'Title': 'Sad Song',
            'Location': 'Y:/1.mp3'
        })
        self.cl.AddItem({
            'Artist': 'U2',
            'Title': 'Gloria',
            'Location': 'Y:/1.mp3',
            'Fun': 'yup'
        })
        print self.cl.PrintPlaylist()

        self.PopulatePlaylist()
示例#12
0
    def __init__(self,
                 parent,
                 id=-1,
                 title="",
                 pos=wx.DefaultPosition,
                 size=wx.DefaultSize,
                 style=wx.DEFAULT_FRAME_STYLE):

        self.frame = wx.Frame.__init__(self, parent, id, title, pos, size,
                                       style)  # Initiate parent window

        self.SetIcon(wx.Icon("Icons/Pie.ico",
                             wx.BITMAP_TYPE_ICO))  # Set window icon

        self.ribbon = RB.RibbonBar(self, -1)  # Initiate Ribbon Bar
        self.CreateStatusBar()  # Initiate Status Bar

        ### ------------------------------------------- Home Tab: id = 100 -------------------------------------------- ###
        home = RB.RibbonPage(self.ribbon, -1, "Home")  # Home tab on bar

        filePanel = RB.RibbonPanel(home, -1, "File")  # File menu
        fileBar = RB.RibbonButtonBar(filePanel)
        fileBar.AddSimpleButton(101, "New",
                                wx.Bitmap("Icons/stock_new.png",
                                          wx.BITMAP_TYPE_PNG),
                                "")  # New document
        fileBar.AddSimpleButton(102, "Open",
                                wx.Bitmap("Icons/stock_open.png",
                                          wx.BITMAP_TYPE_PNG),
                                "")  # Open file tool
        fileBar.AddHybridButton(
            103, "Save", wx.Bitmap("Icons/stock_save.png",
                                   wx.BITMAP_TYPE_PNG))  # Save file tool
        fileBar.AddHybridButton(104, "Print",
                                wx.Bitmap("Icons/stock_print.png",
                                          wx.BITMAP_TYPE_PNG), "")  # Print

        alignmentPanel = RB.RibbonPanel(home, -1,
                                        "Alignment")  # Alignment menu
        alignBar = RB.RibbonButtonBar(alignmentPanel)
        alignBar.AddSimpleButton(105, "Left",
                                 wx.Bitmap("Icons/align_left.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Left Align
        alignBar.AddSimpleButton(106, "Center",
                                 wx.Bitmap("Icons/align_center.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Centre Align
        alignBar.AddSimpleButton(107, "Right",
                                 wx.Bitmap("Icons/align_right.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Right Align

        toolsPanel = RB.RibbonPanel(home, -1, "Text")  # Text menu
        toolsBar = RB.RibbonButtonBar(toolsPanel)
        toolsBar.AddSimpleButton(108, "Standard",
                                 wx.Bitmap("Icons/bullet_point.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Standard Bullets
        toolsBar.AddSimpleButton(109, "Number",
                                 wx.Bitmap("Icons/numb_point.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Numbered Bullets
        toolsBar.AddSimpleButton(110, "Bold",
                                 wx.Bitmap("Icons/stock_text_bold.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Bold text
        toolsBar.AddSimpleButton(111, "Italic",
                                 wx.Bitmap("Icons/stock_text_italic.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Italic text
        toolsBar.AddSimpleButton(112, "Underline",
                                 wx.Bitmap("Icons/stock_text_underline.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Underline Text
        toolsBar.AddSimpleButton(119, "Highlight",
                                 wx.Bitmap("Icons/highlighter_icon.png",
                                           wx.BITMAP_TYPE_PNG),
                                 "")  # Highlight text

        lineSpace = RB.RibbonPanel(home, -1, "Spacing")  # Spacing menu
        lineBar = RB.RibbonButtonBar(lineSpace)
        lineBar.AddSimpleButton(113, "Normal",
                                wx.Bitmap("Icons/spacing_normal.png",
                                          wx.BITMAP_TYPE_PNG),
                                "")  # Single line spacing
        lineBar.AddSimpleButton(114, "Half",
                                wx.Bitmap("Icons/spacing_half.png",
                                          wx.BITMAP_TYPE_PNG),
                                "")  # 1 1/2 line spacing
        lineBar.AddSimpleButton(115, "Double",
                                wx.Bitmap("Icons/spacing_double.png",
                                          wx.BITMAP_TYPE_PNG),
                                "")  # Double line spacing

        tabPanel = RB.RibbonPanel(home, -1, "Indent")  # Indent menu
        tabBar = RB.RibbonButtonBar(tabPanel)
        tabBar.AddSimpleButton(116, "Right",
                               wx.Bitmap("Icons/arrow_right.png",
                                         wx.BITMAP_TYPE_PNG),
                               "")  # Right indent
        tabBar.AddSimpleButton(117, "Left",
                               wx.Bitmap("Icons/arrow_left.png",
                                         wx.BITMAP_TYPE_PNG),
                               "")  # Left indent

        picPanel = RB.RibbonPanel(home, -1, "Add Pictures")  # Pictures menu
        picBar = RB.RibbonButtonBar(picPanel)
        picBar.AddSimpleButton(118, "Import",
                               wx.Bitmap("Icons/insert_image.png",
                                         wx.BITMAP_TYPE_PNG),
                               "")  # Import pics

        ### ------------------------------------------- Font Tab: id = 200 -------------------------------------------- ###
        font_tab = RB.RibbonPage(self.ribbon, -1, "Font")  # Font tab created
        fontPanel = RB.RibbonPanel(font_tab, 400, "Font")  # Font gallery
        self.addColours(fontPanel, 200)
        fontPanel2 = RB.RibbonPanel(font_tab, -1, "Fonts")  # Fonts bar
        fonts = RB.RibbonButtonBar(fontPanel2)
        fonts.AddSimpleButton(
            201, "Font", wx.Bitmap("Icons/edit_pic.jpg", wx.BITMAP_TYPE_JPEG),
            "")
        fonts.AddSimpleButton(
            202, "Words",
            wx.Bitmap("Icons/suggestion_icon.png", wx.BITMAP_TYPE_PNG), "")
        fonts.AddSimpleButton(
            203, "Check",
            wx.Bitmap("Icons/suggestion_icon.png", wx.BITMAP_TYPE_PNG), "")
        fontPanel.Realize()
        fontPanel2.Realize()

        ### ------------------------------------------- End Ribbon ---------------------------------------------------- ###

        self.rtc = RichTextCtrl(self, style=wx.HSCROLL
                                | wx.NO_BORDER)  # Init rich text box
        wx.CallAfter(self.rtc.SetFocus)  # Display text box
        self.rtc.BeginFont(
            wx.Font(15, wx.SWISS, wx.NORMAL, wx.NORMAL, False, "Calibri"))

        box = wx.BoxSizer(
            wx.VERTICAL)  # Resizes widgets within window when resized

        box.Add(self.ribbon, 0, wx.EXPAND)  # Resizes ribbon appropriately
        box.Add(self.rtc, 1,
                wx.EXPAND)  # Fills in remaining space with text box

        self.ribbon.Realize()  # Displays ribbon
        self.SetSizer(box)  # Initiate
        self.Show(True)

        self.bindEvents()
示例#13
0
    def __init__(self, parent):
        wx.Frame.__init__(self,
                          parent,
                          id=wx.ID_ANY,
                          title=u"Geochemical QAQC Program",
                          pos=wx.DefaultPosition,
                          size=wx.Size(700, 700),
                          style=wx.DEFAULT_FRAME_STYLE)

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

        box = wx.BoxSizer(wx.VERTICAL)

        open_Proj = wx.Window.NewControlId()
        save_Proj = wx.Window.NewControlId()
        exp_Rep = wx.Window.NewControlId()
        std_db = wx.Window.NewControlId()
        open_Setting = wx.Window.NewControlId()
        exit_bot = wx.Window.NewControlId()

        self.rb = rb.RibbonBar(self, wx.ID_ANY, wx.DefaultPosition,
                               wx.DefaultSize,
                               wx.lib.agw.ribbon.RIBBON_BAR_DEFAULT_STYLE)
        self.Page1 = rb.RibbonPage(self.rb, wx.ID_ANY, u"MyRibbonPage",
                                   wx.NullBitmap, 0)
        self.file_panel = rb.RibbonPanel(
            self.Page1, wx.ID_ANY, wx.EmptyString, wx.NullBitmap,
            wx.DefaultPosition, wx.DefaultSize,
            wx.lib.agw.ribbon.RIBBON_PANEL_DEFAULT_STYLE)
        self.rbb1 = rb.RibbonButtonBar(self.file_panel, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        self.rbb1.AddSimpleButton(
            open_Proj, u"Open Project",
            wx.Bitmap(u"img/open_47.png", wx.BITMAP_TYPE_ANY), wx.EmptyString)
        self.rbb1.AddSimpleButton(
            save_Proj, u"Save Project",
            wx.Bitmap(u"img/save_47.png", wx.BITMAP_TYPE_ANY), wx.EmptyString)
        self.rbb1.AddSimpleButton(
            exp_Rep, u"Print Report",
            wx.Bitmap(u"img/report_47.png", wx.BITMAP_TYPE_ANY),
            wx.EmptyString)
        self.db_panel = rb.RibbonPanel(
            self.Page1, wx.ID_ANY, wx.EmptyString, wx.NullBitmap,
            wx.DefaultPosition, wx.DefaultSize,
            wx.lib.agw.ribbon.RIBBON_PANEL_DEFAULT_STYLE)
        self.rbb2 = rb.RibbonButtonBar(self.db_panel, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        self.rbb2.AddSimpleButton(
            std_db, u"Standard Database",
            wx.Bitmap(u"img/database_47.png", wx.BITMAP_TYPE_ANY),
            wx.EmptyString)
        self.exit_panel = rb.RibbonPanel(
            self.Page1, wx.ID_ANY, wx.EmptyString, wx.NullBitmap,
            wx.DefaultPosition, wx.DefaultSize,
            wx.lib.agw.ribbon.RIBBON_PANEL_DEFAULT_STYLE)
        self.rbb3 = rb.RibbonButtonBar(self.exit_panel, wx.ID_ANY,
                                       wx.DefaultPosition, wx.DefaultSize, 0)
        self.rbb3.AddSimpleButton(
            open_Setting, u" Settings",
            wx.Bitmap(u"img/set_47.png", wx.BITMAP_TYPE_ANY), wx.EmptyString)
        self.rbb3.AddSimpleButton(
            exit_bot, u" Exit",
            wx.Bitmap(u"img/exit_47.png", wx.BITMAP_TYPE_ANY), wx.EmptyString)
        self.rb.Realize()

        #Set buttom event in the Ribbon buttons
        self.rbb1.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.openProject,
                       id=open_Proj)
        self.rbb1.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.SaveProject,
                       id=save_Proj)
        self.rbb1.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.ExportReport,
                       id=exp_Rep)
        self.rbb2.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.StandardDB,
                       id=std_db)
        self.rbb3.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.open_Setting,
                       None,
                       id=open_Setting)
        self.rbb3.Bind(rb.EVT_RIBBONBUTTONBAR_CLICKED,
                       self.Onclose,
                       None,
                       id=exit_bot)

        box.Add(self.rb, 0, wx.ALL | wx.EXPAND, 5)

        self.note = wx.Notebook(self, wx.ID_ANY, wx.DefaultPosition,
                                wx.DefaultSize, 0)
        self.data_panel = wx.Panel(self.note, wx.ID_ANY, wx.DefaultPosition,
                                   wx.Size(-1, -1), 0)
        box1 = wx.BoxSizer(wx.HORIZONTAL)

        self.Datagrid = wx.grid.Grid(self.data_panel, wx.ID_ANY,
                                     wx.DefaultPosition, wx.DefaultSize, 0)

        # Grid
        self.Datagrid.CreateGrid(100, 4)
        self.Datagrid.EnableEditing(True)
        self.Datagrid.EnableGridLines(True)
        self.Datagrid.EnableDragGridSize(False)
        self.Datagrid.SetMargins(50, 0)

        # Columns
        self.Datagrid.SetColSize(0, 100)
        self.Datagrid.SetColSize(1, 100)
        self.Datagrid.SetColSize(2, 100)
        self.Datagrid.SetColSize(3, 100)
        self.Datagrid.EnableDragColMove(False)
        self.Datagrid.EnableDragColSize(True)
        self.Datagrid.SetColLabelSize(30)
        self.Datagrid.SetColLabelValue(0, u"Sample ID")
        self.Datagrid.SetColLabelValue(1, u"Sample Type")
        self.Datagrid.SetColLabelValue(2, u"Duplicate")
        self.Datagrid.SetColLabelValue(3, u"Assay 01")
        #self.Datagrid.SetColLabelValue( 4, u"Assay 02" )
        #self.Datagrid.SetColLabelValue( 5, u"Assay 03" )
        self.Datagrid.SetColLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER)

        # Rows
        self.Datagrid.EnableDragRowSize(True)
        self.Datagrid.SetRowLabelSize(50)
        self.Datagrid.SetRowLabelAlignment(wx.ALIGN_CENTER, wx.ALIGN_CENTER)

        # Label Appearance

        # Cell Defaults
        self.Datagrid.SetDefaultCellAlignment(wx.ALIGN_CENTER, wx.ALIGN_TOP)

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

        box2 = wx.BoxSizer(wx.VERTICAL)
        box2.Add((0, 0), 1, wx.EXPAND, 5)

        self.m_staticText2 = wx.StaticText(self.data_panel, wx.ID_ANY,
                                           u"Open Data File ",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText2.Wrap(-1)
        box2.Add(self.m_staticText2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.open_file = wx.BitmapButton(self.data_panel, wx.ID_ANY,
                                         wx.NullBitmap, wx.DefaultPosition,
                                         wx.DefaultSize, wx.BU_AUTODRAW | 0)
        self.open_file.SetBitmap(
            wx.Bitmap(u"img/opendata_47.png", wx.BITMAP_TYPE_ANY))
        box2.Add(self.open_file, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        #Set open file data function
        self.open_file.Bind(wx.EVT_BUTTON, self.LoadData)

        box2.Add((0, 0), 1, 0, 5)

        self.m_staticText2 = wx.StaticText(self.data_panel, wx.ID_ANY,
                                           u"Clear Data ", wx.DefaultPosition,
                                           wx.DefaultSize, 0)
        self.m_staticText2.Wrap(-1)
        box2.Add(self.m_staticText2, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.clear_datagrid = wx.BitmapButton(self.data_panel, wx.ID_ANY,
                                              wx.NullBitmap,
                                              wx.DefaultPosition,
                                              wx.DefaultSize,
                                              wx.BU_AUTODRAW | 0)
        self.clear_datagrid.SetBitmap(
            wx.Bitmap(u"img/trash_47.png", wx.BITMAP_TYPE_ANY))
        box2.Add(self.clear_datagrid, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL,
                 5)

        #Set open file data function
        self.clear_datagrid.Bind(wx.EVT_BUTTON, self.clear_DataGrid)

        box2.Add((0, 0), 1, 0, 5)

        self.m_sline = wx.StaticLine(self.data_panel, wx.ID_ANY,
                                     wx.DefaultPosition, wx.DefaultSize,
                                     wx.LI_HORIZONTAL)
        box2.Add(self.m_sline, 0, wx.EXPAND | wx.ALL, 5)

        #set the Technical Manager
        self.m_st_technicalman = wx.StaticText(self.data_panel, wx.ID_ANY,
                                               u"Technical Manager:",
                                               wx.DefaultPosition,
                                               wx.DefaultSize, 0)
        self.m_st_technicalman.Wrap(-1)
        box2.Add(self.m_st_technicalman, 0,
                 wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.m_Tech = wx.TextCtrl(self.data_panel, wx.ID_ANY, wx.EmptyString,
                                  wx.DefaultPosition, wx.DefaultSize, 0)
        box2.Add(self.m_Tech, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        #set the Batch name
        self.m_st_batch = wx.StaticText(self.data_panel, wx.ID_ANY,
                                        u"Batch Name:", wx.DefaultPosition,
                                        wx.DefaultSize, 0)
        self.m_st_batch.Wrap(-1)
        box2.Add(self.m_st_batch, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.m_Bath = wx.TextCtrl(self.data_panel, wx.ID_ANY, wx.EmptyString,
                                  wx.DefaultPosition, wx.DefaultSize, 0)
        box2.Add(self.m_Bath, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.m_staticText3 = wx.StaticText(self.data_panel, wx.ID_ANY, u"Run",
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.m_staticText3.Wrap(-1)
        box2.Add(self.m_staticText3, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        self.run_bot = wx.BitmapButton(self.data_panel, wx.ID_ANY,
                                       wx.NullBitmap, wx.DefaultPosition,
                                       wx.DefaultSize, wx.BU_AUTODRAW | 0)
        self.run_bot.SetBitmap(wx.Bitmap(u"img/run_47.png",
                                         wx.BITMAP_TYPE_ANY))
        box2.Add(self.run_bot, 0, wx.ALL | wx.ALIGN_CENTER_HORIZONTAL, 5)

        #Set open file data function
        self.run_bot.Bind(wx.EVT_BUTTON, self.runProject)

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

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

        self.data_panel.SetSizer(box1)
        self.data_panel.Layout()
        box1.Fit(self.data_panel)
        self.note.AddPage(self.data_panel, u"DATA", True)

        #Set the report panel
        self.report_panel = wx.Panel(self.note, wx.ID_ANY, wx.DefaultPosition,
                                     wx.DefaultSize, wx.TAB_TRAVERSAL)
        gs_report = wx.BoxSizer(wx.VERTICAL)

        self.buttonpanel = pdfButtonPanel(self.report_panel, wx.ID_ANY,
                                          wx.DefaultPosition, wx.DefaultSize,
                                          0)

        self.pdfViewer = pdfViewer(self.report_panel, wx.ID_ANY,
                                   wx.DefaultPosition, wx.DefaultSize,
                                   wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
        self.pdfViewer.UsePrintDirect = "False"

        # introduce buttonpanel and viewer to each other
        self.buttonpanel.viewer = self.pdfViewer
        self.pdfViewer.buttonpanel = self.buttonpanel

        #add the buutonpanel and pdfviewer to boxsizer
        gs_report.Add(self.buttonpanel, 1, wx.ALL, 5)
        gs_report.Add(self.pdfViewer, 100, wx.EXPAND | wx.ALL, 5)

        self.report_panel.SetSizer(gs_report)
        self.report_panel.Layout()
        gs_report.Fit(self.report_panel)

        self.note.AddPage(self.report_panel, u"Report", False)

        box.Add(self.note, 1, wx.EXPAND | wx.ALL, 5)

        self.SetSizer(box)
        self.Layout()

        self.Centre(wx.BOTH)

        #set the types
        self.type = ["SMP", "BLANK", "DUP"]

        #Load std for list
        self.Load_STD()

        #set the setting parameters
        self.Get_setting()

        #clear temporary files
        self.Clear_tempFiles()

        #set Datagrid cell Editor for fill with list
        self.type_editor = wx.grid.GridCellChoiceEditor(self.type, True)
        #set the editor cell
        for i in range(0, 100):
            self.Datagrid.SetCellEditor(i, 1, self.type_editor)