KToolBar Class Reference
Floatable toolbar with auto resize. More...
#include <ktoolbar.h>
Inheritance diagram for KToolBar:

Public Types | |
enum | IconText { IconOnly = 0, IconTextRight, TextOnly, IconTextBottom } |
enum | BarStatus { Toggle, Show, Hide } |
enum | BarPosition { Unmanaged, Floating, Top, Bottom, Right, Left, Flat } |
Public Slots | |
virtual void | setIconText (const QString &txt) |
Signals | |
void | clicked (int id) |
void | doubleClicked (int id) |
void | pressed (int) |
void | released (int) |
void | toggled (int) |
void | highlighted (int id, bool isHighlighted) |
void | highlighted (int id) |
void | moved (BarPosition) |
void | modechange () |
void | toolbarDestroyed () |
Public Member Functions | |
KToolBar (QWidget *parent, const char *name=0, bool honorStyle=false, bool readConfig=true) | |
KToolBar (QMainWindow *parentWindow, QMainWindow::ToolBarDock dock, bool newLine=false, const char *name=0, bool honorStyle=false, bool readConfig=true) | |
KToolBar (QMainWindow *parentWindow, QWidget *dock, bool newLine=false, const char *name=0, bool honorStyle=false, bool readConfig=true) | |
virtual | ~KToolBar () |
int | insertButton (const QString &icon, int id, bool enabled=true, const QString &text=QString::null, int index=-1, KInstance *_instance=KGlobal::instance()) |
int | insertButton (const QString &icon, int id, const char *signal, const QObject *receiver, const char *slot, bool enabled=true, const QString &text=QString::null, int index=-1, KInstance *_instance=KGlobal::instance()) |
int | insertButton (const QPixmap &pixmap, int id, bool enabled=true, const QString &text=QString::null, int index=-1) |
int | insertButton (const QPixmap &pixmap, int id, const char *signal, const QObject *receiver, const char *slot, bool enabled=true, const QString &text=QString::null, int index=-1) |
int | insertButton (const QString &icon, int id, QPopupMenu *popup, bool enabled, const QString &_text, int index=-1) |
int | insertButton (const QPixmap &pixmap, int id, QPopupMenu *popup, bool enabled, const QString &_text, int index=-1) |
int | insertLined (const QString &text, int id, const char *signal, const QObject *receiver, const char *slot, bool enabled=true, const QString &toolTipText=QString::null, int size=70, int index=-1) |
int | insertCombo (const QStringList &list, int id, bool writable, const char *signal, const QObject *receiver, const char *slot, bool enabled=true, const QString &tooltiptext=QString::null, int size=70, int index=-1, QComboBox::Policy policy=QComboBox::AtBottom) |
int | insertCombo (const QString &text, int id, bool writable, const char *signal, QObject *receiver, const char *slot, bool enabled=true, const QString &tooltiptext=QString::null, int size=70, int index=-1, QComboBox::Policy policy=QComboBox::AtBottom) |
int | insertSeparator (int index=-1, int id=-1) |
int | insertLineSeparator (int index=-1, int id=-1) |
int | insertWidget (int id, int width, QWidget *_widget, int index=-1) |
int | insertAnimatedWidget (int id, QObject *receiver, const char *slot, const QString &icons, int index=-1) |
KAnimWidget * | animatedWidget (int id) |
void | addConnection (int id, const char *signal, const QObject *receiver, const char *slot) |
void | setItemEnabled (int id, bool enabled) |
void | setButtonIcon (int id, const QString &_icon) |
void | setButtonPixmap (int id, const QPixmap &_pixmap) |
void | setButtonIconSet (int id, const QIconSet &iconset) |
void | setDelayedPopup (int id, QPopupMenu *_popup, bool toggle=false) |
void | setAutoRepeat (int id, bool flag=true) |
void | setToggle (int id, bool flag=true) |
void | toggleButton (int id) |
void | setButton (int id, bool flag) |
bool | isButtonOn (int id) const |
void | setLinedText (int id, const QString &text) |
QString | getLinedText (int id) const |
void | insertComboItem (int id, const QString &text, int index) |
void | insertComboList (int id, const QStringList &list, int index) |
void | removeComboItem (int id, int index) |
void | setCurrentComboItem (int id, int index) |
void | changeComboItem (int id, const QString &text, int index=-1) |
void | clearCombo (int id) |
QString | getComboItem (int id, int index=-1) const |
KComboBox * | getCombo (int id) |
KLineEdit * | getLined (int id) |
KToolBarButton * | getButton (int id) |
void | alignItemRight (int id, bool right=true) |
QWidget * | getWidget (int id) |
void | setItemAutoSized (int id, bool yes=true) |
void | clear () |
void | removeItem (int id) |
void | removeItemDelayed (int id) |
void | hideItem (int id) |
void | showItem (int id) |
int | itemIndex (int id) |
int | idAt (int index) |
void | setFullSize (bool flag=true) |
bool | fullSize () const |
void | enableMoving (bool flag=true) KDE_DEPRECATED |
void | setBarPos (BarPosition bpos) |
BarPosition | barPos () const |
bool | enable (BarStatus stat) KDE_DEPRECATED |
void | setMaxHeight (int h) KDE_DEPRECATED |
int | maxHeight () KDE_DEPRECATED |
void | setMaxWidth (int dw) KDE_DEPRECATED |
int | maxWidth () KDE_DEPRECATED |
void | setTitle (const QString &_title) |
void | enableFloating (bool flag) KDE_DEPRECATED |
void | setIconText (IconText it) |
void | setIconText (IconText it, bool update) |
IconText | iconText () const |
void | setIconSize (int size) |
void | setIconSize (int size, bool update) |
int | iconSize () const |
void | setEnableContextMenu (bool enable=true) |
bool | contextMenuEnabled () const |
void | setItemNoStyle (int id, bool no_style=true) |
void | setFlat (bool flag) |
int | count () const |
void | saveState () |
void | saveSettings (KConfig *config, const QString &configGroup) |
void | applySettings (KConfig *config, const QString &configGroup) |
void | setXMLGUIClient (KXMLGUIClient *client) |
void | setText (const QString &txt) |
QString | text () const |
void | setStretchableWidget (QWidget *w) |
QSizePolicy | sizePolicy () const |
bool | highlight () const |
QSize | sizeHint () const |
QSize | minimumSizeHint () const |
QSize | minimumSize () const |
void | hide () |
void | show () |
void | updateRects (bool=false) |
void | loadState (const QDomElement &e) |
void | saveState (QDomElement &e) |
void | positionYourself (bool force=false) |
Static Public Member Functions | |
bool | highlightSetting () |
bool | transparentSetting () |
IconText | iconTextSetting () |
Protected Member Functions | |
void | mousePressEvent (QMouseEvent *) |
void | childEvent (QChildEvent *e) |
void | showEvent (QShowEvent *e) |
void | resizeEvent (QResizeEvent *e) |
bool | event (QEvent *e) |
void | applyAppearanceSettings (KConfig *config, const QString &_configGroup, bool forceGlobal=false) |
QString | settingsGroup () const |
virtual void | virtual_hook (int id, void *data) |
Properties | |
IconText | iconText |
BarPosition | barPos |
bool | fullSize |
int | iconSize |
QString | text |
Detailed Description
Floatable toolbar with auto resize.A KDE-style toolbar.
KToolBar can be dragged around in and between different docks.
A KToolBar can contain all sorts of widgets.
KToolBar can be used as a standalone widget, but KMainWindow provides easy factories and management of one or more toolbars. Once you have a KToolBar object, you can insert items into it with the insert... methods, or remove them with the removeItem() method. This can be done at any time; the toolbar will be automatically updated. There are also many methods to set per-child properties like alignment and toggle behavior.
KToolBar uses a global config group to load toolbar settings on construction. It will reread this config group on a KApplication::appearanceChanged() signal.
- Version:
- Id
- ktoolbar.h,v 1.176 2003/11/05 11:43:22 tokoe Exp
- Author:
- Reginald Stadlbauer <reggie@kde.org>, Stephan Kulow <coolo@kde.org>, Sven Radej <radej@kde.org>.
Definition at line 103 of file ktoolbar.h.
Member Enumeration Documentation
|
The state of the status bar. Definition at line 119 of file ktoolbar.h. |
|
Possible bar positions. Definition at line 123 of file ktoolbar.h. |
Constructor & Destructor Documentation
|
Normal constructor. This constructor is used by the XML-GUI. If you use it, you need to call QMainWindow::addToolBar to specify the position of the toolbar. So it's simpler to use the other constructor.
The toolbar will read in various global config settings for things like icon size and text position, etc. However, some of the settings will be honored only if
|
|
Constructor for non-XML-GUI applications.
The toolbar will read in various global config settings for things like icon size and text position, etc. However, some of the settings will be honored only if
|
|
Constructor for non-XML-GUI applications.
The toolbar will read in various global config settings for things like icon size and text position, etc. However, some of the settings will be honored only if
|
|
Destructor. Definition at line 226 of file ktoolbar.cpp. References toolbarDestroyed(). |
Member Function Documentation
|
Insert a button (a KToolBarButton) with a pixmap. The pixmap is loaded by the button itself based on the global icon settings.
You should connect to one or more signals in KToolBar: clicked() , pressed() , released() , or highlighted() and if the button is a toggle button ( setToggle() ) toggled() . Those signals have
Referenced by KPasteTextAction::plug(), KToolBarPopupAction::plug(), KActionMenu::plug(), KRecentFilesAction::plug(), and KAction::plug(). |
|
This is the same as above, but with specified signals and slots to which this button will be connected. You can add more signals with addConnection().
|
|
Inserts a button (a KToolBarButton) with the specified pixmap. This pixmap will be used as the "active" one and the disabled and default ones will be autogenerated. It is recommended that you use the insertButton function that allows you to specify the icon name rather then the pixmap itself. Specifying the icon name is much more flexible.
You should connect to one or more signals in KToolBar: clicked() , pressed() , released() , or highlighted() and if the button is a toggle button ( setToggle() ) toggled() . Those signals have
|
|
This is the same as above, but with specified signals and slots to which this button will be connected. You can add more signals with addConnection().
|
|
Inserts a button with popupmenu.
Button will have small triangle. You have to connect to popup's signals. The signals KButton::pressed(), KButton::released(), KButton::clicked() or KButton::doubleClicked() are References KToolBarButton::setPopup(). |
|
Inserts a button with popupmenu.
Button will have small triangle. You have to connect to popup's signals. The signals KButton::pressed(), KButton::released(), KButton::clicked() or KButton::doubleClicked() are References KToolBarButton::setPopup(). |
|
Inserts a KLineEdit. You have to specify signals and slots to which KLineEdit will be connected. KLineEdit has all slots QLineEdit has, plus signals KLineEdit::completion and KLineEdit::textRotation KLineEdit can be set to autoresize itself to full free width in toolbar, that is to last right aligned item. For that, toolbar must be set to full width (which it is by default).
References QToolTip::add(), QString::isEmpty(), and KLineEdit::setText(). |
|
Inserts a KComboBox with list. Can be writable, but cannot contain pixmaps. By default inserting policy is AtBottom, i.e. typed items are placed at the bottom of the list. Can be autosized. If the size argument is specified as -1, the width of the combobox is automatically computed.
References QToolTip::add(), QComboBox::insertStringList(), QString::isEmpty(), QString::isNull(), and QComboBox::setInsertionPolicy(). Referenced by KSelectAction::plug(). |
|
Insert a KComboBox with text. The rest is the same as above.
References QToolTip::add(), QComboBox::insertItem(), QString::isEmpty(), QString::isNull(), and QComboBox::setInsertionPolicy(). |
|
Inserts a separator into the toolbar with the given
|
|
Inserts a line separator into the toolbar with the given
|
|
Inserts a user-defined widget.
The widget Widget must have a QWidget for base class. Widget can be autosized to full width. If you forget about it, you can get a pointer to this widget with getWidget().
Referenced by KWidgetAction::plug(). |
|
Inserts an animated widget. A KAnimWidget will be created internally using the icon name you provide. This will emit a signal (clicked()) whenever the animation widget is clicked.
References clicked(). |
|
This will return a pointer to the animated widget with the given
References QMap::end(), and QMap::find(). |
|
Adds connections to items.
It is important that you know the References QMap::end(), and QMap::find(). |
|
Enables/disables item. Definition at line 480 of file ktoolbar.cpp. References QMap::end(), and QMap::find(). |
|
Sets the icon for a button. Can be used while button is visible. Definition at line 501 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and KToolBarButton::setIcon(). |
|
Sets button pixmap. Can be used while button is visible. Definition at line 490 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and KToolBarButton::setPixmap(). |
|
Sets a button icon from a QIconSet. Can be used while button is visible. Definition at line 511 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and KToolBarButton::setIconSet(). |
|
Sets a delayed popup for a button. Delayed popup is what you see in Netscape Navigator's Previous and Next buttons: If you click them you go back or forth. If you press them long enough, you get a history-menu. This is exactly what we do here. You will insert a normal button with connection (or use signals from toolbar): bar->insertButton(icon, id, SIGNAL(clicked ()), this, SLOT (slotClick()), true, "click or wait for popup"); bar->setDelayedPopup (id, historyPopup);
Don't add delayed popups to buttons which have normal popups. You may add popups which are derived from QPopupMenu. You may add popups that are already in the menu bar or are submenus of other popups. Definition at line 522 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and KToolBarButton::setDelayedPopup(). Referenced by KPasteTextAction::plug(), KToolBarPopupAction::plug(), KActionMenu::plug(), and KRecentFilesAction::plug(). |
|
Turns a button into an autorepeat button. Toggle buttons, buttons with menus, or buttons with delayed menus cannot be made into autorepeat buttons. Moreover, you can and will receive only the signal clicked(), but not pressed() or released(). When the user presses this button, you will receive the signal clicked(), and if the button is still pressed after some time, you will receive more clicked() signals separated by regular intervals. Since this uses QButton::setAutoRepeat() , I can't quantify 'some'. Definition at line 533 of file ktoolbar.cpp. References QMap::end(), and QMap::find(). |
|
Turns button into a toggle button if Definition at line 544 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and KToolBarButton::setToggle(). Referenced by KToggleAction::plug(). |
|
Toggles a togglebutton.
If the button is a toggle button (see setToggle()) the button state will be toggled. This will also cause the toolbar to emit the signal KButton::toggled() with parameter References QMap::end(), QMap::find(), and KToolBarButton::toggle(). |
|
Sets a toggle button state. If the button is a toggle button (see setToggle()) this will set its state flag. This will also emit the signal KButton::toggled().
References QMap::end(), QMap::find(), and KToolBarButton::on(). Referenced by KToggleAction::plug(). |
|
Returns
References QMap::end(), and QMap::find(). |
|
Sets the text of a line editor. Cursor is set at end of text. Definition at line 587 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and QLineEdit::setText(). |
|
Returns the line editor text.
References QMap::end(), QMap::find(), and QLineEdit::text(). |
|
Inserts Definition at line 608 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and QComboBox::insertItem(). |
|
Inserts Definition at line 618 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and QComboBox::insertStringList(). |
|
Removes item Definition at line 629 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and QComboBox::removeItem(). |
|
Sets item Definition at line 640 of file ktoolbar.cpp. References QMap::end(), QMap::find(), and QComboBox::setCurrentItem(). |
|
Changes item
References QComboBox::changeItem(), QMap::end(), and QMap::find(). |
|
Clears the combobox Does not delete it or hide it. Definition at line 662 of file ktoolbar.cpp. References QComboBox::clear(), QMap::end(), and QMap::find(). |
|
Returns text of item
index = -1 refers to current item. Definition at line 673 of file ktoolbar.cpp.
References QMap::end(), QMap::find(), and QComboBox::text(). |
|
Returns a pointer to the combobox with
KComboBox *combo = toolbar->getCombo(combo_id); References QMap::end(), and QMap::find(). Referenced by KSelectAction::plug(). |
|
Returns a pointer to KToolBarLined with
KLineEdit * lined = toolbar->getKToolBarLined(lined_id); References QMap::end(), and QMap::find(). |
|
Returns a pointer to KToolBarButton. Example: KToolBarButton * button = toolbar->getButton(button_id); Using this method is not recommended. Definition at line 701 of file ktoolbar.cpp. References QMap::end(), and QMap::find(). Referenced by KToolBarRadioGroup::addButton(), KPasteTextAction::plug(), KToolBarPopupAction::plug(), KActionMenu::plug(), KRecentFilesAction::plug(), and KAction::plug(). |
|
Align item to the right. This works only if toolbar is set to full width.
References QMap::end(), and QMap::find(). |
|
Returns a pointer to the widget corresponding to
References QMap::end(), and QMap::find(). Referenced by hideItem(), itemIndex(), setItemAutoSized(), and showItem(). |
|
Set item autosized.
This works only if the toolbar is set to full width. Only
References getWidget(), and QToolBar::setStretchableWidget(). Referenced by KWidgetAction::plug(). |
|
Remove all items. The toolbar is redrawn after it. Reimplemented from QToolBar. Definition at line 737 of file ktoolbar.cpp. References QMap::clear(), and QToolBar::clear(). |
|
Remove item Item is deleted. Toolbar is redrawn after it. Definition at line 745 of file ktoolbar.cpp. References QMap::end(), endl(), QMap::find(), kdDebug(), QMap::remove(), and QPtrList::removeRef(). |
|
Remove item Item is deleted when toolbar is redrawn. Definition at line 761 of file ktoolbar.cpp. References QMap::end(), endl(), QMap::find(), kdDebug(), QMap::remove(), QPtrList::removeRef(), and QTimer::start(). Referenced by KAction::unplug(). |
|
Hide item Definition at line 780 of file ktoolbar.cpp. References getWidget(), and QWidget::hide(). |
|
Show item Definition at line 788 of file ktoolbar.cpp. References getWidget(), and QWidget::show(). |
|
Returns the index of the item
References QPtrList::findRef(), and getWidget(). |
|
Returns the id of the item at the given index.
References QPtrList::at(). |
|
Set toolbar to full parent size (default). In full size mode the bar extends over the parent's full width or height. If the mode is disabled the toolbar tries to take as much space as it needs without wrapping, but it does not exceed the parent box. You can force a certain width or height with setMaxWidth() or setMaxHeight(). If you want to use right-aligned items or auto-sized items you must use full size mode. Definition at line 808 of file ktoolbar.cpp. |
|
Returns the full-size mode enabled flag.
|
|
Enable or disable moving of toolbar.
|
|
Set position of toolbar.
References QToolBar::mainWindow(). |
|
Returns the toolbar position.
|
|
Show, hide, or toggle toolbar. This method is provided for compatibility only, please use show() and/or hide() instead.
|
|
Use setMaximumHeight() instead. Definition at line 864 of file ktoolbar.cpp. |
|
Returns the value set with setMaxHeight().
|
|
Use setMaximumWidth() instead. Set maximal width of horizontal (top or bottom) toolbar. Definition at line 875 of file ktoolbar.cpp. |
|
Returns the value set with setMaxWidth(). Use maximumWidth() instead.
|
|
Set title for toolbar when it floats. Titles are however not (yet) visible. You can't change toolbar's title while it's floating. Definition at line 887 of file ktoolbar.cpp. References QToolBar::setLabel(). |
|
Use setMovingEnabled(bool) instead. Definition at line 893 of file ktoolbar.cpp. |
|
Set the kind of painting for buttons. Choose from:
|
|
Similar to setIconText(IconText it) but allows you to disable or enable updating.
If References QToolBar::mainWindow(), and modechange(). |
|
Returns the current text style for buttons.
|
|
Set the icon size to load. Usually you should not call this, the icon size is taken care of by KIconLoader and globally configured. By default, the toolbar will load icons of size 32 for main toolbars and 22 for other toolbars
|
|
Same as setIconText(int size) but allows you to disable the toolbar update.
References QToolBar::mainWindow(), and modechange(). |
|
Returns the current icon size for buttons.
Referenced by saveSettings(). |
|
This allows you to enable or disable the context menu.
|
|
Returns the context menu enabled flag.
|
|
This will inform a toolbar button to ignore certain style changes. Specifically, it will ignore IconText (always IconOnly) and will not allow image effects to apply.
References QMap::end(), QMap::find(), and KToolBarButton::setNoStyle(). |
|
Returns the total number of items in the toolbar.
References QMap::count(). |
|
Instruct the toolbar to save it's current state to either the app config file or to the XML-GUI resource file (whichever has precedence). Definition at line 1028 of file ktoolbar.cpp. References QDomElement::attribute(), KGlobal::config(), QDomDocument::documentElement(), KXMLGUIFactory::removeDOMComments(), saveSettings(), QDomDocument::setContent(), KConfigBase::sync(), and QDomElement::tagName(). Referenced by KXMLGUIBuilder::removeContainer(). |
|
Save the toolbar settings to group Definition at line 1109 of file ktoolbar.cpp. References KConfigBase::hasDefault(), iconSize(), QString::isEmpty(), KConfigBase::revertToDefault(), and KConfigBase::writeEntry(). Referenced by KMainWindow::saveMainWindowSettings(), and saveState(). |
|
Read the toolbar settings from group Definition at line 1668 of file ktoolbar.cpp. References QString::isEmpty(), QToolBar::mainWindow(), KConfigBase::readBoolEntry(), KConfigBase::readEntry(), KConfigBase::readNumEntry(), and KGlobal::staticQString(). Referenced by KMainWindow::applyMainWindowSettings(). |
|
Assign a (translated) text to this toolbar. This is used for the tooltip on the handle, and when listing the toolbars. Definition at line 1181 of file ktoolbar.cpp. References QToolBar::setLabel(). |
|
Returns the toolbar's text.
|
|
Emitted when button
Referenced by insertAnimatedWidget(). |
|
Emitted when button Note: you will always recive two clicked() , pressed() and released() signals. There is no way to avoid it - at least no easy way. If you need to resolve this all you can do is set up timers which wait for QApplication::doubleClickInterval() to expire. If in that time you don't get this signal, you may belive that button was only clicked and not double-clicked. And please note that butons with popup menus do not emit this signal, but those with delayed popup do. |
|
Emitted when button
|
|
Emits when button
|
|
Emitted when a toggle button changes state. Emitted also if you change state with setButton() or toggleButton() If you make a button normal again, with setToggle(false), this signal won't be emitted. |
|
This signal is emitted when item
Note that this signal is emitted from all buttons (normal, disabled and toggle) even when there is no visible change in buttons (i.e., buttons do not raise when mouse enters). The parameter |
|
This signal is emitted when item Note that this signal is emitted from all buttons (normal, disabled and toggle) even when there is no visible change in buttons (i.e., buttons do not raise when mouse enters). |
|
Emitted when toolbar changes position, or when an item is removed from toolbar. If you subclass KMainWindow and reimplement KMainWindow::resizeEvent() be sure to connect to this signal. Note: You can connect this signal to a slot that doesn't take parameter. |
|
This signal is emitted when toolbar detects changing of following parameters: highlighting, button-size, button-mode. This signal is internal, aimed to buttons. Referenced by setIconSize(), and setIconText(). |
|
This signal is emitted when the toolbar is getting deleted, and before ~KToolbar finishes (so it's still time to remove widgets from the toolbar). Used by KWidgetAction.
Referenced by ~KToolBar(). |
|
Returns the global setting for "Highlight buttons under mouse".
References KGlobal::config(), and KConfigBase::readBoolEntry(). |
|
Returns the global setting for "Toolbars transparent when moving".
References KGlobal::config(), and KConfigBase::readBoolEntry(). |
|
Returns the global setting for "Icon Text".
References KGlobal::config(), and KConfigBase::readEntry(). |
The documentation for this class was generated from the following files: