]> git.lyx.org Git - lyx.git/blob - src/frontends/controllers/ChangeLog
cba478db16922cb3bd4b6855c806da89acb7c5e4
[lyx.git] / src / frontends / controllers / ChangeLog
1 2001-07-23  John Levon  <moz@compsoc.man.ac.uk>
2
3         * ControlInclude.h:
4         * ControlInclude.C: implement ability to load file
5  
6 2001-07-18  Juergen Vigna  <jug@sad.it>
7
8         * ControlSearch.C (replace): changes to lyxfind.h function calls.
9
10 2001-07-19  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
11
12         * biblio.C (getInfo): add a .c_str() to handle the usual
13         stringstream pain.
14
15 2001-07-19  Angus Leeming  <a.leeming@ic.ac.uk>
16
17         * ControlCitation.[Ch]: changes associated with adding natbib support.
18         New public methods, usingNatbib, getCiteStrings and getCiteStyles.
19         New static variable citeStyles_.
20
21         * biblio.[Ch]: large internal rearrangement.
22         New public enum CiteStyle.
23         New public struct CitationStyle.
24         New public functions getCitationStyle, getCiteCommand, getCiteStyles,
25         getNumericalStrings, getAuthorYearStrings
26         (simpleSearch, regexSearch): no longer publicly accessible.
27
28         * helper_funcs.C (getStringFromVector): bug fix.
29
30 2001-07-16  Baruch Even  <baruch@lyx.org>
31
32         * ControlVCLog.h: Added Lsstream.h to includes.
33
34 2001-07-17  Angus Leeming  <a.leeming@ic.ac.uk>
35
36         * ControlSpellchecker.[Ch]: remove d-tor.
37
38 2001-07-17  Edwin Leuven  <leuven@fee.uva.nl>
39
40         * ControlSpellchecker.[Ch]: remove member quit() and some cleaning
41         
42 2001-07-16  Juergen Vigna  <jug@sad.it>
43
44         * ControlSpellchecker.C (show): use the lyxrc.use_pspell flag (if
45         compiled with USE_PSPELL) to be able to switch between ISpell and
46         PSpell classes.
47
48 2001-07-13  Angus Leeming  <a.leeming@ic.ac.uk>
49
50         Consistent use of Lsstream.h:
51         * ControlAboutlyx.[Ch] (getCredits):
52         * ControlVCLog.[Ch] (getVCLogFile): std::stringstream -> stringstream.
53
54 2001-07-13  Edwin Leuven  <leuven@fee.uva.nl>
55
56         * ControlCredits.[Ch]: removed
57         * ControlCopyright.[Ch]: removed
58         * ControlAboutlyx.[Ch]: added (replaces previous)
59         * GUI.h: removed credits and copyright added about lyx stuff
60
61 2001-07-13  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
62
63         * ControlSpellchecker.C (getSuggestion): 
64         (getWord): add std:: qualifier
65
66 >001-07-13  Edwin Leuven  <leuven@fee.uva.nl>
67
68         * ControlSpellchecker.[Ch]: added
69         * ViewBase.h: added partialUpdate(int) member
70         * GUI.h: added spell stuff
71         
72 2001-07-12  Lars Gullik Bjønnes  <larsbj@birdstep.com>
73
74         * ControlExternal.C: (*it). -> it->
75
76 2001-06-16  Angus Leeming  <a.leeming@ic.ac.uk>
77
78         * ButtonController.h: move some included header files out of the
79         frontends and into here.
80
81 2001-06-15  Angus Leeming  <a.leeming@ic.ac.uk>
82
83         * ControlCharacter.C (c-tor): cosmetic name change of signal.
84
85 2001-06-13  Angus Leeming  <a.leeming@ic.ac.uk>
86
87         * *.[h]: added // -*- C++ -*-
88         * *.[C]: removed // -*- C++ -*-
89
90         * ControlCharacter.[Ch]: (setParams): Check contents of font_ to
91         activate Apply button.
92         (clearParams): removed.
93         font_ is now stored as a boost::scoped_ptr.
94         font_ is no longer deleted on hide(), so it's contents can now be used
95         by the Font button on the toolbar.
96         Lots of new methods so that the GUI can easily get the contents of
97         font_ when it update()s.
98
99 2001-06-12  Angus Leeming  <a.leeming@ic.ac.uk>
100
101         * ControlCharacter.C (apply): test that font_ exists, thereby preventing
102         crash when the Font button on the Toolbar is pressed.
103
104         * GUI.h: change policy of Character button controller to
105         OkApplyCancelReadOnlyPolicy.
106
107 2001-06-11  Lars Gullik Bjønnes  <larsbj@birdstep.com>
108
109         * ControlToc.C (getContents): don't add anything to the list if it
110         is supposed to be empty.
111
112 2001-06-01  Angus Leeming  <a.leeming@ic.ac.uk>
113
114         * helper_funcs.C (getVectorFromString): bug fix.
115
116 2001-05-30  Angus Leeming  <a.leeming@ic.ac.uk>
117
118         * ButtonController.h
119         * ButtonControllerBase.[Ch] (refreshReadOnly): new method, called direct
120         from ButtonControllerBase::readOnly. Updates the state of the widgets
121         in the read-only list only when the read-only status of the document
122         changes.
123         (refresh): moved this stuff into refreshReadOnly.
124
125 2001-05-18  Angus Leeming  <a.leeming@ic.ac.uk>
126
127         * ControlPrint.C (c-tor):
128         * ControlPreamble.C (c-tor): initialise params_ and thereby cure crash.
129
130 2001-05-14  Angus Leeming  <a.leeming@ic.ac.uk>
131
132         * biblio.C:
133         * character.h: small clean-ups.
134
135 2001-05-04  Lars Gullik Bjønnes  <larsbj@birdstep.com>
136
137         * ControlToc.C (getType): remove support for old float list.
138
139 2001-04-26  Angus Leeming  <a.leeming@ic.ac.uk>
140
141         * ControlButtons.h: no longer include ButtonControllerBase.h, ViewBase.h
142         * ControlGraphics.h: no longer include insetgraphicsParams.h
143         * ControlInset.h: no longer include LyXView.h
144
145         * ControlBibitem.C:
146         * ControlBibtex.C:
147         * ControlButtons.C:
148         * ControlCharacter.C:
149         * ControlCitation.C:
150         * ControlCommand.C:
151         * ControlConnections.C:
152         * ControlCopyright.C:
153         * ControlCredits.C:
154         * ControlError.C:
155         * ControlExternal.C:
156         * ControlGraphics.C:
157         * ControlInclude.C:
158         * ControlLog.C:
159         * ControlMinipage.C:
160         * ControlPreamble.C:
161         * ControlPrint.C:
162         * ControlRef.C:
163         * ControlSearch.C:
164         * ControlTabularCreate.C:
165         * ControlToc.C:
166         * ControlVCLog.C: they're now in here!
167
168 2001-04-17  Lars Gullik Bjønnes  <larsbj@birdstep.com>
169
170         * ButtonControllerBase.h: C++ mode, inherit privately from
171         noncopyable 
172         * ButtonPolicies.h: ditto
173
174         * ButtonController.h: C++ mode, swap init order of restore_ and
175         cancel_ 
176
177 2001-04-06  John Levon  <moz@compsoc.man.ac.uk>
178
179         * ControlTabularCreate.h:
180         * ControlTabularCreate.C: make dialogs use a pair of uints
181           instead of a string
182
183         * ControlVCLog.h:
184         * ControlVCLog.C: fill a stringstream with the log contents
185         and then delete it
186
187         * ControlExternal.C: from Angus, clone the new InsetExternal
188           before acting on it
189
190 2001-04-09  Angus Leeming  <a.leeming@ic.ac.uk>
191
192         * helper_funcs.C (getStringFromVector, getVectorFromString): fixed bugs
193         and made more robust.
194
195 2001-04-05  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
196
197         * ControlToc.C: 
198         * ControlSearch.C: 
199         * ControlPrint.C: 
200         * ControlPreamble.C: 
201         * ControlInclude.C: 
202         * ControlGraphics.C: 
203         * ControlExternal.C: 
204         * ControlCopyright.C: include gettext.h
205
206         * ControlCharacter.C: 
207         * character.C: include gettext.h and language.h
208
209 2001-04-03  John Levon  <moz@compsoc.man.ac.uk>
210
211         * ButtonController.h:
212         * ButtonControllerBase.h:
213         * ButtonControllerBase.C:
214         * ButtonPolicies.h:
215         * ButtonPolicies.C:
216         * ControlButton.h:
217         * ControlButton.C:
218         * ControlButtons.h:
219         * ControlButtons.C:
220         * ControlConnections.h:
221         * ControlDialogs.h:
222         * ControlInset.h:
223         * ControlExternal.C:
224         * Makefile.am:
225         * README:
226         * ViewBase.h: s/ControlButton/ControlButtons/
227         s/popup/dialog/
228         s/UndoAll/Restore/ + associated
229
230 2001-03-30  Angus Leeming  <a.leeming@ic.ac.uk>
231
232         * ControlToc.[Ch]: new files; a controller for the TOC popup.
233
234         * GUI.h:
235         * Makefile.am: associated changes with all of the above.
236
237 2001-03-30  Angus Leeming  <a.leeming@ic.ac.uk>
238
239         * ControlExternal.C: bug fixes. Can now apply changes to the inset
240         and edit, view, update the External Material correctly. I hope!
241
242 2001-03-30  Angus Leeming  <a.leeming@ic.ac.uk>
243
244         * ButtonController.[Ch]: renamed as ButtonControllerBase.[Ch]
245
246         * BCTemplates.h: renamed as ButtonController.h
247
248         * ControlBase.[Ch]: renamed as ControlButton.[Ch]. Class named to match.
249
250         * ViewBase.h:
251         * ControlConnections.h: associated change in #include and class names.
252         
253         * ControlExternal.[Ch]: new files; a controller for the External
254         Material popup.
255
256         * GUI.h:
257         * Makefile.am: associated changes with all of the above.
258
259         * ControlGraphics.[Ch]:
260         * ControlInclude.[Ch]:
261         * ControlPrint.[Ch]:
262         (lv): removed.
263         (Browse): new method. Returns the results of a FileDialog browse.
264
265         * helper_funcs.[Ch] (browseFile): moved from xforms_helpers.[Ch].
266         (getVectorFromString): fixed bug.
267
268         * biblio.C (simpleSearch): cleaned up.
269
270 2001-03-29  Angus Leeming  <a.leeming@ic.ac.uk>
271
272         * A slight reworking of Baruch Even's ButtonController patch.
273
274         * BCTemplates.h: new file; all the templates for the ButtonController.
275         Including Baruch's new GuiBC class, with setCancelCloseButton() changed
276         to the more generic setButtonLabel().
277
278         * ButtonController.[Ch]: renamed cancel_label and close_label as
279         cancel_label_ and close_label_.
280
281         * Makefile.am: added BCTemplates.h
282
283 2001-03-29  Juergen Vigna  <jug@sad.it>
284
285         * ControlMinipage.C: removed widthp_ and all it's functions and changed
286         to use new %-lengths of LyXLength.
287
288 2001-03-29  Angus Leeming  <a.leeming@ic.ac.uk>
289
290         * ControlCitation.C (bibkeysInfo): removed Assert.
291
292         * ControlCopyright.h: moved GUICopyright into GUI.h
293
294         * GUI.h: see above.
295
296 2001-03-28  Angus Leeming  <a.leeming@ic.ac.uk>
297
298         * ControlInset.h (clearDaughterParams): is empty by default, not pure.
299         (setDaughterParams): a (by default empty) new method called in show().
300
301         * ControlBibitem.h:
302         * ControlBibtex.h:
303         * ControlError.h:
304         * ControlInclude.h:
305         * ControlMinipage.h:
306         * ControlRef.h:
307         * ControlSearch.h:
308         * ControlUrl.h (clearDaughterParams): removed
309
310         * ControlMinipage.C (applyParamsToInset): update the view.
311         Added namespace minipage containing a helper function getUnits.
312
313         * GUI.h: changed Minipage policy to NoRepeatedApplyReadOnlyPolicy.
314
315         * ControlCharacter.[Ch]: moved out all the helper functions and the
316         enum into their own file.
317         * character.[Ch]: new files; contain the character helper functions,
318         now inside namespace character.
319
320         * ControlCitation.[Ch]: moved out all the helper functions and the
321         enums into their own file. Simplified interface.
322         * biblio.[Ch]: new files; contain the citation helper functions,
323         now inside namespace biblio. Will be of use also to an improved
324         BibTeX popup.
325
326         * ControlGraphics.[Ch]:
327         * ControlIndex.[Ch]: new files; controllers for the Graphics and Index
328         popups, respectively.
329
330         * GUI.h:
331         * Makefile.am: associated changes.
332
333 2001-03-27  Angus Leeming  <a.leeming@ic.ac.uk>
334
335         * ControlMinipage.[Ch]:
336         * ControlPreamble.[Ch]:
337         * ControlPrint.[Ch]:
338         * ControlSplash.[Ch]: new files; controllers for the Minipage, Preamble
339         and Print popups and Splash screen, respectively.
340
341         * ViewBase.h (ViewSplash): new base class for GUI-specific Splash
342         screens.
343
344         * GUI.h:
345         * Makefile.am: associated changes.
346
347 2001-03-26  Angus Leeming  <a.leeming@ic.ac.uk>
348
349         * ControlConnections.[Ch]: (docType): new method; returns the type
350         of the buffer, LaTeX, Literate, LinuxDoc or DocBook.
351
352         * ControlRef.[Ch]:
353         * ControlSearch.[Ch]:
354         * ControlTabularCreate.[Ch]: new files; controller for the Ref,
355         Search and TabularCreate popups, respectively.
356
357         * GUI.h:
358         * Makefile.am: associated changes.
359
360 2001-03-26  Angus Leeming  <a.leeming@ic.ac.uk>
361
362         * ControlCitation.C (getBibkeyInfo): get nasty and assert the info map
363         contains data.
364
365         * ControlInset.h (apply): fix bug. Can now create new insets again.
366
367         * README: describe program flow.
368
369 2001-03-24  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
370
371         * Makefile.am (libcontrollers_la_SOURCES): add ControlDialogs.h
372
373 2001-03-23  Angus Leeming  <a.leeming@ic.ac.uk>
374
375         * ControlDialogs.h: moved class ControlInset into its own file.
376
377         * ControlInset.h: new file. class ControlInset has been expanded to take
378         two template parameters, Inset and Params. Believe that all inset
379         controllers can be derived from this with the minimum of effort.
380
381         * ControlBibitem.[Ch]:
382         * ControlBibtex.[Ch]:
383         * ControlCitation.[Ch]:
384         * ControlCommand.[Ch]: moved most code into ControlInset.
385
386         * lots of files. Moved protected stuff into private where possible.
387
388         * ControlError.[Ch]:
389         * ControlInclude.[Ch]:
390         * ControlUrl.[Ch]: new files; controllers for the LaTeX error,
391         Include and Url popups, respectively.
392
393         * GUI.h:
394         * Makefile.am: associated changes.
395
396 2001-03-23  Angus Leeming  <a.leeming@ic.ac.uk>
397
398         * ControlCredits.[Ch] (getCredits): returns a stringstream not a
399         vector<string>.
400
401 2001-03-23  Jean-Marc Lasgouttes  <Jean-Marc.Lasgouttes@inria.fr>
402
403         * ControlCredits.C (getCredits): remove std:: qualifier for
404         getline(). 
405
406 2001-03-23  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
407
408         * ControlCredits.C (getCredits): add std:: on vector
409
410 2001-03-22  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
411
412         * ControlCredits.C: remove using that is only used once, use
413         std::ios instead of std::iosbase, add some annoying comments.
414
415 2001-03-22  Angus Leeming  <a.leeming@ic.ac.uk>
416
417         * lots of header files: improved explanatory notes.
418
419         * ControlBase.[Ch]: removed LyXView & lv_ and methods using it.
420         ControlBase is now a class that only controls the interaction of the
421         View with the ButtonController.
422
423         * ControlConnections.[Ch]: added LyXView & lv_ and associated methods
424         to ControlConnectBase. The class controls the connection/disconnection
425         of signals from the LyX kernel and makes available the kernel (through
426         lv_) to daughter controller classes.
427         Moved out class ControlConnectInset to a new file ControlDialogs.h.
428
429         * ControlDialogs.h: new file. Contains the definition of two template
430         controller classes, ControlDialog and ControlInset (was
431         ControlConnectInset). ControlInset is a parent class for controllers
432         of inset-popups. ControlDialogs is the rather uninspired name for
433         the base class of all non-inset popups. (Eg, Document and Paragraph.)
434         ControlDialogs is reaching a state of maturity as several popups now use
435         it and its functionality becomes clear. ControlInset is still in a state
436         of flux. It is likely that functionality will be moved out of
437         ControlCommands and into it.
438
439         * GUI.h: new file. Moved all the template GUIXXX classes out of the
440         individual Controller header files and into one place. These classes
441         serve only as convenient wrappers to simplify code in the respective
442         frontends' Dialogs::c-tor. Now all derived from a templatised parent.
443
444         * ControlCharacter.[Ch] (show, update, hide):
445         * ControlLog.[Ch] (show, update, hide):
446         * ControlVCLog.[Ch] (show, update, hide): moved back into
447         the ControlDialogs base class.
448         (setParams, clearParams): new methods containing controller-specific
449         code to set/reset the parameters manipulated by the view.
450
451         * ControlCommand.[Ch] (clearParams): a new virtual method, by default
452         empty.
453         (hide): calls clearParams.
454
455         * ControlCitation.[Ch] (hide): renamed as clearParams, a method called
456         by ControlCommand::hide().
457
458         * ControlCopyright.[Ch]:
459         * ControlCredits.[Ch]: new files; controllers for the copyright and
460         credits popups, respectively.
461
462 2001-03-21  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
463
464         * ControlCharacter.C: fix typo
465
466 2001-03-21  Angus Leeming  <a.leeming@ic.ac.uk>
467
468         * ControlCharacter.[Ch]: new files; controller for the character popup.
469
470         * ControlCitation.[Ch] (getStringFromVector, getVectorFromString):
471         moved to new files helper_funcs.[Ch].
472
473         * helper_funcs.[Ch]: new files. Some useful helper functions and
474         functors.
475
476         * Makefile.am: added new files.
477
478 2001-03-20  Angus Leeming  <a.leeming@ic.ac.uk>
479
480         * ControlCitation.C (getBibkeyInfo): parse non-BibTeX entries correctly.
481
482 2001-03-20  Angus Leeming  <a.leeming@ic.ac.uk>
483
484         * ControlLog.[Ch]:
485         * ControlVCLog.[Ch]: new files; controllers for LaTeX and Version
486         Control log files, respectively.
487
488         * Makefile.am: added new files.
489
490 2001-03-19  Angus Leeming  <a.leeming@ic.ac.uk>
491
492         * ControlBibtex.[Ch]: new files; controller for an InsetBibtex popup.
493
494         * Makefile.am: added ControlBibtex.[Ch].
495
496 2001-03-16  Angus Leeming  <a.leeming@ic.ac.uk>
497
498         * ControlBibitem.C:
499         * ControlCitation.C: added "using SigC::slot" declaration.
500
501         * ControlCitation.C (getStringFromVector): re-apply Dekel's recent fix
502         to FormCitation.C prior to the merger: "Do not put space between
503         multiple keys".
504
505 2001-03-15  Lars Gullik Bjønnes  <larsbj@trylle.birdstep.com>
506
507         * several files: remove CXX_WORKING_NAMESPACES
508
509         * ButtonController.h: noncopyable is in namespace boost
510         * ButtonPolicies.h: ditto
511
512 2001-03-14  Angus Leeming  <a.leeming@ic.ac.uk>
513
514         * Merging changes from BRANCH_MVC back into HEAD.
515
516 2001-03-12  Angus Leeming  <a.leeming@ic.ac.uk>
517
518         * Makefile.am: add ControlBibitem.[Ch].
519
520         * ControlBibitem.[Ch]: new files that together define the Controller
521         for a Bibitem popup.
522
523         * ControlCommand.h (c-tor): give  kb_action a default value of
524         LFUN_NOACTION.
525         
526         * ControlCommand.C (apply): do nothing if kb_action is LFUN_NOACTION.
527         
528         * ControlCitation.[Ch]: moved search functions out of class.
529         (bibkeysInfo): new method. Returns const reference to private data.
530         (searchKeys): added case-sensitive switch. Used only by simpleSearch
531         for now.
532
533 2001-03-09  Angus Leeming  <a.leeming@ic.ac.uk>
534
535         * ControlCitation.[Ch]: added Search functions to the class,
536         (shamelessly lifted from Marco's gnome code). I think that these would
537         be better as helper functions outside the class, but this is a first
538         stab at it.
539
540 2001-03-07  Angus Leeming  <a.leeming@ic.ac.uk>
541
542         * ControlCitation.[Ch]: (getBibkeyList): removed from class
543         ControlCitation.
544         (getBibkeys, getBibkeyInfo): added to class ControlCitation.
545         (getStringFromVector, getVectorFromString, parseBibTeX): new helper
546         funcs. parseBibTeX() is lifted staraight out of Marco's gnome
547         implementation of FormCitation.
548
549 2001-03-05  Angus Leeming  <a.leeming@ic.ac.uk>
550
551         * ButtonPolicies.h: add SMI_NOOP to enum.
552
553         * ButtonPolicies.C (nextState): add if-statement for SMI_NOOP.
554
555         * ButtonController.C (input): add "optimising" if-statement. Actually,
556         things don't work correctly without it...
557
558 2001-03-02  John Levon  <moz@compsoc.man.ac.uk>
559
560         * ViewBase.h: remove #pragma directive
561
562         * ControlConnection.[Ch] (ControlConnectBI c-tor): add explicit c-tor
563         to make g++ happy.
564
565 2001-03-02  Angus Leeming  <a.leeming@ic.ac.uk>
566
567         * ButtonPolicies.[Ch]: moved from ../ButtonPolicies.[Ch]
568
569         * Makefile.am: added ButtonPolicies.[Ch]
570
571         * ButtonController.[Ch]: ButtonController is split into
572         ButtonControllerBase and a template ButtonController class. The base
573         class no longer stores a pointer to a ButtonPolicy, but instead
574         accesses the actual instantiation of the policy through a pure virtual
575         method bp(). This method and the ButtonPolicy itself are instantiated
576         in the templatised ButtonController class. This class is derived from
577         the GUI-specific GUIBC class, meaning that the frontends know
578         nothing about the actual policy decided upon by the controllers.
579
580         * ControlBase.[Ch]: No longer store the View or the ButtonController.
581         Instead the actual instantiations are accessed through pure virtual
582         methods view() and bc(). The daughter classes are responsible for the
583         actual View and ButtonController.
584
585         * ControlCitation.h: the templatised class GUICitation instantiates
586         the methods view() and bc(). It also stores the instances of the
587         View and ButtonController.
588         
589 2001-02-23  Angus Leeming  <a.leeming@ic.ac.uk>
590
591         * ButtonControllerBase.[Ch]: renamed as ButtonController.[Ch]. Class
592         also changed to ButtonController.
593
594         * ControlBase.[Ch]:
595         * ControlConnections.[Ch]:
596         * ControlCommand.[Ch]:
597         * ControlCitation.[Ch]:
598         * ViewBase.h: Changes associated with this.
599
600 2001-01-15  Angus Leeming  <a.leeming@ic.ac.uk>
601
602         * ButtonControllerBase.[Ch]: new files. Split Allan's original
603         xforms/ButtonController class into a GUI-I class (here) and an
604         xforms-specific derived class, to be found in xforms/xformsBC.[Ch].
605
606         * ControlBase.[Ch]: new files. ControlBase is an abstract base class
607         from which all Dialog Controllers should be derived. the Controllers
608         are GUI-independent, but are designed to control the behaviour of
609         GUI-specific implementaions of each dialog.
610
611         * ControlConnections.[Ch]: new files. Classes controlling the
612         connections of buffer-independent, buffer-dependent and Inset dialogs
613         with the LyX kernel.
614
615         * ControlCommand.[Ch]: new files. A controller for all dialogs for the
616         InsetCommand subset of insets.
617
618         * ControlCitation.[Ch]: new files. The test specialisation! A
619         controller for the Citation dialog.
620
621         * ViewBase.h: new file. ViewBase is an abstract base class from which
622         GUI-specific dialogs should be derived. The functionality that the GUIs
623         must now implement is much reduced.