| Home | ![]() |
This is the verbatim text of the qtpiemenu.h include file. It is provided only for illustration; the copyright remains with Trolltech.
#ifndef QTPIEMENU_H
#define QTPIEMENU_H
#include <qtimer.h>
#include <qmap.h>
#include <qpixmap.h>
#include <qwidget.h>
#include <qevent.h>
#include <qintdict.h>
#include <qiconset.h>
class QPainter;
class QtPieMenu;
class QBitmap;
#if defined(Q_WS_WIN)
# if !defined(QT_QTPIEMENU_EXPORT) && !defined(QT_QTPIEMENU_IMPORT)
# define QT_QTPIEMENU_EXPORT
# elif defined(QT_QTPIEMENU_IMPORT)
# if defined(QT_QTPIEMENU_EXPORT)
# undef QT_QTPIEMENU_EXPORT
# endif
# define QT_QTPIEMENU_EXPORT __declspec(dllimport)
# elif defined(QT_QTPIEMENU_EXPORT)
# undef QT_QTPIEMENU_EXPORT
# define QT_QTPIEMENU_EXPORT __declspec(dllexport)
# endif
#else
# define QT_QTPIEMENU_EXPORT
#endif
class QT_QTPIEMENU_EXPORT QtPieItem
{
public:
QtPieItem(const QString &text = QString::null, unsigned int weight = 1);
QtPieItem(const QIconSet &icon, const QString &title = QString::null, unsigned int weight = 1);
virtual ~QtPieItem();
void setText(const QString &text);
QString text() const;
void setIcon(const QIconSet &icon);
QIconSet icon() const;
void setWeight(int weight);
int weight() const;
void setEnabled(bool enabled = true);
bool isEnabled() const;
friend class QtPieMenu;
virtual int type() const;
private:
QString t;
QIconSet iset;
bool e;
unsigned int w;
};
class QT_QTPIEMENU_EXPORT QtPieMenu : public QWidget, protected QtPieItem
{
Q_OBJECT
Q_PROPERTY(int innerRadius READ innerRadius WRITE setInnerRadius)
Q_PROPERTY(int outerRadius READ outerRadius WRITE setOuterRadius)
public:
QtPieMenu(const QString &title, QWidget *parent = 0,
const char *name = 0,
uint innerRad = 15, uint outerRad = 75);
QtPieMenu(const QIconSet &icon, QWidget *parent = 0,
const char *name = 0,
uint innerRad = 15, uint outerRad = 75);
QtPieMenu(const QIconSet &icon, const QString &title,
QWidget *parent = 0, const char *name = 0,
uint innerRad = 15, uint outerRad = 75);
virtual ~QtPieMenu();
void setItemText(const QString &text, int index);
QString itemText(int index) const;
void setItemIcon(const QIconSet &iconSet, int index);
QIconSet itemIcon(int index) const;
void setItemWeight(int weight, int index);
int itemWeight(int index) const;
void setItemEnabled(bool enabled, int index);
bool isItemEnabled(int index) const;
void popup(const QPoint &pos);
int count() const;
virtual int indexAt(const QPoint &pos);
void insertItem(const QIconSet &icon,
QObject *receiver, const char *member, int index = -1);
void insertItem(const QString &text,
QObject *receiver, const char *member, int index = -1);
void insertItem(const QIconSet &icon, const QString &text,
QObject *receiver, const char *member, int index = -1);
void insertItem(QtPieMenu *item, int index = -1);
QtPieMenu *subMenuAt(int index) const;
void removeItemAt(int index);
void clear();
void setHighlightedItem(int index);
int highlightedItem();
void setInnerRadius(int r);
int innerRadius() const;
void setOuterRadius(int r);
int outerRadius() const;
bool isShaded() const;
enum ItemType {
Invalid,
SubMenu,
Action
};
int itemType(int index) const;
QSize sizeHint() const;
signals:
void activated();
void activated(int);
void highlighted(int);
void canceled();
void canceledAll();
void aboutToShow();
void aboutToHide();
protected slots:
void hoverAlert();
void subMenuCanceled();
void subMenuSelected();
void allCanceled();
protected:
virtual void generateMask(QBitmap *mask);
virtual void reposition();
double radiusAt(const QPoint &pos) const;
double angleAt(const QPoint &pos) const;
double indexToAngle(int item, int total, bool shifted = false);
int angleToIndex(double rad, int total);
void init();
void paintEvent(QPaintEvent *);
void mouseMoveEvent(QMouseEvent *);
void mousePressEvent(QMouseEvent *);
void mouseReleaseEvent(QMouseEvent *);
void keyPressEvent(QKeyEvent *);
void showEvent(QShowEvent *);
void hideEvent(QHideEvent *);
enum ActivateReason {
MousePress = 0x01,
MouseRelease = 0x02,
KeyPress = 0x04,
Hovering = 0x08,
Dragging = 0x10
};
void activateItem(int reason);
bool isTopLevelMenu() const;
bool dragging() const;
void hideShownSubMenu();
int type() const;
QPixmap pix;
private:
QtPieItem *highlightedItemPtr();
QtPieItem *shownItemPtr();
QtPieItem *itemAt(int index) const;
QPtrList<QtPieItem> items;
int motion;
QTimer hoverTimer;
QPoint lastMousePos;
int innerRad, outerRad;
int hItem;
int shownSubMenu;
bool shaded;
bool ignoreNextMouseReleaseIfNotDragging;
int lastActivatedItem;
bool syncMenu;
bool hasMask;
};
#endif
| Copyright © 2003-2006 Trolltech | Trademarks | Qt Solutions
|