# kdeui Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KEditToolbarWidget Class Reference

A widget used to customize or configure toolbars. More...

`#include <kedittoolbar.h>`

Inheritance diagram for KEditToolbarWidget:

[legend]
Collaboration diagram for KEditToolbarWidget:

[legend]
List of all members.

## Signals

void | enableOk (bool)

## Public Member Functions

| KEditToolbarWidget (KActionCollection *collection, const QString &xmlfile=QString::null, bool global=true, QWidget *parent=0L)
| KEditToolbarWidget (const QString &defaultToolbar, KActionCollection *collection, const QString &file=QString::null, bool global=true, QWidget *parent=0L)
| KEditToolbarWidget (KXMLGUIFactory *factory, QWidget *parent=0L)
| KEditToolbarWidget (const QString &defaultToolbar, KXMLGUIFactory *factory, QWidget *parent=0L)
virtual | ~KEditToolbarWidget ()
virtual KActionCollection * | actionCollection () const
bool | save ()

## Protected Slots

void | slotToolbarSelected (const QString &text)
void | slotInactiveSelected (QListViewItem *item)
void | slotActiveSelected (QListViewItem *item)
void | slotDropped (KListView *list, QDropEvent *e, QListViewItem *after)
void | slotInsertButton ()
void | slotRemoveButton ()
void | slotUpButton ()
void | slotDownButton ()
void | slotChangeIcon ()

## Protected Member Functions

void | setupLayout ()
void | insertActive (ToolbarItem *item, QListViewItem *before, bool prepend=false)
void | removeActive (ToolbarItem *item)
void | initNonKPart (KActionCollection *collection, const QString &file, bool global)
void | initKPart (KXMLGUIFactory *factory)
void | loadToolbarCombo (const QString &defaultToolbar=QString::null)
void | loadActionList (QDomElement &elem)
void | updateLocal (QDomElement &elem)
virtual void | virtual_hook (int id, void *data)

## Detailed Description

A widget used to customize or configure toolbars.

This is the widget that does all of the work for the KEditToolbar dialog. In most cases, you will want to use the dialog instead of this widget directly.

Typically, you would use this widget only if you wanted to embed the toolbar editing directly into your existing configure or preferences dialog.

This widget only works if your application uses the XML UI framework for creating menus and toolbars. It depends on the XML files to describe the toolbar layouts and it requires the actions to determine which buttons are active.

Author:
  Kurt Granroth <granroth@kde.org>

Version:
  Id
    kedittoolbar.h 353275 2004-10-10 08:07:34Z bhards

Definition at line 265 of file kedittoolbar.h.

## Constructor & Destructor Documentation

KEditToolbarWidget::KEditToolbarWidget | ( | KActionCollection * | collection,
|  | const QString & | xmlfile = `QString::null`,
|  | bool | global = `true`,
|  | QWidget * | parent = `0L`
| ) |

Constructor.

This is the only entry point to this class. You `must` pass along your collection of actions (some of which appear in your toolbars). The other three parameters are optional.

The second parameter, xmlfile, is the name (absolute or relative) of your application's UI resource file. If it is left blank, then the resource file: share/apps/appname/appnameui.rc is used. This is the same resource file that is used by the default createGUI function in KMainWindow so you're usually pretty safe in leaving it blank.

The third parameter, global, controls whether or not the global resource file is used. If this is true, then you may edit all of the actions in your toolbars -- global ones and local one. If it is false, then you may edit only your application's entries. The only time you should set this to false is if your application does not use the global resource file at all (very rare)

The last parameter, parent, is the standard parent stuff.

Parameters:

  | collection | The collection of actions to work on
  | xmlfile | The application's local resource file
  | global | If true, then the global resource file will also be parsed
  | parent | This widget's parent

Definition at line 459 of file kedittoolbar.cpp.

References QWidget::adjustSize(), QWidget::setMinimumSize(), and QWidget::sizeHint().

KEditToolbarWidget::KEditToolbarWidget | ( | KXMLGUIFactory * | factory,
|  | QWidget * | parent = `0L`
| ) |

Constructor for KParts based apps.

The first parameter, factory, is a pointer to the XML GUI factory object for your application. It contains a list of all of the GUI clients (along with the action collections and xml files) and the toolbar editor uses that.

The second parameter, parent, is the standard parent

Use this like so:

     KEditToolbar edit(factory());
     if ( edit.exec() )
     ...

Parameters:

  | factory | Your application's factory object
  | parent | This widget's parent

Definition at line 486 of file kedittoolbar.cpp.

References QWidget::adjustSize(), QWidget::setMinimumSize(), and QWidget::sizeHint().

KEditToolbarWidget::~KEditToolbarWidget | ( |  | ) | `[virtual]`

| Destructor. Note that any changes done in this widget will `NOT` be saved in the destructor. You `must` call save() to do that. Definition at line 511 of file kedittoolbar.cpp.

## Member Function Documentation

KActionCollection * KEditToolbarWidget::actionCollection | ( |  | ) | const`[virtual]`

Retrieves the entire action collection for the GUI client.

If you subclass KXMLGUIClient you should call KActionCollection::setWidget( QWidget* ) with this object, or you will encounter subtle bugs with KAction keyboard shortcuts. This is not necessary if your KXMLGUIClient is a KMainWindow.

See also:
  KActionCollection::setWidget( QWidget* )

Reimplemented from KXMLGUIClient.

Definition at line 967 of file kedittoolbar.cpp.

bool KEditToolbarWidget::save | ( |  | ) |

Save any changes the user made.

The file will be in the user's local directory (usually $HOME/.kde/share/apps/<appname>). The filename will be the one specified in the constructor.. or the made up one if the filename was NULL.

Returns:
  The status of whether or not the save succeeded.

Definition at line 599 of file kedittoolbar.cpp.

References KXMLGUIFactory::addClient(), QValueList::begin(), QPtrListIterator::current(), endl(), KXMLGUIClient::factory(), QPtrList::first(), kdDebug(), QPtrList::last(), locate(), QPtrList::prev(), KXMLGUIFactory::removeClient(), KXMLGUIClient::setXMLFile(), KXMLGUIClient::setXMLGUIBuildDocument(), QPtrListIterator::toFirst(), and KXMLGUIClient::xmlFile().

Referenced by KEditToolbar::slotApply(), and KEditToolbar::slotOk().

void KEditToolbarWidget::enableOk | ( | bool |  | ) | `[signal]`

| Emitted whenever any modifications are made by the user.

The documentation for this class was generated from the following files:

- kedittoolbar.h
- kedittoolbar.cpp

This file is part of the documentation for kdeui Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:21:14 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003