KUIML
Blue Cat's User Interface Programming Language
Overview

Naming Conventions

Besides XML Syntax, the following conventions are used:

  • Elements are written with capital letters: <SKIN>, <PARAM_BUTTON> ...
  • Attributes are written with lower-case letters: value, author, ...
  • Attributes values are written with lower-case letters when possible: vertical, false...
  • separator for composed attributes is '_': v_align, layout_type, ...

The name of widgets usually follow the following rules when possible:

  • widgets using images use the IMAGE keyword
  • widgets related to parameters include the PARAM keyword
  • widgets related to curves include the CURVE keyword, etc.

Note: the graphics used in this chapter have been created for pedagogic purposes. They are very basic on purpose and do not demonstrate the kind of user interfaces that can be obtained with the language.

Skin Structure

A skin is a tree of graphical elements (cells), the building blocks of a 2D user interface. It is composed of a root cell (<SKIN> element), and children cells, that may also recursively contain other children cells.

A typical cell hierarchy seen in XML viewer

Some elements cannot be seen by the user (layout-only elements). Some are just passive elements that show some information to the user, and some allow the user to interact with them with the mouse or keyboard. Next chapter explains the main element families that can be used in KUIML.

Elements Families

KUIML elements can be divided into three main categories:

The language also supports scripting, to interact with the data model exposed by the skin. More details can be found in the Scripting Reference section.