Home       Goals       Download       Documentation       Support Us       Development       Job Openings       Webstore       Patrons       Contact us / Enlist      


GUI (Skins) dictionary structure.

Needs updating - a file structure that can correspond with a DB structure has been developed in connection with the translation efforts to Chinese, see einarpetersen.com (PYCHI) add link.

I believe that a GUI dictionary structure should be relatively simple, the database consists of, GUI texts. Each text is assigned a unique ID.

Each structure on the GUI is an object, i.e. a button is an object, a panel is an object, a tool tip is an object etc. hence we need an object category which can then be subdivided into object types.

Each object type has a unique ID, when more than one object of a specific type exists a sequence number is added.

We can then in our GUI code assign specific object types unique objects.

Each assignment is given by chaining the ID of the object (for instance a panel) to another unique ID which can belong to an objects like a button, which in turn is being assigned to a text object with a unique ID of X or a tool tip object with a uniqe ID of Y.

Example: For buttons the following table structure could be used.

Abstract: Object type: - Should be the name of a table in a database for one type of objects. UniqueID: An automatically assigned unique key in the particular table. This is an automatically assigned number, generated incrementally as the number of objects in the table increase.

Concrete Example: Object Type: Button Unique ID: 01,02,03…etc.

Once we establish the number of buttons we can begin to assign for instance texts to individual buttons. We can do that by implementing an Object Assignment Table as well as a text table. The text table consists of a Unique ID field and a text field.

The Object Assignment Table consist of the following

UniqueID: from table X Assigned to: UniqueID from table Y

Here table Y is a Text table with a unique number representing specific languages, and depending on the UniqueID in table Y a specific text will appear where wanted once implemented properly in abstract form in the GUI text.

One could choose to create static tables after first initializations so that startup times are faster.

Programs will need to initialize - however the benefits should outweigh the time drawback as computer processing power is increasing steadily.

This way we make it possible to have an application that can be translated into additional languages simply by adding language tables with regards to text representations, we can even make an auto fallback fucntion so that interfaces can be partially translated.

We should even provide easy to use wizards for out programs that enable people to translate the application and submit their translations upstream so that others can enjoy their work.

Maybe we need to move along these lines.

Object types.


Object type name:

Tables for linking objects can then be generated from the object types table.

Object type name - Object sequence nr. - linked object.

Here is a link to wikipedia describing the most common GUI_widgets - This could be used as a basis for designing tables http://en.wikipedia.org/wiki/GUI_widget

gui_dictionary_file_structure.txt · Last modified: 2012/03/30 01:32 (external edit)
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki

The contents of this site, i.e. texts, programs and images, but not limited to these, belongs to their respective owners and are protected under international copyright treaties according to individual licensing.

Please make sure you familiarize yourself with the appropriate permissions / licenses and follow these individually before using anything you find on this site.

The Global Ability Initiative is a Non Profit venture dedicated to the development of gratis, open source software for the disabled, the sick and the needy - We aim to provide assistive software to a wide variety of people, suffering for example from Aphasia, MS, ALS, Cerebral Palsy and other disabilities as well as pushing initiatives in the field of ECG monitoring.

With reservation for changes and errors.