KDevelop API Documentation

KActionSelector Class Reference

A widget for selecting and arranging actions/objects This widget allows the user to select from a set of objects and arrange the order of the selected ones using two list boxes labeled "Available" and "Used" with horizontal arrows in between to move selected objects between the two, and vertical arrows on the right to arrange the order of the selected objects. More...

#include <kactionselector.h>

Inheritance diagram for KActionSelector:

QWidget List of all members.

Public Types

enum  MoveButton { ButtonAdd, ButtonRemove, ButtonUp, ButtonDown }
 This enum indentifies the moving buttons. More...

enum  ButtonIconSize {
  SmallIcon, Small, Medium, Large,
  XLarge
}
 This enum identifies the icon sizes, used for the move buttons. More...

enum  InsertionPolicy { BelowCurrent, Sorted, AtTop, AtBottom }
 This enum defines policies for where to insert moved items in a listbox. More...


Public Slots

void polish ()
 Reimplemented for internal reasons.


Signals

void added (QListBoxItem *item)
 Emitted when an item is moved to the "selected" listbox.

void removed (QListBoxItem *item)
 Emitted when an item is moved out of the "selected" listbox.

void movedUp (QListBoxItem *item)
 Emitted when an item is moved upwards in the "selected" listbox.

void movedDown (QListBoxItem *item)
 Emitted when an item is moved downwards in the "selected" listbox.


Public Member Functions

 KActionSelector (QWidget *parent=0, const char *name=0)
 ~KActionSelector ()
QListBoxavailableListBox ()
QListBoxselectedListBox ()
bool moveOnDoubleClick () const
void setMoveOnDoubleClick (bool enable)
 Sets moveOnDoubleClick to enable.

bool keyboardEnabled () const
void setKeyboardEnabled (bool enable)
 Sets the keyboard enabled depending on enable.

QString availableLabel () const
void setAvailableLabel (const QString &text)
 Sets the label for the available items listbox to text.

QString selectedLabel () const
void setSelectedLabel (const QString &text)
 Sets the label for the selected items listbox to text.

ButtonIconSize buttonIconSize () const
void setButtonIconSize (ButtonIconSize size)
 Sets the button icon size.

InsertionPolicy availableInsertionPolicy ()
void setAvailableInsertionPolicy (InsertionPolicy policy)
 Sets the insertion policy for the available listbox.

InsertionPolicy selectedInsertionPolicy ()
void setSelectedInsertionPolicy (InsertionPolicy policy)
 Sets the insertion policy for the selected listbox.

bool showUpDownButtons ()
void setShowUpDownButtons (bool show)
 Sets wheather the Up and Down buttons should be displayed according to show.

void setButtonIcon (const QString &icon, MoveButton button)
 Sets the pixmap of the button button to icon.

void setButtonIconSet (const QIconSet &iconset, MoveButton button)
 Sets the iconset for button button to iconset.

void setButtonTooltip (const QString &tip, MoveButton button)
 Sets the tooltip for the button button to tip.

void setButtonWhatsThis (const QString &text, MoveButton button)
 Sets the whatsthis help for button button to text.

void setButtonsEnabled ()
 Sets the enabled state of all moving buttons to reflect the current options.


Protected Member Functions

void keyPressEvent (QKeyEvent *)
 Reimplamented for internal reasons.

bool eventFilter (QObject *, QEvent *)
 Reimplemented for internal reasons.


Properties

bool moveOnDoubleClick
bool keyboardEnabled
QString availableLabel
QString selectedLabel
ButtonIconSize buttonIconSize
InsertionPolicy availableInsertionPolicy
InsertionPolicy selectedInsertionPolicy
bool showUpDownButtons

Private Slots

void buttonAddClicked ()
 Move selected item from available box to the selected box.

void buttonRemoveClicked ()
 Move selected item from selected box to available box.

void buttonUpClicked ()
 Move selected item in selected box upwards.

void buttonDownClicked ()
 Move seleted item in selected box downwards.

void itemDoubleClicked (QListBoxItem *item)
 Moves the item item to the other listbox if moveOnDoubleClick is enabled.

void slotCurrentChanged (QListBoxItem *)
 connected to both list boxes to set the buttons enabled


Private Member Functions

void moveItem (QListBoxItem *item)
 Move item item to the other listbox.

void loadIcons ()
 loads the icons for the move buttons.

int insertionIndex (QListBox *lb, InsertionPolicy policy)

Private Attributes

KActionSelectorPrivated
 Private data storage.


Detailed Description

A widget for selecting and arranging actions/objects This widget allows the user to select from a set of objects and arrange the order of the selected ones using two list boxes labeled "Available" and "Used" with horizontal arrows in between to move selected objects between the two, and vertical arrows on the right to arrange the order of the selected objects.

The widget moves objects to the other listbox when doubleclicked if the property moveOnDoubleClick is set to true (default). See moveOnDoubleClick() and setMoveOnDoubleClick().

The user control the widget using the keyboard if enabled (default), see keyboardEnabled.

Note that this may conflist with keyboard selection in the selected list box, if you set that to anything else than QListBox::Single (which is the default).

To use it, simply construct an instance and then add items to the two listboxes, available through lbAvailable() and lbSelected(). Whenever you want, you can retrieve the selected options using QListBox methods on lbSelected().

This way, you can use your own QListBoxItem class, allowing you to easily store object data in those.

When an item is moved to a listbox, it is placed below the current item of that listbox.

Standard arrow icons are used, but you can use icons of your own choice if desired, see setButtonIcon(). It is also possible to set tooltips and whatsthis help for the buttons. See setButtonTooltip() and setButtonWhatsThis().

To set whatsthis or tooltips for the listboxes, access them through availableListbox() and selectedListBox().

All the moving buttons are automatically set enabled as expected.

Signals are sent each time an item is moved, allowing you to follow the users actions if you need to. See addedToSelection(), removedFromSelection(), movedUp() and movedDown()

Author:
Anders Lund <anders@alweb.dk>

Definition at line 76 of file kactionselector.h.


Member Enumeration Documentation

enum KActionSelector::ButtonIconSize
 

This enum identifies the icon sizes, used for the move buttons.

The values correspond to the following pixel sizes:

  • SmallIcon - the return value of IconSize( KIcon::Small ), the user defined size of a small icon in KDE. This is the default setting.
  • Small - 16px
  • Medium - 22px
  • Large - 32px
  • XLarge - 48px
Enumeration values:
SmallIcon 
Small 
Medium 
Large 
XLarge 

Definition at line 122 of file kactionselector.h.

enum KActionSelector::InsertionPolicy
 

This enum defines policies for where to insert moved items in a listbox.

The following policies are currently defined:

  • BelowCurrent - The item is inserted below the listbox' currentItem() or at the end if there is no curent item.
  • Sorted - The listbox is sort()ed after one or more items are inserted.
  • AtTop - The item is inserted at index 0 in the listbox.
  • AtBottom - The item is inserted at the end of the listbox.
See also:
availableInsertionPolicy(), setAvailableInsertionPolicy(), selectedInsertionPolicy(), setSelectedInsertionPolicy().
Enumeration values:
BelowCurrent 
Sorted 
AtTop 
AtBottom 

Definition at line 142 of file kactionselector.h.

Referenced by moveItem().

enum KActionSelector::MoveButton
 

This enum indentifies the moving buttons.

Enumeration values:
ButtonAdd 
ButtonRemove 
ButtonUp 
ButtonDown 

Definition at line 105 of file kactionselector.h.


Constructor & Destructor Documentation

KActionSelector::KActionSelector QWidget parent = 0,
const char *  name = 0
 

Definition at line 49 of file kactionselector.cpp.

References KActionSelectorPrivate::addIcon, KActionSelectorPrivate::availableInsertionPolicy, KActionSelectorPrivate::availableListBox, BelowCurrent, KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, buttonAddClicked(), buttonDownClicked(), buttonRemoveClicked(), buttonUpClicked(), d, KActionSelectorPrivate::downIcon, KActionSelectorPrivate::iconSize, itemDoubleClicked(), KActionSelector(), KActionSelectorPrivate::keyboardEnabled, KActionSelectorPrivate::lAvailable, loadIcons(), KActionSelectorPrivate::lSelected, KActionSelectorPrivate::moveOnDoubleClick, KActionSelectorPrivate::removeIcon, KActionSelectorPrivate::selectedInsertionPolicy, KActionSelectorPrivate::selectedListBox, KActionSelectorPrivate::showUpDownButtons, slotCurrentChanged(), SmallIcon, Sorted, and KActionSelectorPrivate::upIcon.

Referenced by KActionSelector().

KActionSelector::~KActionSelector  ) 
 

Definition at line 118 of file kactionselector.cpp.


Member Function Documentation

void KActionSelector::added QListBoxItem item  )  [signal]
 

Emitted when an item is moved to the "selected" listbox.

Referenced by buttonAddClicked(), and moveItem().

InsertionPolicy KActionSelector::availableInsertionPolicy  ) 
 

Returns:
The current insertion policy for the available listbox. The default policy for the available listbox is Sorted. See also InsertionPolicy, setAvailableInsertionPolicy().

QString KActionSelector::availableLabel  )  const
 

Returns:
The text of the label for the available items listbox.

QListBox * KActionSelector::availableListBox  ) 
 

Returns:
The QListBox holding the available actions

Definition at line 126 of file kactionselector.cpp.

References KActionSelectorPrivate::availableListBox, and d.

Referenced by KFSConfigPage::init().

void KActionSelector::buttonAddClicked  )  [private, slot]
 

Move selected item from available box to the selected box.

Definition at line 414 of file kactionselector.cpp.

References added(), KActionSelectorPrivate::availableListBox, d, insertionIndex(), KActionSelectorPrivate::selectedInsertionPolicy, KActionSelectorPrivate::selectedListBox, and Sorted.

Referenced by eventFilter(), KActionSelector(), and keyPressEvent().

void KActionSelector::buttonDownClicked  )  [private, slot]
 

Move seleted item in selected box downwards.

Definition at line 461 of file kactionselector.cpp.

References d, movedDown(), and KActionSelectorPrivate::selectedListBox.

Referenced by eventFilter(), KActionSelector(), and keyPressEvent().

ButtonIconSize KActionSelector::buttonIconSize  )  const
 

Returns:
the current ButtonIconSize.

void KActionSelector::buttonRemoveClicked  )  [private, slot]
 

Move selected item from selected box to available box.

Definition at line 432 of file kactionselector.cpp.

References KActionSelectorPrivate::availableInsertionPolicy, KActionSelectorPrivate::availableListBox, d, insertionIndex(), removed(), KActionSelectorPrivate::selectedListBox, and Sorted.

Referenced by eventFilter(), KActionSelector(), and keyPressEvent().

void KActionSelector::buttonUpClicked  )  [private, slot]
 

Move selected item in selected box upwards.

Definition at line 450 of file kactionselector.cpp.

References d, movedUp(), and KActionSelectorPrivate::selectedListBox.

Referenced by eventFilter(), KActionSelector(), and keyPressEvent().

bool KActionSelector::eventFilter QObject ,
QEvent
[protected]
 

Reimplemented for internal reasons.

Definition at line 367 of file kactionselector.cpp.

References buttonAddClicked(), buttonDownClicked(), buttonRemoveClicked(), buttonUpClicked(), d, eventFilter(), KActionSelectorPrivate::keyboardEnabled, and moveItem().

Referenced by eventFilter().

int KActionSelector::insertionIndex QListBox lb,
InsertionPolicy  policy
[private]
 

Returns:
the index to insert an item into listbox lb, given InsertionPolicy policy.
Note that if policy is Sorted, this will return -1. Sort the listbox after inserting the item in that case.

Definition at line 517 of file kactionselector.cpp.

References AtTop, BelowCurrent, and insertionIndex().

Referenced by buttonAddClicked(), buttonRemoveClicked(), insertionIndex(), and moveItem().

void KActionSelector::itemDoubleClicked QListBoxItem item  )  [private, slot]
 

Moves the item item to the other listbox if moveOnDoubleClick is enabled.

Definition at line 472 of file kactionselector.cpp.

References d, itemDoubleClicked(), moveItem(), and KActionSelectorPrivate::moveOnDoubleClick.

Referenced by itemDoubleClicked(), and KActionSelector().

bool KActionSelector::keyboardEnabled  )  const
 

Returns:
Weather keyboard control is enabled.
When Keyboard control is enabled, the widget will react to the following keyboard actions:
  • CTRL + Right - simulate clicking the add button
  • CTRL + Left - simulate clicking the remove button
  • CTRL + Up - simulate clicking the up button
  • CTRL + Down - simulate clicking the down button
Additionally, pressing RETURN or ENTER on one of the list boxes will cause the current item of that listbox to be moved to the other listbox.

The keyboard actions are enabled by default.

See also:
setKeyboardEnabled()

void KActionSelector::keyPressEvent QKeyEvent  )  [protected]
 

Reimplamented for internal reasons.

Definition at line 341 of file kactionselector.cpp.

References buttonAddClicked(), buttonDownClicked(), buttonRemoveClicked(), buttonUpClicked(), d, KActionSelectorPrivate::keyboardEnabled, and keyPressEvent().

Referenced by keyPressEvent().

void KActionSelector::loadIcons  )  [private]
 

loads the icons for the move buttons.

Definition at line 482 of file kactionselector.cpp.

References KActionSelectorPrivate::addIcon, KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, d, KActionSelectorPrivate::downIcon, KActionSelectorPrivate::iconSize, KActionSelectorPrivate::removeIcon, and KActionSelectorPrivate::upIcon.

Referenced by KActionSelector(), and setButtonIconSize().

void KActionSelector::movedDown QListBoxItem item  )  [signal]
 

Emitted when an item is moved downwards in the "selected" listbox.

Referenced by buttonDownClicked().

void KActionSelector::movedUp QListBoxItem item  )  [signal]
 

Emitted when an item is moved upwards in the "selected" listbox.

Referenced by buttonUpClicked().

void KActionSelector::moveItem QListBoxItem item  )  [private]
 

Move item item to the other listbox.

Definition at line 490 of file kactionselector.cpp.

References added(), KActionSelectorPrivate::availableInsertionPolicy, KActionSelectorPrivate::availableListBox, d, insertionIndex(), InsertionPolicy, moveItem(), removed(), KActionSelectorPrivate::selectedInsertionPolicy, KActionSelectorPrivate::selectedListBox, and Sorted.

Referenced by eventFilter(), itemDoubleClicked(), and moveItem().

bool KActionSelector::moveOnDoubleClick  )  const
 

Returns:
Wheather moveOnDoubleClcik is enabled.
If enabled, an item in any listbox will be moved to the other one whenever doubleclicked.
See also:
setMoveOnDoubleClick()

void KActionSelector::polish  )  [slot]
 

Reimplemented for internal reasons.

(calls setButtonsEnabled())

Definition at line 333 of file kactionselector.cpp.

References setButtonsEnabled().

void KActionSelector::removed QListBoxItem item  )  [signal]
 

Emitted when an item is moved out of the "selected" listbox.

Referenced by buttonRemoveClicked(), and moveItem().

InsertionPolicy KActionSelector::selectedInsertionPolicy  ) 
 

Returns:
The current insertion policy for the selected listbox. The default policy for the selected listbox is BelowCurrent. See also InsertionPolicy, setSelectedInsertionPolicy().

QString KActionSelector::selectedLabel  )  const
 

Returns:
the label of the selected items listbox.

QListBox * KActionSelector::selectedListBox  ) 
 

Returns:
The QListBox holding the selected actions

Definition at line 131 of file kactionselector.cpp.

References d, and KActionSelectorPrivate::selectedListBox.

Referenced by KFSConfigPage::apply(), and KFSConfigPage::init().

void KActionSelector::setAvailableInsertionPolicy InsertionPolicy  policy  ) 
 

Sets the insertion policy for the available listbox.

See also InsertionPolicy, availableInsertionPolicy().

Definition at line 294 of file kactionselector.cpp.

References KActionSelectorPrivate::availableInsertionPolicy, d, and setAvailableInsertionPolicy().

Referenced by setAvailableInsertionPolicy().

void KActionSelector::setAvailableLabel const QString text  ) 
 

Sets the label for the available items listbox to text.

Note that this label has the listbox as its buddy, so that if you have a single ampersand in the text, the following character will become the accellerator to focus te listbox.

Definition at line 262 of file kactionselector.cpp.

References d, KActionSelectorPrivate::lAvailable, setAvailableLabel(), and text().

Referenced by KFSConfigPage::KFSConfigPage(), and setAvailableLabel().

void KActionSelector::setButtonIcon const QString icon,
MoveButton  button
 

Sets the pixmap of the button button to icon.

It calls SmallIconSet(pm) to generate the icon set.

Definition at line 136 of file kactionselector.cpp.

References KActionSelectorPrivate::addIcon, KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, ButtonAdd, ButtonDown, ButtonRemove, ButtonUp, d, KActionSelectorPrivate::downIcon, endl(), KActionSelectorPrivate::iconSize, kdDebug(), KActionSelectorPrivate::removeIcon, setButtonIcon(), and KActionSelectorPrivate::upIcon.

Referenced by setButtonIcon().

void KActionSelector::setButtonIconSet const QIconSet iconset,
MoveButton  button
 

Sets the iconset for button button to iconset.

You can use this method to et a costum icon set. Either created by QIconSet, or use the application instance of KIconLoader (recommended).

Definition at line 161 of file kactionselector.cpp.

References KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, ButtonAdd, ButtonDown, ButtonRemove, ButtonUp, d, endl(), kdDebug(), and setButtonIconSet().

Referenced by setButtonIconSet().

void KActionSelector::setButtonIconSize ButtonIconSize  size  ) 
 

Sets the button icon size.

See ButtonIconSize for the possible values and their pixel meaning.

Definition at line 282 of file kactionselector.cpp.

References d, KActionSelectorPrivate::iconSize, loadIcons(), setButtonIconSize(), and size.

Referenced by setButtonIconSize().

void KActionSelector::setButtonsEnabled  ) 
 

Sets the enabled state of all moving buttons to reflect the current options.

Be sure to call this if you add or removes items to either listbox after the widget is show()n

Definition at line 224 of file kactionselector.cpp.

References KActionSelectorPrivate::availableListBox, KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, d, and KActionSelectorPrivate::selectedListBox.

Referenced by polish(), and slotCurrentChanged().

void KActionSelector::setButtonTooltip const QString tip,
MoveButton  button
 

Sets the tooltip for the button button to tip.

Definition at line 182 of file kactionselector.cpp.

References KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, ButtonAdd, ButtonDown, ButtonRemove, ButtonUp, d, endl(), kdDebug(), and setButtonTooltip().

Referenced by setButtonTooltip().

void KActionSelector::setButtonWhatsThis const QString text,
MoveButton  button
 

Sets the whatsthis help for button button to text.

Definition at line 203 of file kactionselector.cpp.

References KActionSelectorPrivate::btnAdd, KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnRemove, KActionSelectorPrivate::btnUp, ButtonAdd, ButtonDown, ButtonRemove, ButtonUp, d, endl(), kdDebug(), setButtonWhatsThis(), and text().

Referenced by setButtonWhatsThis().

void KActionSelector::setKeyboardEnabled bool  enable  ) 
 

Sets the keyboard enabled depending on enable.

See also:
keyboardEnabled()

Definition at line 252 of file kactionselector.cpp.

References d, KActionSelectorPrivate::keyboardEnabled, and setKeyboardEnabled().

Referenced by setKeyboardEnabled().

void KActionSelector::setMoveOnDoubleClick bool  enable  ) 
 

Sets moveOnDoubleClick to enable.

See also:
moveOnDoubleClick()

Definition at line 242 of file kactionselector.cpp.

References d, KActionSelectorPrivate::moveOnDoubleClick, and setMoveOnDoubleClick().

Referenced by setMoveOnDoubleClick().

void KActionSelector::setSelectedInsertionPolicy InsertionPolicy  policy  ) 
 

Sets the insertion policy for the selected listbox.

See also InsertionPolicy, selectedInsertionPolicy().

Definition at line 304 of file kactionselector.cpp.

References d, KActionSelectorPrivate::selectedInsertionPolicy, and setSelectedInsertionPolicy().

Referenced by setSelectedInsertionPolicy().

void KActionSelector::setSelectedLabel const QString text  ) 
 

Sets the label for the selected items listbox to text.

Note that this label has the listbox as its buddy, so that if you have a single ampersand in the text, the following character will become the accellerator to focus te listbox.

Definition at line 272 of file kactionselector.cpp.

References d, KActionSelectorPrivate::lSelected, setSelectedLabel(), and text().

Referenced by KFSConfigPage::KFSConfigPage(), and setSelectedLabel().

void KActionSelector::setShowUpDownButtons bool  show  ) 
 

Sets wheather the Up and Down buttons should be displayed according to show.

Definition at line 314 of file kactionselector.cpp.

References KActionSelectorPrivate::btnDown, KActionSelectorPrivate::btnUp, d, setShowUpDownButtons(), and KActionSelectorPrivate::showUpDownButtons.

Referenced by setShowUpDownButtons().

bool KActionSelector::showUpDownButtons  ) 
 

Returns:
wheather the Up and Down buttons should be displayed.

void KActionSelector::slotCurrentChanged QListBoxItem  )  [inline, private, slot]
 

connected to both list boxes to set the buttons enabled

Definition at line 370 of file kactionselector.h.

References setButtonsEnabled().

Referenced by KActionSelector().


Member Data Documentation

KActionSelectorPrivate* KActionSelector::d [private]
 

Private data storage.

Definition at line 396 of file kactionselector.h.

Referenced by availableListBox(), buttonAddClicked(), buttonDownClicked(), buttonRemoveClicked(), buttonUpClicked(), eventFilter(), itemDoubleClicked(), KActionSelector(), keyPressEvent(), loadIcons(), moveItem(), selectedListBox(), setAvailableInsertionPolicy(), setAvailableLabel(), setButtonIcon(), setButtonIconSet(), setButtonIconSize(), setButtonsEnabled(), setButtonTooltip(), setButtonWhatsThis(), setKeyboardEnabled(), setMoveOnDoubleClick(), setSelectedInsertionPolicy(), setSelectedLabel(), and setShowUpDownButtons().


Property Documentation

KActionSelector::InsertionPolicy KActionSelector::availableInsertionPolicy [read, write]
 

Definition at line 84 of file kactionselector.h.

QString KActionSelector::availableLabel [read, write]
 

Definition at line 81 of file kactionselector.h.

KActionSelector::ButtonIconSize KActionSelector::buttonIconSize [read, write]
 

Definition at line 83 of file kactionselector.h.

bool KActionSelector::keyboardEnabled [read, write]
 

Definition at line 80 of file kactionselector.h.

bool KActionSelector::moveOnDoubleClick [read, write]
 

Definition at line 79 of file kactionselector.h.

KActionSelector::InsertionPolicy KActionSelector::selectedInsertionPolicy [read, write]
 

Definition at line 85 of file kactionselector.h.

QString KActionSelector::selectedLabel [read, write]
 

Definition at line 82 of file kactionselector.h.

bool KActionSelector::showUpDownButtons [read, write]
 

Definition at line 86 of file kactionselector.h.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for KDevelop Version 3.0.4.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Wed Oct 6 17:39:18 2004 by doxygen 1.3.7 written by Dimitri van Heesch, © 1997-2003