kexi project
Rapid Database Application Development
"Microsoft Access for Linux"

Home Download FAQ Support Features Handbook Screenshots Screencasts Compile Kexi Development Authors Contact License Sponsorship Translate This Site

wiki navigation:

Front Page
[info] [diff] [login]
[recent changes]
[most popular]
You can donate
to Kexi Project:
Via PayPal

Spread the word about Kexi!
Get Kexi Now!

Built on the KDE technology

Member of the Calligra Suite

No Software Patents!

Forms: New Factory System

Current system based on factories is dropped. WidgetInfo is now used not only as a struct, but as the basis of factories. New factories will just contain one function which create a WidgetInfo for each widget type.

WidgetInfo Class Basic properties (already in current WidgetInfo)

These properties could be stored, in WidgetInfoData.

  • className(), caption() (replace name()), description(), pixmap()
  • other more specific names: namePrefix(), savingName() (used in UI file)
  • includeFile()

Widget creation

  • createWidget(QWidget *parent, const char *name, KFormDesigner::Container *container) (orienation choice will be done inside the function with std function)
  • saveWidgetProperties() : save widget special properties (don't need to be stored anymore), eg widget content
  • readWidgetProperties() : read widget special properties ; eg widget content

Widget properties

  • setupWidgetProperties() : set properties option, change properties visibility, autoSync


  • widgetActions() : return actions related to this widget type, connected to WidgetInfo slots. These actions will eg be plugged into context popup menu
  • editWidget() (same as WidgetFactory::startEditing) : WidgetInfo will also have virtual slots (slotTextChanged, slotWidgetResized, etc) to tweak std editor behaviour

Special properties

What about a WidgetInfo::setOption(QCString name, QVariant value) with available options: OverrideParentWidgetInfo=true|false, etc.


Thanks to this new system, inheriting std class (eg std line edit) behaviour will be done automatically by C++ inheritance.

Kexi - "MS Access for Linux" ... and Windows
© Kexi Team
This content is available under GFDL
Last edited: July 7, 2005 by js, visited 0 times.