source: sasview/sansview/welcome_panel.py @ 3cd5806

ESS_GUIESS_GUI_DocsESS_GUI_batch_fittingESS_GUI_bumps_abstractionESS_GUI_iss1116ESS_GUI_iss879ESS_GUI_iss959ESS_GUI_openclESS_GUI_orderingESS_GUI_sync_sascalccostrafo411magnetic_scattrelease-4.1.1release-4.1.2release-4.2.2release_4.0.1ticket-1009ticket-1094-headlessticket-1242-2d-resolutionticket-1243ticket-1249ticket885unittest-saveload
Last change on this file since 3cd5806 was c8deee5, checked in by Gervaise Alina <gervyh@…>, 14 years ago

working on save state fitting

  • Property mode set to 100644
File size: 5.4 KB
Line 
1"""
2    Welcome panel for SansView
3"""
4"""
5This software was developed by the University of Tennessee as part of the
6Distributed Data Analysis of Neutron Scattering Experiments (DANSE)
7project funded by the US National Science Foundation.
8
9See the license text in license.txt
10
11copyright 2009, University of Tennessee
12"""
13
14import wx
15import wx.aui
16import wx.lib.hyperlink
17import os.path
18import os, sys
19import local_config as config
20
21from sans.guiframe.panel_base import PanelBase
22#Font size width
23if sys.platform.count("win32")>0:
24    FONT_VARIANT = 0
25else:
26    FONT_VARIANT = 1 
27 
28class WelcomePanel(wx.aui.AuiNotebook, PanelBase):
29    """
30        Panel created like about box  as a welcome page
31        Shows product name, current version, authors, and link to the product page.
32    """
33    ## Internal nickname for the window, used by the AUI manager
34    window_name = "default"
35    ## Name to appear on the window title bar
36    window_caption = "Welcome panel"
37    ## Flag to tell the AUI manager to put this panel in the center pane
38    CENTER_PANE = True
39   
40   
41    def __init__(self,parent, *args, **kwds):
42       
43        kwds["style"] = wx.aui.AUI_NB_DEFAULT_STYLE
44       
45        wx.aui.AuiNotebook.__init__(self, parent, *args, **kwds)
46        PanelBase.__init__(self)
47        #For sansview the parent is guiframe
48        self.parent = parent
49       
50        welcome_page = WelcomePage(self)
51        self.AddPage(page=welcome_page, caption="Welcome")
52       
53        pageClosedEvent = wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE
54        self.Bind(wx.aui.EVT_AUINOTEBOOK_PAGE_CLOSE, self.on_close_page)
55        self.Center()
56   
57    def set_manager(self, manager):
58        """
59            the manager of the panel in this case the application itself
60        """
61        self.manager = manager
62       
63    def on_close_page(self, event):
64        """
65           
66        """
67        if self.parent is not None:
68            self.parent.on_close_welcome_panel()
69        event.Veto() 
70       
71    def set_data(self, list=[]):
72        """
73        """
74        pass
75   
76   
77class WelcomePage(wx.Panel):
78    """
79        Panel created like about box  as a welcome page
80        Shows product name, current version, authors, and link to the product page.
81    """
82    ## Internal nickname for the window, used by the AUI manager
83    window_name = "default"
84    ## Name to appear on the window title bar
85    window_caption = "Welcome panel"
86    ## Flag to tell the AUI manager to put this panel in the center pane
87    CENTER_PANE = True
88   
89   
90    def __init__(self, *args, **kwds):
91
92        kwds["style"] = wx.DEFAULT_DIALOG_STYLE
93       
94        wx.Panel.__init__(self, *args, **kwds)
95       
96        image = os.path.join("images","SVwelcome.png")
97       
98        self.SetWindowVariant(variant = FONT_VARIANT)
99        self.bitmap_logo = wx.StaticBitmap(self, -1, wx.Bitmap(image))
100       
101        self.label_copyright = wx.StaticText(self, -1, config._copyright)
102        self.static_line_1 = wx.StaticLine(self, -1)
103        self.label_acknowledgement = wx.StaticText(self, -1, config._acknowledgement)
104       
105        self.hyperlink_license = wx.StaticText(self, -1, "Comments? Bugs? Requests?")
106        self.hyperlink_paper = wx.lib.hyperlink.HyperLinkCtrl(self, -1,
107                                         "Send us a ticket at:  sansdanse@gmail.com",URL=config._license)
108       
109        verwords = config.__version__.split('.')
110        version = '.'.join(verwords[:-1])
111        revision = verwords[-1]
112        self.label_title = wx.StaticText(self, -1, config.__appname__+ " "+str(config.__version__))#(version))
113        self.label_build = wx.StaticText(self, -1, "Build: "+str(config.__version__))
114     
115        sizer_main = wx.BoxSizer(wx.VERTICAL)
116        sizer_header = wx.BoxSizer(wx.HORIZONTAL)
117        sizer_build = wx.BoxSizer(wx.VERTICAL)
118       
119        sizer_header.Add(self.bitmap_logo, 0, wx.EXPAND|wx.LEFT, 5)
120       
121        sizer_build.Add(self.label_acknowledgement,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
122        sizer_build.Add((5,5))
123        sizer_build.Add(self.label_title ,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
124        sizer_build.Add(self.label_build,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
125        sizer_build.Add( self.label_copyright,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
126        sizer_build.Add((5,5))
127        sizer_build.Add( self.hyperlink_license,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
128        sizer_build.Add( self.hyperlink_paper,0,wx.LEFT|wx.EXPAND|wx.ADJUST_MINSIZE, 15) 
129       
130        sizer_main.Add(sizer_header, 0, wx.TOP|wx.EXPAND, 3)
131        sizer_main.Add(self.static_line_1, 0, wx.EXPAND, 0)
132        sizer_main.Add(sizer_build,0, wx.BOTTOM|wx.EXPAND, 3)
133       
134        self.SetAutoLayout(True)
135        self.SetSizer(sizer_main)
136        self.Fit()
137       
138    def set_data(self, list=[]):
139        """
140        """
141        pass
142
143class ViewApp(wx.App):
144    def OnInit(self):
145        self.frame = WelcomeFrame(None, -1, "Test App")   
146        self.frame.Show(True)
147        return True
148
149class WelcomeFrame(wx.Frame):
150    def __init__(self, parent, id, title):
151        wx.Frame.__init__(self, parent, id, title, size=(570, 400))
152        WelcomePanel(self)
153        self.Centre()
154        self.Show(True)
155   
156if __name__ == "__main__": 
157    app = ViewApp(0)
158    app.MainLoop()
Note: See TracBrowser for help on using the repository browser.