File indexing completed on 2024-04-28 04:37:32

0001 /*
0002     SPDX-FileCopyrightText: 2007 Roberto Raggi <roberto@kdevelop.org>
0003     SPDX-FileCopyrightText: 2007 Hamish Rodda <rodda@kde.org>
0004     SPDX-FileCopyrightText: 2011 Alexander Dymo <adymo@kdevelop.org>
0005 
0006     SPDX-License-Identifier: LicenseRef-MIT-KDevelop-Ideal
0007 */
0008 
0009 #ifndef IDEALDOCKWIDGET_H
0010 #define IDEALDOCKWIDGET_H
0011 
0012 #include <QDockWidget>
0013 #include "idealcontroller.h"
0014 
0015 namespace Sublime {
0016 class IdealDockWidget : public QDockWidget
0017 {
0018     Q_OBJECT
0019 
0020 public:
0021     IdealDockWidget(IdealController *controller, Sublime::MainWindow *parent);
0022     ~IdealDockWidget() override;
0023 
0024     Area *area() const;
0025     void setArea(Area *area);
0026 
0027     View *view() const;
0028     void setView(View *view);
0029 
0030     Qt::DockWidgetArea dockWidgetArea() const;
0031     void setDockWidgetArea(Qt::DockWidgetArea dockingArea);
0032 
0033 public Q_SLOTS:
0034     /// The IdealToolButton also connects to this slot to show the same context menu.
0035     void contextMenuRequested(const QPoint &point);
0036 
0037 Q_SIGNALS:
0038     void closeRequested();
0039 
0040 private Q_SLOTS:
0041     void slotRemove();
0042 
0043 private:
0044     Area *m_area;
0045     View *m_view;
0046     Qt::DockWidgetArea m_docking_area;
0047     IdealController* const m_controller;
0048 };
0049 
0050 }
0051 
0052 #endif // IDEALDOCKWIDGET_H