-/* 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();
}
}
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);
-// }