X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Ffrontends%2Fqt4%2FDockView.h;h=3c54c2ad20c0dbc06963abe972e5bfcffc926dee;hb=b6eacd8d4f86734e8abef3335b190ce12a6a11b5;hp=7d2eb36c0ee0e10f59504c373075454c3b6e09fb;hpb=c1540f8d92a446ec2b581fcaab65e9fcb55bb74e;p=lyx.git diff --git a/src/frontends/qt4/DockView.h b/src/frontends/qt4/DockView.h index 7d2eb36c0e..3c54c2ad20 100644 --- a/src/frontends/qt4/DockView.h +++ b/src/frontends/qt4/DockView.h @@ -12,84 +12,56 @@ #ifndef DOCK_VIEW_H #define DOCK_VIEW_H -#include "controllers/Dialog.h" +#include "Dialog.h" #include "GuiView.h" -#include "qt_helpers.h" -#include "debug.h" #include +#include 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 { + Q_OBJECT + public: - DockView( - GuiViewBase & parent, ///< the main window where to dock. - std::string const & name, ///< dialog identifier. - Qt::DockWidgetArea area = Qt::LeftDockWidgetArea, ///< Position of the dock (and also drawer) - Qt::WindowFlags flags = 0 - ) - : QDockWidget(&parent, flags), name_(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_; } + DockView(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); + + 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() {} + + void keyPressEvent(QKeyEvent * ev); /// 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_; } + bool needBufferOpen() const { return false; } //@} -private: - /// The encapsulated widget. - MyWidget * widget_; - Controller * controller_; - std::string name_; + +protected Q_SLOTS: + void onBufferViewChanged() {} //override }; -} // frontend -} // lyx +} // namespace frontend +} // namespace lyx #endif // DOCK_VIEW_H