Changeset b92884a in sasview for sansview/perspectives/fitting
- Timestamp:
- Nov 3, 2008 5:01:50 PM (16 years ago)
- 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
- Location:
- sansview/perspectives/fitting
- Files:
-
- 2 deleted
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansview/perspectives/fitting/helpDialog.py
rd292959 rb92884a 3 3 import wx.html as html 4 4 import os 5 def 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 28 class 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() 5 61 6 62 class HelpWindow(wx.Dialog): 7 63 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)) 9 65 10 66 vbox1 = wx.BoxSizer(wx.HORIZONTAL) 11 67 12 #lpanel = wx.Panel(self, -1, style=wx.BORDER_SUNKEN)68 lpanel = wx.Panel(self, -1, style=wx.BORDER_SUNKEN) 13 69 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) 15 71 vbox1.Add(rpanel, -1, wx.EXPAND|wx.ADJUST_MINSIZE, 0) 16 72 17 73 vbox = wx.BoxSizer(wx.VERTICAL) 18 74 header = wx.Panel(rpanel, -1, size=(-1, 20)) 19 header = wx.Panel(rpanel, -1)20 75 header.SetBackgroundColour('#6666FF') 21 76 header.SetForegroundColour('WHITE') 22 77 hbox = wx.BoxSizer(wx.HORIZONTAL) 23 st = wx.StaticText(header, -1, 'Help', (5, 5)) 24 78 st = wx.StaticText(header, -1, '', (5, 5)) 25 79 font = st.GetFont() 26 80 font.SetPointSize(10) … … 30 84 vbox.Add(header, 0, wx.EXPAND) 31 85 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)) 38 88 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) 49 101 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) 52 119 rpanel.SetSizer(vbox) 53 #lpanel.SetFocus() 120 lpanel.SetSizer(vboxl) 121 lpanel.SetFocus() 54 122 55 123 self.SetSizer(vbox1) 124 56 125 self.Centre() 57 126 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 58 134 59 135 class MyApp(wx.App):
Note: See TracChangeset
for help on using the changeset viewer.