#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"
#include "FormDocument.h"
#include "FormError.h"
+#include "FormExternal.h"
#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)
{
- 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 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 FormSplash(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;
- }
-}
-
-
/*****************************************************************************
Q. WHY does Dialogs::Dialogs pass `this' to dialog constructors?