summaryrefslogtreecommitdiff
path: root/libopie/ofileselector/ofilefactory.h
authorzecke <zecke>2002-10-05 20:49:38 (UTC)
committer zecke <zecke>2002-10-05 20:49:38 (UTC)
commit19c0a4610292a95281a64655cef9c2d695a214dc (patch) (side-by-side diff)
treedde4afda2629a6e10d545d9492ada7b43e431ee7 /libopie/ofileselector/ofilefactory.h
parentd7f9d00fcc9261db9c4af4f1b4afde9d50e8a2a2 (diff)
downloadopie-19c0a4610292a95281a64655cef9c2d695a214dc.zip
opie-19c0a4610292a95281a64655cef9c2d695a214dc.tar.gz
opie-19c0a4610292a95281a64655cef9c2d695a214dc.tar.bz2
more steps to make ofileselector modular
We now got the API for a factory so switching should work in future and we now got a OPixmapProvider which provides us with pixmaps.... So an ImageViewer could install a differen OPixmapProvider and a different OFileView to make Previewing work
Diffstat (limited to 'libopie/ofileselector/ofilefactory.h') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ofileselector/ofilefactory.h32
1 files changed, 32 insertions, 0 deletions
diff --git a/libopie/ofileselector/ofilefactory.h b/libopie/ofileselector/ofilefactory.h
new file mode 100644
index 0000000..96fb00d
--- a/dev/null
+++ b/libopie/ofileselector/ofilefactory.h
@@ -0,0 +1,32 @@
+#ifndef OFILE_FACTORY_H
+#define OFILE_FACTORY_H
+
+#include "olister.h"
+#include "ofileview.h"
+class OFileFactory {
+public:
+ typedef OLister* (*listerFact)(OFileSelector*);
+ typedef OFileView* (*viewFact)(OFileSelector*, QWidget*);
+ OFileFactory();
+ ~OFileFactory();
+
+ QStringList lister()const;
+ QStringList views()const;
+
+ OFileView* view( const QString& name, OFileSelector*, QWidget* );
+ OLister* lister( const QString& name, OFileSelector* );
+
+ void addLister( const QString&, listerFact fact );
+ void addView( const QString&, viewFact );
+
+ void removeLister( const QString& );
+ void removeView( const QString& );
+
+private:
+ QMap<QString, listerFact> m_lister;
+ QMap<QString, viewFact> m_view;
+
+};
+
+
+#endif