rulewidgethandlermanager.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
#ifndef __KMAIL_RULEWIDGETHANDLERMANAGER_H__
00034
#define __KMAIL_RULEWIDGETHANDLERMANAGER_H__
00035
00036
#include "kmsearchpattern.h"
00037
00038
#include <qvaluevector.h>
00039
00040
class QObject;
00041
class QCString;
00042
class QString;
00043
class QWidgetStack;
00044
00045
namespace KMail {
00046
00047
class RuleWidgetHandler;
00048
00052 class RuleWidgetHandlerManager {
00053
static RuleWidgetHandlerManager *
self;
00054
00055
RuleWidgetHandlerManager();
00056
public:
00057 ~
RuleWidgetHandlerManager();
00058
00059
static RuleWidgetHandlerManager * instance() {
00060
if ( !
self )
00061
self =
new RuleWidgetHandlerManager();
00062
return self;
00063 }
00064
00065
void registerHandler(
const RuleWidgetHandler * handler );
00066
void unregisterHandler(
const RuleWidgetHandler * handler );
00067
00068
void createWidgets(
QWidgetStack *functionStack,
00069
QWidgetStack *valueStack,
00070
const QObject *receiver )
const;
00071 KMSearchRule::Function function(
const QCString & field,
00072
const QWidgetStack *functionStack )
const;
00073
QString value(
const QCString & field,
00074
const QWidgetStack *functionStack,
00075
const QWidgetStack *valueStack )
const;
00076
QString prettyValue(
const QCString & field,
00077
const QWidgetStack *functionStack,
00078
const QWidgetStack *valueStack )
const;
00079
bool handlesField(
const QCString & field,
00080
const QWidgetStack *functionStack,
00081
const QWidgetStack *valueStack )
const;
00082
void reset(
QWidgetStack *functionStack,
00083
QWidgetStack *valueStack )
const;
00084
void setRule(
QWidgetStack *functionStack,
00085
QWidgetStack *valueStack,
00086
const KMSearchRule *rule )
const;
00087
void update(
const QCString & field,
00088
QWidgetStack *functionStack,
00089
QWidgetStack *valueStack )
const;
00090
00091
private:
00092
typedef QValueVector<const RuleWidgetHandler*>::const_iterator const_iterator;
00093
typedef QValueVector<const RuleWidgetHandler*>::iterator iterator;
00094
00095
QValueVector<const RuleWidgetHandler*> mHandlers;
00096 };
00097
00098 }
00099
00100
#endif // __KMAIL_RULEWIDGETHANDLERMANAGER_H__
This file is part of the documentation for kmail Library Version 3.3.0.