exports.h
author insilmaril
Thu, 25 Feb 2010 11:03:52 +0000
changeset 824 36eb4b8f409e
parent 819 8f987e376035
child 825 1ad892c1a709
permissions -rw-r--r--
Added dialog for HTML export. Grouping in Switchboard shortcuts
     1 #ifndef EXPORTS_H
     2 #define EXPORTS_H
     3 
     4 #include <qdir.h>
     5 #include <qstring.h>
     6 #include <iostream>
     7 
     8 #include "settings.h"
     9 #include "vymmodel.h"
    10 
    11 
    12 /*! \brief Base class for all exports
    13 */
    14 
    15 ///////////////////////////////////////////////////////////////////////
    16 
    17 class ExportBase
    18 {
    19 public:
    20 	ExportBase();
    21 	ExportBase(VymModel *m);
    22 	virtual ~ExportBase();
    23 	virtual void init();
    24 	virtual void setDir(const QDir&);
    25 	virtual void setFile(const QString &);
    26 	virtual QString getFile ();
    27 	virtual void setModel (VymModel *m);
    28 	virtual void setCaption(const QString &);
    29 	virtual void addFilter (const QString &);
    30 	virtual bool execDialog();
    31 	virtual bool canceled();
    32 protected:  
    33 	VymModel *model;
    34 	virtual QString getSectionString (TreeItem*);
    35 
    36 	QDir tmpDir;
    37 	QDir outDir;
    38 	QString outputFile;
    39 	QString	indentPerDepth;
    40 	QString caption;
    41 	QString filter;
    42 	bool cancelFlag;
    43 };
    44 
    45 ///////////////////////////////////////////////////////////////////////
    46 class ExportAO:public ExportBase
    47 {
    48 public:
    49 	ExportAO();
    50 	virtual void doExport();
    51 	virtual QString underline (const QString &text, const QString &line);
    52 };
    53 
    54 ///////////////////////////////////////////////////////////////////////
    55 class ExportASCII:public ExportBase
    56 {
    57 public:
    58 	ExportASCII();
    59 	virtual void doExport();
    60 	virtual QString underline (const QString &text, const QString &line);
    61 };
    62 
    63 ///////////////////////////////////////////////////////////////////////
    64 class ExportCSV:public ExportBase
    65 {
    66 public:
    67 	virtual void doExport();
    68 };
    69 
    70 ///////////////////////////////////////////////////////////////////////
    71 class ExportXMLBase:public ExportBase
    72 {
    73 };
    74 
    75 ///////////////////////////////////////////////////////////////////////
    76 class ExportKDE3Bookmarks:public ExportXMLBase
    77 {
    78 public:
    79 	virtual void doExport();
    80 };	
    81 
    82 ///////////////////////////////////////////////////////////////////////
    83 class ExportKDE4Bookmarks:public ExportXMLBase
    84 {
    85 public:
    86 	virtual void doExport();
    87 };	
    88 
    89 ///////////////////////////////////////////////////////////////////////
    90 class ExportFirefoxBookmarks:public ExportXMLBase
    91 {
    92 public:
    93 	virtual void doExport();
    94 };	
    95 
    96 ///////////////////////////////////////////////////////////////////////
    97 class ExportHTML:public ExportBase
    98 {
    99 public:
   100 	ExportHTML();
   101 	ExportHTML(VymModel *m);
   102 	virtual void init();
   103 	virtual void setCSSPath(const QString &path);
   104 	virtual void doExport();
   105 private:
   106 	QString getBranchText(BranchItem *);
   107 	QString buildList (BranchItem *);
   108 	QString imageMap;
   109 	QString cssFileName;
   110 	QString cssOriginalPath;
   111 
   112 	bool frameURLs;
   113 	bool noSingulars;
   114 	QString singularDelimiter;
   115 	bool useMapColors;
   116 
   117 	QPointF offset;
   118 };	
   119 
   120 ///////////////////////////////////////////////////////////////////////
   121 class ExportTaskjuggler:public ExportXMLBase
   122 {
   123 public:
   124 	virtual void doExport();
   125 };	
   126 
   127 ///////////////////////////////////////////////////////////////////////
   128 class ExportLaTeX:public ExportBase
   129 {
   130 public:
   131 	virtual void doExport();
   132 };	
   133 
   134 ///////////////////////////////////////////////////////////////////////
   135 class ExportOO:public ExportBase
   136 {
   137 public:
   138 	ExportOO();
   139 	~ExportOO();
   140 	void exportPresentation();
   141 	bool setConfigFile (const QString &);
   142 private:
   143 	QString buildList (TreeItem *);
   144 	bool useSections;
   145 	QString configFile;
   146 	QString configDir;
   147 	QString templateDir;
   148 	QString content;
   149 	QString contentTemplate;
   150 	QString contentTemplateFile;
   151 	QString contentFile;
   152 	QString pageTemplate;
   153 	QString pageTemplateFile;
   154 	QString sectionTemplate;
   155 	QString sectionTemplateFile;
   156 };
   157 #endif