1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
/*
SPDX-FileCopyrightText: 2007 Roberto Raggi <roberto@kdevelop.org>
SPDX-FileCopyrightText: 2007 Hamish Rodda <rodda@kde.org>
SPDX-FileCopyrightText: 2011 Alexander Dymo <adymo@kdevelop.org>
SPDX-License-Identifier: LicenseRef-MIT-KDevelop-Ideal
*/
#ifndef IDEALBUTTONBARWIDGET_H
#define IDEALBUTTONBARWIDGET_H
#include <QWidget>
class IdealToolButton;
class ToolViewAction;
class QAction;
class KConfigGroup;
namespace Sublime
{
class MainWindow;
class IdealController;
class IdealDockWidget;
class IdealButtonBarLayout;
class View;
class Area;
class IdealButtonBarWidget: public QWidget
{
Q_OBJECT
public:
IdealButtonBarWidget(Qt::DockWidgetArea area,
IdealController *controller, Sublime::MainWindow *parent);
QAction* addWidget(IdealDockWidget *widget,
Area* area, View *view);
void addAction(QAction *action);
void removeAction(QAction* action);
Qt::Orientation orientation() const;
Qt::DockWidgetArea area() const;
IdealDockWidget* widgetForAction(QAction* action) const;
QWidget* corner() const;
void showWidget(QAction *widgetAction, bool checked);
bool isEmpty() const;
bool isShown() const;
void saveShowState();
bool lastShowState();
void loadOrderSettings(const KConfigGroup& configGroup);
void saveOrderSettings(KConfigGroup& configGroup);
bool isLocked() const;
Q_SIGNALS:
void emptyChanged();
private:
void showWidget(bool checked);
void applyOrderToLayout();
void takeOrderFromLayout();
IdealToolButton* button(const QString& id) const;
QString id(const IdealToolButton* button) const;
void addButtonToOrder(const IdealToolButton* button);
Qt::DockWidgetArea m_area;
IdealController* m_controller;
QWidget* m_corner;
bool m_showState;
QStringList m_buttonsOrder;
IdealButtonBarLayout* m_buttonsLayout;
};
}
#endif // IDEALBUTTONBARWIDGET_H
|