You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tqt3/doc/html/tqlistview-h.html

651 lines
22 KiB

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- /home/espenr/tmp/qt-3.3.8-espenr-2499/qt-x11-free-3.3.8/include/tqlistview.h:1 -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>tqlistview.h Include File</title>
<style type="text/css"><!--
fn { margin-left: 1cm; text-indent: -1cm; }
a:link { color: #004faf; text-decoration: none }
a:visited { color: #672967; text-decoration: none }
body { background: #ffffff; color: black; }
--></style>
</head>
<body>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
<tr bgcolor="#E5E5E5">
<td valign=center>
<a href="index.html">
<font color="#004faf">Home</font></a>
| <a href="classes.html">
<font color="#004faf">All&nbsp;Classes</font></a>
| <a href="mainclasses.html">
<font color="#004faf">Main&nbsp;Classes</font></a>
| <a href="annotated.html">
<font color="#004faf">Annotated</font></a>
| <a href="groups.html">
<font color="#004faf">Grouped&nbsp;Classes</font></a>
| <a href="functions.html">
<font color="#004faf">Functions</font></a>
</td>
<td align="right" valign="center"><img src="logo32.png" align="right" width="64" height="32" border="0"></td></tr></table><h1 align=center>tqlistview.h</h1>
<p>This is the verbatim text of the tqlistview.h include file. It is provided only for illustration; the copyright remains with Trolltech.
<hr>
<pre>
/****************************************************************************
** $Id: qt/tqlistview.h 3.3.8 edited Jan 11 14:38 $
**
** Definition of TQListView widget class
**
** Created : 970809
**
** Copyright (C) 1992-2007 Trolltech ASA. All rights reserved.
**
** This file is part of the widgets module of the TQt GUI Toolkit.
**
** This file may be used under the terms of the GNU General Public
** License versions 2.0 or 3.0 as published by the Free Software
** Foundation and appearing in the file LICENSE.GPL included in the
** packaging of this file. Alternatively you may (at your option) use any
** later version of the GNU General Public License if such license has
** been publicly approved by Trolltech ASA (or its successors, if any)
** and the KDE Free TQt Foundation.
**
** Please review the following information to ensure GNU General
** Public Licensing requirements will be met:
** http://trolltech.com/products/qt/licenses/licensing/opensource/.
** If you are unsure which license is appropriate for your use, please
** review the following information:
** http://trolltech.com/products/qt/licenses/licensing/licensingoverview
** or contact the sales department at sales@trolltech.com.
**
** This file may be used under the terms of the Q Public License as
** defined by Trolltech ASA and appearing in the file LICENSE.TQPL
** included in the packaging of this file. Licensees holding valid TQt
** Commercial licenses may use this file in accordance with the TQt
** Commercial License Agreement provided with the Software.
**
** This file is provided "AS IS" with NO WARRANTY OF ANY KIND,
** INCLUDING THE WARRANTIES OF DESIGN, MERCHANTABILITY AND FITNESS FOR
** A PARTICULAR PURPOSE. Trolltech reserves all rights not granted
** herein.
**
**********************************************************************/
#ifndef TQLISTVIEW_H
#define TQLISTVIEW_H
#ifndef QT_H
#include "tqscrollview.h"
#endif // QT_H
#ifndef TQT_NO_LISTVIEW
class TQPixmap;
class TQFont;
class TQHeader;
class TQIconSet;
class TQListView;
struct TQListViewPrivate;
struct TQCheckListItemPrivate;
class TQListViewItemIterator;
struct TQListViewItemIteratorPrivate;
class TQDragObject;
class TQMimeSource;
class TQLineEdit;
class TQListViewToolTip;
class TQ_EXPORT TQListViewItem : public TQt
{
friend class TQListViewItemIterator;
friend class TQListViewToolTip;
public:
TQListViewItem( TQListView * parent );
TQListViewItem( TQListViewItem * parent );
TQListViewItem( TQListView * parent, TQListViewItem * after );
TQListViewItem( TQListViewItem * parent, TQListViewItem * after );
TQListViewItem( TQListView * parent,
TQString, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null );
TQListViewItem( TQListViewItem * parent,
TQString, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null );
TQListViewItem( TQListView * parent, TQListViewItem * after,
TQString, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null );
TQListViewItem( TQListViewItem * parent, TQListViewItem * after,
TQString, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null,
TQString = TQString::null, TQString = TQString::null );
virtual ~TQListViewItem();
virtual void insertItem( TQListViewItem * );
virtual void takeItem( TQListViewItem * );
virtual void removeItem( TQListViewItem *item ) { takeItem( item ); } //obsolete, use takeItem instead
int height() const;
virtual void invalidateHeight();
int totalHeight() const;
virtual int width( const TQFontMetrics&amp;,
const TQListView*, int column) const;
void widthChanged(int column=-1) const;
int depth() const;
virtual void setText( int, const TQString &amp;);
virtual TQString text( int ) const;
virtual void setPixmap( int, const TQPixmap &amp; );
virtual const TQPixmap * pixmap( int ) const;
virtual TQString key( int, bool ) const;
virtual int compare( TQListViewItem *i, int col, bool ) const;
virtual void sortChildItems( int, bool );
int childCount() const { return nChildren; }
bool isOpen() const { return open; }
virtual void setOpen( bool );
virtual void setup();
virtual void setSelected( bool );
bool isSelected() const { return selected; }
virtual void paintCell( TQPainter *, const TQColorGroup &amp; cg,
int column, int width, int alignment );
virtual void paintBranches( TQPainter * p, const TQColorGroup &amp; cg,
int w, int y, int h );
virtual void paintFocus( TQPainter *, const TQColorGroup &amp; cg,
const TQRect &amp; r );
TQListViewItem * firstChild() const;
TQListViewItem * nextSibling() const { return siblingItem; }
TQListViewItem * parent() const;
TQListViewItem * itemAbove();
TQListViewItem * itemBelow();
int itemPos() const;
TQListView *listView() const;
virtual void setSelectable( bool enable );
bool isSelectable() const { return selectable &amp;&amp; enabled; }
virtual void setExpandable( bool );
bool isExpandable() const { return expandable; }
void repaint() const;
virtual void sort();
void moveItem( TQListViewItem *after );
virtual void setDragEnabled( bool allow );
virtual void setDropEnabled( bool allow );
bool dragEnabled() const;
bool dropEnabled() const;
virtual bool acceptDrop( const TQMimeSource *mime ) const;
void setVisible( bool b );
bool isVisible() const;
virtual void setRenameEnabled( int col, bool b );
bool renameEnabled( int col ) const;
virtual void startRename( int col );
virtual void setEnabled( bool b );
bool isEnabled() const;
virtual int rtti() const;
// ### TQt 4: make const or better use an enum
static int RTTI;
virtual void setMultiLinesEnabled( bool b );
bool multiLinesEnabled() const;
protected:
virtual void enforceSortOrder() const;
virtual void setHeight( int );
virtual void activate();
bool activatedPos( TQPoint &amp; );
#ifndef TQT_NO_DRAGANDDROP
virtual void dropped( TQDropEvent *e );
#endif
virtual void dragEntered();
virtual void dragLeft();
virtual void okRename( int col );
virtual void cancelRename( int col );
void ignoreDoubleClick();
private:
void init();
void moveToJustAfter( TQListViewItem * );
void enforceSortOrderBackToRoot();
void removeRenameBox();
int ownHeight;
int maybeTotalHeight;
int nChildren;
uint lsc: 14;
uint lso: 1;
uint open : 1;
uint selected : 1;
uint selectable: 1;
uint configured: 1;
uint expandable: 1;
uint is_root: 1;
uint allow_drag : 1;
uint allow_drop : 1;
uint visible : 1;
uint enabled : 1;
uint mlenabled : 1;
TQListViewItem * parentItem;
TQListViewItem * siblingItem;
TQListViewItem * childItem;
TQLineEdit *renameBox;
int renameCol;
void * columns;
friend class TQListView;
};
class TQCheckListItem;
class TQ_EXPORT TQListView: public TQScrollView
{
friend class TQListViewItemIterator;
friend class TQListViewItem;
friend class TQCheckListItem;
friend class TQListViewToolTip;
TQ_OBJECT
TQ_ENUMS( SelectionMode ResizeMode RenameAction )
TQ_PROPERTY( int columns READ columns )
TQ_PROPERTY( bool multiSelection READ isMultiSelection WRITE setMultiSelection DESIGNABLE false )
TQ_PROPERTY( SelectionMode selectionMode READ selectionMode WRITE setSelectionMode )
TQ_PROPERTY( int childCount READ childCount )
TQ_PROPERTY( bool allColumnsShowFocus READ allColumnsShowFocus WRITE setAllColumnsShowFocus )
TQ_PROPERTY( bool showSortIndicator READ showSortIndicator WRITE setShowSortIndicator )
TQ_PROPERTY( int itemMargin READ itemMargin WRITE setItemMargin )
TQ_PROPERTY( bool rootIsDecorated READ rootIsDecorated WRITE setRootIsDecorated )
TQ_PROPERTY( bool showToolTips READ showToolTips WRITE setShowToolTips )
TQ_PROPERTY( ResizeMode resizeMode READ resizeMode WRITE setResizeMode )
TQ_PROPERTY( int treeStepSize READ treeStepSize WRITE setTreeStepSize )
TQ_PROPERTY( RenameAction defaultRenameAction READ defaultRenameAction WRITE setDefaultRenameAction )
public:
TQListView( TQWidget* parent=0, const char* name=0, WFlags f = 0 );
~TQListView();
int treeStepSize() const;
virtual void setTreeStepSize( int );
virtual void insertItem( TQListViewItem * );
virtual void takeItem( TQListViewItem * );
virtual void removeItem( TQListViewItem *item ) { takeItem( item ); } // obsolete, use takeItem instead
TQHeader * header() const;
virtual int addColumn( const TQString &amp;label, int size = -1);
virtual int addColumn( const TQIconSet&amp; iconset, const TQString &amp;label, int size = -1);
virtual void removeColumn( int index );
virtual void setColumnText( int column, const TQString &amp;label );
virtual void setColumnText( int column, const TQIconSet&amp; iconset, const TQString &amp;label );
TQString columnText( int column ) const;
virtual void setColumnWidth( int column, int width );
int columnWidth( int column ) const;
enum WidthMode { Manual, Maximum };
virtual void setColumnWidthMode( int column, WidthMode );
WidthMode columnWidthMode( int column ) const;
int columns() const;
virtual void setColumnAlignment( int, int );
int columnAlignment( int ) const;
void show();
TQListViewItem * itemAt( const TQPoint &amp; screenPos ) const;
TQRect itemRect( const TQListViewItem * ) const;
int itemPos( const TQListViewItem * );
void ensureItemVisible( const TQListViewItem * );
void repaintItem( const TQListViewItem * ) const;
virtual void setMultiSelection( bool enable );
bool isMultiSelection() const;
enum SelectionMode { Single, Multi, Extended, NoSelection };
void setSelectionMode( SelectionMode mode );
SelectionMode selectionMode() const;
virtual void clearSelection();
virtual void setSelected( TQListViewItem *, bool );
void setSelectionAnchor( TQListViewItem * );
bool isSelected( const TQListViewItem * ) const;
TQListViewItem * selectedItem() const;
virtual void setOpen( TQListViewItem *, bool );
bool isOpen( const TQListViewItem * ) const;
virtual void setCurrentItem( TQListViewItem * );
TQListViewItem * currentItem() const;
TQListViewItem * firstChild() const;
TQListViewItem * lastItem() const;
int childCount() const;
virtual void setAllColumnsShowFocus( bool );
bool allColumnsShowFocus() const;
virtual void setItemMargin( int );
int itemMargin() const;
virtual void setRootIsDecorated( bool );
bool rootIsDecorated() const;
virtual void setSorting( int column, bool ascending = TRUE );
int sortColumn() const;
void setSortColumn( int column );
SortOrder sortOrder() const;
void setSortOrder( SortOrder order );
virtual void sort();
virtual void setFont( const TQFont &amp; );
virtual void setPalette( const TQPalette &amp; );
bool eventFilter( TQObject * o, TQEvent * );
TQSize sizeHint() const;
TQSize minimumSizeHint() const;
virtual void setShowSortIndicator( bool show );
bool showSortIndicator() const;
virtual void setShowToolTips( bool b );
bool showToolTips() const;
enum ResizeMode { NoColumn, AllColumns, LastColumn };
virtual void setResizeMode( ResizeMode m );
ResizeMode resizeMode() const;
TQListViewItem * findItem( const TQString&amp; text, int column, ComparisonFlags compare = ExactMatch | CaseSensitive ) const;
enum RenameAction { Accept, Reject };
virtual void setDefaultRenameAction( RenameAction a );
RenameAction defaultRenameAction() const;
bool isRenaming() const;
void hideColumn( int column );
public slots:
virtual void clear();
virtual void invertSelection();
virtual void selectAll( bool select );
void triggerUpdate();
void setContentsPos( int x, int y );
void adjustColumn( int col );
signals:
void selectionChanged();
void selectionChanged( TQListViewItem * );
void currentChanged( TQListViewItem * );
void clicked( TQListViewItem * );
void clicked( TQListViewItem *, const TQPoint &amp;, int );
void pressed( TQListViewItem * );
void pressed( TQListViewItem *, const TQPoint &amp;, int );
void doubleClicked( TQListViewItem * );
void doubleClicked( TQListViewItem *, const TQPoint&amp;, int );
void returnPressed( TQListViewItem * );
void spacePressed( TQListViewItem * );
void rightButtonClicked( TQListViewItem *, const TQPoint&amp;, int );
void rightButtonPressed( TQListViewItem *, const TQPoint&amp;, int );
void mouseButtonPressed( int, TQListViewItem *, const TQPoint&amp; , int );
void mouseButtonClicked( int, TQListViewItem *, const TQPoint&amp;, int );
void contextMenuRequested( TQListViewItem *, const TQPoint &amp;, int );
void onItem( TQListViewItem *item );
void onViewport();
void expanded( TQListViewItem *item );
void collapsed( TQListViewItem *item );
#ifndef TQT_NO_DRAGANDDROP
void dropped( TQDropEvent *e );
#endif
void itemRenamed( TQListViewItem *item, int col, const TQString &amp; );
void itemRenamed( TQListViewItem *item, int col );
protected:
void contentsMousePressEvent( TQMouseEvent * e );
void contentsMouseReleaseEvent( TQMouseEvent * e );
void contentsMouseMoveEvent( TQMouseEvent * e );
void contentsMouseDoubleClickEvent( TQMouseEvent * e );
void contentsContextMenuEvent( TQContextMenuEvent * e );
#ifndef TQT_NO_DRAGANDDROP
void contentsDragEnterEvent( TQDragEnterEvent *e );
void contentsDragMoveEvent( TQDragMoveEvent *e );
void contentsDragLeaveEvent( TQDragLeaveEvent *e );
void contentsDropEvent( TQDropEvent *e );
virtual TQDragObject *dragObject();
virtual void startDrag();
#endif
void focusInEvent( TQFocusEvent * e );
void focusOutEvent( TQFocusEvent * e );
void keyPressEvent( TQKeyEvent *e );
void resizeEvent( TQResizeEvent *e );
void viewportResizeEvent( TQResizeEvent *e );
void showEvent( TQShowEvent * );
void drawContentsOffset( TQPainter *, int ox, int oy,
int cx, int cy, int cw, int ch );
virtual void paintEmptyArea( TQPainter *, const TQRect &amp; );
void styleChange( TQStyle&amp; );
void windowActivationChange( bool );
protected slots:
void updateContents();
void doAutoScroll();
private slots:
void changeSortColumn( int );
void handleIndexChange();
void updateDirtyItems();
void makeVisible();
void handleSizeChange( int, int, int );
void startRename();
void openFocusItem();
private:
void contentsMousePressEventEx( TQMouseEvent * e );
void contentsMouseReleaseEventEx( TQMouseEvent * e );
void init();
void updateGeometries();
void buildDrawableList() const;
void reconfigureItems();
void widthChanged(const TQListViewItem*, int c);
void handleItemChange( TQListViewItem *old, bool shift, bool control );
void selectRange( TQListViewItem *from, TQListViewItem *to, bool invert, bool includeFirst, bool clearSel = FALSE );
bool selectRange( TQListViewItem *newItem, TQListViewItem *oldItem, TQListViewItem *anchorItem );
bool clearRange( TQListViewItem *from, TQListViewItem *to, bool includeFirst = TRUE );
void doAutoScroll( const TQPoint &amp;cursorPos );
TQListViewPrivate * d;
private: // Disabled copy constructor and operator=
#if defined(TQ_DISABLE_COPY)
TQListView( const TQListView &amp; );
TQListView &amp;operator=( const TQListView &amp; );
#endif
};
class TQ_EXPORT TQCheckListItem : public TQListViewItem
{
public:
enum Type { RadioButton,
CheckBox,
Controller,
RadioButtonController=Controller,
CheckBoxController };
// ### should be integrated with tqbutton in ver4 perhaps
enum ToggleState { Off, NoChange, On };
TQCheckListItem( TQCheckListItem *parent, const TQString &amp;text,
Type = RadioButtonController );
TQCheckListItem( TQCheckListItem *parent, TQListViewItem *after,
const TQString &amp;text, Type = RadioButtonController );
TQCheckListItem( TQListViewItem *parent, const TQString &amp;text,
Type = RadioButtonController );
TQCheckListItem( TQListViewItem *parent, TQListViewItem *after,
const TQString &amp;text, Type = RadioButtonController );
TQCheckListItem( TQListView *parent, const TQString &amp;text,
Type = RadioButtonController );
TQCheckListItem( TQListView *parent, TQListViewItem *after,
const TQString &amp;text, Type = RadioButtonController );
TQCheckListItem( TQListViewItem *parent, const TQString &amp;text,
const TQPixmap &amp; );
TQCheckListItem( TQListView *parent, const TQString &amp;text,
const TQPixmap &amp; );
~TQCheckListItem();
void paintCell( TQPainter *, const TQColorGroup &amp; cg,
int column, int width, int alignment );
virtual void paintFocus( TQPainter *, const TQColorGroup &amp; cg,
const TQRect &amp; r );
int width( const TQFontMetrics&amp;, const TQListView*, int column) const;
void setup();
virtual void setOn( bool ); // ### should be replaced by setChecked in ver4
bool isOn() const { return on; }
Type type() const { return myType; }
TQString text() const { return TQListViewItem::text( 0 ); }
TQString text( int n ) const { return TQListViewItem::text( n ); }
void setTristate( bool );
bool isTristate() const;
ToggleState state() const;
void setState( ToggleState s);
int rtti() const;
static int RTTI;
protected:
void activate();
void turnOffChild();
virtual void stateChange( bool );
private:
void init();
ToggleState internalState() const;
void setStoredState( ToggleState newState, void *key );
ToggleState storedState( void *key ) const;
void stateChange( ToggleState s );
void restoreState( void *key, int depth = 0 );
void updateController( bool update = TRUE , bool store = FALSE );
void updateStoredState( void *key );
void setState( ToggleState s, bool update, bool store );
void setCurrentState( ToggleState s );
Type myType;
bool on; // ### remove in ver4
TQCheckListItemPrivate *d;
};
class TQ_EXPORT TQListViewItemIterator
{
friend struct TQListViewPrivate;
friend class TQListView;
friend class TQListViewItem;
public:
enum IteratorFlag {
Visible = 0x00000001,
Invisible = 0x00000002,
Selected = 0x00000004,
Unselected = 0x00000008,
Selectable = 0x00000010,
NotSelectable = 0x00000020,
DragEnabled = 0x00000040,
DragDisabled = 0x00000080,
DropEnabled = 0x00000100,
DropDisabled = 0x00000200,
Expandable = 0x00000400,
NotExpandable = 0x00000800,
Checked = 0x00001000,
NotChecked = 0x00002000
};
TQListViewItemIterator();
TQListViewItemIterator( TQListViewItem *item );
TQListViewItemIterator( TQListViewItem *item, int iteratorFlags );
TQListViewItemIterator( const TQListViewItemIterator &amp;it );
TQListViewItemIterator( TQListView *lv );
TQListViewItemIterator( TQListView *lv, int iteratorFlags );
TQListViewItemIterator &amp;operator=( const TQListViewItemIterator &amp;it );
~TQListViewItemIterator();
TQListViewItemIterator &amp;operator++();
const TQListViewItemIterator operator++( int );
TQListViewItemIterator &amp;operator+=( int j );
TQListViewItemIterator &amp;operator--();
const TQListViewItemIterator operator--( int );
TQListViewItemIterator &amp;operator-=( int j );
TQListViewItem* operator*();
TQListViewItem *current() const;
protected:
TQListViewItem *curr;
TQListView *listView;
private:
TQListViewItemIteratorPrivate* d() const;
void init( int flags );
void addToListView();
void currentRemoved();
bool matchesFlags( const TQListViewItem* ) const;
bool testPair( TQListViewItemIterator::IteratorFlag, TQListViewItemIterator::IteratorFlag, bool ) const;
bool isChecked( const TQListViewItem* ) const;
};
#endif // TQT_NO_LISTVIEW
#endif // TQLISTVIEW_H
</pre>
<!-- eof -->
<p><address><hr><div align=center>
<table width=100% cellspacing=0 border=0><tr>
<td>Copyright &copy; 2007
<a href="troll.html">Trolltech</a><td align=center><a href="trademarks.html">Trademarks</a>
<td align=right><div align=right>TQt 3.3.8</div>
</table></div></address></body>
</html>