kexi project
Rapid Database Application Development
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
KDE

Member of the Calligra Suite

No Software Patents!

Forms:

Form Wizard

 ccpasteur, jstaniek; 2005

The Form Wizard contains two parts: general data source wizard (which will be reused for report wizard in particular), and specific pages for defining forms appearance and behaviour.

Table of Contents
     Data model
     Page 1: Select Form Type and data source
     Page 2: Fields selection
     Page 3: Select Form's Layout
     Page 4: Customize Form's Look&Feel
     Page 5: Finish page

Data model

Every bit of data collected by the wizard is stored in KexiFormWizardData class (very structure-like).

^ toc

Page 1: Select Form Type and data source

http://kexi-project.org/pics/msa/2_formwizard/formwizard1.png

Instead of diplaying empty 'Welcome' page, we use a page with a list of available types of forms:

  • "Create a Blank Form in Design View". Data source will be assigned to the blank form but no widgets will be insereted. 'Finish' button is always enabled here. 'Next' is always disabled here.
  • "Create a Form Using Wizard". 'Finish' button is disabled here. 'Next' is always always enabled here (user can set data source on 2nd page).
  • "Create an AutoForm" (later this item will be extended to multiple autoform types). 'Finish' button disabled if no data source is selected in the combo box.

'Next' and 'Finish' buttons are enabled depending on the choice made here.

At the bottom side of the a combo box with available tables and queries (data source) is placed. User can select one of these objects.

Reuse notes:

  • KexiDataSourceComboBox (already used in Data Source Pane) provides functionality needed for data source selection. We can use the class.
  • We don't want to prepend "Define query..." item there, because the wizard is modal so Query Designer couldn't be accessible.
^ toc

Page 2: Fields selection

This page two lists ('available' and 'selected') allowing the user to:

  • select the fields she want to put in the form, using ">", "<", ">>", "<<" buttons
  • define ordering for these fields using "up", "down" buttons at the right hand of the page.

http://kexi-project.org/pics/msa/2_formwizard/formwizard2.png

By default no fields are selected. There are also two other buttons to change the order of the fields selected (which should appear in this order in the form).

Reuse notes:

  • KexiDataSourceComboBox is here used again, as on page 1, so it may be possible to select a data source if it wasn't performed at page 1. It's convenient as users may want to chage selection (data source) in the combo box to see what fields are available and then change their mind by selecting another data source.
  • Implement this page as KexiFieldSelector widget class, so it can be later reused for import/export wizards. Don't add page's informational text to this widget.
  • The widget is similar to KSelectAction, but displays both names and types of fields.
  • Use KexiFieldListView class (already used in Data Source Pane) for displaying field lists, which supports displaying types and primary key icons. Note that the class already provides dragging: dropping needs to be added.

Notes:

  • Drag and drop features for adding/removing fields and changing ordering could be good idea too.
  • MSA shows "You can choose from more than one table or query" information text. But is this really easy to use? This is used to automatically build relational JOINS. Users need to remeber how db relationships look like for the database, otherwise, if two or more tables are not related, following error pops up:
http://kexi-project.org/pics/msa/2_formwizard/formwizard2_err_unrelated.png
jstaniek: my proposal is to leave the feature as lower priority TODO.
  • 'Finish' and 'Next' buttons are disabled if no single field is selected.
  • Clicking 'Finish' on this page should create autoform with default style and behaviour.
^ toc

Page 3: Select Form's Layout

(available both for autoform and ordinary form)

Choose the form layout: hbox (then formview vscrollbars will be used if needed), hflow, vflow (the default?).

See: http://kexi-project.org/pics/msa/2_formwizard/formwizard3_columns.png http://kexi-project.org/pics/msa/2_formwizard/formwizard3_justified.png http://kexi-project.org/pics/msa/2_formwizard/formwizard3_tabular.png

^ toc

Page 4: Customize Form's Look&Feel

(available both for autoform and ordinary form)

http://kexi-project.org/pics/msa/2_formwizard/formwizard4.png

This page lets the user:

  • choose one of predefined styles. Later, this will be done thx to xml templates, created by the user or downloaded with KNewStuff (kexi 1.2 at least).

Note that after xml templates are available we will need to create similar duplicates of builtin styles.

^ toc

Page 5: Finish page

(available both for autoform and ordinary form)

Message: "The Wizard is about to create a form for you".

http://kexi-project.org/pics/msa/2_formwizard/formwizard5.png

Options provided:

  • Open the form to view and enter data
(this option will save the form before showing it: in most cases it's expected by a user)
  • Show the Form Designer allowing modifications
(this option will not save the form so a user can close the design without any consequences)


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