Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Separare core e gui
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
luca82
Guru
Guru


Joined: 22 Oct 2003
Posts: 306
Location: Somewhere Between Heaven and Hell

PostPosted: Sun Aug 08, 2004 10:25 am    Post subject: Separare core e gui Reply with quote

Ciao a tutti,

volevo sapere qualche chiarimento in più riguardo alla separazione della GUI dal core di una applicazione GTK. In particolare, esiste qualcosa di simile a XUL di Mozilla per GTK? Ho sentito che con glade si dovrebbe riuscire a generare un file (di testo?) che, in caso di modifiche all'UI, nn devo ricompilarmi tutta l'app.
Se qualcuno conosce qualche link a qualche tutorial sull'argomento...

Grazie in anticipo
Back to top
View user's profile Send private message
conte
n00b
n00b


Joined: 30 Nov 2003
Posts: 46

PostPosted: Sun Aug 08, 2004 11:06 am    Post subject: Reply with quote

spiegati meglio
gtk e' un linguaggio interpretato quindi il codice che scrivi crea l'interfaccia grafica, volendo.
Glade e' una vera forza ed in piu c'e' pure la ver per winzoz se vuoi testare il tutto anche li .
Se il tuo punto d'arrivo e' quello di creare interfacce grafiche indpendenti dal vero programma penso che gtk faccia al caso tuo
se e' questo che cerchi dimmi che ti passo qualche link
tank
Back to top
View user's profile Send private message
motaboy
Developer
Developer


Joined: 15 Dec 2003
Posts: 1483

PostPosted: Sun Aug 08, 2004 11:12 am    Post subject: Reply with quote

conte wrote:

gtk e' un linguaggio interpretato quindi il codice che scrivi crea l'interfaccia grafica, volendo.


8O 8O 8O 8O 8O 8O

gtk+ é una libreria scritta in C e quindi compilata, poi ha un parser per i file XML creati con glade che ti permette di introdurre modifiche all'interfaccia grafica. Ovviamente se aggiungi un bottone o altro widget devi anche scrivere il codice per gestire le calback relative.
_________________
...
Back to top
View user's profile Send private message
conte
n00b
n00b


Joined: 30 Nov 2003
Posts: 46

PostPosted: Sun Aug 08, 2004 12:05 pm    Post subject: Reply with quote

ed il codice scritto per il bottone come viene visto ???
non mi pare di aver mai compilato n programma da me scritto in gtk.
tank
Back to top
View user's profile Send private message
randomaze
Bodhisattva
Bodhisattva


Joined: 21 Oct 2003
Posts: 9985

PostPosted: Sun Aug 08, 2004 12:42 pm    Post subject: Reply with quote

conte wrote:
ed il codice scritto per il bottone come viene visto ???
non mi pare di aver mai compilato n programma da me scritto in gtk.
tank


Sicuro che non stai confondendo con il tcl/tk o con qualche binding delle gtk+ per python o perl?
_________________
Ciao da me!
Back to top
View user's profile Send private message
n3m0
l33t
l33t


Joined: 08 Feb 2004
Posts: 798
Location: Richville, Naples, Italy, Europe

PostPosted: Sun Aug 08, 2004 12:47 pm    Post subject: Reply with quote

conte wrote:
ed il codice scritto per il bottone come viene visto ???


Codice C.
Il reference ufficiale di GTKButton.
Il bottone è una struttura nelle GTK.
Quindi se fai un bottone, hai allocato una variabile di tipo GTKButton.
(nell'ottica OOP, hai creato un'istanza della classe GTKButton)
Ci sono bindings di GTK anche per linguaggi come Python (interpretato), ma questo non equivale affatto a dire che "GTK è un linguaggio intepretato". Da python non fai altro che usare sempre le GTK scritte in C tramite un'"interfaccia" messa a disposizione da librerie python.
GTK è un set di librerie, scritto in C, il che è ben diverso da dire che GTK è un linguaggio.

Un po' di link:

www.gtk.org
http://developer.gnome.org/doc/API/2.0/gtk/index.html
www.gnome.org

e infine

www.xml.org

giusto per capire che il file XML generato da Glade serve solo a descrivere le widget della GUI, non a scrivere il codice del suo funzionamento.
_________________
L’energia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
L’età della pietra non è mica finita per mancanza di pietre. - B.G.


Site/Blog: http://www.neminis.org
Back to top
View user's profile Send private message
n3m0
l33t
l33t


Joined: 08 Feb 2004
Posts: 798
Location: Richville, Naples, Italy, Europe

PostPosted: Sun Aug 08, 2004 12:53 pm    Post subject: Reply with quote

Suggerirei, in ogni caso, di cambiare il titolo del topic.
IMHO separare core e GUI significa tutt'altro (eg: front-end che comunica tramite pipe con un processo di back-end [eg: K3B con cdrecord]). Spero che anche voi altri conveniate.
_________________
L’energia è la civiltà. Lasciarla in mano ai piromani/petrolieri è criminale. Perché aspettare che finisca il petrolio?
L’età della pietra non è mica finita per mancanza di pietre. - B.G.


Site/Blog: http://www.neminis.org
Back to top
View user's profile Send private message
luca82
Guru
Guru


Joined: 22 Oct 2003
Posts: 306
Location: Somewhere Between Heaven and Hell

PostPosted: Sun Aug 08, 2004 1:25 pm    Post subject: Reply with quote

In pratica, se nn ho capito male, glade produce un file XML tipo XUL che funziona in modo simile. Conoscete qualche tutorial che spiega come funziona il tutto e se è possibile utilizzare java come linguaggio con il file generato da glade...
Adesso cerco sui forums di Mozilla per saperne di più sull'integrazione XUL gtk.
Back to top
View user's profile Send private message
akiross
Veteran
Veteran


Joined: 02 Mar 2003
Posts: 1170
Location: Mostly on google.

PostPosted: Mon Sep 13, 2004 3:55 pm    Post subject: Reply with quote

Glade puo' essere usato in 2 modi:
1. metodo migliore: glade salva il file di interfaccia (cioe' la finestra con su tutti i widget) in un file XML. Esiste poi libglade, per vari linguaggi (C, C++, python, ruby, java ecc) che permette di leggere dinamicamente (run time) il file XML ed utilizzare tutti i widget creati nel programma.

Non e' una vera e propria separazione del codice dalla grafica (o almeno non e' una separazione totale), pero' se vuoi cambiare qualche cosa nella grafica, senza modificare proprieta' importanti del widget (cioe' il nome, il tipo), puoi usare lo stesso codice senza problemi.

2. Glade puo' produrre codice C che contiene tutte le definizioni per avere l'interfaccia grafica come l'hai creata con il mouse. Ovviamente pero', se cambi l'interfaccia devi rigenerare il codice C.

Attualmente si consiglia l'uso di libglade, in ogni caso. La generazione del codice C e' deprecata e verra' rimossa in glade3.

Se vuoi ho fatto un tutorial a proposito, ma con Python. E' comprensibilissmo anche se conosci solo Java. Onestamente libglade l'ho usata solo con python, ma con Java o C++ non cambia molto (ho visto alcuni sorgenti con questi linguaggi)

Trovi il tutorial (l'ultimo dell'elenco) e molte altre cose qui https://forums.gentoo.org/viewtopic.php?t=194515

ciauz!

EDIT:
Si, anche io credo che sia piu' appropriato cambiare titolo al thread.
_________________
Libera scienza in libero stato.
Horizon of Events
Back to top
View user's profile Send private message
X-Drum
Advocate
Advocate


Joined: 24 Aug 2003
Posts: 2517
Location: ('Modica','Trieste','Ferrara') Italy

PostPosted: Tue Sep 14, 2004 1:09 pm    Post subject: Reply with quote

conte wrote:
spiegati meglio
gtk e' un linguaggio interpretato quindi il codice che scrivi crea l'interfaccia grafica, volendo.

8O 8O 8O 8O 8O 8O 8O
GTK è una libreria scritta in _LINGUAGGIO C_ (maldocumentata :P ) hai presente le QT?
il codice del bottone come lo hai definito tu è _CODICE C_ nient'altro

conte wrote:

Glade e' una vera forza ed in piu c'e' pure la ver per winzoz se vuoi testare il tutto anche li .

glade non è altro che un gui designer che dovrebbe semplificare la costruzione della GUI.
Quindi non è altro che un generatore di codice C o meglio di funzioni appartenenti alla libreria gtk
Per poter adoperare un prg scritto in C/Gtk sotto windoze devi portare l'applicazione e far riferimento alle Gtk per windoze

LOL
_________________
"...There are two sort of lies, lies and benchmarks..."
Back to top
View user's profile Send private message
babalinux
Tux's lil' helper
Tux's lil' helper


Joined: 20 Aug 2003
Posts: 117

PostPosted: Tue Sep 14, 2004 3:19 pm    Post subject: Reply with quote

n3m0 wrote:
Suggerirei, in ogni caso, di cambiare il titolo del topic.
IMHO separare core e GUI significa tutt'altro (eg: front-end che comunica tramite pipe con un processo di back-end [eg: K3B con cdrecord]). Spero che anche voi altri conveniate.


beh... diciamo che, secondo me, entrambi i casi possono essere descritti dal topic.
Il tuo esempio rappresenta uno dei modi in cui una componente grafica di un programma puo' dialogare con le componenti piu' interne, definite di logica applicativa, o core dello stesso o di altri (visto che parli di pipe, anche le FIFO sono pipe) programmi.

D'altra parte e' ormai universalmente accettato il "design pattern" (passatemi il termine qui nella sua accezione piu' ampia) secondo cui costituisce caratteristica di robustezza per un sofware il "separare l'interfaccia grafica dalla business logic". Per fare cio' non c'e' sempre bisogno di due processi distinti et similia.
Nell'ambito delle applicazioni per database, ad esempio, c'e' un'ampissima e valida letteratura sull'argomento. Ad esempio cio' che di solito si cerca di fare e' separare la presentazione dei dati (che avviene tramite la GUI) dalla parte di interazione con il livello di persistenza che li gestisce.

cheers,
baba
_________________
"...Funny things you learn from your mama, like the way to throw your head back when your swallowing pills..."
Back to top
View user's profile Send private message
lopio
Veteran
Veteran


Joined: 22 Dec 2003
Posts: 1161
Location: savona, Italy

PostPosted: Tue Sep 14, 2004 7:49 pm    Post subject: Reply with quote

akiross wrote:

Onestamente libglade l'ho usata solo con python, ma con Java...

ciao questa per me e' proprio una novita'.Sei sicuro esista la possibilita' du usare libglade con java?Hai qualche link?
PS grazie del tutorial python + libglade (piu' chiaro di quello del Webbit) :D
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum