kpilot/kpilot

ListCategorizer Class Reference

#include <listCat.h>

Inheritance diagram for ListCategorizer:

KListView List of all members.

Detailed Description

This Widget extends KListView for a particular purpose: sorting some items into some bins.

This can be useful for putting items in an enabled / disabled state, or into categories, or configuring toolbars (putting icons onto toolbars).

You can use all of the standard KListView signals and slots. You may in particular want to change the names of the columns, for example:

 ListCategorizer *lc = new ListCategorizer(this,colors);
 lc->setColumnText(0,i18n("Color"));
 lc->setColumnText(1,i18n("HTML"));
 QListViewItem *stdKDE = lc->addCategory(i18n("Standard KDE"));
 (void) new QListViewItem(stdKDE,i18n("red"),"#FF0000");
to set sensible column headers for a list of colors and their HTML equivalents (although why you would want to categorize colors is beyond me).

Version:
Id
listCat.h 437980 2005-07-23 19:53:57Z kainhofe

Definition at line 64 of file listCat.h.


Public Member Functions

 ListCategorizer (QWidget *parent, const char *name=0)
 ListCategorizer (const QStringList &categories, bool startOpen, QWidget *parent, const char *name=0)
void addCategories (const QStringList &)
QListViewItem * addCategory (const QString &name, const QString &description=QString::null)
QStringList categories () const
QListViewItem * addItem (const QString &category, const QString &name, const QString &description=QString::null)
QStringList items (const QString &category, int column=0) const
QListViewItem * findCategory (const QString &categoryName) const
QStringList listSiblings (const QListViewItem *p, int column=0) const
bool startOpen () const
void setStartOpen (bool b)

Protected Member Functions

virtual bool acceptDrag (QDropEvent *event) const
virtual void startDrag ()
virtual void contentsDropEvent (QDropEvent *)

Constructor & Destructor Documentation

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

Constructor.

This creates a new empty ListCategorizer with startOpen set to false. The parameters parent and name are the usual Qt ones.

Definition at line 42 of file listCat.cc.

ListCategorizer::ListCategorizer const QStringList &  categories,
bool  startOpen,
QWidget *  parent,
const char *  name = 0
 

Constructor.

This creates a ListCategorizer with the given categories already inserted. In addition, this constructor lets you specify whether or not startOpen is set.

Definition at line 52 of file listCat.cc.


Member Function Documentation

bool ListCategorizer::acceptDrag QDropEvent *  event  )  const [protected, virtual]
 

Reimplemented to prevent categories from being dragged.

Reimplemented from KListView.

Definition at line 97 of file listCat.cc.

void ListCategorizer::addCategories const QStringList &   ) 
 

Add a list of categories to the ListCategorizer.

All the categories are added without descriptions; use addCategory on a per-category basis for that.

Definition at line 63 of file listCat.cc.

QListViewItem * ListCategorizer::addCategory const QString &  name,
const QString &  description = QString::null
 

Add a category with name name and optional description.

This can be useful if you want either a description for the category or want to refer to this category in the future without using findCategory().

Returns:
the QListViewItem created for the category

Definition at line 74 of file listCat.cc.

QListViewItem * ListCategorizer::addItem const QString &  category,
const QString &  name,
const QString &  description = QString::null
 

Add a single item to the category named category, with name name and description set to description.

This might be a convenience function, but it's probably more convenient to just use QListViewItem's constructor. That way you can also hide more data in the remaining columns.

Definition at line 178 of file listCat.cc.

QStringList ListCategorizer::categories  )  const [inline]
 

Returns the list of names of the categories in the ListCategorizer.

Definition at line 111 of file listCat.h.

void ListCategorizer::contentsDropEvent QDropEvent *   )  [protected, virtual]
 

Reimplemented to prevent categories from being dragged.

Reimplemented from KListView.

Definition at line 110 of file listCat.cc.

QListViewItem * ListCategorizer::findCategory const QString &  categoryName  )  const
 

Given a category categoryName return the QListViewItem that represents that category.

Probably a useless function, since just remembering the pointer addCategory gives you is faster and uses hardly any memory.

Definition at line 163 of file listCat.cc.

QStringList ListCategorizer::items const QString &  category,
int  column = 0
const [inline]
 

Returns the list of strings in column column under category category.

You can do this to get, for example the names of all the items categorized under a given category, or, more usefully, set column to something other that 0 (name) or 1 (description) to return the QStringList hidden in the non-visible columns.

Definition at line 135 of file listCat.h.

QStringList ListCategorizer::listSiblings const QListViewItem *  p,
int  column = 0
const
 

Return the list of strings in column column of all siblings of the given item p.

If you remembered a pointer to a category, you can use

 QStringList l = lc->listSiblings(stdKDE->firstChild(),2);
to get the list of strings in hidden column 2 under the category you remembered.

Definition at line 149 of file listCat.cc.

void ListCategorizer::setStartOpen bool  b  )  [inline]
 

Enable categories being inserted in an open state.

It is disabled by default but may be set from the constructor.

Definition at line 171 of file listCat.h.

void ListCategorizer::startDrag  )  [protected, virtual]
 

Reimplemented to prevent categories from being dragged.

Reimplemented from KListView.

Definition at line 138 of file listCat.cc.

bool ListCategorizer::startOpen  )  const [inline]
 

Returns:
whether new categories are inserted in an open state or not.
See also:
setStartOpen

Definition at line 165 of file listCat.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys