Changeset b92884a in sasview for sansview/perspectives


Ignore:
Timestamp:
Nov 3, 2008 5:01:50 PM (16 years ago)
Author:
Gervaise Alina <gervyh@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
58eac5d
Parents:
d292959
Message:

help dialog filled

Location:
sansview/perspectives/fitting
Files:
2 deleted
1 edited

Legend:

Unmodified
Added
Removed
  • sansview/perspectives/fitting/helpDialog.py

    rd292959 rb92884a  
    33import wx.html as html 
    44import os 
     5def help(): 
     6    """ 
     7        Provide general online help text 
     8        Future work: extend this function to allow topic selection 
     9    """ 
     10    info_txt  = "The inversion approach is based on Moore, J. Appl. Cryst. (1980) 13, 168-175.\n\n" 
     11    info_txt += "P(r) is set to be equal to an expansion of base functions of the type " 
     12    info_txt += "phi_n(r) = 2*r*sin(pi*n*r/D_max). The coefficient of each base functions " 
     13    info_txt += "in the expansion is found by performing a least square fit with the " 
     14    info_txt += "following fit function:\n\n" 
     15    info_txt += "chi**2 = sum_i[ I_meas(q_i) - I_th(q_i) ]**2/error**2 + Reg_term\n\n" 
     16    info_txt += "where I_meas(q) is the measured scattering intensity and I_th(q) is " 
     17    info_txt += "the prediction from the Fourier transform of the P(r) expansion. " 
     18    info_txt += "The Reg_term term is a regularization term set to the second derivative " 
     19    info_txt += "d**2P(r)/dr**2 integrated over r. It is used to produce a smooth P(r) output.\n\n" 
     20    info_txt += "The following are user inputs:\n\n" 
     21    info_txt += "   - Number of terms: the number of base functions in the P(r) expansion.\n\n" 
     22    info_txt += "   - Regularization constant: a multiplicative constant to set the size of " 
     23    info_txt += "the regularization term.\n\n" 
     24    info_txt += "   - Maximum distance: the maximum distance between any two points in the system.\n" 
     25      
     26    return info_txt 
     27     
     28class HelpDialog(wx.Dialog): 
     29    def __init__(self, parent, id): 
     30       
     31        wx.Dialog.__init__(self, parent, id, size=(400, 420)) 
     32        self.SetTitle("P(r) help")  
     33         
     34 
     35        vbox = wx.BoxSizer(wx.VERTICAL) 
     36 
     37        explanation = help() 
     38            
     39        label_explain = wx.StaticText(self, -1, explanation, size=(350,320)) 
     40             
     41        vbox.Add(label_explain, 0, wx.ALL|wx.EXPAND, 15) 
     42 
     43 
     44        static_line = wx.StaticLine(self, -1) 
     45        vbox.Add(static_line, 0, wx.EXPAND, 0) 
     46         
     47        button_OK = wx.Button(self, wx.ID_OK, "OK") 
     48        #button_Cancel = wx.Button(self, wx.ID_CANCEL, "Cancel") 
     49         
     50        sizer_button = wx.BoxSizer(wx.HORIZONTAL) 
     51        sizer_button.Add((20, 20), 1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     52        sizer_button.Add(button_OK, 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10) 
     53        #sizer_button.Add(button_Cancel, 0, wx.LEFT|wx.RIGHT|wx.ADJUST_MINSIZE, 10)         
     54        vbox.Add(sizer_button, 0, wx.EXPAND|wx.BOTTOM|wx.TOP, 10) 
     55 
     56        self.SetSizer(vbox) 
     57        self.SetAutoLayout(True) 
     58         
     59        self.Layout() 
     60        self.Centre() 
    561 
    662class HelpWindow(wx.Dialog): 
    763    def __init__(self, parent, id, title): 
    8         wx.Dialog.__init__(self, parent, id, title, size=(450, 450)) 
     64        wx.Dialog.__init__(self, parent, id, title, size=(600, 450)) 
    965         
    1066        vbox1  = wx.BoxSizer(wx.HORIZONTAL) 
    1167         
    12         #lpanel = wx.Panel(self, -1, style=wx.BORDER_SUNKEN) 
     68        lpanel = wx.Panel(self, -1, style=wx.BORDER_SUNKEN) 
    1369        rpanel = wx.Panel(self, -1) 
    14         #vbox1.Add(lpanel, -1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
     70        vbox1.Add(lpanel, -1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    1571        vbox1.Add(rpanel, -1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 
    1672         
    1773        vbox = wx.BoxSizer(wx.VERTICAL) 
    1874        header = wx.Panel(rpanel, -1, size=(-1, 20)) 
    19         header = wx.Panel(rpanel, -1) 
    2075        header.SetBackgroundColour('#6666FF') 
    2176        header.SetForegroundColour('WHITE') 
    2277        hbox = wx.BoxSizer(wx.HORIZONTAL) 
    23         st = wx.StaticText(header, -1, 'Help', (5, 5)) 
    24          
     78        st = wx.StaticText(header, -1, '', (5, 5)) 
    2579        font = st.GetFont() 
    2680        font.SetPointSize(10) 
     
    3084        vbox.Add(header, 0, wx.EXPAND) 
    3185        
    32  
    33         help = html.HtmlWindow(rpanel, -1, style=wx.NO_BORDER) 
    34         try: 
    35            cwd = os.path.split(__file__)[0] 
    36         except: 
    37             cwd = os.getcwd() 
     86        vboxl= wx.BoxSizer(wx.VERTICAL) 
     87        headerl = wx.Panel(lpanel, -1, size=(-1, 20)) 
    3888        
    39          
    40          
    41         dir = os.path.dirname(os.path.dirname(cwd)) 
    42         filename="doc\load_data_help.html" 
    43         print os.path.join(dir,filename) 
    44         fname=os.path.join(dir,filename) 
    45         help.LoadPage( fname ) 
    46          
    47           
    48         #print help.ToText() 
     89        headerl.SetBackgroundColour('#6666FF') 
     90        headerl.SetForegroundColour('WHITE') 
     91        hboxl = wx.BoxSizer(wx.HORIZONTAL) 
     92        lst = wx.StaticText(headerl, -1, 'Contents', (5, 5)) 
     93        fontl = lst.GetFont() 
     94        fontl.SetPointSize(10) 
     95        lst.SetFont(fontl) 
     96        hboxl.Add(lst, 1, wx.TOP | wx.BOTTOM | wx.LEFT, 5) 
     97        headerl.SetSizer(hboxl) 
     98        vboxl.Add(headerl, 0, wx.EXPAND) 
     99        self.lhelp = html.HtmlWindow(lpanel, -1, style=wx.NO_BORDER) 
     100        self.rhelp = html.HtmlWindow(rpanel, -1, style=wx.NO_BORDER) 
    49101        
    50         vbox.Add(help, 1, wx.EXPAND) 
    51          
     102        page="""<html> 
     103            <body> 
     104            <ul> 
     105            <li><a href ="doc/change_scale_help.html" target ="showframe">Change scale</a><br></li> 
     106            <li><a href ="doc/reset_Graph_help.html" target ="showframe">Graph Help</a><br></li> 
     107            <li><a href ="doc/load_data_help.html" target ="showframe">Load a File</a><br></li> 
     108            <li><a href ="doc/simultaneous_fit_help.html" target ="showframe">Simultaneous Fit</a><br></li> 
     109            <li><a href ="doc/single_fit_help.html" target ="showframe">Single Fit</a><br></li> 
     110            <li><a href ="doc/model_use_help.html" target ="showframe">Visualize Model</a><br></li> 
     111            </ul> 
     112            </body> 
     113            </html>""" 
     114        
     115        self.lhelp.SetPage(page) 
     116        self.lhelp.Bind(wx.html.EVT_HTML_LINK_CLICKED,self.OnLinkClicked ) 
     117        vbox.Add(self.rhelp, 1, wx.EXPAND) 
     118        vboxl.Add(self.lhelp, 1, wx.EXPAND) 
    52119        rpanel.SetSizer(vbox) 
    53         #lpanel.SetFocus() 
     120        lpanel.SetSizer(vboxl) 
     121        lpanel.SetFocus() 
    54122         
    55123        self.SetSizer(vbox1) 
     124         
    56125        self.Centre() 
    57126        self.Show(True) 
     127    def OnLinkClicked(self, event): 
     128        """ 
     129            Function to diplay html page related to the hyperlinktext selected 
     130        """ 
     131        link= event.GetLinkInfo().GetHref() 
     132        self.rhelp.LoadPage(link) 
     133 
    58134 
    59135class MyApp(wx.App): 
Note: See TracChangeset for help on using the changeset viewer.