Example #1
0
    def _init_main(self):
        self.paramPanel = wx.Panel(self, -1)
        self.viewPanel = wx.Panel(self, -1)
        self.controlsPanel = wx.Panel(self, -1)

        if self.show_date_range:
            self.dateRange = DateRange(self.paramPanel, -1)

        if can_view_pdf:
            self.pdfViewer = pdfViewer(self.viewPanel,
                                       -1,
                                       wx.DefaultPosition,
                                       wx.DefaultSize,
                                       style=0)
        else:
            self.pdfViewer = wx.StaticText(
                self.viewPanel,
                -1,
                label='wxPython version 2.9 is required to preview pdf files.')

        self.generateBtn = wx.Button(self.controlsPanel, -1, label='Generate')
        self.generateBtn.Bind(wx.EVT_BUTTON, self.OnGenerateButton)

        self.printBtn = wx.Button(self.controlsPanel, -1, label='Print')
        self.printBtn.Bind(wx.EVT_BUTTON, self.OnPrintButton)
Example #2
0
    def __init__(self, parent, log):
        wx.Panel.__init__(self, parent, -1)
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        vsizer = wx.BoxSizer(wx.VERTICAL)
        self.buttonpanel = pdfButtonPanel(self, wx.NewId(), wx.DefaultPosition,
                                          wx.DefaultSize, 0)
        vsizer.Add(
            self.buttonpanel, 0,
            wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP,
            5)
        self.viewer = pdfViewer(self, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
        vsizer.Add(self.viewer, 1, wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, 5)
        loadbutton = wx.Button(self, wx.NewId(), "Load PDF file",
                               wx.DefaultPosition, wx.DefaultSize, 0)
        vsizer.Add(loadbutton, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        hsizer.Add(vsizer, 1, wx.GROW | wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5)
        self.SetSizer(hsizer)
        self.SetAutoLayout(True)

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

        self.Bind(wx.EVT_BUTTON, self.OnLoadButton, loadbutton)
Example #3
0
 def __init__(self, parent, **kwargs):
     super(LatexPanel, self).__init__(parent, **kwargs)
     self.percent_zoom = 0.3
     self.tex_panel = wx.Panel(self)
     self.tex_panel.SetPosition((0, 0))
     self.tex_panel.SetSize((self.GetSize().width, self.GetSize().height))
     self.zoomIn = wx.BitmapButton(self.tex_panel, -1, images.ZoomIn.GetBitmap())
     self.zoomOut = wx.BitmapButton(self.tex_panel, -1, images.ZoomOut.GetBitmap())
     self.Bind(wx.EVT_BUTTON, self.OnZoomIn, self.zoomIn)
     self.Bind(wx.EVT_BUTTON, self.OnZoomOut, self.zoomOut)
     self.viewer = pdfViewer(self.tex_panel, wx.NewId(), wx.DefaultPosition, wx.DefaultSize,
                             wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
     # sizer
     h_sizer = wx.BoxSizer(wx.HORIZONTAL)
     h_sizer.Add(self.zoomIn, 1, wx.EXPAND)
     h_sizer.Add(self.zoomOut, 1, wx.EXPAND)
     self.pdf_sizer = wx.BoxSizer(wx.VERTICAL)
     self.pdf_sizer.Add(h_sizer, 0, wx.EXPAND)
     self.pdf_sizer.Add(self.viewer, 1, wx.EXPAND)
     self.tex_panel.SetSizer(self.pdf_sizer)
     self.pdf_sizer.Fit(self)
     #
     self.viewer.Bind(wx.EVT_BUTTON, self.OnButtonClicked)
     self.Bind(wx.EVT_SIZE, self.OnSize)
     self.latex_ctrl = LatexControl(self)
     # self.latex_ctrl.Hide()
     self.Layout()
     self.show_pdf = True
Example #4
0
    def __init__(self, parent, pdf_path):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           size=(600, 700),
                           style=wx.RESIZE_BORDER | wx.DEFAULT_DIALOG_STYLE)
        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        vsizer = wx.BoxSizer(wx.VERTICAL)
        self.btn_panel = pdfButtonPanel(self, wx.NewId(), wx.DefaultPosition,
                                        wx.DefaultSize, 0)
        vsizer.Add(
            self.btn_panel, 0,
            wx.GROW | wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP,
            5)
        self.viewer = pdfViewer(self, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
        vsizer.Add(self.viewer, 1, wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, 5)
        # loadbutton = wx.Button(self, wx.NewId(), "Load PDF file",
        # wx.DefaultPosition, wx.DefaultSize, 0 )
        # vsizer.Add(loadbutton, 0, wx.ALIGN_CENTER|wx.ALL, 5)
        hsizer.Add(vsizer, 1, wx.GROW | wx.ALIGN_CENTER_HORIZONTAL | wx.ALL, 5)
        self.SetSizer(hsizer)
        self.SetAutoLayout(True)

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

        wx.BeginBusyCursor()
        self.viewer.LoadFile(pdf_path)
        wx.EndBusyCursor()
Example #5
0
    def __init__(self, parent):

        wx.Panel.__init__(self, parent, id=-1)

        self.pdf = None
        sizer = wx.BoxSizer(wx.VERTICAL)

        if True:  #NOT_USE_ADOBE:
            if HAS_PDFVIEWER:
                self.pdf = pdfViewer(
                    self, -1, wx.DefaultPosition, wx.DefaultSize,
                    wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
            else:
                self.pdf = PanelBoutonPdf(self)
        else:
            m = GetProtectedModeReader()
            EnableProtectedModeReader(0)
            self.pdf = PDFWindow(self, style=wx.SUNKEN_BORDER)
            EnableProtectedModeReader(m)

#        if ADOBE_VERSION == None:
#            self.pdf = wx.StaticText(self, -1, u"Cette fonctionnalité n'est disponible qu'avec Adobe Acrobat Reader\n"\
#                                                   u"Pour obtenir le dossier de validation, passer par le menu Fichier/Générer le dossier de validation.")
#        else:
#            if ADOBE_VERSION[:3] == (11, 0, 7) or ADOBE_VERSION[:3] == (11, 0, 8):
#                self.pdf = wx.StaticText(self, -1, u"Cette fonctionnalité n'est pas compatible Adobe Acrobat Reader version 11.0.07 !!\n\n"\
#                                                   u"Pour visualiser le dossier de validation :\n"\
#                                                   u" - Passer à la version 10.0.09 - si disponible (http://get.adobe.com/fr/reader)\n" \
#                                                   u" - Utiliser la version 11.0.06 (http://www.adobe.com/support/downloads/product.jsp?product=10&platform=Windows)\n" \
#                                                   u" - Utiliser la version 10 (http://get.adobe.com/fr/reader/otherversions)\n" \
#                                                   u" - Générer le fichier .pdf : menu Fichier/Générer le dossier de validation projet")
#            elif get_min_adobe_version() != None:
#                self.pdf = PDFWindow(self, style=wx.SUNKEN_BORDER)
#            else:
#                self.pdf = wx.StaticText(self, -1, u"Cette fonctionnalité n'est disponible qu'avec Adobe Acrobat Reader\n"\
#                                                   u"Pour obtenir le dossier de validation, passer par le menu Fichier/Générer le dossier de validation.")
#        else:
#            self.pdf = pdfViewer( self, -1, wx.DefaultPosition,
#                                wx.DefaultSize, wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        sizer.Add(self.pdf, proportion=1, flag=wx.EXPAND)

        self.mess = wx.StaticText(self, -1, "")
        sizer.Add(self.mess, proportion=1, flag=wx.EXPAND)
        sizer.Show(self.mess, False)

        self.SetSizer(sizer)
        self.sizer = sizer
        self.SetAutoLayout(True)

        self.pdf.Bind(wx.EVT_ENTER_WINDOW, self.OnEnter)

        FullScreenWin.__init__(self, self.pdf)
Example #6
0
    def __init__(self, parent, **kwds):
        super(PDFViewer, self).__init__(parent, **kwds)
        self.SetSize((1140,700))
        paneCont = self.GetContentsPane()
        self.buttonpanel = pdfButtonPanel(paneCont, wx.NewId(), wx.DefaultPosition, wx.DefaultSize, 0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(paneCont, wx.NewId(), wx.DefaultPosition, wx.DefaultSize,wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        self.viewer.UsePrintDirect = ``False``
        self.viewer.SetSizerProps(expand=True, proportion=1)

        # introduce buttonpanel and viewer to each other
        self.buttonpanel.viewer = self.viewer
        self.viewer.buttonpanel = self.buttonpanel
Example #7
0
    def __init__(self, parent, **kwds):
        super(PDFViewer, self).__init__(parent, **kwds)

        paneCont = self.GetContentsPane()
        self.buttonpanel = pdfButtonPanel(paneCont, wx.NewId(),
                                wx.DefaultPosition, wx.DefaultSize, 0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(paneCont, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        self.viewer.UsePrintDirect = False
        self.viewer.SetSizerProps(expand=True, proportion=1)

        # introduce buttonpanel and viewer to each other
        self.buttonpanel.viewer = self.viewer
        self.viewer.buttonpanel = self.buttonpanel
Example #8
0
    def __init__(self, parent, **kwds):
        super(PdfViewer, self).__init__(parent, **kwds)

        pane_contents = self.GetContentsPane()
        self.button_panel = pdfButtonPanel(pane_contents, wx.ID_ANY,
                                           wx.DefaultPosition, wx.DefaultSize,
                                           0)
        self.button_panel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(pane_contents, wx.ID_ANY, wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)

        self.viewer.SetSizerProps(expand=True, proportion=1)

        # introduce button_panel and viewer to each other
        self.button_panel.viewer = self.viewer
        self.viewer.buttonpanel = self.button_panel
    def test_lib_pdfviewer_loadFile(self):
        paneCont = sc.SizedPanel(self.frame)

        self.buttonpanel = pdfButtonPanel(paneCont, wx.NewId(),
                                wx.DefaultPosition, wx.DefaultSize, 0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(paneCont, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        self.viewer.SetSizerProps(expand=True, proportion=1)

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

        self.viewer.LoadFile(samplePdf)
        self.waitFor(500)
Example #10
0
    def test_lib_pdfviewer_loadFile(self):
        paneCont = sc.SizedPanel(self.frame)

        self.buttonpanel = pdfButtonPanel(paneCont, wx.NewId(),
                                wx.DefaultPosition, wx.DefaultSize, 0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(paneCont, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        self.viewer.SetSizerProps(expand=True, proportion=1)

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

        self.viewer.LoadFile(samplePdf)
        self.waitFor(500)
Example #11
0
    def _init_main(self):
        self.paramPanel = wx.Panel(self, -1)
        self.viewPanel = wx.Panel(self, -1)
        self.controlsPanel = wx.Panel(self, -1)

        if self.show_date_range:
            self.dateRange = DateRange(self.paramPanel, -1)

        if can_view_pdf:
            self.pdfViewer = pdfViewer(self.viewPanel, -1, wx.DefaultPosition, wx.DefaultSize, style=0)
        else:
            self.pdfViewer = wx.StaticText(self.viewPanel, -1, label='wxPython version 2.9 is required to preview pdf files.')
        
        self.generateBtn = wx.Button(self.controlsPanel, -1, label='Generate')
        self.generateBtn.Bind(wx.EVT_BUTTON, self.OnGenerateButton)

        self.printBtn = wx.Button(self.controlsPanel, -1, label='Print')
        self.printBtn.Bind(wx.EVT_BUTTON, self.OnPrintButton)
Example #12
0
    def __init__(self, title=None, file_name=None, **kwargs):
        super().__init__(**kwargs)

        paneCont = self.GetContentsPane()
        self.buttonpanel = pdfButtonPanel(paneCont, wx.NewId(),
                                          wx.DefaultPosition, wx.DefaultSize,
                                          0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(paneCont, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)

        self.viewer.SetSizerProps(expand=True, proportion=1)

        # introduce buttonpanel and viewer to each other
        self.buttonpanel.viewer = self.viewer
        self.viewer.buttonpanel = self.buttonpanel
        self.viewer.LoadFile(file_name)
Example #13
0
    def __init__(self, parent, **kwds):
        super(PDFViewer, self).__init__(parent, **kwds)

        _icon = wx.EmptyIcon()
        _icon.CopyFromBitmap(bitmap_from_base64(icon_16_b64))
        self.SetIcon(_icon)

        pane_cont = self.GetContentsPane()
        self.buttonpanel = pdfButtonPanel(pane_cont, wx.NewId(),
                                          wx.DefaultPosition, wx.DefaultSize, 0)
        self.buttonpanel.SetSizerProps(expand=True)
        self.viewer = pdfViewer(pane_cont, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        self.viewer.UsePrintDirect = ``False``
        self.viewer.SetSizerProps(expand=True, proportion=1)

        self.buttonpanel.viewer = self.viewer
        self.viewer.buttonpanel = self.buttonpanel
Example #14
0
    def __init__(self, parent, log):
        wx.Panel.__init__(self, parent, -1)
        hsizer = wx.BoxSizer( wx.HORIZONTAL )
        vsizer = wx.BoxSizer( wx.VERTICAL )
        self.buttonpanel = pdfButtonPanel(self, wx.NewId(),
                                wx.DefaultPosition, wx.DefaultSize, 0)  
        vsizer.Add(self.buttonpanel, 0,
                                wx.GROW|wx.ALIGN_CENTER_VERTICAL|wx.LEFT|wx.RIGHT|wx.TOP, 5)
        self.viewer = pdfViewer( self, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize, wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)
        vsizer.Add(self.viewer, 1, wx.GROW|wx.LEFT|wx.RIGHT|wx.BOTTOM, 5)
        loadbutton = wx.Button(self, wx.NewId(), "Load PDF file",
                                wx.DefaultPosition, wx.DefaultSize, 0 )
        vsizer.Add(loadbutton, 0, wx.ALIGN_CENTER|wx.ALL, 5)
        hsizer.Add(vsizer, 1, wx.GROW|wx.ALIGN_CENTER_HORIZONTAL|wx.ALL, 5) 
        self.SetSizer(hsizer)
        self.SetAutoLayout(True)

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

        self.Bind(wx.EVT_BUTTON, self.OnLoadButton, loadbutton)
Example #15
0
    def __init__(self, parent):
        wx.Frame.__init__(self, parent)
        from wx.lib.pdfviewer import pdfViewer, pdfButtonPanel
        self.Maximize(True)

        self.parent = parent
        self.Bind(wx.EVT_CLOSE, self.OnCloseFrm)

        hsizer = wx.BoxSizer(wx.HORIZONTAL)
        vsizer = wx.BoxSizer(wx.VERTICAL)
        self.buttonpanel = pdfButtonPanel(self, wx.NewId(), wx.DefaultPosition,
                                          wx.DefaultSize, 0)
        vsizer.Add(self.buttonpanel, 0, wx.GROW | wx.LEFT | wx.RIGHT | wx.TOP,
                   5)
        self.viewer = pdfViewer(self, wx.NewId(), wx.DefaultPosition,
                                wx.DefaultSize,
                                wx.HSCROLL | wx.VSCROLL | wx.SUNKEN_BORDER)
        vsizer.Add(self.viewer, 1, wx.GROW | wx.LEFT | wx.RIGHT | wx.BOTTOM, 5)
        loadbutton = wx.Button(self, wx.NewId(), "Load PDF file",
                               wx.DefaultPosition, wx.DefaultSize, 0)
        loadbutton.SetForegroundColour((255, 0, 0))
        vsizer.Add(loadbutton, 0, wx.ALIGN_CENTER | wx.ALL, 5)
        hsizer.Add(vsizer, 1, wx.GROW | wx.ALL, 5)
        self.SetSizer(hsizer)
        self.SetAutoLayout(True)

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

        self.Bind(wx.EVT_BUTTON, self.OnLoadButton, loadbutton)

        self.CenterOnParent()
        self.GetParent().Enable(False)
        self.Show(True)
        self.__eventLoop = wx.GUIEventLoop()
        self.__eventLoop.Run()
Example #16
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)
 def test_lib_pdfviewer_pdfviewerPdfViewerCtor(self):
     pv = pdfViewer(self.frame, wx.NewId(), wx.DefaultPosition,
                    wx.DefaultSize,
                    wx.HSCROLL|wx.VSCROLL|wx.SUNKEN_BORDER)