WinDom: Tutorial

- Main Page
- Modules
- Data Structures
- Files
- Related Pages

# Tutorial

tutorial to introduce windom programming to newbies. More...

## Modules
| Example 1.1 of the tutorial : Create and handle a window
| Create, open and handle a blank window in a GEM environment.

| Example 1.2 of the tutorial : Window drawing callback
| Create, open and handle a proportional window.

| Example 1.3 of the tutorial : Controling events
| More events, best terminaison.

| Example 2.1 of the tutorial : Controling window sliders
| Example 2.2 of the tutorial : Adding GEM desktop
| Example 2.3 of the tutorial : Menu and toolbar in windows

## Detailed Description

tutorial to introduce windom programming to newbies.

## Introduction

WinDom programming is very similar to GEM programming. Actually, it is possible to use WinDom exactly like GEM but it is not the most efficient way. The main difference between GEM and WinDom in this example is that the GEM events returned by EvntWindom() (the WinDom equivalent of evnt_multi()) are not handled ! In fact, events are implicitly handled by EvntWindom(). When an event occurs, EvntWindom() looks for an handler function, and if it exists, this function is called. So, EvntWinDom() is the core of WinDom : almost special features of WinDom are handled in this function.

Definition (Callback function)
A function defined by the programmer but executed by WinDom core is called a callback function. For example, all GEM event can be handled by callback functions.

Defintion (Standard callback function)
Standard callack functions are callback function predefined by WinDom during its initialization i.e. during the call of ApplInit(). For example, all events related to window have a standard callback function (see manual of WindCreate()).

## Compiling tutorial

Makefile provided is designed to work with gcc.

    % make          ; to compile all tutorials
    % make tut-1-1  ; to compile this tutorial

There are special switches :

    % make CROSS=yes  ; switch to add for cross-compiling
    % make clean      ; cleaning the directory

## Examples

the first group of examples shows how it is simple to write a simple GEM application. These are basic examples with simple window :

- Example 1.1 of the tutorial : Create and handle a window
- Example 1.2 of the tutorial : Window drawing callback
- Example 1.3 of the tutorial : Controling events

The second group of examples deals with more complex windows

- Example 2.1 of the tutorial : Controling window sliders
- Example 2.2 of the tutorial : Adding GEM desktop
- Example 2.3 of the tutorial : Menu and toolbar in windows