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.
tdenetwork/kppp/logview/export.h

202 lines
3.8 KiB

/*
* kPPPlogview: a accounting log system for kPPP
*
* Copyright (C) 1998 Mario Weilguni <mweilguni@kde.org>
*
* This file has been contributed by Tilo Ulbrich <TiloUlbrich@web.de>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this program; if not, write to the Free
* Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef KPPPEXPORT_H
#define KPPPEXPORT_H
#include <tqwidget.h>
#include <tqfile.h>
#include <tqlayout.h>
#include <tqlabel.h>
#include <tqlistbox.h>
#include <tqlineedit.h>
#include <tqtooltip.h>
#include <kwizard.h>
#include <klocale.h>
#include <kfiledialog.h>
class Export;
/***** ExportWizard *****/
class ExportWizard : public KWizard {
Q_OBJECT
public:
ExportWizard(TQWidget *parent, const TQString &_date);
Export *createExportFilter();
int filterID;
TQString filename;
public slots:
void typeHighlighted(int);
void getFilename();
void accept();
void reject();
private:
TQWidget *formatPage;
TQListBox *typeList;
TQLabel *typeInfo;
TQWidget *filenamePage;
TQLineEdit *fnLine;
TQPushButton *fnGet;
TQString date;
};
/***** Export (abstract)*****/
class Export {
public:
Export();
Export(const TQString &filename);
virtual ~Export();
bool openFile();
bool closeFile();
virtual void addHeadline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h) = 0;
virtual void addDataline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h) = 0;
virtual void addEmptyLine() = 0;
virtual void setFinishCode() = 0;
protected:
TQFile file;
TQString filename;
TQString buffer;
};
/***** CSVExport *****/
class CSVExport : public Export {
public:
CSVExport(const TQString &filename, const TQString &separator);
virtual void addHeadline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h);
virtual void addDataline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h);
virtual void addEmptyLine();
virtual void setFinishCode();
private:
TQString separator;
};
/***** HTMLExport *****/
class HTMLExport : public Export {
public:
HTMLExport(const TQString &filename, const TQString &date);
virtual void addHeadline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h);
virtual void addDataline(const TQString &a, const TQString &b,
const TQString &c, const TQString &d,
const TQString &e, const TQString &f,
const TQString &g, const TQString &h);
virtual void addEmptyLine();
virtual void setFinishCode();
private:
TQString trStartCode;
TQString trEndCode;
TQString tdStartCode;
TQString tdEndCode;
};
#endif