15#include <QElapsedTimer>
44 void pushText(
const QString &text,
int ctx,
const QString &tooltip = QString());
95 typedef struct _StackItem {
102 QList<StackItem> labels_;
104 QElapsedTimer temporary_epoch_;
105 QTimer temporary_timer_;
139 void updateTemporaryStatus();
void toggleTemporaryFlash(bool enable)
Emitted when the temporary flash state changes.
void setTemporaryContext(const int ctx)
Designate a context ID as the "temporary" context.
Definition label_stack.cpp:38
void mouseReleaseEvent(QMouseEvent *event) override
Handle mouse button release (reserved for subclass use).
Definition label_stack.cpp:112
void popText(int ctx)
Remove the stack entry associated with ctx.
Definition label_stack.cpp:150
void pushText(const QString &text, int ctx, const QString &tooltip=QString())
Push a text message onto the label stack.
Definition label_stack.cpp:74
void mousePressedAt(const QPoint &global_pos, Qt::MouseButton button)
Emitted when a mouse button is pressed on the label.
LabelStack(QWidget *parent=0)
Construct a LabelStack.
Definition label_stack.cpp:25
void contextMenuEvent(QContextMenuEvent *event) override
Show a context menu for the label (reserved for subclass use).
Definition label_stack.cpp:124
void setShrinkable(bool shrinkable=true)
Control whether the label may shrink below its preferred width.
Definition label_stack.cpp:93
void mouseDoubleClickEvent(QMouseEvent *event) override
Handle double-click events (reserved for subclass use).
Definition label_stack.cpp:116
void paintEvent(QPaintEvent *event) override
Paint the label, applying elision if shrinkable and space is tight.
Definition label_stack.cpp:129
void mousePressEvent(QMouseEvent *event) override
Forward mouse press position and button via mousePressedAt().
Definition label_stack.cpp:105
void mouseMoveEvent(QMouseEvent *event) override
Handle mouse move events (reserved for subclass use).
Definition label_stack.cpp:120