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
#ifndef KDECORATIONFACTORY_H
00026
#define KDECORATIONFACTORY_H
00027
00028
#include "kdecoration.h"
00029
00030
class KDecoration;
00031
class KDecorationBridge;
00032
class KDecorationFactoryPrivate;
00033
00034
class KDecorationFactory
00035 :
public KDecorationDefines
00036 {
00037
public:
00042 KDecorationFactory();
00047
virtual ~KDecorationFactory();
00053
virtual KDecoration* createDecoration( KDecorationBridge* bridge ) = 0;
00063
virtual bool reset(
unsigned long changed );
00064
00071
virtual QValueList< BorderSize > borderSizes() const;
00072
00073 virtual
bool supports( Ability ability );
00074
00075 virtual
void checkRequirements( KDecorationProvides* provides );
00080 const
KDecorationOptions* options();
00087
bool exists( const
KDecoration* deco ) const;
00091
void addDecoration(
KDecoration* );
00095
void removeDecoration( KDecoration* );
00096 protected:
00101
void resetDecorations(
unsigned long changed );
00109 NET::WindowType windowType(
unsigned long supported_types, KDecorationBridge* bridge ) const;
00110 private:
00111 QValueList< KDecoration* > _decorations;
00112 KDecorationFactoryPrivate* d;
00113 };
00114
00115 inline const
KDecorationOptions* KDecorationFactory::options()
00116 {
00117
return KDecoration::options();
00118 }
00119
00120
#endif