diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 17:25:32 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2013-02-01 17:25:32 -0600 |
commit | 78bc9664ef5f23a7b405b5d940bc891a0ebbf841 (patch) | |
tree | eb72094f71bcf2208ed0547b078612fa06819c51 /lib/kofficeui/ttdetoolbarbutton.h | |
parent | aea627236e4de24599c3e30617cf264c3c1b7d40 (diff) | |
download | koffice-78bc9664ef5f23a7b405b5d940bc891a0ebbf841.tar.gz koffice-78bc9664ef5f23a7b405b5d940bc891a0ebbf841.zip |
Fix FTBFS
Diffstat (limited to 'lib/kofficeui/ttdetoolbarbutton.h')
-rw-r--r-- | lib/kofficeui/ttdetoolbarbutton.h | 228 |
1 files changed, 228 insertions, 0 deletions
diff --git a/lib/kofficeui/ttdetoolbarbutton.h b/lib/kofficeui/ttdetoolbarbutton.h new file mode 100644 index 00000000..14d3b285 --- /dev/null +++ b/lib/kofficeui/ttdetoolbarbutton.h @@ -0,0 +1,228 @@ +/* + * Kivio - Visual Modelling and Flowcharting + * Copyright (C) 2000 theKompany.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ +#ifndef TKTOOLBARBUTTON_H +#define TKTOOLBARBUTTON_H + +#include <tkaction.h> + +#include <tqpixmap.h> +#include <tqtoolbutton.h> +#include <kglobal.h> + +class TDEToolBar; +class TDEInstance; +class TQPopupMenu; +class TQPainter; + +class TTDEToolBarButton : public TQToolButton +{ Q_OBJECT + +public: + TTDEToolBarButton(const TQString& icon, const TQString& txt, + TQWidget* parent = 0, const char *name=0L, + TDEInstance *_instance = TDEGlobal::instance()); + + TTDEToolBarButton(const TQPixmap&, const TQString&, TQWidget* parent=0, const char* name=0); + ~TTDEToolBarButton(); + + void setIconMode(TK::IconMode); + void setRaised(bool); + void setAutoRaised(bool); + + /** + * Enable/Disable this button + * + * @param enable Defaults to true + */ + void setEnabled(bool enable = true); + + /** + * Set the pixmap directly for this button. This pixmap should be + * the active one... the dimmed and disabled pixmaps are constructed + * based on this one. However, don't use this function unless you + * are positive that you don't want to use @ref setIcon. + * + * @param pixmap The active pixmap + */ + virtual void setPixmap(const TQPixmap &pixmap); + + /** + * Set the pixmap directly for this button. This pixmap should be + * the active one.. however, the disabled and default pixmaps will + * only be constructed if @ref #generate is true. In any event, + * don't use this function unless you are positive that you don't + * want to use @ref setIcon. + * + * @param pixmap The active pixmap + * @param generate If true, then the other pixmaps will be + * automatically generated using configurable effects + */ + virtual void setPixmap(const TQPixmap &pixmap, bool generate); + + /** + * Force the button to use this pixmap as the default one rather + * then generating it using effects. + * + * @param pixmap The pixmap to use as the default (normal) one + */ + virtual void setDefaultPixmap(const TQPixmap& pixmap); + + /** + * Force the button to use this pixmap when disabled one rather then + * generating it using effects. + * + * @param pixmap The pixmap to use when disabled + */ + virtual void setDisabledPixmap(const TQPixmap& pixmap); + + /** + * Set the text for this button. The text will be either used as a + * tooltip (IconOnly) or will be along side the icon + * + * @param text The button (or tooltip) text + */ + virtual void setText(const TQString &text); + TQString text(); + + /** + * Set the icon for this button. This icon should be the active + * one... the dimmed and disabled icons are constructed based on + * this one. The actual pixmap will be loaded internally. This + * function is preferred over @ref setPixmap + * + * @param icon The name of the active pixmap + */ + virtual void setIcon(const TQString &icon); + + /** + * Force the button to use this icon as the default one rather + * then generating it using effects. + * + * @param icon The icon to use as the default (normal) one + */ + virtual void setDefaultIcon(const TQString& icon); + + /** + * Force the button to use this icon when disabled one rather then + * generating it using effects. + * + * @param icon The icon to use when disabled + */ + virtual void setDisabledIcon(const TQString& icon); + + /** + * Turn this button on or off + * + * @param flag true or false + */ + void on(bool flag = true); + + /** + * Toggle this button + */ + void toggle(); + + /** + * Turn this button into a toggle button or disable the toggle + * aspects of it. This does not toggle the button itself. Use @ref + * toggle for that. + * + * @param toggle true or false + */ + void setToggle(bool toggle = true); + + /** + * Return a pointer to this button's popup menu (if it exists) + */ + TQPopupMenu *popup(); + + /** + * Give this button a popup menu. There will not be a delay when + * you press the button. Use @ref setDelayedPopup if you want that + * behavior + * + * @param p The new popup menu + */ + void setPopup (TQPopupMenu *p); + + /** + * Gives this button a delayed popup menu. + * + * This function allows you to add a delayed popup menu to the button. + * The popup menu is then only displayed when the button is pressed and + * held down for about half a second. You can also make the poup-menu + * "sticky", i.e. visible until a selection is made or the mouse is + * clikced elsewhere, by simply setting the second argument to true. + * This "sticky" button feature allows you to make a selection without + * having to press and hold down the mouse while making a selection. + * + * @param p the new popup menu + * @param toggle if true, makes the button "sticky" (toggled) + */ + void setDelayedPopup(TQPopupMenu *p, bool toggle = false); + + TQPixmap getActivePixmap() const; + + virtual TQSize sizeHint() const; + virtual TQSize minimumSizeHint() const; + +signals: + void buttonClicked(); + void buttonPressed(); + void buttonReleased(); + void buttonToggled(); + +public slots: + void modeChange(); + +protected: + void paletteChange(const TQPalette &); + void leaveEvent(TQEvent *e); + void enterEvent(TQEvent *e); + void drawButton(TQPainter *p); + bool eventFilter (TQObject *o, TQEvent *e); + void showMenu(); + + void makeDefaultPixmap(); + void makeDisabledPixmap(); + bool arrowPressed( const TQPoint& pos ) { + int x = pos.x(); + int y = pos.y(); + return (x > width() - 12 && x <= width() && y > 0 && y < height()); + } + +private: + TQPixmap defaultPixmap; + TQPixmap activePixmap; + TQPixmap disabledPixmap; + virtual void setIcon(const TQPixmap &p) { TQButton::setIcon(p); } + class TTDEToolBarButtonPrivate; + TTDEToolBarButtonPrivate *d; + + +protected slots: + void slotClicked(); + void slotPressed(); + void slotReleased(); + void slotToggled(); + void slotDelayTimeout(); +}; + +#endif |