Laboratorio di Interfacce Grafiche

Esercizio 0 (X Toolkit)

Nota: i file si compilano con:
gcc -o nome_eseguibile nome_sorgente.c -I/usr/X11R6/include
-I/usr/X11R6/include/X11 -L/usr/X11R6/lib -lX11 -lXt -lXaw
Il punto A contiene esercizi facili, il punto B e' piu' difficile. Ovviamente non e' necessario fare tutto...

Usare come base di partenza i sorgenti degli esempi visti a lezione: basicxt.c, nextxt.c.

Punto A

Punto B

Provare a realizzare un semplice programma "calcolatrice" che gestisce numeri naturali con l'operazione di addizione.

L'interfaccia consistera' in una finestra top-level con (almeno):

Non preoccuparsi di disporre esteticamente questi elementi nella finestra dell'interfaccia, lasciare pure che siano gestiti da un widget "box".

Le variabili interne del programma saranno (almeno):

L'interazione tipica avviene cosi':

  1. All'inizio non abbiamo nessun operando, chiamo questa la FASE 1.
  2. L'utente introduce un numero cifra per cifra, l'interfaccia mostra nel display il numero man mano che si forma (chiamo FASE 2 questa fase).
  3. Poi l'utente introduce un operatore, il display rimane inalterato, il numero correntemente mostrato sul display diventa il primo operando n1. Adesso abbiamo il primo operando ma non il secondo, chiamo FASE 3 questa fase.
  4. Poi l'utente introduce un altro numero cifra per cifra, l'interfaccia mostra nel display il numero man mano che si forma (chiamo FASE 4 questa fase).
  5. A questo punto l'utente seleziona il tasto "uguale" (selezionare un operatore genera errore), il numero correntemente mostrato sul display diventa il secondo operando n2, viene effettuata l'operazione (n1+n2), il risultato viene mostrato sul display.
  6. Si ritorna al passo 1. Le callback associate ai vari dispositivi dovranno quindi agire come segue: NOTE / SUGGERIMENTI: