Source: sqlguipart/export_formate.h
|
|
|
|
/* **************************************************************************
export_formate.h - description
-------------------
begin : Sun Nov 18 2001
copyright : (C) 2001 by mb
email : marcus@beranek.de
***************************************************************************/
/* **************************************************************************
* *
* 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 EXPORT_FORMATE_H
#define EXPORT_FORMATE_H
// Define some formats we may use to export data...
#define EXCEL 1
#define TEXT 2
#define CSV 3
#define HTML 4
#define XML 5
#define POSTSCRIPT 6
#define TEX 7
// include files for QT
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
/** This is a generic export-class. It provides access to the various export-formats,
which are defined in the classes ExportObj_TEXT, ExportObj_CSV, etc. The use is allways the same:
create an export-object, set filname and format, add data and at least create the file.
Everything which is specific for the export is done by the classes ExportObj_TEXT, ExportObj_CSV, etc.
*/
class ExportObj : public QObject
{
Q_OBJECT
public:
/** Constructor for the fileclass of the export
*/
ExportObj(QWidget *parent, const char *name);
/** Sets the format of the export.
x may have the following values:
1 - for excel (not implemented now)
2 - for txt (separated with tabs)
3 - for csv (separated with semicolon)
4 - for html (as a table)
5 - for xml (remember: we don't have any DTD now)
6 - for ps (not implemented now)
7 - for tex (not implemented now)
You may also use EXCEL, TEXT, CSV, HTML, XML, PS and TEX instead of the numbers.
*/
void setFormat(int x);
/** Sets the filename, which is going to be written.
*/
void setFilename(const QString * filename);
void setTablename(const QString * tbname);
/** Adds a cell of the data, we want to export.
row - the row, where the data is located
col - the column, where the data is located
data - a QString, representing the data
dtype - an integervalue, representing the datatype.
Remember, there's no definition for the datatypes now!
I suggest using: 0 for strings (256 character), 1 - 5 for int (8, 16, 32 ,64, 128bit), 6 - 10 for floats.
But I have to think about this again, also need more information about what datatypes in mysql (and other dbs) are supported.
*/
void addData(int row, int col, QString* data, QString* dtype=NULL);
/** finish will start the actual export. This will create the file (given by setFilename and setFormat) and put all data (given with addData).
*/
void finish();
void setRowOffset( int r );
void setColumnOffset( int c );
private slots:
void doExport();
private:
int exportformat;
int cells;
QString* exportFilename;
QString* exportTablename;
cell_t * zellExport;
cell_t * last;
char * datastring;
char * dtypestring;
int rowOffset;
int columnOffset;
};
#endif // EXPORT_FORMATE_H
Generated by: marcus on voyager on Mon Sep 16 15:31:33 2002, using kdoc 2.0a53. |