]> git.lyx.org Git - lyx.git/blobdiff - src/frontends/qt2/Qt2Base.C
Get rid of the static_casts.
[lyx.git] / src / frontends / qt2 / Qt2Base.C
index 202833ca96a6090bc9a9533c0f92b100e6c3ed6b..704ac24ba6bd6b6fbd9162542b53b8642dc36968 100644 (file)
@@ -1,49 +1,61 @@
-/* This file is part of
- * ======================================================
+/**
+ * \file Qt2Base.C
+ * This file is part of LyX, the document processor.
+ * Licence details can be found in the file COPYING.
  *
- *                LyX, The Document Processor
+ * \author Angus Leeming
  *
- *                Copyright 2000 The LyX Team.
- *
- * ======================================================
- *
- * \author Angus Leeming <a.leeming@ic.ac.uk>
+ * Full author contact details are available in file CREDITS
  */
 
 #include <config.h>
 
-#ifdef __GNUG__
-#pragma implementation
-#endif
-
 #include <qdialog.h>
+#include <qapplication.h>
 
-#include "QtLyXView.h" 
-#include "Dialogs.h"
+#include "debug.h"
+#include "qt_helpers.h"
+#include "QtLyXView.h"
 #include "Qt2Base.h"
-#include "qt2BC.h"
+#include "Qt2BC.h"
+#include "ButtonController.h"
+#include "ControlButtons.h"
 #include "support/LAssert.h"
 
-#include <stdio.h>
 
-
-Qt2Base::Qt2Base(ControlButtons & c, QString const & t)
-       : ViewBC<qt2BC>(c), title_(t)
+Qt2Base::Qt2Base(string const & t)
+       : ViewBase(t), updating_(false)
 {}
 
 
+Qt2BC & Qt2Base::bcview()
+{
+       return static_cast<Qt2BC &>(bc().view());
+       // return dynamic_cast<Qt2BC &>(bc());
+}
+
+
+bool Qt2Base::isVisible() const
+{
+       return form() && form()->isVisible();
+}
+
+
 void Qt2Base::show()
 {
        if (!form()) {
                build();
        }
 
+       form()->setMinimumSize(form()->sizeHint());
+
        update();  // make sure its up-to-date
 
+       form()->setCaption(toqstr(getTitle()));
+
        if (form()->isVisible()) {
                form()->raise();
        } else {
-               form()->setCaption( title_ );
                form()->show();
        }
 }
@@ -51,58 +63,50 @@ void Qt2Base::show()
 
 void Qt2Base::hide()
 {
-       if (form() && form()->isVisible() )
+       if (form() && form()->isVisible())
                form()->hide();
 }
 
 
-// PENDING(kalle) Handle this with QValidator?
-// void Qt2Base::InputCB(FL_OBJECT * ob, long data)
-// {
-//     bc().input(input(ob, data));
-// }
+bool Qt2Base::isValid()
+{
+       return true;
+}
 
 
-ButtonPolicy::SMInput Qt2Base::input(QWidget*, long)
+void Qt2Base::changed()
 {
-       return ButtonPolicy::SMI_VALID;
+       if (updating_)
+               return;
+       bc().valid(isValid());
 }
 
 
-
 void Qt2Base::slotWMHide()
 {
-       CancelButton();
+       getController().CancelButton();
 }
 
 
-
 void Qt2Base::slotApply()
 {
-       ApplyButton();
+       getController().ApplyButton();
 }
 
 
 void Qt2Base::slotOK()
 {
-       OKButton();
+       getController().OKButton();
 }
 
 
-void Qt2Base::slotCancel()
+void Qt2Base::slotClose()
 {
-       CancelButton();
+       getController().CancelButton();
 }
 
 
 void Qt2Base::slotRestore()
 {
-       RestoreButton();
+       getController().RestoreButton();
 }
-
-
-// PENDING(kalle) How to handle this?
-// extern "C" void C_Qt2BaseInputCB(FL_OBJECT * ob, long d)
-// {
-//     GetForm(ob)->InputCB(ob, d);
-// }