X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FDockView.h;h=57354a83929481069fae04d1a2061316bd1a55ad;hb=4873fb9d6c92a3914e9a484fd02c43bed89b8c4f;hp=8ae303ce34e30f1d26e7e99b72d7ca3a7f11e1b8;hpb=3f554746dc8cbbdf244c053c24afa4bd4f215907;p=lyx.git diff --git a/src/frontends/qt4/DockView.h b/src/frontends/qt4/DockView.h index 8ae303ce34..57354a8392 100644 --- a/src/frontends/qt4/DockView.h +++ b/src/frontends/qt4/DockView.h @@ -14,8 +14,6 @@ #include "Dialog.h" #include "GuiView.h" -#include "qt_helpers.h" -#include "debug.h" #include @@ -23,70 +21,42 @@ namespace lyx { namespace frontend { /// Dock Widget container for LyX dialogs. -/// This template class that encapsulates a given Widget inside a -/// QDockWidget and presents a Dialog interface -template +/** + * 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( - GuiViewBase & parent, ///< the main window where to dock. - std::string const & name, ///< dialog identifier. + 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(&parent, flags), name_(name) + : QDockWidget(&parent, flags), Dialog(parent, name, title) { + setObjectName(name); if (flags & Qt::Drawer) setFeatures(QDockWidget::NoDockWidgetFeatures); - MyController * c = new MyController(*this); - controller_ = c; - controller_->setLyXView(parent); - widget_ = new MyWidget(*c); - setWidget(widget_); - setWindowTitle(widget_->windowTitle()); parent.addDockWidget(area, this); } - ~DockView() { delete widget_; delete controller_; } + + 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 showData(std::string const & data) - { - controller_->initialiseParams(data); - showView(); - } - void showView() - { - widget_->updateView(); // make sure its up-to-date - QDockWidget::show(); - } - bool isVisibleView() const { return QDockWidget::isVisible(); } - void checkStatus() { updateView(); } - void redraw() { redrawView(); } - void redrawView() {} - void updateData(std::string const & data) - { - controller_->initialiseParams(data); - updateView(); - } - void updateView() - { - widget_->updateView(); - QDockWidget::update(); - } bool isClosing() const { return false; } - void partialUpdateView(int /*id*/) {} - Controller & controller() { return *controller_; } - std::string name() const { return name_; } //@} -private: - /// The encapsulated widget. - MyWidget * widget_; - Controller * controller_; - std::string name_; }; } // frontend