BibleTime2FrontendNavigator

From BibleTime
Revision as of 21:45, 23 March 2007 by Admin (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

Contents

BibleTime 2.0 navigator

This page shows an idea how it would be possible to implement a keychooser-like solution for BibleTime2. This design was originally meant as a possible implementation suggestion for BibleTime 1.x, but imho it's too much work and overhead to do this in 1.x.

A navigator is the element in BibleTime's GUI which is responsible for the navigation in a work.

Typical usage

Here's a small scenario how the navigator might be used. The shown navigator is used in a verse based module, e.g. a Bible. A navigator widget has seperate parts in the edit line. In this example it's split into three parts, the book, chapter and verse part. All can be reached by pressing tab. In each part the user can type text of use the up- and down-arrow keys to change the part. When he's done the the user presses the enter key to show the passage he entered.

  1. The user clicks on the widget or presses the attached key accelerator for focus. The whole key is shown, nothing is highlighted.
    File:Navigator1.png
  2. He presses TAB to get to the first part of the edit line, i.e. to the book edit part.
    File:Navigator2.png
  3. The user can enter some new text.
    File:Navigator3.png
  4. The navigator shows a completion for the currently entered text. In this case all books which begin with "1". The first item of the list is highlighted. Pressing enter takes the highlighted list item into the currently used edit part.
    File:Navigator4.png
  5. The user pressed ENTER on the first list item. "1. Samuel" is now the chosen book.
    File:Navigator5.png
  6. Pressing TAB activates the next edit part of the widget, i.e. the chapter part.
    File:Navigator6.png
  7. Pressing the up-arrow key increases the number to the next available one.
    File:Navigator7.png
  8. Pressing ENTER in the edit line finished the editing action of the user and displays the newly chosen passage.
    File:Navigator8.png

Classes

The classes need a detailed design together with the backend classes. As the navigation classes are model-based the model should be integrated into the backend of BibleTime somehow.

NavigationActionFactory

Navigator

NavigatorHistory

NavigatorEdit

NavigatorCompletion

NavigationModelFactory

NavigationModel

NavigationModelItem