19 class QAbstractButton;
48 template <
typename T> T* createPrototype()
52 b->setFocusPolicy( Qt::NoFocus );
53 b->setIconSize(myIconSize);
54 b->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
59 template <
typename T> T* createButton()
61 T* b = createPrototype<T>();
63 this->myButtons.push_back(b);
69 template <
typename T> T* addAction(
const QString& action,
bool resetLayout =
true)
71 T* b = createButton<T>();
83 template <
typename T> T* addAction(
const QIcon& icon,
bool resetLayout =
true)
85 T* b = createButton<T>();
97 template <
typename T> T* addAction(
QAction* act,
bool resetLayout =
true)
99 T* b = createButton<T>();
100 b->setAutoRaise(
true);
101 b->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
102 b->setDefaultAction(act);
106 this->addToLayout(b);
113 virtual int rightMarginForLine(
int)
const;
117 virtual void setRightMarginForLine(
int margin,
int line = -1);
120 virtual void removeRightMarginForLine(
int line = -1);
123 virtual void removeButton(QAbstractButton*,
bool resetLayout =
true);
126 virtual void layoutButtons(
bool force =
false);
130 virtual void setButtons(
const std::vector<QAbstractButton*>& buttons,
bool deleteCurrentButtons =
false);
133 virtual void setLeftToRightLayout(
bool);
134 bool leftToRightLayout()
const
136 return myLeftToRightLayout;
139 bool needsLayout()
const
141 return myNeedsLayout;
146 virtual void setSizeToFit(
bool);
147 bool sizeToFit()
const
152 int buttonsShown()
const
154 return myButtonsShown;
157 const std::vector<QAbstractButton*>& buttons()
const
162 std::vector<QAbstractButton*>& buttons()
167 virtual bool hasButton(QAbstractButton*)
const;
170 virtual void setIconSize(
const QSize&);
171 const QSize& iconSize()
const
177 virtual void setIconSpacing(
int);
178 int iconSpacing()
const
180 return myIconSpacing;
184 virtual void clear();
187 virtual void setFixedButtonWidth(
int);
188 int fixedButtonWidth()
const
190 return myFixedButtonWidth;
195 virtual void setFixedButtonHeight(
int);
196 int fixedButtonHeight()
const
198 return myFixedButtonHeight;
202 virtual void setShowMaximum(
int);
203 int showMaximum()
const
205 return myShowMaximum;
209 virtual void setMaximumLines(
int);
210 int maximumLines()
const
212 return myMaximumLines;
215 bool reachedMaximum()
const
217 return myReachedMaximum;
222 return myLayouts.size();
225 const std::vector<Layout>& layouts()
const
230 std::vector<Layout>& layouts()
236 virtual void setBlockResizeLayout(
bool);
237 bool blockResizeLayout()
const
239 return myBlockResizeLayout;
243 virtual void setSignalResizeLayout(
bool);
244 bool signalResizeLayout()
const
246 return mySignalResizeLayout;
256 virtual void layoutFromTimer();
259 virtual void resizeEvent(QResizeEvent*);
260 virtual void showEvent(QShowEvent*);
261 virtual void addToLayout(QAbstractButton*);