19 class QAbstractButton;
48 template <
typename T> T* createButton()
52 b->setFocusPolicy( Qt::NoFocus );
53 b->setIconSize(myIconSize);
54 b->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
56 this->myButtons.push_back(b);
62 template <
typename T> T* addAction(
const QString& action,
bool resetLayout =
true)
64 T* b = createButton<T>();
76 template <
typename T> T* addAction(
const QIcon& icon,
bool resetLayout =
true)
78 T* b = createButton<T>();
90 template <
typename T> T* addAction(
QAction* act,
bool resetLayout =
true)
92 T* b = createButton<T>();
93 b->setAutoRaise(
true);
94 b->setSizePolicy(QSizePolicy::Minimum, QSizePolicy::Fixed);
95 b->setDefaultAction(act);
106 virtual int rightMarginForLine(
int)
const;
110 virtual void setRightMarginForLine(
int margin,
int line = -1);
113 virtual void removeRightMarginForLine(
int line = -1);
116 virtual void removeButton(QAbstractButton*,
bool resetLayout =
true);
119 virtual void layoutButtons(
bool force =
false);
123 virtual void setButtons(
const std::vector<QAbstractButton*>& buttons,
bool deleteCurrentButtons =
false);
126 virtual void setLeftToRightLayout(
bool);
127 bool leftToRightLayout()
const
129 return myLeftToRightLayout;
132 bool needsLayout()
const
134 return myNeedsLayout;
139 virtual void setSizeToFit(
bool);
140 bool sizeToFit()
const
145 int buttonsShown()
const
147 return myButtonsShown;
150 const std::vector<QAbstractButton*>& buttons()
const
155 std::vector<QAbstractButton*>& buttons()
160 virtual bool hasButton(QAbstractButton*)
const;
163 virtual void setIconSize(
const QSize&);
164 const QSize& iconSize()
const
170 virtual void setIconSpacing(
int);
171 int iconSpacing()
const
173 return myIconSpacing;
177 virtual void clear();
180 virtual void setFixedButtonWidth(
int);
181 int fixedButtonWidth()
const
183 return myFixedButtonWidth;
188 virtual void setFixedButtonHeight(
int);
189 int fixedButtonHeight()
const
191 return myFixedButtonHeight;
195 virtual void setShowMaximum(
int);
196 int showMaximum()
const
198 return myShowMaximum;
202 virtual void setMaximumLines(
int);
203 int maximumLines()
const
205 return myMaximumLines;
208 bool reachedMaximum()
const
210 return myReachedMaximum;
215 return myLayouts.size();
218 const std::vector<Layout>& layouts()
const
223 std::vector<Layout>& layouts()
229 virtual void setBlockResizeLayout(
bool);
230 bool blockResizeLayout()
const
232 return myBlockResizeLayout;
236 virtual void setSignalResizeLayout(
bool);
237 bool signalResizeLayout()
const
239 return mySignalResizeLayout;
249 virtual void layoutFromTimer();
252 virtual void resizeEvent(QResizeEvent*);
253 virtual void showEvent(QShowEvent*);
254 virtual void addToLayout(QAbstractButton*);