2001-03-24 Lars Gullik Bjønnes * Makefile.am (libcontrollers_la_SOURCES): add ControlDialogs.h 2001-03-23 Angus Leeming * ControlDialogs.h: moved class ControlInset into its own file. * ControlInset.h: new file. class ControlInset has been expanded to take two template parameters, Inset and Params. Believe that all inset controllers can be derived from this with the minimum of effort. * ControlBibitem.[Ch]: * ControlBibtex.[Ch]: * ControlCitation.[Ch]: * ControlCommand.[Ch]: moved most code into ControlInset. * lots of files. Moved protected stuff into private where possible. * ControlError.[Ch]: * ControlInclude.[Ch]: * ControlUrl.[Ch]: new files; controllers for the LaTeX error, Include and Url popups, respectively. * GUI.h: * Makefile.am: associated changes. 2001-03-23 Angus Leeming * ControlCredits.[Ch] (getCredits): returns a stringstream not a vector. 2001-03-23 Jean-Marc Lasgouttes * ControlCredits.C (getCredits): remove std:: qualifier for getline(). 2001-03-23 Lars Gullik Bjønnes * ControlCredits.C (getCredits): add std:: on vector 2001-03-22 Lars Gullik Bjønnes * ControlCredits.C: remove using that is only used once, use std::ios instead of std::iosbase, add som annoying comments. 2001-03-22 Angus Leeming * lots of header files: improved explanatory notes. * ControlBase.[Ch]: removed LyXView & lv_ and methods using it. ControlBase is now a class that only controls the interaction of the View with the ButtonController. * ControlConnections.[Ch]: added LyXView & lv_ and associated methods to ControlConnectBase. The class controls the connection/disconnection of signals from the LyX kernel and makes available the kernel (through lv_) to daughter controller classes. Moved out class ControlConnectInset to a new file ControlDialogs.h. * ControlDialogs.h: new file. Contains the definition of two template controller classes, ControlDialog and ControlInset (was ControlConnectInset). ControlInset is a parent class for controllers of inset-popups. ControlDialogs is the rather uninspired name for the base class of all non-inset popups. (Eg, Document and Paragraph.) ControlDialogs is reaching a state of maturity as several popups now use it and its functionality becomes clear. ControlInset is still in a state of flux. It is likely that functionality will be moved out of ControlCommands and into it. * GUI.h: new file. Moved all the template GUIXXX classes out of the individual Controller header files and into one place. These classes serve only as convenient wrappers to simplify code in the respective frontends' Dialogs::c-tor. Now all derived from a templatised parent. * ControlCharacter.[Ch] (show, update, hide): * ControlLog.[Ch] (show, update, hide): * ControlVCLog.[Ch] (show, update, hide): moved back into the ControlDialogs base class. (setParams, clearParams): new methods containing controller-specific code to set/reset the parameters manipulated by the view. * ControlCommand.[Ch] (clearParams): a new virtual method, by default empty. (hide): calls clearParams. * ControlCitation.[Ch] (hide): renamed as clearParams, a method called by ControlCommand::hide(). * ControlCopyright.[Ch]: * ControlCredits.[Ch]: new files; controllers for the copyright and credits popups, respectively. 2001-03-21 Lars Gullik Bjønnes * ControlCharacter.C: fix typo 2001-03-21 Angus Leeming * ControlCharacter.[Ch]: new files; controller for the character popup. * ControlCitation.[Ch] (getStringFromVector, getVectorFromString): moved to new files helper_funcs.[Ch]. * helper_funcs.[Ch]: new files. Some useful helper functions and functors. * Makefile.am: added new files. 2001-03-20 Angus Leeming * ControlCitation.C (getBibkeyInfo): parse non-BibTeX entries correctly. 2001-03-20 Angus Leeming * ControlLog.[Ch]: * ControlVCLog.[Ch]: new files; controllers for LaTeX and Version Control log files, respectively. * Makefile.am: added new files. 2001-03-19 Angus Leeming * ControlBibtex.[Ch]: new files; controller for an InsetBibtex popup. * Makefile.am: added ControlBibtex.[Ch]. 2001-03-16 Angus Leeming * ControlBibitem.C: * ControlCitation.C: added "using SigC::slot" declaration. * ControlCitation.C (getStringFromVector): re-apply Dekel's recent fix to FormCitation.C prior to the merger: "Do not put space between multiple keys". 2001-03-15 Lars Gullik Bjønnes * several files: remove CXX_WORKING_NAMESPACES * ButtonController.h: noncopyable is in namespace boost * ButtonPolicies.h: ditto 2001-03-14 Angus Leeming * Merging changes from BRANCH_MVC back into HEAD. 2001-03-12 Angus Leeming * Makefile.am: add ControlBibitem.[Ch]. * ControlBibitem.[Ch]: new files that together define the Controller for a Bibitem popup. * ControlCommand.h (c-tor): give kb_action a default value of LFUN_NOACTION. * ControlCommand.C (apply): do nothing if kb_action is LFUN_NOACTION. * ControlCitation.[Ch]: moved search functions out of class. (bibkeysInfo): new method. Returns const reference to private data. (searchKeys): added case-sensitive switch. Used only by simpleSearch for now. 2001-03-09 Angus Leeming * ControlCitation.[Ch]: added Search functions to the class, (shamelessly lifted from Marco's gnome code). I think that these would be better as helper functions outside the class, but this is a first stab at it. 2001-03-07 Angus Leeming * ControlCitation.[Ch]: (getBibkeyList): removed from class ControlCitation. (getBibkeys, getBibkeyInfo): added to class ControlCitation. (getStringFromVector, getVectorFromString, parseBibTeX): new helper funcs. parseBibTeX() is lifted staraight out of Marco's gnome implementation of FormCitation. 2001-03-05 Angus Leeming * ButtonPolicies.h: add SMI_NOOP to enum. * ButtonPolicies.C (nextState): add if-statement for SMI_NOOP. * ButtonController.C (input): add "optimising" if-statement. Actually, things don't work correctly without it... 2001-03-02 John Levon * ViewBase.h: remove #pragma directive * ControlConnection.[Ch] (ControlConnectBI c-tor): add explicit c-tor to make g++ happy. 2001-03-02 Angus Leeming * ButtonPolicies.[Ch]: moved from ../ButtonPolicies.[Ch] * Makefile.am: added ButtonPolicies.[Ch] * ButtonController.[Ch]: ButtonController is split into ButtonControllerBase and a template ButtonController class. The base class no longer stores a pointer to a ButtonPolicy, but instead accesses the actual instantiation of the policy through a pure virtual method bp(). This method and the ButtonPolicy itself are instantiated in the templatised ButtonController class. This class is derived from the GUI-specific GUIBC class, meaning that the frontends know nothing about the actual policy decided upon by the controllers. * ControlBase.[Ch]: No longer store the View or the ButtonController. Instead the actual instantiations are accessed through pure virtual methods view() and bc(). The daughter classes are responsible for the actual View and ButtonController. * ControlCitation.h: the templatised class GUICitation instantiates the methods view() and bc(). It also stores the instances of the View and ButtonController. 2001-02-23 Angus Leeming * ButtonControllerBase.[Ch]: renamed as ButtonController.[Ch]. Class also changed to ButtonController. * ControlBase.[Ch]: * ControlConnections.[Ch]: * ControlCommand.[Ch]: * ControlCitation.[Ch]: * ViewBase.h: Changes associated with this. 2001-01-15 Angus Leeming * ButtonControllerBase.[Ch]: new files. Split Allan's original xforms/ButtonController class into a GUI-I class (here) and an xforms-specific derived class, to be found in xforms/xformsBC.[Ch]. * ControlBase.[Ch]: new files. ControlBase is an abstract base class from which all Dialog Controllers should be derived. the Controllers are GUI-independent, but are designed to control the behaviour of GUI-specific implementaions of each dialog. * ControlConnections.[Ch]: new files. Classes controlling the connections of buffer-independent, buffer-dependent and Inset dialogs with the LyX kernel. * ControlCommand.[Ch]: new files. A controller for all dialogs for the InsetCommand subset of insets. * ControlCitation.[Ch]: new files. The test specialisation! A controller for the Citation dialog. * ViewBase.h: new file. ViewBase is an abstract base class from which GUI-specific dialogs should be derived. The functionality that the GUIs must now implement is much reduced.