GLUI: GLUT-based User Interface



Documenti analoghi
Integrazione InfiniteCRM - MailUp

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

- DocFinance Manuale utente

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

Guida all utilizzo del compilatore lcc-win32 per creare una applicazione console

Servizi Remoti. Servizi Remoti. TeamPortal Servizi Remoti

Lezione 10: Librerie e compilazione separata

Tutorial per l installazione del J2SE 6 e configurazione del sistema operativo

Il web server Apache Lezione n. 3. Introduzione

Gestione Risorse Umane Web. Gestione della foto in stampa unione. Versione V01

FOXWave Gestione gare ARDF IZ1FAL Secco Marco Sezione ARI BIELLA

SPSS Statistics per Windows - Istruzioni di installazione per (Licenza per utenti singoli)

Configurazione Client di Posta Elettronica

In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.

Versione 7.0 Taglie e Colori. Negozio Facile

NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

DevC++ vers Manuale d uso

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (licenza per sito)

PORTALE CLIENTI Manuale utente

MANUALE PARCELLA FACILE PLUS INDICE

Creazione Account PEC puntozeri su Outlook Express

ARCHIVIAZIONE DOCUMENTI

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

I Codici Documento consentono di classificare le informazioni e di organizzare in modo logico l archiviazione dei file.

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Librerie. Laboratorio di Informatica Antonio Monteleone 28

Istruzioni per l installazione del software per gli esami ICoNExam (Aggiornate al 15/01/2014)

MANUALE UTENTE. In questo manuale verranno descritte tutte le sue funzioni. Il sistema OTRS è raggiungibile al seguente link:

WBS-01 Guida rapida alla configurazione

ATOLLO BACKUP GUIDA INSTALLAZIONE E CONFIGURAZIONE

Istruzioni di installazione di IBM SPSS Modeler Text Analytics (utente singolo)

UTILIZZO DEL SOFTWARE FEDRA PLUS

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

MANUALE PER CONSULTARE LA RASSEGNA STAMPA VIA WEB ( ULTIMO AGGIORNAMENTO 26MARZO 2009)

Guida alla registrazione on-line di un DataLogger

filrbox Guida all uso dell interfaccia WEB Pag. 1 di 44

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

I DATABASE Database relazionale

START Easy GO! Il gestionale sempre in tasca! Procedura di aggiornamento. Documentazione utente Pagina 1 di 18

Documenti Tecnici Informatica e Farmacia Vega S.p.A.

Indice generale. Il BACK-END...3 COME CONFIGURARE JOOMLA...4 Sito...4 Locale...5 Contenuti...5

Gestione Filtri. InfoBusiness 2.8 Gestione Filtri Pag. 1/ 11

HSH Informatica e Cultura s.r.l. OPEN.TE SOFTWARE PER GESTIONE E LA PUBBLICAZIONE DEI DATI AI SENSI DELLA L.N. 190/2012 GUIDA ALL USO

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Manuale Utente MyFastPage

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

PSNET UC RUPAR PIEMONTE MANUALE OPERATIVO

SendMedMalattia v Manuale d uso

Manuale Utente PEC e Client di Posta tradizionale

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Punto Print Il programma per stampare. Documentazione Tecnica

ALBO PRETORIO WEB MANUALE DELLA PROCEDURA SOMMARIO. Uso del manuale. Informazioni generali. Interfaccia grafica. Guida di riferimento

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Presentazione della release 3.0

PowerDIP Software gestione presenze del personale aziendale. - Guida rapida all inserimento dei nominativi e delle timbrature -

FIRESHOP.NET. Gestione completa degli ordini e degli impegni. Rev

GUIDA ALL ACQUISTO DELLE FOTO

Registro delle Lezioni

Corso Corso di di programmazione di di sistemi mobile 1 1. Android Laboratorio. Primo Progetto, Toast

Procedure di utilizzo e di descrizione applicativa

GUIDA ALL USO DEL PANNELLO DI GESTIONE SITO WEB

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

2015 PERIODO D IMPOSTA

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

FPf per Windows 3.1. Guida all uso

Dev C++ Prerequisiti. Note di utilizzo. Utilizzo di Windows Effettuare il download da Internet Compilazione di un programma

Struttura logica di un programma

ACO Archiviazione Elettronica e Conservazione sostitutiva

SIEMENS GIGASET S450 IP GUIDA ALLA CONFIGURAZIONE EUTELIAVOIP

COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo

FUNZIONALITA PAGAMENTI TELEMATICI CONSOLLE AVVOCATO

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

SOMMARIO... 3 INTRODUZIONE...

Creare un sito Multilingua con Joomla 1.6

installazione

pfcad Office Guida all installazione dei software pfcad

e/fiscali - Rel e/fiscali Installazione

Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore

Anagrafe dei Rapporti Finanziari

Portale cartografico del Servizio Geologico, Sismico e dei Suoli Guida utente

Guida Rapida di Syncronize Backup

Guida associazione automatica apertura file Scarico Dati RI (.u3x)

Dynamic Linking. Introduzione Creazione di una libreria dinamica Uso di una libreria dinamica

Scrutinio Web. Raccolta Leggimi degli aggiornamenti. Pagina 1 di 10. Data Pubblicazione

Esercitazione 4 JDBC

OwnCloud Guida all installazione e all uso

SCOoffice Address Book. Guida all installazione

Mon Ami 3000 Produzione base Produzione articoli con distinta base e calcolo dei fabbisogni

Autologon per Windows Come evitare che Windows chieda Password e Utente all avvio

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Procedura SMS. Manuale Utente

Introduzione. Costruzione di Interfacce Primi passi in OpenGL. Sierpinski Gasket. Sierpinski gasket. Event driven programming. Stuttura del programma

Transcript:

GLUI: GLUT-based User Interface La GLUI è una libreria di oggetti C++ costruita utilizzando le GLUT e mette a disposizione tutta una serie di oggetti per rendere l interfaccia di un programma più user-friendly. Le GLUI si permettono di definire: Bottoni; Checkbox, spinner box; Pannelli, separatori, rollout; Campi testuali statici o dinamici; ecc 1

GLUI (2): Grazie al fatto che sia GLUT-based, conferisce alla libreria la proprietà di essere systemindipendent esattamente come le Glut permettendo di creare applicazioni su sistemi Window, SGI, Unix, Linux, Mac. 2

GLUI (3): glui32.lib Ciascun oggetto glui genera degli eventi che dovranno essere gestiti da opportune funzioni. La registrazione delle funzioni avviene, diversamente dalle glut, direttamente in fase di creazione dell oggetto che vogliamo inserire nell interfaccia a parte alcuni casi. È possibile creare interfacce standalone ovvero esterne alla finestra di visualizzazione oppure all interno della finestra stessa (novità inserita nella versione v.2.1). File necessari: glui.h e glui32.lib 3

GLUI (4): Per creare il glui32.lib: Scaricare la libreria dal sito www.unife.it/didattica/amati/gc.html scompattarlo in una directory qualsiasi, e clickare su glui.dsw. Automaticamente si avvia il Visual C++. Ricompilare tutto (Rebuild all). Nella directory in cui avete scompattato la libreria, sarà stata creata una directory Lib che contiene glui32.lib. Prendete quel file e copiatelo nella Lib del Visual C++. Prendete il glui.h e copiatelo nella directory Include del Visual C++. C:\Programmi\Microsoft Visual Studio\VC98\Include (glui.h) C:\Programmi\Microsoft Visual Studio\VC98\Lib (glui32.lib) 4

GLUI: main.cpp Struttura del main.cpp: #include <GL/glut.h> #include <glui.h> CLASSI, VARIABILI, FUNZIONI void InitGLUI(){}; void main(int argc, char *argv[]){ glutinit(&argc, argv); InitGLUT(); InitGLUI(); glutmainloop(); exit(0); } 5

GLUI: main.cpp Tutto ciò che si definisce con la glui viene associato alla current window definita. Questo comporta che subito dopo la creazione di una finestra con glutcreatewindow( ), è necessario specificare l interfaccia glui che si vuole associare a tale finestra. Tale procedimento deve essere eseguito per ogni finestra. current window :::::::Impostazioni INIT c.w. :::::::: mgluiwin = glutcreatewindow( GLUI ); glutdisplayfunc( ); :::::::: registrazioni eventi :::::: specifica interfaccia GLUI per c.w. 6

GLUI: main.cpp Se si vogliono creare più finestre si ripete il codice precedente: ::::::: Impostazioni INIT c.w. N.1 :::::::: mgluiwin1 = glutcreatewindow( GLUI ); glutdisplayfunc( ); :::::::: registrazioni eventi :::::: specifica interfaccia GLUI per c.w. N.1 ::::::: Impostazioni INIT c.w. N.2 :::::::: mgluiwin2 = glutcreatewindow( GLUI2 ); glutdisplayfunc( ); :::::::: registrazioni eventi :::::: specifica interfaccia GLUI per c.w. N.2 7

GLUI v. 2.1 Dà la possibilità di creare un interfaccia GLUI all interno di una finestra di visualizzazione. Migliora la gestione delle live-variables ovvero quelle variabili associate a un controllo GLUI e che ne contengono il valore o lo stato: per esempio a un checkbox è possibile associare una variabile intera che assume 1/0 a seconda che il checkbox sia abilitato o no. Tali variabili sono aggiornate automaticamente da GLUI nel momento in cui l utente interagisce con tali strumenti. Anche GLUI ha delle callback functions che devono essere registrate per realizzare l associazione con i relativi eventi. 8

GLUI: Link In fase di Linking bisogna impostare le proprietà nel menu projects, andare alla voce Settings e selezionare le opzioni di Link. Quindi è necessario specificare le lib da linkare, nel seguente ordine: glui32.lib glut32.lib glu32.lib opengl32.lib Sia per la configurazione di debug, sia per la release cioè è necessario di conseguenza selezionare All Configuration. 9

GLUI (5): creazione Le finestre GLUI possono essere standalone oppure subwindow. Una finestra standalone è più semplice. La subwindows implica che delle modifiche alla definizione della viewport. 10

GLUI *glui_win; int winid; ::::::::::::::: GLUI (6): standalone GLUI winid = glutcreatewindow( GLUT window ); Registrazione delle GLUT callback function. glui = GLUI_Master.create_glui( NOME,flags,x,y); Aggiunta di controlli GLUI. glui->set_main_gfx_window(winid); glutmainloop(); lega la glui alla finestra di visualizzazione 11

GLUI (7): GLUI subwindow GLUI *glui_subwin; ::::::::::::::::::: int winid; winid = glutcreatewindow( GLUI ); FASE DI REGISTRAZIONE glui_subwin = GLUI_Master.create_glui_subwindow( winid, GLUI_SUBWINDOW_RIGHT); Aggiunta di Controlli GLUI glui_subwin->set_main_gfx_window(winid); glutmainloop(); 12

GLUI (8): registrazione GLUT Nel caso in cui si stesse creando una GLUI subwindow è necessario effettuare la registrazione degli eventi associati a Keybord, Special, Mouse, Reshape e Idle utilizzando le seguenti chiamate: GLUI_Master.set_glutKeyboardFunc(myKeyboard); GLUI_Master.set_glutMouseFunc(myMouse); GLUI_Master.set_glutReshapeFunc(myReshape); GLUI_Master.set_glutIdleFunc(myIdle); GLUI_Master.set_glutSpecialFunc(mySpecial); 13

GLUI (9): Reshape Tipicamente il codice della funzione di reshape iniziava con la chiamata alla funzione glviewport(0,0,w,h). Solo nel caso in cui si stia creando una GLUI subwindow è necessario modificare quella linea con il seguente codice, mantenendo il resto inalterato: void Reshape (int w, int h){ int tx, ty,tw, th; GLUI_Master.get_viewport_area(&tx, &ty, &tw, &th); glviewport(tx, ty, tw, th); ::::: SOLITO CODICE standard ::::::: } Oppure in modo più automatico: GLUI_Master.auto_set_viewport(); 14

GLUI (10): le classi principali La GLUI è una libreria C++ le cui classi principali sono: GLUI_Master_Object: è la classe globale. Tutte le finestre GLUI devono essere create tramite l invocazione del relativo metodo; GLUI: descrive l interfaccia GLUI; GLUI_Control: insieme di classi per descrivere diversi controlli da aggiungere all oggetto GLUI creato tramite il Master_Object, ad esempio: GLUI_Panel GLUI_Rollout GLUI_Checkbox. 15

GLUI (11): le classi principali GLUI_Master_Object GLUI_Control class GLUI GLUI_Panel GLUI_Checkbox GLUI_Button GLUI_Rollout 16

GLUI: creazione finestra GLUI *GLUI_Master_Object::create_glui( char *name, stringa titolo dalla finestra int flags=0, int x=-1, posizione iniziale della finestra int y=-1); Crea una finestra standalone GLUI nella quale si potranno aggiungere i controlli. 17

GLUI: creazione finestra GLUI *GLUI_Master_Object::create_glui_subwindow( int windowid, int position); position: GLUI_SUBWINDOW_RIGHT, GLUI_SUBWINDOW_TOP, GLUI_SUBWINDOW_LEFT, GLUI_SUBWINDOW_BOTTOM. crea una finestra GLUI in una finestra GLUT identificata da windowid creato dopo una glutcreatewindow(); position: specifica la posizione dell interfaccia GLUI nella finestra. 18

GLUI: creazione finestra E possibile creare più oggetti glui all interno di una stessa finestra glut. Ciascuno sarà un oggetto GLUI * a sé stante all interno di una comune finestra. GLUI_SUBWINDOW_RIGHT GLUI_SUBWINDOW_BOTTOM 19

GLUI: creazione finestra void GLUI::set_main_gfx_window(int windowid) Indica alla finestra glui quale sia la finestra grafica creata dalla GLUT. Quando un controllo cambia valore, verrà generato un eventdo di redisplay per la finestra indicata con windowid. 20