kexi

KFormDesigner::WidgetInfo Class Reference

#include <widgetfactory.h>

Inheritance diagram for KFormDesigner::WidgetInfo:

KexiDataAwareWidgetInfo

List of all members.


Detailed Description

This class holds properties of widget classes provided by a factory.

Definition at line 65 of file widgetfactory.h.


Public Types

typedef QPtrList< WidgetInfoList
typedef QAsciiDict< WidgetInfoDict

Public Member Functions

 WidgetInfo (WidgetFactory *f)
 WidgetInfo (WidgetFactory *f, const char *parentFactoryName, const char *inheritedClassName=0)
QString pixmap () const
QCString className () const
QString namePrefix () const
QString name () const
QString description () const
QString includeFileName () const
QValueList< QCString > alternateClassNames () const
QString savingName () const
WidgetFactoryfactory () const
void setPixmap (const QString &p)
void setClassName (const QCString &s)
void setName (const QString &n)
void setNamePrefix (const QString &n)
void setDescription (const QString &desc)
void setIncludeFileName (const QString &name)
void addAlternateClassName (const QCString &alternateName, bool override=false)
bool isOverriddenClassName (const QCString &alternateName) const
void setSavingName (const QString &saveName)
void setAutoSyncForProperty (const char *propertyName, tristate flag)
tristate autoSyncForProperty (const char *propertyName) const
QCString parentFactoryName () const
WidgetInfoinheritedClass () const
void setCustomTypeForProperty (const char *propertyName, int type)
int customTypeForProperty (const char *propertyName) const

Protected Attributes

QCString m_parentFactoryName
QCString m_inheritedClassName
WidgetInfom_inheritedClass

Friends

class WidgetLibrary

Member Function Documentation

QString KFormDesigner::WidgetInfo::pixmap (  )  const [inline]

Returns:
a pixmap associated with the widget

Definition at line 78 of file widgetfactory.h.

QCString KFormDesigner::WidgetInfo::className (  )  const [inline]

Returns:
the class name of a widget e.g. 'QLineEdit'

Definition at line 81 of file widgetfactory.h.

QString KFormDesigner::WidgetInfo::namePrefix (  )  const [inline]

Returns:
the name used to name widget, that will appear eg in scripts (must not contain spaces nor non-latin1 characters)

Definition at line 85 of file widgetfactory.h.

QString KFormDesigner::WidgetInfo::name (  )  const [inline]

Returns:
the real name e.g. 'Line Edit', showed eg in ObjectTreeView

Definition at line 88 of file widgetfactory.h.

void KFormDesigner::WidgetInfo::setIncludeFileName ( const QString &  name  )  [inline]

Sets the C++ include file corresponding to this class, that uic will need to add when creating the file. You don't have to set this for Qt std widgets.

Definition at line 104 of file widgetfactory.h.

void WidgetInfo::addAlternateClassName ( const QCString &  alternateName,
bool  override = false 
)

Sets alternate names for this class. If this name is found when loading a .ui file, the className() will be used instead. It allows to support both KDE and Qt versions of widget, without duplicating code. As a rule, className() should always return a class name which is inherited from alternate class. For example KListView class has alternate QListView class.

override parameter overrides class name of a widget, even if it was implemented in other factory. By default it's set to false, what means that no other class is overridden by this widget class if there is already a class implementing it (no matter in which factory). By forced overriding existing class with other - custom, user will be able to see more or less properties and experience different behaviour. For example, in Kexi application, KLineEdit class contains additional "datasource" property for binding to database sources.

Definition at line 87 of file widgetfactory.cpp.

bool WidgetInfo::isOverriddenClassName ( const QCString &  alternateName  )  const

Returns:
true is a class alternateName is defined as alternate name with 'override' flag set to true, using addAlternateClassName(). If this flag is set to false (the default) or there's no such alternate class name defined.

Definition at line 101 of file widgetfactory.cpp.

void KFormDesigner::WidgetInfo::setSavingName ( const QString &  saveName  )  [inline]

Sets the name that will be written in the .ui file when saving. This name must be one of alternate names (or loading will be impossible).

On form data saving to XML .ui format, saveName is used instead, so .ui format is not broken and still usable with other software as Qt Designer. Custom properties are saved as well with 'stdset' attribute set to 0.

Definition at line 136 of file widgetfactory.h.

void WidgetInfo::setAutoSyncForProperty ( const char *  propertyName,
tristate  flag 
)

Sets autoSync flag for property propertyName. This allows to override autoSync flag for certain widget's property, because e.g. KoProperty::Editor can have autoSync flag set to false or true, but not all properties have to comply with that. flag equal to cancelled value means there is no overriding (the default).

Definition at line 106 of file widgetfactory.cpp.

tristate WidgetInfo::autoSyncForProperty ( const char *  propertyName  )  const

Returns:
autoSync override value (true or false) for propertyName. If cancelled value is returned, there is no overriding (the default).

Definition at line 122 of file widgetfactory.cpp.

void WidgetInfo::setCustomTypeForProperty ( const char *  propertyName,
int  type 
)

Sets custom type type for property propertyName. This allows to override default type, especially when custom property and custom property editor item has to be used.

Definition at line 130 of file widgetfactory.cpp.

int WidgetInfo::customTypeForProperty ( const char *  propertyName  )  const

Returns:
custom type for property propertyName. If no specific custom type has been assigned, KoProperty::Auto is returned.
See also:
setCustomTypeForProperty()

Definition at line 140 of file widgetfactory.cpp.


Member Data Documentation

Used for inheriting widgets between factories.

Definition at line 164 of file widgetfactory.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys