source: trunk/doc/expgui_cfg.html @ 512

Last change on this file since 512 was 512, checked in by toby, 12 years ago

# on 2001/12/19 18:55:42, toby did:
reformat to match NCNR style

  • Property rcs:author set to toby
  • Property rcs:date set to 2001/12/19 18:55:42
  • Property rcs:lines set to +31 -25
  • Property rcs:rev set to 1.21
  • Property rcs:state set to Exp
  • Property svn:keywords set to Author Date Revision Id
File size: 24.9 KB
Line 
1<HTML>
2   <META NAME="Author" CONTENT="Brian H. Toby">
3   <TITLE>Customizing EXPGUI and Associated Programs</TITLE>
4
5   <meta name="keywords" content="crystallography, Rietveld, diffraction,
6   GSAS, EXPGUI">
7</HEAD>
8<style>
9A:link {text-decoration:none}
10A:vlink {text-decoration:none}
11</style>
12
13<BODY BGCOLOR="#FFFFFF"
14      topmargin="0" leftmargin="0" marginwidth="0" marginheight="0" 
15      text="#000000" link="#0033ff" vlink="#0033ff" alink="#0033ff">
16
17<?
18   include("/var/www/include/navigation.inc");
19   include("/var/www/include/utility.inc");
20?>
21<blockquote><font face="arial, helvetica, sans-serif">
22
23<TABLE BORDER BGCOLOR="#FFFF40" ALIGN=RIGHT>
24<TR><TH><A  Href="expgui.html">EXPGUI top</A> 
25</TH></TR></TABLE><BR CLEAR=ALL>
26
27<CENTER><H1>
28<HR noshade width="75%" size="2" align="center">
29Customizing EXPGUI and Associated Programs
30<HR noshade width="75%" size="2" align="center">
31</H1></CENTER>
32
33The EXPGUI GSAS graphical user interface can be modified in many
34ways quite easily.
35This document describes how the GUI works and how to modify the menus without
36significant reprogramming. A little bit of programming in Tcl/Tk can go a
37long way in adding new features. See the
38<a HREF="#Customizing">Customizing</A> examples, below.
39
40<H3>EXPGUI</H3>
41The main GUI is created by file expgui, which in turn uses the following files
42sequentially:
43<UL>
44<LI><TT>readexp.tcl</TT>
45<LI><TT>gsascmds.tcl</TT>
46<LI><TT>gsasmenu.tcl</TT>
47</UL>
48Two additional files are read if they are found:
49<UL>
50<LI><TT>localconfig</TT>
51<LI><TT>.gsas_config</TT>
52</UL>
53<P>The first three files,
54(<TT>readexp.tcl</TT>, <TT>gsascmds.tcl</TT>, <TT>gsasmenu.tcl</TT>)
55must be located in the same directory where the <TT>expgui</TT> file is found.
56The <TT>localconfig</TT> file also is read from this directory, if it exists.
57The final file, <TT>.gsas_config</TT>, is read from the user's login directory (UNIX) or <TT>C:\</TT> (Windows).
58The <TT>localconfig</TT> and <TT>.gsas_config</TT> are intended to
59contain system-wide and user-level default values for parameters
60that are described in this document. Most routines have
61a "Save Options" command that writes some of the current parameters to
62file  <TT>.gsas_config</TT>. Note that information in <TT>.gsas_config</TT>
63overrides that in <TT>localconfig</TT>.
64No error occurs if either of these files are not found.
65
66<P>
67The <TT>readexp.tcl</TT> and <TT>gsascmds.tcl</TT> files contain
68tcl procedures that are
69used for more than one application, so it is convenient to place them
70in separate files. They are only of interest to someone trying to debug
71or add new functionality to expgui.
72<P>
73The <TT>gsasmenu.tcl</TT> file defines the contents of the
74menu bar, the contents of the
75button bar and definitions for each command. The contents of this file
76are designed to be modified and extended by users, either by editing the file,
77or by overriding definitions in the <TT>localconfig</TT> or
78<TT>.gsas_config</TT> files.
79
80The important variables defined in the <TT>gsasmenu.tcl</TT> file are:
81<DL><DL>
82<DT><TT>expgui(menunames)</TT><DD>
83This list defines the menu bar headings other than File, Options & Help
84<DT><TT>expgui_menulist</TT><DD>
85Each array element, e.g. expgui_menulist(file) and expgui_menulist(powder),
86defines commands to be added to a menu heading. Each command will appear
87as an array element in expgui_cmdlist.
88<DT><TT>expgui_cmdlist</TT><DD>
89Each array element, e.g. expgui_cmdlist(Save) or expgui_cmdlist(expnam)
90contains two items. The first defines a tcl procedure to be executed
91when the command is invoked, or "-" if no command will be invoked and
92the second contains help information describing what the command does.
93Note that when menu item is selected the variable cmd is set to the
94name of the command, so
95<PRE>
96    expgui_cmdlist(powpref) {{runGSASwEXP $cmd} {Powder data preparation}}
97</PRE>
98means that "runGSASwEXP powpref" will be invoked when powpref is invoked.
99. For example, when powpref is selected, the tcl command
100"runGSASwEXP $cmd" is invoked, where variable cmd is set to "powpref".
101<DT><TT>expgui(buttonlist)</TT><DD>
102This list defines the commands that will appear on the button bar where
103each item that appears on the button bar must have a matching pair of entries
104in expgui_cmdlist.
105Thus if the command
106<PRE>
107   set expgui(buttonlist) {expnam expedt genles ortep fourier forsrh forplot lstview}
108</PRE>
109is placed in the <TT>localconfig</TT> or <TT>.gsas_config</TT> files this will
110redefine the contents of the button bar.
111</DL></DL>
112
113In addition to the variables defined in the previous file, expgui, uses
114a small number of array elements for other configuration options. They are:
115<DL><DL>
116
117<DT><TT>expgui(scriptdir)</TT><DD>
118This determines where files such as <TT>readexp.tcl</TT>, etc.
119are located. This defaults to the location where <TT>expgui</TT> is located so
120it rarely needs to be changed.
121
122<DT><TT>expgui(gsasdir)</TT><DD>
123This contains the location of the GSAS directory, if it is not the
124parent director where expgui is found.
125This determines where a number of GSAS data files will be located. If expedt
126crashes when you try to add new atoms, this is probably wrong.
127
128<DT><TT>expgui(gsasexe)</TT><DD>
129This determines where the GSAS executable files are located.
130You might want to change this is you keep multiple versions of GSAS
131around or if you keep the GSAS files in a different location than
132the default or want to keep the tcl files somewhere other than
133in a subdirectory of the GSAS files.
134
135<DT><TT>expgui(bkgcolor1)</TT><DD>
136Sets the background color for the bottom box on the phase pane.
137The default value, #fdf, is a light violet that
138will probably drive some folks nuts, but is a good contrast to the yellow
139of the refinement flags.
140
141<DT><TT>liveplot(hst)</TT><DD>
142Sets the default histogram used for liveplot
143
144<DT><TT>liveplot(legend)</TT><DD>
145Sets the default value for display of the legend in liveplot
146
147<DT><TT>expgui(initstring)</TT><DD>
148Defines commands to be executed by EXPGUI after all other commands
149have been run. This is used to define initialization commands in
150the <TT>localconfig</TT> or <TT>.gsas_config</TT> files that cannot be
151run at the time when the files are sourced. <I>(added in EXPGUI v1.21)</I>
152</DL></DL>
153
154The following variables are written to <tt>.gsas_config</tt> when
155"Save Options" is used. These variables are all set from the GUI and therefore
156do not need to be edited manually.
157
158<DL><DL>
159<DT><TT>expgui(archive)</TT><DD>
160This defines the default state for the archive flag,
161where 0 is off and 1 is on. When archive is on, a copy of the .EXP file
162is saved before a new version of the file is saved in EXPGUI.
163
164<DT><TT>expgui(font)</TT><DD>
165This determines the base font used in the programs. You conceivably
166could want to use an integer value not present in the
167"Options/Screen Font" menu command.
168
169<DT><TT>expgui(asorttype)</TT><DD>
170This determines the atom sort mode.
171
172<DT><TT>expgui(hsorttype)</TT><DD>
173This determines the histogram sort mode.
174
175<DT><TT>expgui(filesort)</TT><DD>
176This determines the default file sorting mode for the expnam command.
177
178<DT><TT>expgui(autoexpload)</TT><DD>
179If set to 1, the experiment file is automatically reread after
180GSAS programs modify it.
181(UNIX only)
182
183<DT><TT>expgui(showexptool)</TT><DD>
184If set to 1, output from EXPTOOL is shown after the program is run.
185This is probably needed only for debugging purposes.
186
187<DT><TT>env(GSASBACKSPACE)</TT><DD>
188Used only for UNIX: This determines if the default definition
189for the backspace key is overridden; some UNIX systems need this so that
190expedt and other terminal-oriented programs work correctly and
191other systems do not. You can toggle this option using the
192"Override Backspace" option on the file menu to see what works for you.
193
194</DL></DL>
195
196
197<HR><H3><A NAME="import">Coordinate import routines for EXPGUI</A>
198<IMG SRC="new.gif" HEIGHT=13 WIDTH=36 alt="New!">
199</H3>
200Currently two formats are supported, the Crystallographic Information File (CIF)
201and .CEL files from PowderCell.
202It is possible to define new formats for EXPGUI to use for importing
203phase/coordinate information. This is done by creating a file named
204<TT>import_</TT><I>xxxx</I><TT>.tcl</TT> (where <I>xxxx</I> is arbitrary)
205in the EXPGUI directory. See the file <TT>import_cell.tcl</TT> as an example.
206
207The file must contain four items:
208<UL>
209<LI>
210A description for the type of file to be read.
211<DL><DL><PRE>
212set description "PowderCell .CEL file"
213</PRE></DL>
214The text should not be too long, but use a return (\n) if needed:
215<DL><PRE>
216set description "My favorite coordinate\nfile from the GIGO pkg"
217</PRE></DL></DL>
218This description text shows up on the button for selecting a format.
219<P>
220<LI>
221A list of preferred file extensions.
222<DL><DL><PRE>
223set extensions .cel
224</PRE></DL>
225or
226<DL><PRE>
227set extensions {.jnk .junk}
228</PRE></DL></DL>
229In UNIX upper and lower case
230versions will be generated automatically, so do not worry about
231the case of the extension. Note that "*" (all files) is always added as well.
232<P>
233<LI>
234The name of the routine that will read the data file
235<DL><DL><PRE>
236set procname ReadPowderCellFile
237</PRE></DL></DL>
238<LI>
239A routine that takes the file name as an argument
240<DL><DL><PRE>
241proc ReadPowderCellFile {filename} {
242</PRE></DL></DL>
243and returns a list containing the following four items
244<OL>
245<P><LI>Space Group
246<DL><DL>
247The space group should be named and spaced appropriately for GSAS,
248e.g. P 21/c or P 21 21 21, not P21/c or P212121.
249</DL></DL>
250Note that GSAS requires that if a center of symmetry is present,
251this center defines the origin (Origin 2 settings, where more than one setting
252is given in the International Tables).
253<P><LI>Cell parameters
254<DL><DL>
255All six parameters should be specified in a list
256</DL></DL>
257<P><LI>Atom Coordinates
258<DL><DL>
259The atom coordinates should be specified as a list with a list element
260for each atom.
261The list contains the following items:
262<OL>
263<LI>Atom label
264<LI><I>x</I>
265<LI><I>y</I>
266<LI><I>z</I>
267<LI>Atom type
268<LI>Occupancy
269<LI>U<sub>iso</sub>
270</OL>
271If an item is not specified, it is left blank in the atom table, except for
272Occupancy and U<sub>iso</sub>, which default to 1.0 and 0.025, respectively.
273However, one must specify a null value, if an item will be skipped over.
274For example, use:
275<PRE>
276    "Li1 0 0 0 li 0.5"
277</PRE>
278or
279<PRE>
280    "{} 0 0 0 li 0.5"
281</PRE>
282but not
283<PRE>
284    "0 0 0 li 0.5"
285</PRE>
286
287</DL></DL>
288<P><LI>Warning Message (optional)
289<DL><DL>
290The warning message is displayed at the bottom of the
291Replace Atoms and Add Atoms box after the file is read. This can be used
292to warn the user about problems reading the file, for example if
293the space group symbol needs attention.
294</DL></DL>
295</OL>
296
297</UL>
298<HR><H3>LSTVIEW</H3>
299The <TT>localconfig</TT> and <TT>.gsas_config</TT> files are read, if present.
300The following options are available for customization in these files:
301<DL><DL>
302<DT><TT>txtvw(menulength)</TT><DD>
303This limits the number of entries that can
304exist in a menu. For example, the default is 25, so when more than 25 cycles
305are found in a .LST file, only the last 25 are listed in the
306"Go To"/cycle submenu.
307<DT><TT>txtvw(maxchars)</TT><DD>
308This limits the maximum number of
309characters that will be read from an existing .LST file to speed
310the start of the program. The default is ~1Mb
311for UNIX systems and ~200K for Windows.
312</DL></DL>
313
314The following variables are written to <tt>.gsas_config</tt> when
315"Save Options" is used. These variables can be set from the GUI and therefore
316do not need to be edited manually.
317
318<DL><DL>
319<DT><TT>txtvw(followcycle)</TT><DD>
320This sets the initial value for the
321"Auto Advance" button in the "Go To" menu. When this is true,
322the program will show the last cycle in the file. As new cycles are
323added, the "view" is advanced.
324
325<DT><TT>txtvw(font)</TT><DD>
326This sets the font used for LSTVIEW. See documentation on the font command in
327Tk for details on font naming.
328</DL></DL>
329
330One additional variable is present that I don't suggest using at present:
331<UL>
332<LI>plotvars: I am in the process of developing code that tracks
333and plots shifts and R values as a function cycle number. Setting plotvars to 1
334allows this code to be tested.
335</LI></UL>
336
337<hr><H3>LIVEPLOT</H3><A NAME="liveplot"></A>
338A description of the customization options for LIVEPLOT can be
339found in the
340<A HREF="liveplot.html#customize">
341LIVEPLOT description</A>.
342
343
344<HR>
345<H3>WIDPLT</H3>
346The widplt script is used to display the FWHM for one or more histograms
347from a .EXP file.
348At this point it only works for CW data.
349It is often convenient to add for reference the expected
350instrumental curves as options to the menu. This can be done by creating a
351file called widplot_<i>name</i>. For example, renaming the
352<tt>example_widplt_BT1</tt> file supplied with the distribution to
353<tt>widplt_BT1</tt> will cause the FWHM curves for the NIST BT-1 instrument
354to be added to the menu of defined FWHM values.
355<P>
356Creating such a file is easy. To add a entry define the following
357five array elements using a single, unique element name and then append that
358element name to variable datalist.
359Define
360<PRE>
361    set UVWP(Ge15) {398.5 -343.2  163.0 0}
362    set XY(Ge15) {0 0}
363    set wave(Ge15) 2.0775
364    set lblarr(Ge15) "BT-1 Ge(311) 15'"
365    set ttrange(Ge15) "5 160"
366    lappend datalist Ge15
367</PRE>
368Array element UVWP(item) contains the (Gaussian) GU, GV, GW and GP values,
369while XY(item) contains the (Lorentzian) LX and LY terms. Array element
370wave(item) contains a wavelength, array element lblarr(item) contains
371the text to be shown on the "Plot Contents" menu and ttrange(item)
372defines the range the function is valid.
373<P>
374The following variables are written to <tt>.gsas_config</tt> when
375"Save Options" is used. These variables are all set from the GUI and therefore
376do not need to be edited manually.
377
378<DL><DL>
379<DT><TT>graph(printout)</TT><DD>
380This is set to 1 if PostScript files
381will be printed and 0 if they will be written to disk (for Windows all
382files should be written to disk).
383
384<DT><TT>graph(outname)</TT><DD>
385This is the default for the file name used
386when PostScript files will be written to disk.
387
388<DT><TT>graph(outcmd)</TT><DD>
389This is the default for the command used
390to print PostScript files (Unix only).
391
392<DT><TT>graph(legend)</TT><DD>
393Sets the default value for display of the legend in liveplot and widplt.
394
395<DT><TT>graph(plotunits)</TT><DD>
396Sets the units used for displaying the data. Values are "d", "q", "",
397for d-space, Q and 2-theta, respectively.
398<DT><TT>graph(equivwave)</TT><DD>
399Sets the wavelength used for displaying data, if blank, no conversion is
400done and data are shown in their original wavelength.
401</DL></DL>
402
403<hr>
404<a name="Customizing"><H2>
405Customizing Example 1: Adding a new button to the button bar
406</H2></A>
407When a LeBail extraction is used to refine lattice constants, profile
408terms, ... It is always a good idea to run GENLES a few times after running
409POWPREF. This is because GENLES sets the extracted intensities back to their
410crystallographic values, during the first GENLES cycle after POWPREF has been
411run. Refining anything until the extracted intensities return to reasonable
412values is a really bad idea. Forturnately, running GENLES with the number of
413cycles set to zero gives the Le Bail extraction a head start.
414<P>
415The code below can be used to define a new command, <tt>leBail</tt>. The first
416command adds a command to the button bar and the second one defines what will
417be done when it is invoked (the number of cycles is set to zero and
418GENLES is run three times). It also defines the help entry. Note that commands must start with a lower case letter even though Armel LeBail's last name
419does not.
420
421<PRE>
422    lappend expgui(buttonlist) leBail
423    set expgui_cmdlist(leBail) {
424        {set entryvar(cycles) 0; runGSASwEXP "genles genles genles"}
425        {Converges GENLES with LeBail extractions;
426          Sets the number of cycles to zero and runs GENLES 3 times.}
427    }
428
429</PRE>
430To make this customization, put the above in the <TT>localconfig</TT> 
431file or the
432<TT>~/.gsas_config</TT> or (or <TT>C:\GSAS\EXPGUI\.gsas_config</TT>)
433file.
434<hr>
435<H2>
436Customizing Example 2: Putting DISAGL Results in a Separate Box
437</H2>
438Barbara Reisner has been asking me to put the output from DISAGL in a separate
439window. Sounds like a pretty reasonable request. Here is an example with code
440to do that as a customization option. Please note that this has now been
441incorporated into EXPGUI, so do not use this example.
442<PRE>
443  set expgui(disaglSeparateBox) 1
444  set expgui_cmdlist(disagl) {rundisagl {Hacked Distance/angle calculations}}
445  proc rundisagl {} {
446    global expgui txtvw tcl_version tcl_platform
447    if {$expgui(disaglSeparateBox) && $tcl_platform(platform) != "windows"} {
448        set root [file root $expgui(expfile)]
449        catch {file rename $root.LST $root.OLS}
450        runGSASwEXP disagl
451        catch {file rename $root.LST $root.DIS}
452        catch {file rename $root.OLS $root.LST}
453
454        # open a new window
455        catch {toplevel .disagl}
456        catch {eval grid forget [grid slaves .disagl]}
457        text .disagl.txt -width 100 -wrap none \
458                -yscrollcommand ".disagl.yscroll set" \
459                -xscrollcommand ".disagl.xscroll set"
460        if {$tcl_version >= 8.0} {.disagl.txt config -font $txtvw(font)}
461        scrollbar .disagl.yscroll -command ".disagl.txt yview"
462        scrollbar .disagl.xscroll -command ".disagl.txt xview" -orient horizontal
463        grid .disagl.xscroll -column 0 -row 2 -sticky ew
464        grid .disagl.txt -column 0 -row 1 -sticky nsew
465        grid .disagl.yscroll -column 1 -row 1 -sticky ns
466        grid columnconfigure .disagl 0 -weight 1
467        grid rowconfigure .disagl 1 -weight 1
468        wm title .disagl "DISAGL results $expgui(expfile)"
469        wm iconname .disagl "DISAGL $root"
470        set in [open $root.DIS r]
471        .disagl.txt insert end [read $in]
472        close $in
473        bind all <Control-KeyPress-c> {destroy .disagl}
474        bind .disagl <KeyPress-Prior> ".disagl.txt yview scroll -1 page"
475        bind .disagl <KeyPress-Next> ".disagl.txt yview scroll 1 page"
476        bind .disagl <KeyPress-Right> ".disagl.txt xview scroll 1 unit"
477        bind .disagl <KeyPress-Left> ".disagl.txt xview scroll -1 unit"
478        bind .disagl <KeyPress-Up> ".disagl.txt yview scroll -1 unit"
479        bind .disagl <KeyPress-Down> ".disagl.txt yview scroll 1 unit"
480        bind .disagl <KeyPress-Home> ".disagl.txt yview 0"
481        bind .disagl <KeyPress-End> ".disagl.txt yview end"
482        # don't disable in Win as this prevents the highlighting of selected text
483        if {$tcl_platform(platform) != "windows"} {
484            .disagl.txt config -state disabled
485        }
486    } else {
487        runGSASwEXP disagl
488    }
489  }
490
491if {$tcl_platform(platform) != "windows"} {
492  append expgui(initstring) {
493      $expgui(fm).option.menu add checkbutton  -label "DISAGL window" \
494              -variable expgui(disaglSeparateBox) -underline 0;
495  }
496}
497
498</PRE>
499To make this customization, put the above in the <TT>localconfig</TT> 
500file or the
501<TT>~/.gsas_config</TT> or (or <TT>C:\GSAS\EXPGUI\.gsas_config</TT>)
502file.
503<P>
504Note that the <tt>expgui(initstring)</tt> option became available in EXPGUI
505version 1.21. (Previous versions will ignore this). This code must be executed
506after all the menus and other GUI code has been run. When executed, it
507creates a checkbutton on the Options menu to
508turn the "separate DISAGL window mode" mode on and off.
509
510<hr><H2>
511Customizing Example 3: Adding a new page to EXPGUI
512</H2>
513The steps for creating support for additional functionality, implementation
514of atom constraints, is outlined here. Routines described here can be found in
515file <tt>atomcons.tcl</tt> unless otherwise noted.
516<OL>
517<LI>Create a routine to read and write the appropriate records
518from the .EXP file. In this case, a new routine, constrinfo,
519was added to file <tt>readexp.tcl</tt>.
520This takes considerable care and manual testing.
521<LI>Create a routine that places the appropriate widgets into a frame
522(in this case MakeAtomsConstraintsPane). This routine will be called only once.
523Note that in this example expcons(atommaster) is defined to be the name of the
524frame.
525<LI>Create a routine to display and edit the information shown in the
526frame. In this case, DisplayAtomConstraints. This routine will be called each
527time the page is displayed. Note that this routine and the previous can be
528tested in a separate toplevel until they work well.
529<LI>In this particular example, the previous frame is located on a notebook
530widget that in turn placed on a notebook page, so MakeConstraintsPane is used
531to create this inner notebook when the "Constraints" notebook page is first
532shown. This in turn calls MakeAtomsConstraintsPane and DisplayAtomConstraints.
533To update this page each time it is displayed, DisplayConstraintsPane is
534called.
535<LI>Edit file <tt>expgui</tt> to make the following changes:
536<UL>
537<P><LI>load the <tt>atomcons.tcl</tt> file:
538<PRE>
539# commands for constraints
540source [file join $expgui(scriptdir) atomcons.tcl]
541</PRE>
542<P><LI>Define a notebook page for the option. The -createcmd option
543is used only once, but the -raisecmd option is used every time
544the page is exposed.
545<PRE>
546set expgui(consFrame) [\
547            .n insert end consPane -text Constraints \
548            -raisecmd "set expgui(pagenow) consFrame; DisplayConstraintsPane"\
549            -createcmd MakeConstraintsPane]
550lappend expgui(frameactionlist) "consFrame DisplayConstraintsPane"
551</PRE>
552Note that if we were displaying the atoms constraint page directly on
553the main notebook widget, the previous command would have been
554<tt>-raisecmd DisplayAtomConstraints -createcmd MakeAtomsConstraintsPane</tt>
555<P>
556Since the frame will need to be updated when information in the .EXP file
557changes, the name of the frame and a command to execute are added into list
558expgui(frameactionlist) using the <TT>lappend expgui(frameactionlist)</TT>
559command.
560</PRE>
561</UL>
562</OL>
563
564<hr><H2>
565Customizing Example 4: Changing the fonts used in the GUI
566</H2>
567<B>Question: </B>
568<I>I am not happy with the fonts available via the Option/Screen Font
569menu option. Is there a way to select different font size(s)/families?
570</I>
571<UL>
572<B>Answer: </B>
573The fonts used in EXPGUI can be customized by adding some code to the
574<TT>localconfig</TT> file or the
575<TT>~/.gsas_config</TT> or (or <TT>C:\GSAS\EXPGUI\.gsas_config</TT>) file.
576By default, fonts are 14 point for the menus, buttons, labels,... and
57712 point for the histogram and atom lists.
578<P>
579If you add a command like this:
580<UL><PRE>
581option add *Coord.Listbox.Font "Courier -18 bold italic" 20
582</PRE></UL>
583<P>
584you will override the menu command and force the atom coordinates
585to be displayed at 18 points in a bold & italicied Courier font.
586(See the Tk documentation if this is not clear). The value 20 is a
587priority, which overrides the priority value of 10 in the
588standard initialization. Here are the options that can be specified:
589<DL><DL>
590<DT><TT>*Graph*Font</TT><DD>Used for Graph labels
591<DT><TT>*Graph.font</TT><DD>Used for Graph title
592<DT><TT>*Canvas.font</TT><DD>Used for notebook tabs
593<DT><TT>*Button.font</TT><DD>Used on most buttons
594<DT><TT>*Menu.font</TT><DD>Used on menu commands
595<DT><TT>*Menubutton.font</TT><DD>Used on "menu buttons" (e.g. Print options)
596<DT><TT>*Label.font</TT><DD>Used on labels
597<DT><TT>*Scale.font</TT><DD>Used on sliders (e.g. Marquardt damping)
598<DT><TT>*TitleFrame.font</TT><DD>Used on title frames (e.g. box labels such as
599the "Diffractometer Constants" label
600<DT><TT>*SmallFont.Button.font</TT><DD>Used for buttons with smaller letters
601<DT><TT>*Coord.Listbox.font</TT><DD>Used for coordinate listings, best as a
602mono-spaced font, such as Courier
603<DT><TT>*HistList.Listbox.font</TT><DD>Used for histogram listings
604<DT><TT>*MonoSpc.Label.font</TT><DD>Used in other places where a mono-spaced
605font is required
606</DL></DL>
607<P>
608It should be noted that the appearance of fonts depends on many factors --
609the fonts installed on your computer, the screen size and resolution and your
610eyes, so it is wise to experiment with different values.
611</UL>
612<hr>
613<blockquote>
614
615<A Href="http://www.ncnr.nist.gov/programs/crystallography/software/gsas.html">
616GSAS</A>
617is written by Allen C. Larson and <A HREF="http://www.nist.gov/cgi-bin/exit_nist.cgi?url=http://lansce.lanl.gov/lujan/staff12/vondreele.htm">
618Robert B. Von Dreele</A>, MS-H805,
619Los Alamos National Laboratory, Los Alamos, NM 87545. Problems, questions
620or kudos concerning GSAS should be sent to Robert B. Von Dreele at <A HREF="MAILTO:vondreele@lanl.gov">vondreele@lanl.gov</A>
621
622<P>This GUI is written by Brian H. Toby of the NIST Center for Neutron Research,
623<A HREF="MAILTO:Brian.Toby@NIST.GOV">Brian.Toby@NIST.GOV</A>.
624
625<P>GSAS is Copyright, 1984-1997, The Regents of the University of California.
626The GSAS software was produced under a U.S. Government contract (W-7405-ENG-36)
627by the Los Alamos National Laboratory, which is operated by the University
628of California for the U.S. Department of Energy. The U.S. Government is
629licensed to use, reproduce, and distribute this software. Permission is
630granted to the public to copy and use this software without charge, provided
631that this notice and any statement of authorship are reproduced on all
632copies. Neither the Government nor the University makes any warranty, express
633or implied, or assumes any liability or responsibility for the use of this
634software.
635
636<P>The GUI is not subject to copyright. Have fun.
637</blockquote>
638<P><hr>
639<TABLE BORDER BGCOLOR="#FFFF40" ALIGN=RIGHT>
640<TR><TH><A  Href="expgui.html">EXPGUI top</A> 
641</TH></TR></TABLE>
642<P>Brian Toby (<A HREF="MAILTO:Brian.Toby@NIST.GOV">Brian.Toby@NIST.GOV)</A>
643<BR>
644$Revision: 512 $ $Date: 2009-12-04 23:07:24 +0000 (Fri, 04 Dec 2009) $
645</blockquote>
646</BODY>
647</HTML>
Note: See TracBrowser for help on using the repository browser.