Kexi/Assistants/Lookup Column Assistant

From KDE Community Wiki
Revision as of 18:39, 5 April 2023 by Jstaniek (talk | contribs)

Objectives

The Lookup Column Assistant allows you to add a database relation for a single column. Once such relation is defined (one-to-many), it allows user to select one of many values for a given field using some sort of combo box. The task is to deliver intelligent GUI for this wizard. This task doesn't include a code for creation the column itself.

Note

Original wiki page: [1]


Pages

Page: WELCOME. Select lookup type

There are two types of definition for the "many" side of this relation:

  • type#1: Picking an existing table or query, so their rows will be displayed for selection
  • type#2: Simple version: Entering rows by hand, what creates a simple dictionary.

The 1st type is more generic, and allows to reuse once defined data schemas.

Sequence Diagram
 WELCOME:SelectLookupType ->
    (type#1)-> TableOrQueryDataSource Page -> FieldsSelection Page -> SortOrder Page ->
            ColWidth Page -> SelectBindingColumn Page -> EnterColumnName Page -> END Page
    (type#2)->EnteringDataByHand Page -> SelectBindingColumn Page ->
           EnterColumnName Page -> END Page

Notes:

  • SelectBindingColumn and EnterColumnName pages are identical for either 1st and 2nd type.

TableOrQueryDataSource Page (type #1)

  • For tables/queries list, general-purpose Kexi widget should be used (not yet implemented). Only one item can be selected here.
  • Unlike presented on the screenshot, do not add "tables/queries/Both" radio buttons, but tables and queries should be displayed on the list (2 columns), eg.:
 Type    Name
 ----    ----
 Table   [icon]Table1
 Table   [icon]Table2
 Query   [icon]Query1

The 2nd column contains an icon ("table" or "query").