+/* This file is part of
+ * ======================================================
+ *
+ * LyX, The Document Processor
+ *
+ * Copyright 1995 Matthias Ettrich
+ * Copyright 1995-2000 The LyX Team.
+ *
+ * ======================================================
+ */
+
#include <config.h>
-#include FORMS_H_LOCATION
+
+#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 "FormPreferences.h"
+#include "FormCredits.h"
+#include "FormDocument.h"
+#include "FormError.h"
+#include "FormExternal.h"
#include "FormGraphics.h"
-#include "FormCitation.h"
+#include "FormInclude.h"
+#include "FormIndex.h"
+#include "FormMathsPanel.h"
+#include "FormParagraph.h"
+#include "FormPreamble.h"
+#include "FormPreferences.h"
#include "FormPrint.h"
+#include "FormRef.h"
+#include "FormSearch.h"
+#include "FormSplash.h"
#include "FormTabular.h"
+#include "FormTabularCreate.h"
#include "FormToc.h"
#include "FormUrl.h"
+#include "FormMinipage.h"
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
+// Signal enabling all visible popups to be redrawn if so desired.
+// E.g., when the GUI colours have been remapped.
+SigC::Signal0<void> Dialogs::redrawGUI;
Dialogs::Dialogs(LyXView * lv)
{
- dialogs_.push_back(new FormCopyright(lv, this));
- dialogs_.push_back(new FormPreferences(lv, this));
- dialogs_.push_back(new FormGraphics(lv, this));
- dialogs_.push_back(new FormCitation(lv, this));
- dialogs_.push_back(new FormPrint(lv, this));
- dialogs_.push_back(new FormTabular(lv, this));
- dialogs_.push_back(new FormToc(lv, this));
- dialogs_.push_back(new FormUrl(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?