1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140
|
/* DaResView.h */
/* part of DAta REScue dares */
/* DAta REScue (C) 2002 Oliver Diedrich, odi@ct.heise.de */
/* (C) 2005 c't magazine for computer technology, Heise Zeitschriften Verlag */
/* This file may be redistributed under the terms of the */
/* GNU Public License (GPL), see www.gnu.org */
#ifndef __DARES_VIEW_H
#define __DARES_VIEW_H
#include <qsplitter.h>
#include <qstring.h>
#include <qobject.h>
#include <qdatetime.h>
#include <qptrlist.h>
#include <qlistview.h>
#include <qdict.h>
class QListView;
class QTextEdit;
class QLabel;
class QPainter;
class QColorGroup;
class QObjectList;
class QPopupMenu;
// -----------------------------------------------------------------
class RawFile
{
public:
RawFile(QWidget* parent ) : mParent( parent ), mDaresFileInfo( 0 ){}
RawFile( QWidget* parent, struct one_file *daresFileInfo, const QCString& daresTypeName )
: mParent( parent ),
mDaresFileInfo( daresFileInfo ),
mDaresTypeName( daresTypeName ){}
RawFile( const RawFile &m )
: mParent( m.mParent ),
mDaresFileInfo( m.mDaresFileInfo ),
mDaresTypeName( m.mDaresTypeName ),
mSavedFileName( m.mSavedFileName ) {}
QString content();
QString info();
bool hasFileInfo();
bool saveToFile(bool bSilentOnSuccess);
QCString daresTypeName();
QCString savedFileName();
struct one_file* daresFileInfo();
protected:
QWidget* mParent;
struct one_file* mDaresFileInfo;
QCString mDaresTypeName;
QCString mSavedFileName;
};
// -----------------------------------------------------------------
class Folder : public QObject
{
Q_OBJECT
public:
Folder( Folder *parent, const QString &name, const RawFile& rawFile );
~Folder() {}
QString folderName() { return mFName; }
RawFile& rawFile() { return mRawFile; }
protected:
QString mFName;
RawFile mRawFile;
};
// -----------------------------------------------------------------
class FolderListItem : public QListViewItem
{
public:
FolderListItem( QListView *parent, Folder *f );
FolderListItem( FolderListItem *parent, FolderListItem* prev, Folder *f );
FolderListItem( FolderListItem *parent, Folder *f );
void insertSubFolders( const QObjectList *lst );
Folder *folder() { return myFolder; }
protected:
Folder *myFolder;
};
// -----------------------------------------------------------------
class DaResView : public QSplitter
{
Q_OBJECT
public:
DaResView( QWidget *parent = 0, const char *name = 0, int found = 0 );
~DaResView() {}
protected:
void initFolders();
void setupFolders();
QListView* mFolders;
QTextEdit* mRawFileView;
QLabel* mRawFileLabel;
QPopupMenu* mPopUpMenu;
QPtrList<Folder> lstFolders;
protected slots:
void slotFolderChanged( QListViewItem* );
void slotRMB( QListViewItem*, const QPoint &, int );
void updateRawFileView( FolderListItem *i );
void viewCurrent();
void saveCurrent();
void saveAllSelected();
protected:
bool saveItem( QListViewItem* _item, bool bSilentOnSuccess, bool restoreStatusLabel=true );
bool hasFileInfo( QListViewItem *i );
private:
int mFound;
QDict<QString> programs;
};
#endif
|