Difference between revisions of "AVWizard specifications"

From LinuxMCE
Jump to: navigation, search
Line 24: Line 24:
 
  - OnEnter, OnCancel
 
  - OnEnter, OnCancel
 
  - OnFocus, OnLostFocus
 
  - OnFocus, OnLostFocus
 +
 +
See which are [[focus events]].
  
 
Events on non focus-able items:
 
Events on non focus-able items:
Line 29: Line 31:
 
  - OnPaint
 
  - OnPaint
 
  - OnClose
 
  - OnClose
 +
 +
See [[non-focus events]].
 +
 +
Note: any focus control is too a non-focus control, because it may be init, paint or closed, as any regular control
  
 
Controls:
 
Controls:

Revision as of 08:26, 11 April 2006

This page was written by Pluto and imported with their permission when LinuxMCE branched off in February, 2007. In general any information should apply to LinuxMCE. However, this page should be edited to reflect changes to LinuxMCE and remove old references to Pluto.
Steps that works AVWizard:
- load /etc/avwizard.conf and get the defaults
- parse command line parameter and overwrite the defaults
- if wizard should generate vizual feedback, will do the next:
- build the screen list
- set up the first of screens as default
- set up the video mode
- start the event looping

Event handling, possible actions that user may do:

- $default: do the same as default asks
- $previous: close the current screen and go to the previous
- $next ['FileName']: save the current items on the selected page. FileName is used to skip some steps in the wizzard. If the wizard is in “One-Page mode” will finish the settings right here.
- $call 'scriptname': calls one system command
- $next_item: focus on next focus-able item
- $previous_item: focus on the previous focus-able item
- $refresh 'FileName': reload the description form in file FileName
- $call_event [Object.]Event: call the event of one specified control
- $set_property [Object].Property [= Value]: set a value to one item. If there is no value written, the control will get the defaults. After that, will be called the OnPaint event.

Events (on focus-able items):

- OnUp, OnDown
- OnLeft, OnRight
- OnEnter, OnCancel
- OnFocus, OnLostFocus

See which are focus events.

Events on non focus-able items:

- OnInit
- OnPaint
- OnClose

See non-focus events.

Note: any focus control is too a non-focus control, because it may be init, paint or closed, as any regular control

Controls: Page: parent control to all control, may be compared with a display Image: a picture area Label: control that describe a thing using some text ListBox (focus-able): a control that store multiple values Button (focus-able): a control that notify clicking Progress bar: a control that shows the progress of one action

Control definition:

object ControlName: <ControlType> [Propery = Value]

	Event: [[[[action1;] action2; ] .... ;] action_n]

[object Child: <Control Type> <Child definitions>

        End]

end

Properties and methods of controls:

- Page

Page properties Page events

- Image

Image properties Image events

- Label

Label properties Label events

- ListBox

ListBox properties ListBox events

- Button

Button properties Button events

- ProgressBar

ProgressBar properties ProgressBar events


Every screen will be stored in a file with SDF extension: SDF = Screen Definition Page.

Every event called to a child control, will be called to the parent. Events will be parsed by control and if the event is not known, there should be no suitable code, else will call the default action.

Saving informations, set up the wizard defaults.

Every ListBox and Button will be saved to the next page in a list of stored options. Stored informations are next: Page/Control/Option

At $next event, every control will be saved, and at the $previous command every control with current page will be removed.

Command parsing

The command parsing is a stack, which calls a command and remove the command after.

The command: $generate_event push commands in pending state.

Exceptional cases: Following commands will destroy the stack: $next; $previous; CurrentControl.OnClose The next coomand destroy the screen, which clean up the all commands.