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
|
/***************************************************************************
* Copyright (C) 2003 by Mario Scalas *
* mario.scalas@libero.it *
* *
* 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 FILEITEMFACTORY_H
#define FILEITEMFACTORY_H
#include <kfiletreeview.h>
class FileTreeWidget;
/**
@author KDevelop Authors
*/
namespace filetreeview
{
/**
@author KDevelop Authors
*/
class FileTreeViewItem : public KFileTreeViewItem
{
friend class FileTreeBranchItem;
protected:
FileTreeViewItem( KFileTreeViewItem* parent, KFileItem* item, KFileTreeBranch* branch, bool pf )
: KFileTreeViewItem( parent, item, branch ), m_isProjectFile( pf ), m_isActiveDir( false )
{
hideOrShow();
}
FileTreeViewItem( KFileTreeView* parent, KFileItem* item, KFileTreeBranch* branch )
: KFileTreeViewItem( parent, item, branch ), m_isProjectFile( false )
{
hideOrShow();
}
virtual ~FileTreeViewItem() {}
public:
virtual void paintCell( TQPainter *p, const TQColorGroup &cg, int column, int width, int alignment );
FileTreeWidget* listView() const;
void hideOrShow();
bool isProjectFile() const { return m_isProjectFile; }
bool setProjectFile( TQString const &path, bool pf );
bool isActiveDir() const { return m_isActiveDir; }
bool changeActiveDir( const TQString &, const TQString&, bool foundolddir = false, bool foundnewdir = false );
protected:
virtual int compare( TQListViewItem *i, int col, bool ascending ) const;
private:
bool m_isProjectFile;
bool m_isActiveDir;
};
/**
@author KDevelop Authors
*/
class FileTreeBranchItem : public KFileTreeBranch
{
protected:
FileTreeBranchItem( KFileTreeView* view, const KURL& url, const TQString& name, const TQPixmap& pix )
: KFileTreeBranch( view, url, name, pix, false,
new FileTreeViewItem( view, new KFileItem( url, "inode/directory", S_IFDIR ), this ) )
{
}
virtual ~FileTreeBranchItem()
{
// if (root())
// delete root()->fileItem();
}
};
/**
@author KDevelop Authors
*/
class BranchItemFactory
{
public:
virtual FileTreeBranchItem *makeBranchItem( KFileTreeView* view, const KURL& url, const TQString& name, const TQPixmap& pix ) = 0;
};
}
#endif
|