Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

metafactory.h

Go to the documentation of this file.
00001 #ifndef OPIE_META_FACTORY_H
00002 #define OPIE_META_FACTORY_H
00003 
00009 #include <qwidget.h>
00010 #include <qmap.h>
00011 
00012 #include <qpe/config.h>
00013 
00014 #include "io_layer.h"
00015 #include "file_layer.h"
00016 #include "receive_layer.h"
00017 #include "profile.h"
00018 #include "profiledialogwidget.h"
00019 
00020 class WidgetLayer;
00021 class MetaFactory {
00022 public:
00023     typedef ProfileDialogWidget* (*configWidget)(const QString&, QWidget* parent);
00024     typedef IOLayer* (*iolayer)(const Profile& );
00025     typedef FileTransferLayer* (*filelayer)(IOLayer*);
00026     typedef ReceiveLayer* (*receivelayer)(IOLayer*);
00027 
00028     MetaFactory();
00029     ~MetaFactory();
00030 
00035     void addConnectionWidgetFactory( const QCString& internalName,
00036                                      const QString& uiString,
00037                                      configWidget );
00038     void addTerminalWidgetFactory  ( const QCString& internalName,
00039                                      const QString& name,
00040                                      configWidget );
00041     void addKeyboardWidgetFactory  ( const QCString& internalName,
00042                                      const QString& name,
00043                                      configWidget );
00044 
00048     void addIOLayerFactory( const QCString&,
00049                             const QString&,
00050                             iolayer );
00051 
00055     void addFileTransferLayer( const QCString& name,
00056                                const QString&,
00057                                filelayer );
00058     void addReceiveLayer( const QCString& name,
00059                           const QString&,
00060                           receivelayer);
00061 
00062 
00063     /* translated UI Strings */
00064     QStringList ioLayers()const;
00065     QStringList connectionWidgets()const;
00066 
00070     QStringList terminalWidgets()const;
00071     QStringList fileTransferLayers()const;
00072     QStringList receiveLayers()const;
00073 
00077     IOLayer* newIOLayer( const QString&,const Profile& );
00078     ProfileDialogWidget *newConnectionPlugin ( const QString&, QWidget* );
00079     ProfileDialogWidget* newTerminalPlugin( const QString&, QWidget* );
00080     ProfileDialogWidget* newKeyboardPlugin( const QString&, QWidget* );
00081     FileTransferLayer* newFileTransfer(const QString&, IOLayer* );
00082     ReceiveLayer* newReceive(const QString&, IOLayer* );
00083 
00084     /*
00085      * internal takes the maybe translated
00086      * public QString and maps it to the internal
00087      * not translatable QCString
00088      */
00089     QCString internal( const QString& )const;
00090 
00091     /*
00092      * external takes the internal name
00093      * it returns a translated name
00094      */
00095     QString external( const QCString& )const;
00096 
00097 
00098 private:
00099     QMap<QString, QCString> m_strings;
00100     QMap<QString, configWidget> m_conFact;
00101     QMap<QString, configWidget> m_termFact;
00102     QMap<QString, configWidget> m_keyFact;
00103     QMap<QString, iolayer> m_layerFact;
00104     QMap<QString, filelayer> m_fileFact;
00105     QMap<QString, receivelayer> m_receiveFact;
00106 };
00107 
00108 
00109 #endif

Generated on Sat Nov 5 16:16:50 2005 for OPIE by  doxygen 1.4.2