20#include "kexismalltoolbutton.h"
23#include <tqwhatsthis.h>
26#include <kiconloader.h>
27#include <tdeglobalsettings.h>
31KexiSmallToolButton::KexiSmallToolButton(TQWidget* parent,
const TQString& text,
32 const TQString& icon,
const char* name)
33 : TQToolButton(parent, name)
36 update(text, SmallIconSet(icon));
39KexiSmallToolButton::KexiSmallToolButton(TQWidget* parent,
const TQString& text,
40 const TQIconSet& iconSet,
const char* name)
41 : TQToolButton(parent, name)
44 update(text, iconSet);
47KexiSmallToolButton::KexiSmallToolButton(TQWidget* parent, TDEAction* action)
48 : TQToolButton(parent, action->name())
52 connect(
this, TQ_SIGNAL(clicked()), action, TQ_SLOT(activate()));
53 connect(action, TQ_SIGNAL(enabled(
bool)),
this, TQ_SLOT(setEnabled(
bool)));
57KexiSmallToolButton::~KexiSmallToolButton()
61void KexiSmallToolButton::updateAction()
65 update(m_action->text(), m_action->iconSet(TDEIcon::Small));
66 setAccel(m_action->shortcut());
67 TQToolTip::add(
this, m_action->toolTip());
68 TQWhatsThis::add(
this, m_action->whatsThis());
71void KexiSmallToolButton::init()
73 setPaletteBackgroundColor(palette().active().background());
74 setSizePolicy(TQSizePolicy::Fixed, TQSizePolicy::Preferred);
75 TQFont f(TDEGlobalSettings::toolBarFont());
81void KexiSmallToolButton::update(
const TQString& text,
const TQIconSet& iconSet,
bool tipToo)
86 setUsesTextLabel(
false);
89 width += TQFontMetrics(font()).width(text+
" ");
90 setUsesTextLabel(
true);
91 setTextPosition(TQToolButton::Right);
92 TQToolButton::setTextLabel(text, tipToo);
94 if (!iconSet.isNull()) {
95 width += IconSize(TDEIcon::Small);
96 TQToolButton::setIconSet(iconSet);
98 setFixedWidth( width );
101void KexiSmallToolButton::setIconSet(
const TQIconSet& iconSet )
103 update(textLabel(), iconSet);
106void KexiSmallToolButton::setIconSet(
const TQString& icon )
108 setIconSet( SmallIconSet(icon) );
111void KexiSmallToolButton::setTextLabel(
const TQString & newLabel,
bool tipToo )
115 update(newLabel, iconSet());
118void KexiSmallToolButton::drawButton( TQPainter *_painter )
120 TQToolButton::drawButton(_painter);
121 if (TQToolButton::popup()) {
122 TQStyle::SFlags arrowFlags = TQStyle::Style_Default;
124 arrowFlags |= TQStyle::Style_Down;
126 arrowFlags |= TQStyle::Style_Enabled;
127 style().drawPrimitive(TQStyle::PE_ArrowDown, _painter,
128 TQRect(width()-7, height()-7, 5, 5), colorGroup(),
129 arrowFlags, TQStyleOption() );
133#include "kexismalltoolbutton.moc"
KEXICORE_EXPORT TQFont smallFont(TQWidget *init=0)