[Volontari] Drag an Drop usando GTK in ambiente C
tullio braga
tullio.braga a glugto.org
Ven 4 Apr 2008 00:38:34 CEST
Il giorno gio, 03/04/2008 alle 22.08 +0200, Fulvio Brosio ha scritto:
[CUT]
> Ma come dovrebbe funzionare l'esempio? L'ho compilato ed eseguito...ma non so bene che farci!!! Ad esempio, pero', trascinando un'icona dal desktop alla text entry, in quest'ultima viene inserito il path dell'icona...
>
Dentro una window main vengono definiti due oggetti nei relativi
contenitori: una text entry, contenitore superiore, posto in cui
dovrebbe essere "droppata" la label del bottone, posto nel contenitore
inferiore, secondo oggetto.
Quando inizi il drag, schiacciando un tasto del mouse partendo
dall'oggetto inferiore (bottone), inizia l'evento "drag begin" che
istanzia una pixmap di colore indaco e stampa sul terminale "SetIcon
begin", la trascini sull'oggetto superiore, la text entry,
e ,rilasciando il bottone del mouse, parte il segnale "drag end" che
stampa il messaggio "end drag" sul terminale.
Dopo l'azione di "begin drag" dovrebbe scattare l'evento "drag data
entry" che ha il compito di catturare la label del bottone ("Drag
this.Select").
Se tutto funzionasse a dovere rilasciando il drag ("drag end")
dovrebbe partire l'evento di drop che ha il compito di inserire la label
catturata nello spazio testo della text entry.
Purtroppo quando fai partire il programma viene emesso un warning di
run time:
(dnd: 7257): Glib_Gobject-WARNING**:
/build/buildd/glib2.0.2.14.1/gobject/gsignal.c:1669: signal
'drag_data_set' is invalid for instance '0X806edf8'.
Questo avviene sia facendo girare dnd su ubuntu 7.10 che su fedora
core 8: programma compilato con le GTK 2 standard delle distribuzioni
citate usando il comando riportato in fondo al codice.
Non eseguendo il segnale "drag data set" non può venire eseguito il
drop, per cui il programma gira al 50%.
Potrebbe essere un problema di aggiornamento librerie(?): pur
essendoci ancora le primitive usate per la scrittura del programma,
quindi riuscendole a compilare senza errori, in realtà non funzionano
più allo stesso modo(?). Mah???!!!!
Debbo dire che è un bel rompicapo: spero di essere stato chiaro.
Tullio
Maggiori informazioni sulla lista
Volontari