/***************************************************************************
                          QListView.h  -  description
                             -------------------
    begin                : Sat Apr 1 2000
    copyright            : (C) 2000 by Richard Dale
    email                : Richard_Dale@tipitina.demon.co.uk
 ***************************************************************************/

/***************************************************************************
 *                                                                         *
 *   This program is free software; you can redistribute it and/or modify  *
 *   it under the terms of the GNU General Public License as published by  *
 *   the Free Software Foundation; either version 2 of the License, or     *
 *   (at your option) any later version.                                   *
 *                                                                         *
 ***************************************************************************/

#ifndef QLISTVIEW_H
#define QLISTVIEW_H

#include <stdarg.h>

#include <Foundation/NSObject.h>
#include <qtobjc/QScrollView.h>

#undef Manual
#define WidthMode			int
#define Manual			0
#define Maximum			1

#define Type				int
#define RadioButton		0
#define CheckBox			1
#define Controller		2


@class QListView;
@class QHeader;

/**
  *@author Richard Dale
  */

@interface QListViewItem : NSObject <QtSupport>
{
@private
	void *	_qt;
}

- initWithParent: (QListView *) parent;
- initWithParentItem: (QListViewItem *) parentItem;
- initWithParent: (QListView *) parent after: (QListViewItem *) after;
- initWithParentItem: (QListViewItem *) parentItem after: (QListViewItem *) after;
- initWithParent: (QListView *) parent labels: (NSString *) label, ...;
- initWithParentItem: (QListViewItem *) parentItem labels: (NSString *) label, ...;
- initWithParent: (QListView *) parent  after: (QListViewItem *) after labels: (NSString *) label,  ...;
- initWithParentItem: (QListViewItem *) parentItem  after: (QListViewItem *) after labels: (NSString *) label, ...;
- (void) dealloc;
- insertItem: (QListViewItem *) item;
- removeItem: (QListViewItem *) item;
- invalidateHeight;
- (int) totalHeight;
- (int) width: (QFontMetrics *) fontMetric listView: (QListView *) listView column: (int) column;
- widthChanged: (int) column;
- (int) depth;
- setTextInColumn: (int) column text: (NSString *) text;
- (NSString *) textInColumn: (int) column;
- setPixmap: (int) identifier pixmap: (QPixmap *) pixmap;
- (QPixmap *) pixmap: (int) identifier;
- (NSString *) key: (int) column ascending: (BOOL) yn;
- sortChildItems: (int)  ascending: (BOOL) yn;
- setOpen: (BOOL) yn;
- setup;
- setSelected: (BOOL) yn;
- paintCell: (QPainter *) painter colorGroup: (QColorGroup *) cg column: (int) column width: (int) width alignment: (int) alignment;
- paintBranches: (QPainter *) p colorGroup: (QColorGroup *) cg width: (int) width top: (int) y height: (int) h style: (GUIStyle) s;
- paintFocus: (QPainter *) painter colorGroup: (QColorGroup *) cg rect: (QRect *) r;
- (QListViewItem *) firstChild;
- (QListViewItem *) parent;
- (QListViewItem *) itemAbove;
- (QListViewItem *) itemBelow;
- (int) itemPos;
- (QListView *) listView;
- setSelectable: (BOOL) enable;
- setExpandable: (BOOL) yn;
- repaint;

@end

@interface QListView : QScrollView
- initWithParent: (QWidget *) parent name: (NSString *) name;
- (void) dealloc;
- (int) treeStepSize;
- setTreeStepSize: (int) size;
- insertItem: (QListViewItem *) item;
- clear;
- (QHeader *) header;
- (int) addColumn: (NSString *) label;
- (int) addColumn: (NSString *) label size: (int) size;
- setColumnText: (int) column label: (NSString *) label;
- (NSString *) columnText: (int) column;
- setColumn: (int) column width: (int) width;
- (int) columnWidth: (int) column;
- setColumnWidthMode: (int) column widthMode: (WidthMode) mode;
- (WidthMode) columnWidthMode: (int) column;
- setColumnAlignment: (int) column alignment: (int) alignment;
- (int) columnAlignment: (int) alignment;
- show;
- (QListViewItem *) itemAt: (QPoint *) screenPos;
- (QRect *) itemRect: (QListViewItem *) item;
- (int) itemPos: (QListViewItem *) item;
- ensureItemVisible: (QListViewItem *) item;
- repaintItem: (QListViewItem *) item;
- setMultiSelection: (BOOL) enable;
- (BOOL) isMultiSelection;
- setSelected: (QListViewItem *) item selected: (BOOL) yn;
- (BOOL) isSelected: (QListViewItem *) item;
- setOpen: (QListViewItem *) item open: (BOOL) yn;
- (BOOL) isOpen: (QListViewItem *) item;
- setCurrentItem: (QListViewItem *) item;
- (QListViewItem *) currentItem;
- (QListViewItem *) firstChild;
- (int) childCount;
- setAllColumnsShowFocus: (BOOL) yn;
- (BOOL) allColumnsShowFocus;
- setItemMargin: (int) margin;
- (int) itemMargin;
- setRootIsDecorated: (BOOL) yn;
- (BOOL) rootIsDecorated;
- setSorting: (int) column increasing: (BOOL) increasing;
- setStyle: (GUIStyle) style;
- setFont: (QFont *) font;
- setPalette: (QPalette *) palette;
- (BOOL) eventFilter: (QObject *) o event: (QEvent *) event;
- (QSize *) sizeHint;
- triggerUpdate;

@end

@interface QCheckListItem : QListViewItem
- initWithParentItem: (QCheckListItem *) parent text: (NSString *) text type: (Type) type;
- initWithParent: (QListView *) parent text: (NSString *) text type: (Type) type;
- initWithParentItem: (QListViewItem *) parent text: (NSString *) text pixmap: (QPixmap *) pixmap;
- initWithParent: (QListView *) parent text: (NSString *) text pixmap: (QPixmap *) pixmap;
- paintCell: (QPainter *) painter colorGroup: (QColorGroup *) cg column: (int) column width: (int) width alignment: (int) alignment;
- (int) width: (QFontMetrics *) fontMetrics listView: (QListView *) listView column: (int) column;
- setup;
- setOn: (BOOL) yn;
@end

#endif

Documentation generated by duke@tipitina on Sat May 6 11:42:52 EDT 2000