]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/xforms/Dialogs.C
controller-view split of FormLog and FormVCLog.
[lyx.git] / src / frontends / xforms / Dialogs.C
index 604c032129e3e0a174e00d9b788e1a2dbd7fcb5a..776df33c40d852b711c4a38bce145d3c2ba81f33 100644 (file)
 
 #include <config.h>
 
+#ifdef __GNUG__
+#pragma implementation
+#endif
+
 #include "Dialogs.h"
+
+#include "ControlBibitem.h"
+#include "ControlBibtex.h"
+#include "ControlCitation.h"
+#include "ControlLog.h"
+#include "ControlVCLog.h"
+#include "xformsBC.h"
+
+#include "form_bibitem.h" // needed for clean destructtion of boost::scoped ptr
+#include "form_bibtex.h"
+#include "form_browser.h"
+#include "form_citation.h"
+
 #include "FormBibitem.h"
 #include "FormBibtex.h"
 #include "FormCitation.h"
+#include "FormLog.h"
+#include "FormVCLog.h"
+
 #include "FormCharacter.h"
 #include "FormCopyright.h"
 #include "FormCredits.h"
@@ -24,7 +44,7 @@
 #include "FormGraphics.h"
 #include "FormInclude.h"
 #include "FormIndex.h"
-#include "FormLog.h"
+#include "FormMathsPanel.h"
 #include "FormParagraph.h"
 #include "FormPreamble.h"
 #include "FormPreferences.h"
 #include "FormTabularCreate.h"
 #include "FormToc.h"
 #include "FormUrl.h"
-#include "FormVCLog.h"
-
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
-using std::endl;
+#include "FormMinipage.h"
 
 // Signal enabling all visible popups to be redrawn if so desired.
 // E.g., when the GUI colours have been remapped.
-Signal0<void> Dialogs::redrawGUI;
-
+SigC::Signal0<void> Dialogs::redrawGUI;
 
 Dialogs::Dialogs(LyXView * lv)
 {
-       splash_ = new FormSplash(lv, this);
-       dialogs_.push_back(new FormBibitem(lv, this));
-       dialogs_.push_back(new FormBibtex(lv, this));
-       dialogs_.push_back(new FormCharacter(lv, this));
-       dialogs_.push_back(new FormCitation(lv, this));
-       dialogs_.push_back(new FormCopyright(lv, this));
-       dialogs_.push_back(new FormCredits(lv, this));
-       dialogs_.push_back(new FormDocument(lv, this));
-       dialogs_.push_back(new FormError(lv, this));
-       dialogs_.push_back(new FormExternal(lv, this)); 
-       dialogs_.push_back(new FormGraphics(lv, this));
-       dialogs_.push_back(new FormInclude(lv, this));
-       dialogs_.push_back(new FormIndex(lv, this));
-       dialogs_.push_back(new FormLog(lv, this));
-       dialogs_.push_back(new FormParagraph(lv, this));
-       dialogs_.push_back(new FormPreamble(lv, this));
-       dialogs_.push_back(new FormPreferences(lv, this));
-       dialogs_.push_back(new FormPrint(lv, this));
-       dialogs_.push_back(new FormRef(lv, this));
-       dialogs_.push_back(new FormSearch(lv, this));
-       dialogs_.push_back(new FormTabular(lv, this));
-       dialogs_.push_back(new FormTabularCreate(lv, this));
-       dialogs_.push_back(new FormToc(lv, this));
-       dialogs_.push_back(new FormUrl(lv, this));
-       dialogs_.push_back(new FormVCLog(lv, this));
-
+       splash_.reset(new FormSplash(lv, this));
+
+       add(new GUICitation<FormCitation, xformsBC>(*lv, *this));
+       add(new GUIBibitem<FormBibitem, xformsBC>(*lv, *this));
+       add(new GUIBibtex<FormBibtex, xformsBC>(*lv, *this));
+       add(new GUILog<FormLog, xformsBC>(*lv, *this));
+       add(new GUIVCLog<FormVCLog, xformsBC>(*lv, *this));
+
+       add(new FormCharacter(lv, this));
+       add(new FormCopyright(lv, this));
+       add(new FormCredits(lv, this));
+       add(new FormDocument(lv, this));
+       add(new FormError(lv, this));
+       add(new FormExternal(lv, this));
+       add(new FormGraphics(lv, this));
+       add(new FormInclude(lv, this));
+       add(new FormIndex(lv, this));
+       add(new FormMathsPanel(lv, this));
+       add(new FormParagraph(lv, this));
+       add(new FormPreamble(lv, this));
+       add(new FormPreferences(lv, this));
+       add(new FormPrint(lv, this));
+       add(new FormRef(lv, this));
+       add(new FormSearch(lv, this));
+       add(new FormSplash(lv, this));
+       add(new FormTabular(lv, this));
+       add(new FormTabularCreate(lv, this));
+       add(new FormToc(lv, this));
+       add(new FormUrl(lv, this));
+       add(new FormMinipage(lv, this));
+       
        // reduce the number of connections needed in
        // dialogs by a simple connection here.
        hideAll.connect(hideBufferDependent.slot());
 }
 
-
-Dialogs::~Dialogs()
-{
-       for (vector<DialogBase *>::iterator iter = dialogs_.begin();
-            iter != dialogs_.end();
-            ++iter) {
-               delete *iter;
-       }
-       delete splash_;
-}
-
-
-void Dialogs::destroySplash()
-{
-       delete splash_;
-       splash_ = 0;
-}
 /*****************************************************************************
 
 Q.  WHY does Dialogs::Dialogs pass `this' to dialog constructors?