mirror of
https://git.lyx.org/repos/lyx.git
synced 2025-01-16 21:10:26 +00:00
c293be56bd
In particular, the directory frontends/qt4 is renamed to frontends/qt. Many configurations file have to be updated. All mentions of qt4 in the source have been audited, and changed to qt if necessary. The only part that has not been updated is the CMake build system.
96 lines
1.6 KiB
C++
96 lines
1.6 KiB
C++
// -*- C++ -*-
|
|
/**
|
|
* \file IconPalette.h
|
|
* This file is part of LyX, the document processor.
|
|
* Licence details can be found in the file COPYING.
|
|
*
|
|
* \author Edwin Leuven
|
|
*
|
|
* Full author contact details are available in file CREDITS.
|
|
*/
|
|
|
|
#ifndef ICONPALETTE_H
|
|
#define ICONPALETTE_H
|
|
|
|
#include <QWidget>
|
|
#include <QMenu>
|
|
|
|
class QGridLayout;
|
|
|
|
namespace lyx {
|
|
namespace frontend {
|
|
|
|
/**
|
|
* tear-off widget
|
|
*/
|
|
class TearOff : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
TearOff(QWidget * parent);
|
|
void enterEvent(QEvent *);
|
|
void leaveEvent(QEvent *);
|
|
void mouseReleaseEvent (QMouseEvent *);
|
|
Q_SIGNALS:
|
|
void tearOff();
|
|
protected:
|
|
void paintEvent(QPaintEvent *);
|
|
private:
|
|
bool highlighted_;
|
|
};
|
|
|
|
|
|
/**
|
|
* For holding an arbitrary set of icons.
|
|
*/
|
|
class IconPalette : public QWidget {
|
|
Q_OBJECT
|
|
public:
|
|
IconPalette(QWidget * parent);
|
|
void addButton(QAction *);
|
|
|
|
Q_SIGNALS:
|
|
void triggered(QAction *);
|
|
void visible(bool);
|
|
|
|
protected:
|
|
void showEvent(QShowEvent * event);
|
|
void hideEvent(QHideEvent * event);
|
|
void paintEvent(QPaintEvent * event);
|
|
|
|
private Q_SLOTS:
|
|
void tearOff();
|
|
virtual void clicked(QAction *);
|
|
|
|
private:
|
|
QGridLayout * layout_;
|
|
QList<QAction *> actions_;
|
|
bool tornoff_;
|
|
TearOff * tearoffwidget_;
|
|
};
|
|
|
|
|
|
/**
|
|
* Popup menu for a toolbutton.
|
|
* We need this to keep track whether
|
|
* it is necessary to enable/disable
|
|
* the toolbutton
|
|
*/
|
|
class ButtonMenu : public QMenu {
|
|
Q_OBJECT
|
|
public:
|
|
ButtonMenu(const QString & title, QWidget * parent);
|
|
void add(QAction *);
|
|
|
|
public Q_SLOTS:
|
|
void updateParent();
|
|
|
|
private:
|
|
QList<QAction *> actions_;
|
|
};
|
|
|
|
|
|
} // namespace frontend
|
|
} // namespace lyx
|
|
|
|
#endif // ICONPALETTE_H
|