Diffstat (limited to 'noncore/graphics/opie-eye/iface/dirview.h') (more/less context) (ignore whitespace changes)
-rw-r--r-- | noncore/graphics/opie-eye/iface/dirview.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/noncore/graphics/opie-eye/iface/dirview.h b/noncore/graphics/opie-eye/iface/dirview.h new file mode 100644 index 0000000..20d9062 --- a/dev/null +++ b/noncore/graphics/opie-eye/iface/dirview.h | |||
@@ -0,0 +1,40 @@ | |||
1 | /* | ||
2 | * GPLv2 zecke@handhelds.org | ||
3 | * No WArranty... | ||
4 | */ | ||
5 | |||
6 | #ifndef PHUNK_DIR_VIEW_H | ||
7 | #define PHUNK_DIR_VIEW_H | ||
8 | |||
9 | #include <qmap.h> | ||
10 | |||
11 | #include <qpe/config.h> | ||
12 | |||
13 | class PInterfaceInfo; | ||
14 | class PDirLister; | ||
15 | |||
16 | struct PDirView { | ||
17 | PDirView( const Config& ); | ||
18 | virtual ~PDirView(); | ||
19 | virtual PInterfaceInfo* interfaceInfo()const = 0; | ||
20 | virtual PDirLister* dirLister()const = 0; | ||
21 | }; | ||
22 | |||
23 | typedef PDirView* (*phunkViewCreateFunc )(const Config& ); | ||
24 | typedef QMap<QString,phunkViewCreateFunc> ViewMap; | ||
25 | |||
26 | ViewMap* viewMap(); | ||
27 | PDirView* currentView(); | ||
28 | void setCurrentView( PDirView* ); | ||
29 | |||
30 | |||
31 | |||
32 | #define PHUNK_VIEW_INTERFACE( NAME, IMPL ) \ | ||
33 | static PDirView *create_ ## IMPL( const Config& cfg ) { \ | ||
34 | return new IMPL( cfg ); \ | ||
35 | } \ | ||
36 | static ViewMap::Iterator dummy_ ## IMPL = viewMap()->insert( NAME, create_ ## IMPL ); | ||
37 | |||
38 | |||
39 | |||
40 | #endif | ||