/***************************************************************************
copyright : (C) 1999 by Edwin Glaser
email : edwin@pannenleiter.de
version : $Id: dbgrid.h,v 1.1.1.1 2000/02/07 21:41:57 ege Exp $
***************************************************************************/
/***************************************************************************
* *
* 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 DBGRID_H
#define DBGRID_H
#include <qframe.h>
//#include <qarray.h>
#include "dbdatasource.h"
#include "dbpainter.h"
/**
* A data-aware grid
*
*@author Edwin Glaser
*/
class QHeader;
class ColumnDesc;
class DBTableView;
class DBGrid : public QWidget
{
Q_OBJECT
friend DBTableView;
protected:
DBDataSource *data;
QHeader *header;
DBTableView *view;
ColumnDesc **desc;
long lines;
int columns;
int descSize;
bool userEnabled;
bool autoAdjust;
DBDataSource *getDataSource() { return data; };
public:
DBGrid(DBDataSource *d, QWidget *parent=0, const char *name=0);
virtual ~DBGrid();
virtual int addColumn (int dbCol, const char * label = 0, DBWidgetFactory *factory = 0, int size = -1);
virtual int getDBColumn (int column) const;
virtual void setColumnText (int column, const char * label);
virtual const char* getColumnText (int column) const;
virtual void setColumnWidth (int column, int width);
virtual int getColumnWidth (int column) const;
enum WidthMode { Manual, Maximum };
virtual void setColumnWidthMode (int column, WidthMode);
virtual WidthMode getColumnWidthMode (int column) const;
virtual int getAlignment(int column) const;
virtual void setAlignment(int column, int align);
virtual const char *getFormat(int column) const;
virtual void setFormat(int column, const char *format);
virtual DBWidgetFactory *getFactory(int column) const;
virtual QWidget *getEditor(int column) const;
virtual DBPainter *getPainter(int column) const;
bool isUserEnabled () { return userEnabled; };
int getNumColumns () { return columns; };
const ColumnDesc *getColumnDesc(int col) { return col >= 0 && col < columns ? desc[col] : 0; };
void setLineHeigth(int h);
void setCurrentColumn(int col);
bool ownesFocus () const;
void setCollectKeystrokes(bool to);
protected:
void resizeEvent ( QResizeEvent * );
bool calcWidth();
void selected(int row, int col);
int pos(int section);
protected slots:
void sizeChange ( int section, int oldSize, int newSize );
void moved ( int from, int to );
public slots:
virtual void setEnabled ( bool );
signals:
void keystrokesCollected(QString);
};
#endif
Documentation generated by eg@wonko on Sam Feb 19 00:09:53 MET 2000