X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FDockView.h;h=bb456d9b5deea53ebf93641146ea0c936db7a5bd;hb=425d092204118ea6c24c28e85fdf03fcf2bb51a4;hp=6113077362f59d1501a7831d41d71372cbbbf8b6;hpb=9a95d2a936748c057db94a3083c4b9e6587eea0b;p=lyx.git diff --git a/src/frontends/qt4/DockView.h b/src/frontends/qt4/DockView.h index 6113077362..bb456d9b5d 100644 --- a/src/frontends/qt4/DockView.h +++ b/src/frontends/qt4/DockView.h @@ -12,61 +12,55 @@ #ifndef DOCK_VIEW_H #define DOCK_VIEW_H -#include "controllers/Dialog.h" -#include "qt_helpers.h" - -#include +#include "Dialog.h" +#include "GuiView.h" #include -#include namespace lyx { namespace frontend { /// Dock Widget container for LyX dialogs. -/// This template class that encapsulates a given Widget inside a -/// DockWidget and presents a Dialog::View interface -template -class DockView : public QDockWidget, public Dialog::View +/** + * This template class that encapsulates a given Widget inside a + * QDockWidget and presents a Dialog interface + * FIXME: create a DockView.cpp file + **/ +class DockView : public QDockWidget, public Dialog { public: DockView( - Dialog & dialog, ///< The (one) parent Dialog class. - Controller * form, ///< Associated model/controller - QMainWindow * parent, ///< the main window where to dock. - docstring const & title, ///< Window title (shown in the top title bar). + GuiView & parent, ///< the main window where to dock. + QString const & name, ///< dialog identifier. + QString const & title, ///< dialog title. Qt::DockWidgetArea area = Qt::LeftDockWidgetArea, ///< Position of the dock (and also drawer) Qt::WindowFlags flags = 0 - ) - : QDockWidget(toqstr(title), parent, flags), - Dialog::View(dialog, title) + ) + : QDockWidget(&parent, flags), Dialog(parent, name, title) { + setObjectName(name); if (flags & Qt::Drawer) setFeatures(QDockWidget::NoDockWidgetFeatures); - widget_.reset(new Widget(form)); - setWidget(widget_.get()); - parent->addDockWidget(area, this); + parent.addDockWidget(area, this); + hide(); } - /// Dialog::View inherited methods + virtual ~DockView() {} + + virtual QWidget * asQWidget() { return this; } + virtual QWidget const * asQWidget() const { return this; } + + /// We don't want to restore geometry session for dock widgets. + void restoreSession() {} + + /// Dialog inherited methods //@{ void applyView() {} - void hideView() { QDockWidget::hide(); } - void showView() { QDockWidget::show(); } - bool isVisibleView() const { return QDockWidget::isVisible(); } - void redrawView() {} - void updateView() - { - widget_->update(); - QDockWidget::update(); - } + bool isClosing() const { return false; } //@} -private: - /// The encapsulated widget. - boost::scoped_ptr widget_; }; } // frontend } // lyx -#endif // TOC_WIDGET_H +#endif // DOCK_VIEW_H