Revision 928033

Go back to digest for 22nd February 2009

Other in Office

Jarosław Staniek committed changes in /trunk/koffice/kexi:

== Forms Refactoring ==
First phase of Kexi Forms Module refactoring.
The main reason is to simplify the codebase and prepare it to future enchancements like subforms, reports integration, and tabbed main window design.

Detailed reasons for refactoring:
--The process of instantiating a form (the Form class) is very complicated now what makes it very hard to properly implement subforms
--The code full of interdependencies and thus is fragile when adding new functionality or fixing bugs
--The FormManager class centralizes a number of operations that shall belong to Form itself
--The naming of methods and classes can be improved, e.g. Form -> FormController
--The ObjectTree* classes introduce redundancy as we already have QWidget hierarchy, and extensible property system; this complicates the code

See Also:
<a href="http://wiki.koffice.org/index.php?title=Kexi/Porting#Forms_Refactoring">http://wiki.koffice.org/index.php?title=Kexi/Porting#Forms_Refactoring</a>;

File Changes

Added 5 files
  • /trunk/koffice/kexi/formeditor
  •   /kexiactionselectiondialog.cpp
  •   /kexiactionselectiondialog.h
  •   /kexiactionselectiondialog_p.h
  •   /kexiformeventhandler.cpp
  •   /kexiformeventhandler.h
Deleted 9 files
  • /trunk/koffice/kexi
  •   /formeditor/formmanager.cpp
  •   /formeditor/formmanager.h
  •   /formeditor/widgetpropertyset.cpp
  •   /formeditor/widgetpropertyset.h
  •   /plugins/forms/kexiactionselectiondialog.cpp
  •   /plugins/forms/kexiactionselectiondialog.h
  •   /plugins/forms/kexiactionselectiondialog_p.h
  •   /plugins/forms/kexiformeventhandler.cpp
  •   /plugins/forms/kexiformeventhandler.h
Modified 48 files
  • /trunk/koffice/kexi
  •   /formeditor/CMakeLists.txt
  •   /formeditor/commands.cpp
  •   /formeditor/commands.h
  •   /formeditor/connectiondialog.cpp
  •   /formeditor/connectiondialog.h
  •   /formeditor/container.cpp
  •   /formeditor/container.h
  •   /formeditor/form.cpp
  •   /formeditor/form.h
  •   /formeditor/formIO.cpp
  •   /formeditor/formIO.h
  •   /formeditor/libactionwidget.cpp
  •   /formeditor/libactionwidget.h
  •   /formeditor/objecttree.cpp
  •   /formeditor/objecttreeview.cpp
  •   /formeditor/objecttreeview.h
  •   /formeditor/resizehandle.cpp
  •   /formeditor/utils.cpp
  •   /formeditor/utils.h
  •   /formeditor/widgetfactory.cpp
  •   /formeditor/widgetfactory.h
  •   /formeditor/widgetlibrary.cpp
  •   /formeditor/widgetlibrary.h
  •   /doc/dev/CHANGELOG-Kexi-js
  •   /formeditor/factories/containerfactory.cpp
  •   /formeditor/factories/containerfactory.h
  •   /formeditor/factories/stdwidgetfactory.cpp
  •   /formeditor/factories/stdwidgetfactory.h
  •   /formeditor/kdevelop_plugin/kfd_kdev_part.cpp
  •   /formeditor/test/kfd_part.cpp
  •   /koproperty2/koproperty/Set.h
  •   /plugins/forms/CMakeLists.txt
  •   /plugins/forms/kexidbfactory.cpp
  •   /plugins/forms/kexidbfactory.h
  •   /plugins/forms/kexiformmanager.cpp
  •   /plugins/forms/kexiformmanager.h
  •   /plugins/forms/kexiformpart.cpp
  •   /plugins/forms/kexiformpart.h
  •   /plugins/forms/kexiformscrollview.cpp
  •   /plugins/forms/kexiformscrollview.h
  •   /plugins/forms/kexiformview.cpp
  •   /plugins/forms/kexiformview.h
  •   /plugins/forms/widgets/kexidbform.cpp
  •   /plugins/forms/widgets/kexidbform.h
  •   /plugins/forms/widgets/kexidbimagebox.cpp
  •   /plugins/forms/widgets/kexidbsubform.cpp
  •   /plugins/forms/widgets/kexidbutils.cpp
  •   /plugins/forms/widgets/kexipushbutton.h
62 files changed in total