• Skip to content
  • Skip to link menu
KDE 4.1 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

KDEUI

KActionSelector Class Reference

#include <kactionselector.h>

Inheritance diagram for KActionSelector:

Inheritance graph
[legend]

List of all members.


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 QListWidget::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 QListWidget methods on lbSelected().

This way, you can use your own QListWidgetItem 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 availableListWidget() and selectedListWidget().

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 78 of file kactionselector.h.


Public Types

enum  InsertionPolicy { BelowCurrent, Sorted, AtTop, AtBottom }
enum  MoveButton { ButtonAdd, ButtonRemove, ButtonUp, ButtonDown }

Public Slots

void polish ()

Signals

void added (QListWidgetItem *item)
void movedDown (QListWidgetItem *item)
void movedUp (QListWidgetItem *item)
void removed (QListWidgetItem *item)

Public Member Functions

InsertionPolicy availableInsertionPolicy () const
QString availableLabel () const
QListWidget * availableListWidget () const
 KActionSelector (QWidget *parent=0)
bool keyboardEnabled () const
bool moveOnDoubleClick () const
InsertionPolicy selectedInsertionPolicy () const
QString selectedLabel () const
QListWidget * selectedListWidget () const
void setAvailableInsertionPolicy (InsertionPolicy policy)
void setAvailableLabel (const QString &text)
void setButtonIcon (const QString &icon, MoveButton button)
void setButtonIconSet (const QIcon &iconset, MoveButton button)
void setButtonsEnabled ()
void setButtonTooltip (const QString &tip, MoveButton button)
void setButtonWhatsThis (const QString &text, MoveButton button)
void setKeyboardEnabled (bool enable)
void setMoveOnDoubleClick (bool enable)
void setSelectedInsertionPolicy (InsertionPolicy policy)
void setSelectedLabel (const QString &text)
void setShowUpDownButtons (bool show)
bool showUpDownButtons () const
 ~KActionSelector ()

Protected Member Functions

bool eventFilter (QObject *, QEvent *)
void keyPressEvent (QKeyEvent *)

Properties

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

Member Enumeration Documentation

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().
Enumerator:
BelowCurrent 
Sorted 
AtTop 
AtBottom 

Definition at line 125 of file kactionselector.h.

enum KActionSelector::MoveButton

This enum indentifies the moving buttons.

Enumerator:
ButtonAdd 
ButtonRemove 
ButtonUp 
ButtonDown 

Definition at line 106 of file kactionselector.h.


Constructor & Destructor Documentation

KActionSelector::KActionSelector ( QWidget *  parent = 0  )  [explicit]

Definition at line 77 of file kactionselector.cpp.

KActionSelector::~KActionSelector (  ) 

Definition at line 149 of file kactionselector.cpp.


Member Function Documentation

void KActionSelector::added ( QListWidgetItem *  item  )  [signal]

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

InsertionPolicy KActionSelector::availableInsertionPolicy (  )  const

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.

QListWidget * KActionSelector::availableListWidget (  )  const

Returns:
The QListWidget holding the available actions

Definition at line 158 of file kactionselector.cpp.

bool KActionSelector::eventFilter ( QObject *  o,
QEvent *  e 
) [protected]

Reimplemented for internal reasons.

Definition at line 391 of file kactionselector.cpp.

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 *  e  )  [protected]

Reimplamented for internal reasons.

Reimplemented from QWidget.

Definition at line 365 of file kactionselector.cpp.

void KActionSelector::movedDown ( QListWidgetItem *  item  )  [signal]

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

void KActionSelector::movedUp ( QListWidgetItem *  item  )  [signal]

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

bool KActionSelector::moveOnDoubleClick (  )  const

Returns:
Whether moveOnDoubleClcik is enabled.

If enabled, an item in any listbox will be moved to the other one whenever doubleclicked. This feature is enabled by default.

See also:
setMoveOnDoubleClick()

void KActionSelector::polish (  )  [slot]

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

Reimplemented for internal reasons. (calls setButtonsEnabled())

Reimplemented from QWidget.

Definition at line 357 of file kactionselector.cpp.

void KActionSelector::removed ( QListWidgetItem *  item  )  [signal]

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

InsertionPolicy KActionSelector::selectedInsertionPolicy (  )  const

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.

QListWidget * KActionSelector::selectedListWidget (  )  const

Returns:
The QListWidget holding the selected actions

Definition at line 163 of file kactionselector.cpp.

void KActionSelector::setAvailableInsertionPolicy ( InsertionPolicy  policy  ) 

Sets the insertion policy for the available listbox.

See also InsertionPolicy, availableInsertionPolicy().

Definition at line 318 of file kactionselector.cpp.

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 298 of file kactionselector.cpp.

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 168 of file kactionselector.cpp.

void KActionSelector::setButtonIconSet ( const QIcon &  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 193 of file kactionselector.cpp.

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 260 of file kactionselector.cpp.

void KActionSelector::setButtonTooltip ( const QString &  tip,
MoveButton  button 
)

Sets the tooltip for the button button to tip.

Definition at line 214 of file kactionselector.cpp.

void KActionSelector::setButtonWhatsThis ( const QString &  text,
MoveButton  button 
)

Sets the whatsthis help for button button to text.

Definition at line 239 of file kactionselector.cpp.

void KActionSelector::setKeyboardEnabled ( bool  enable  ) 

Sets the keyboard enabled depending on enable.

See also:
keyboardEnabled()

Definition at line 288 of file kactionselector.cpp.

void KActionSelector::setMoveOnDoubleClick ( bool  enable  ) 

Sets moveOnDoubleClick to enable.

See also:
moveOnDoubleClick()

Definition at line 278 of file kactionselector.cpp.

void KActionSelector::setSelectedInsertionPolicy ( InsertionPolicy  policy  ) 

Sets the insertion policy for the selected listbox.

See also InsertionPolicy, selectedInsertionPolicy().

Definition at line 328 of file kactionselector.cpp.

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 308 of file kactionselector.cpp.

void KActionSelector::setShowUpDownButtons ( bool  show  ) 

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

Definition at line 338 of file kactionselector.cpp.

bool KActionSelector::showUpDownButtons (  )  const

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


Property Documentation

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

Definition at line 85 of file kactionselector.h.

QString KActionSelector::availableLabel [read, write]

Definition at line 83 of file kactionselector.h.

bool KActionSelector::keyboardEnabled [read, write]

Definition at line 82 of file kactionselector.h.

bool KActionSelector::moveOnDoubleClick [read, write]

Definition at line 81 of file kactionselector.h.

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

Definition at line 86 of file kactionselector.h.

QString KActionSelector::selectedLabel [read, write]

Definition at line 84 of file kactionselector.h.

bool KActionSelector::showUpDownButtons [read, write]

Definition at line 87 of file kactionselector.h.


The documentation for this class was generated from the following files:
  • kactionselector.h
  • kactionselector.cpp

KDEUI

Skip menu "KDEUI"
  • Main Page
  • Modules
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • KIO
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • Kross
  • KUtils
  • Nepomuk
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal