Changeset 48153283 in sasview for src/sas/guiframe
- Timestamp:
- Feb 17, 2015 1:46:30 AM (10 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:
- 36c5910
- Parents:
- 920928f (diff), 5dfdfa7 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent. - Location:
- src/sas/guiframe
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
src/sas/guiframe/gui_manager.py
rb9a5f0e r9bbb627 24 24 import logging 25 25 import httplib 26 import webbrowser 27 26 28 27 29 from sas.guiframe.events import EVT_CATEGORY … … 1325 1327 def _add_help_menu(self): 1326 1328 """ 1327 add help menu 1329 add help menu to menu bar. Includes welcome page, about page, 1330 tutorial PDF and documentation pages. 1328 1331 """ 1329 1332 # Help menu … … 1336 1339 id = wx.NewId() 1337 1340 self._help_menu.Append(id, '&Welcome', '') 1338 self._help_menu.AppendSeparator()1339 1341 wx.EVT_MENU(self, id, self.show_welcome_panel) 1340 1342 1341 # Look for help item in plug-ins 1342 for item in self.plugins: 1343 if hasattr(item, "help"): 1344 id = wx.NewId() 1345 self._help_menu.Append(id,'&%s Help' % item.sub_menu, '') 1346 wx.EVT_MENU(self, id, item.help) 1347 1348 # Only show new Sphinx docs link if version of wx supports displaying 1349 # it correctly. 1350 show_sphinx_docs = float(wx.__version__[:3]) >= 2.9 1351 if show_sphinx_docs: 1352 self._help_menu.AppendSeparator() 1353 id = wx.NewId() 1354 self._help_menu.Append(id, '&Sphinx Documentation', '') 1355 wx.EVT_MENU(self, id, self._onSphinxDocs) 1343 self._help_menu.AppendSeparator() 1344 id = wx.NewId() 1345 self._help_menu.Append(id, '&Documentation', '') 1346 wx.EVT_MENU(self, id, self._onSphinxDocs) 1356 1347 1357 1348 if config._do_tutorial and (IS_WIN or sys.platform =='darwin'): … … 2162 2153 def _onSphinxDocs(self, evt): 2163 2154 """ 2164 Pop up a Sphinx Documentation dialog. 2155 Bring up Sphinx Documentation. If Wx 2.9 or higher is installed 2156 with proper HTML support then Pop up a Sphinx Documentation dialog 2157 locally. If not pop up a new tab in the default system browser 2158 calling the documentation website. 2165 2159 2166 2160 :param evt: menu event … … 2168 2162 # Running SasView "in-place" using run.py means the docs will be in a 2169 2163 # different place than they would otherwise. 2170 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 2171 if SPHINX_DOC_ENV in os.environ: 2172 docs_path = os.path.join(os.environ[SPHINX_DOC_ENV], "index.html") 2164 2165 show_sphinx_docs = float(wx.__version__[:3]) >= 2.9 2166 if show_sphinx_docs: 2167 SPHINX_DOC_ENV = "SASVIEW_DOC_PATH" 2168 if SPHINX_DOC_ENV in os.environ: 2169 docs_path = os.path.join(os.environ[SPHINX_DOC_ENV], "index.html") 2170 else: 2171 docs_path = os.path.join(PATH_APP, "..", "..", "doc", "index.html") 2172 2173 if os.path.exists(docs_path): 2174 from documentation_window import DocumentationWindow 2175 2176 sphinx_doc_viewer = DocumentationWindow(None, -1, docs_path) 2177 sphinx_doc_viewer.Show() 2178 else: 2179 logging.error("Could not find Sphinx documentation at '%' -- has it been built?" % docs_path) 2173 2180 else: 2174 docs_path = os.path.join(PATH_APP, "..", "..", "doc", "index.html") 2175 2176 if os.path.exists(docs_path): 2177 from documentation_window import DocumentationWindow 2178 2179 sphinx_doc_viewer = DocumentationWindow(None, -1, docs_path) 2180 sphinx_doc_viewer.Show() 2181 else: 2182 logging.error("Could not find Sphinx documentation at '%' -- has it been built?" % docs_path) 2181 #For red hat and maybe others who do not have Wx 3.0 2182 #just send to webpage of documentation 2183 webbrowser.open_new_tab('http://www.sasview.org/sasview') 2183 2184 2184 2185 def set_manager(self, manager): -
src/sas/guiframe/gui_statusbar.py
r79492222 rb3efb7d 315 315 if msg == "error": 316 316 e_msg = "Error(s) Occurred:\n" 317 e_msg += event.status 317 e_msg += "\t" + event.status + "\n\n" 318 e_msg += "Further information might be available in " 319 e_msg += "the Console log (bottom right corner)." 318 320 wx.MessageBox(e_msg, style=wx.ICON_ERROR) 319 321 -
src/sas/guiframe/local_perspectives/data_loader/data_loader.py
r7a04dbb rb3efb7d 171 171 file) for file in os.listdir(path)] 172 172 173 def _process_data_and_errors(self, item, p_file, output, message): 174 """ 175 Check to see if data set loaded with any errors. If so, append to 176 error message to be sure user knows the issue. 177 """ 178 data_error = False 179 for error_data in item.errors: 180 data_error = True 181 message += "\tError: {0}\n".format(error_data) 182 data = self.parent.create_gui_data(item, p_file) 183 output[data.id] = data 184 return output, message, data_error 185 173 186 def get_data(self, path, format=None): 174 187 """ … … 178 191 output = {} 179 192 any_error = False 193 data_error = False 180 194 error_message = "" 181 195 for p_file in path: 182 196 info = "info" 183 197 basename = os.path.basename(p_file) 184 root, extension = os.path.splitext(basename)198 _, extension = os.path.splitext(basename) 185 199 if extension.lower() in EXTENSIONS: 186 200 any_error = True … … 194 208 195 209 try: 210 message = "Loading Data... " + str(p_file) + "\n" 211 self.load_update(output=output, message=message, info=info) 196 212 temp = self.loader.load(p_file, format) 197 213 if temp.__class__.__name__ == "list": 198 214 for item in temp: 199 data = self.parent.create_gui_data(item, p_file) 200 output[data.id] = data 215 output, error_message, data_error = \ 216 self._process_data_and_errors(item, 217 p_file, 218 output, 219 error_message) 201 220 else: 202 data = self.parent.create_gui_data(temp, p_file) 203 output[data.id] = data 204 message = "Loading Data..." + str(p_file) + "\n" 205 self.load_update(output=output, message=message, info=info) 221 output, error_message, data_error = \ 222 self._process_data_and_errors(temp, 223 p_file, 224 output, 225 error_message) 206 226 except: 207 227 any_error = True 208 if error_message == "": 209 error = "Error: " + str(sys.exc_value) + "\n" 210 error += "while loading Data: \n%s\n" % str(p_file) 211 error_message = "The data file you selected could not be loaded.\n" 212 error_message += "Make sure the content of your file" 213 error_message += " is properly formatted.\n\n" 214 error_message += "When contacting the DANSE team, mention the" 215 error_message += " following:\n%s" % str(error) 216 else: 217 error_message += "%s\n"% str(p_file) 218 info = "error" 219 self.load_update(output=output, message=error_message, 228 if any_error or error_message != "": 229 if error_message == "": 230 error = "Error: " + str(sys.exc_value) + "\n" 231 error += "while loading Data: \n%s\n" % str(p_file) 232 error_message = "The data file you selected could not be loaded.\n" 233 error_message += "Make sure the content of your file" 234 error_message += " is properly formatted.\n\n" 235 error_message += "When contacting the DANSE team, mention the" 236 error_message += " following:\n%s" % str(error) 237 elif data_error: 238 base_message = "Errors occurred while loading {0}\n".format(p_file) 239 base_message += "The data file loaded but with errors.\n" 240 error_message = base_message + error_message 241 else: 242 error_message += "%s\n"% str(p_file) 243 info = "error" 244 self.load_update(output=output, message=error_message, 220 245 info=info) 221 246 222 message = "Loading Data Complete! " 247 else: 248 message = "Loading Data Complete! " 223 249 message += log_msg 224 if error_message != "":225 info = 'error'226 250 self.load_complete(output=output, error_message=error_message, 227 251 message=message, path=path, info=info) -
src/sas/guiframe/media/data_explorer_help.rst
r0d66541 r23a9beb 1 .. data_explorer_help.rst1 .. data_explorer_help.rst 2 2 3 Placeholder for data explorer help 3 .. This is a port of the original SasView html help file to ReSTructured text 4 .. by S King, ISIS, during SasView CodeCamp-III in Feb 2015. 5 6 Loading Data 7 ============ 8 9 Introduction_ 10 11 Load_Data_ 12 13 Handy_Menu_ 14 15 Activate_Data_ 16 17 Remove_Data_ 18 19 Append_Plot_to_Graph_ 20 21 Create_New_Plot_ 22 23 Freeze_Theory_ 24 25 Send_Data_to_Applications_ 26 27 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 28 29 .. _Introduction: 30 31 Introduction 32 ------------ 33 34 *Data Explorer* is a panel that allows the user more interactions with data. 35 Some functionalities provided by the Data Explorer are also available through 36 the context menu of plot panels or other menus of the applications.Under menu 37 *View* of the menubar, Data explorer can be toggled between Show and Hide by 38 clicking the menu *Show/Hide Data Explorer* . 39 40 *IMPORTANT!* When Data explorer is hidden, all the data loaded will be sent 41 directly to the current active application, if possible. When data Explorer is 42 shown data go first to the Data Explorer for the user to handle them later. 43 44 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 45 46 .. _Load_Data: 47 48 Load Data 49 --------- 50 51 To Load data, click the button *Load Data* , then select one or more (holding 52 Ctrl key) files to load into the application. In the list, the *Data* will be 53 displayed as the name of each selected file. Expending this data by clicking 54 the *+* symbol will display available information about the data such as data 55 title if exists. 56 57 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 58 59 .. _Handy_Menu: 60 61 Handy Menu 62 ---------- 63 64 For a quick Data-info/Save/Plot/3d-plot(2d only)/Edit-mask(2d only), 65 high-light the data/theory, right-click, and select a proper item from the 66 context menu. 67 68 .. image:: hand_menu.png 69 70 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 71 72 .. _Activate_Data: 73 74 Activate Data 75 ------------- 76 77 To interact with data, check a data label and click on a button. Checking Data 78 make them active for the button operation. Unchecking Data labels will 79 deactivate them. 80 81 There is a combo box labeled *Selection Options* that allows to activate or 82 select multiple data simultaneously. 83 84 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 85 86 .. _Remove_Data: 87 88 Remove Data 89 ----------- 90 91 Remove data button remove all reference of this data into the application. 92 93 *WARNING!* Remove data will stop any jobs currently using the selected data. 94 95 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 96 97 .. _Append_Plot_to_Graph: 98 99 Append Plot to Graph 100 -------------------- 101 102 Click on the button *Append To* to append selected Data to a plot panel on 103 focus. Next to this button is a combo box containing available panels names. 104 Selecting a name from this combo box will set the corresponding lot panel on 105 focus. If not plot panel is available, the combo box and button will be 106 disable. 2D Data cannot be appended to any plot panels . This operation can 107 only be performed on 1D data and plot panels currently containing 1D data. 108 109 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 110 111 .. _Create_New_Plot: 112 113 Create New Plot 114 --------------- 115 116 Click on *New Plot* button to create a new plot panel where selected data 117 will be plotted. 118 119 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 120 121 .. _Freeze_Theory: 122 123 Freeze Theory 124 ------------- 125 126 *Freeze Theory* button generate Data from selected theory. This operation can 127 only be performed when theory labels are selected. 128 129 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 130 131 .. _Send_Data_to_Applications: 132 133 Send to Application 134 ------------------- 135 136 Click on the button *Send To* to send Data to the current active control 137 page. One of the single/batch mode can be selected only for Fitting. The batch 138 mode provides serial (batch) fitting with one model, i.e., fitting one data by 139 another data. Note that only the Fitting allows more that one data to be sent. -
src/sas/guiframe/media/graph_help.rst
r0d66541 r23a9beb 1 ..graph_help.rst 2 3 Placeholder for graph help 1 .. graph_help.rst 2 3 .. This is a port of the original SasView html help file to ReSTructured text 4 .. by S King, ISIS, during SasView CodeCamp-III in Feb 2015. 5 6 Plotting Data/Models 7 ==================== 8 9 Graph_Menu_ 10 11 2D_Data_Averaging_ 12 13 Key_Combinations_ 14 15 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 16 17 .. _Graph_Menu: 18 19 Graph Menu 20 ---------- 21 22 Introduction_ 23 24 Reset_Graph_ 25 26 Hide_Show_Delete_Graph_ 27 28 Data_Info_ 29 30 Save_Plot_Image_ 31 32 Save_Data_ 33 34 Drag_Plot_ 35 36 Zoom_In_Out_ 37 38 Remove_Data_ 39 40 Change_Scale_ 41 42 Linear_Fit_ 43 44 Other_Graph_Modifications_ 45 46 .. _Introduction: 47 48 Introduction 49 ------------ 50 51 Locating the pointer and right-clicking on a data/theory plot will bring a 52 context menu. On the menu, select a menu item. 53 54 .. _Reset_Graph: 55 56 Reset Graph 57 ----------- 58 59 To reset the graph's axis range, right click on the plot and the context menu 60 pops-up. Select *Reset Graph* and the plot will take its initial range. Also 61 the 'home' icon in tool bar will do the same. 62 63 .. _Hide_Show_Delete_Graph: 64 65 Hide/Show/Delete Graph 66 ---------------------- 67 68 To Hide, click the Hide (bar) button in the tool bar.To Show, select the the 69 'Show' menu item in the 'Graph' menu in the menu bar.To Delete, click the 'x' 70 button in the title bar. 71 72 Note: If a residuals graph (in Fitting) is hidden, it will not show up after 73 computation. 74 75 .. _Data_Info: 76 77 Data Info 78 --------- 79 80 From the context menu, select 'Data Info' to see the data information dialog 81 panel. 82 83 .. _Save_Plot_Image: 84 85 Save Plot Image 86 --------------- 87 88 Right click on plot. Context menu will pop-up select save image [file name]. 89 A dialog window opens and write a the name of the file to save and click on 90 *Save Image.* 91 92 .. _Save_Data: 93 94 Save Data 95 --------- 96 97 From the context menu, select 'Save points as a file' for 1D, or 'Save as a 98 file(DAT)' for 2D. Note that two formats, txt and xml, are available in 1D 99 saving. 100 101 .. _Drag_Plot: 102 103 Drag Plot 104 --------- 105 106 Select the *crossed arrows* button on the plot panel *toolbar* to drag the 107 plot. To disable dragging mode, unselect the same button on the toolbar. 108 109 .. _Zoom_In_Out: 110 111 Zoom In/Out 112 ----------- 113 114 Select the *rectangle* button on the plot panel *toolbar* to zoom in a 115 region of the plot. 116 117 To disable zoom mode, unselect the same button on the toolbar. After zoom in 118 a region, select *left arrow* or *right arrow* button on the toolbar to set 119 the graph the the previous size. If a mouse wheel button is available, 120 *zoom in/out* by scrolling the mouse wheel (see Key_Combinations_ help for 121 details). 122 123 .. _Remove_Data: 124 125 Remove Data from Plot 126 --------------------- 127 128 Highlight the plot and the context menu appears.Select *remove [file name]*. 129 The plot selected will disappear. 130 131 .. _Change_Scale: 132 133 Change Scale 134 ------------ 135 136 If the loaded data is a 1-D data changing scale or data representation will 137 work as follows. *Right click* on the plot window. A context menu pops-up and 138 select *Change Scale* . A dialog window titled *select the scale of the graph* 139 will pop-up then change the *x* , the *y* and the *view* values as wish. 140 141 The 'view' option includes the axis scale short-cuts such as Linear, Guinier, 142 Cross-sectional (XC) Guinier, and Porod plot scale. For a proper data set, 143 these axis scales can be used to estimate Rg, Rod diameter, or Background of 144 neutron scattering data respectively (via 'Linear Fit'; see below). For a 2D 145 image, *Right click* on the image to pop-up the context menu. Select to 146 switch from linear to log scale. The scale selected is printed on the status 147 bar. 148 149 If the loaded data is an image. *Right click* on the image to pop-up the 150 context menu. Select to switch from linear to log scale. The scale selected is 151 printed on the status bar. 152 153 .. _Linear_Fit: 154 155 Linear Fit 156 ---------- 157 158 Linear fit is to perform a line model fitting keeping the scale of the plot. 159 Highlight data to fit. From the context menu select *Linear Fit* . A dialog 160 window appears. Change model initial parameters, data limits and hit *fit* 161 button. New parameters values are displayed and the line with the new 162 parameters is added to the plot. Especially for Guinier, XC Guinier, and 163 Porod plot scale, this 'Linear Fit' will provides Rg, Rod diameter, and 164 background, respectively. The following figure shows an example for the 165 Guinier scale. 166 167 .. image:: guinier_fit.png 168 169 .. _Other_Graph_Modifications: 170 171 Other Graph Modifications 172 ------------------------- 173 174 Some custom modifications of the symbols, text, axis, etc of the graph are 175 provided. 176 177 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 178 179 .. _2D_Data_Averaging: 180 181 2D Data Averaging 182 ----------------- 183 184 Description_ 185 186 How_to_Average_ 187 188 Available_Averagings_ 189 190 Unmasked_Circular_Average_ 191 192 Masked_Circular_Average_ 193 194 Sector_Average_ 195 196 Annular_Average_ 197 198 Box_Sum_ 199 200 Box_Averaging_in_Qx_ 201 202 Box_Averaging_in_Qy_ 203 204 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 205 206 .. _Description: 207 208 Description 209 ----------- 210 211 This feature allows you to perform different types of averages on your data, 212 and allows you to see what regions of the detector will contribute to the 213 average. The region to be averaged will be drown and can be modified by 214 dragging the lines around. 215 216 .. _How_to_Average: 217 218 How to Average 219 -------------- 220 221 Right click on 2D data for the context menu to appear. Select one type of 222 averages among *"sector [Q view]", "Annulus [Phi view]", "Box sum", "Box 223 averaging in Qx ", "box averaging on Qy","Perform circular Average".* 224 225 A slicer will appear except for *"Perform circular Average"* that you can 226 drag by clicking on a slicer 's marker. When the marker is highlighted in red, 227 it means that the slicer can change size.You can also move some of the slicer 228 by simply drag its side when highlighted in red. the slicer size will be reset 229 to its previous size if the user try to select a region greater than the size 230 of the data. 231 232 The user can also select a region to average when a slicer has been selected 233 already by *right clicking* on the context menu and selecting *Edit Slicer 234 Parameters* . The dialog window will appears and the user can enter values to 235 selected a region or selected numbers of points to plot *nbins* . 236 237 For *Box sum* , when the user selects this option, a new panel is created 238 containing the result of average of the sum of every pixels contains on that 239 data.The user can also enter values to select a region. 240 241 .. _Available_Averagings: 242 243 Available Averagings 244 -------------------- 245 246 Some different types of averaging are provided for. 247 248 .. _Unmasked_Circular_Average: 249 250 Unmasked Circular Average 251 ------------------------- 252 253 This operation will perform and average in constant q-rings around the (x,y) pixel 254 location of the beam center. 255 256 .. _Masked_Circular_Average: 257 258 Masked Circular Average 259 ----------------------- 260 261 This operation is same as 'Masked Circular Average' except that the masked 262 region is excluded if masked. 263 264 .. _Sector_Average: 265 266 Sector Average [Q View] 267 ----------------------- 268 269 This operation averages in constant q-arcs. The width of the sector is specified in 270 degrees (+/- delta phi) each side of the central angle (phi). 271 272 .. _Annular_Average: 273 274 Annular Average [Phi View] 275 -------------------------- 276 277 It performs an average between two q-values centered in (0,0), and averaged 278 over a width of a specified number of pixels. The data is returned as a 279 function of angle (phi) in degrees. Moving one circle of this slicer to 280 radius of zero corresponding to a circular averaging on radius qmax , the 281 outer circle. The angle zero starts from the positive x-axis direction. 282 283 .. _Box_Sum: 284 285 Box Sum 286 ------- 287 288 Perform the sum of counts in a 2D region of interest.When editing the slicer, 289 the user can enter the length and the width the rectangle slicer and the 290 coordinates of the center of this rectangle. 291 292 .. _Box_Averaging_in_Qx: 293 294 Box Averaging in Qx 295 ------------------- 296 297 Computes average I(Qx) for a region of interest. When editing the slicer, the 298 user can control the length and the width the rectangle slicer. The averaged 299 output is calculated from the constant bins with rectangular shape. The 300 resultant q values are nominal values, i.e., the central values of each bins 301 on the x-axis. 302 303 .. _Box_Averaging_in_Qy: 304 305 Box Averaging in Qy 306 ------------------- 307 308 Computes average I(Qy) for a region of interest.When editing the slicer, the 309 user can control the length and the width the rectangle slicer. The averaged 310 output is calculated from the constant bins with rectangular shape. The 311 resultant q values are nominal values, i.e., the central values of each bins 312 on the y-axis. 313 314 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 315 316 .. _Key_Combinations: 317 318 Key Combination 319 --------------- 320 321 Floating_Panel_ 322 323 Graph_Context_Menu_ 324 325 Zoom_ 326 327 .. ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ 328 329 .. _Floating_Panel: 330 331 Floating Panel 332 -------------- 333 334 For a graph panel to float on the top of the SV window: 335 336 Press the *Ctrl(Cmd on MAC) key* on dragging and placing a panel. Or if you 337 want to make all plot panels float, select 'Float' from Graph/Preperences in 338 the menu bar. Otherwise choose 'Dock'. 339 340 .. _Graph_Context_Menu: 341 342 Graph Context Menu 343 ------------------ 344 345 To get the graph context menu to print, copy, save data, (2D)average, etc, 346 *locate the mouse point on the plot to highlight and *(Mouse) Right Click* 347 to bring up the full menu. 348 349 .. _Zoom: 350 351 Zoom In/Out 352 ----------- 353 354 To Zoom in or out the full plot, *locate the mouse point inside the graph 355 which will be the center of the zooming, then *rotate MouseWheel*. 356 357 *To Zoom in or out the plot in x or y direction, *locate (and click) the 358 mouse point near x (or y) axis just outside of the graph and then *rotate 359 MouseWheel* .* Note that this works only on the 1D plots.
Note: See TracChangeset
for help on using the changeset viewer.