3 * This file is part of LyX, the document processor.
4 * Licence details can be found in the file COPYING.
7 * \author Abdelrazak Younes
8 * \author Angus Leeming
10 * Full author contact details are available in file CREDITS.
18 #include "TocWidget.h"
19 #include "qt_helpers.h"
22 #include "BufferView.h"
23 #include "BufferParams.h"
24 #include "FuncRequest.h"
26 #include "support/debug.h"
27 #include "support/gettext.h"
28 #include "support/lassert.h"
35 GuiToc::GuiToc(GuiView & parent, Qt::DockWidgetArea area, Qt::WindowFlags flags)
36 : DockView(parent, "toc", qt_("Outline"), area, flags)
38 widget_ = new TocWidget(parent, this);
49 void GuiToc::updateView()
52 widget_->updateView();
56 // Special code for Mac drawer.
57 if (windowFlags() & Qt::Drawer && lyxview().isFullScreen()) {
58 setWindowFlags(Qt::Widget);
59 setFeatures(DockWidgetClosable);
61 } else if (windowFlags() & Qt::Widget && !lyxview().isFullScreen()) {
62 setWindowFlags(Qt::Drawer);
63 setFeatures(NoDockWidgetFeatures);
66 widget_->updateView();
70 bool GuiToc::initialiseParams(string const & data)
72 widget_->init(toqstr(data));
77 void GuiToc::dispatchParams()
82 void GuiToc::enableView(bool enable)
84 widget_->setEnabled(enable);
88 Dialog * createGuiToc(GuiView & lv)
90 GuiView & guiview = static_cast<GuiView &>(lv);
92 // On Mac show as a drawer at the right
93 return new GuiToc(guiview, Qt::RightDockWidgetArea, Qt::Drawer);
95 return new GuiToc(guiview);
100 } // namespace frontend
103 #include "GuiToc_moc.cpp"