[GTK] GtkTextView e file speciale
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
[GTK] GtkTextView e file speciale
Sto cercando di imparare ad usare le gtk in c, ma con pessimi risultati.
Dopo aver aperto il file di una porta seriale, vorrei leggere in continuazione tutti i caratteri che compaiono nel buffer e visualizzarli in una finestra. Tipo terminale a scorrimento.
Ora, mi pare di aver capito che il widget giusto per fare ciò è GtkTextView (sto usando glade), solo che costui lavora sui GtkTextBuffer. Io credo di poter acquisire i caratteri come gchar: come farli arrivare sul textview?
Dopo aver aperto il file di una porta seriale, vorrei leggere in continuazione tutti i caratteri che compaiono nel buffer e visualizzarli in una finestra. Tipo terminale a scorrimento.
Ora, mi pare di aver capito che il widget giusto per fare ciò è GtkTextView (sto usando glade), solo che costui lavora sui GtkTextBuffer. Io credo di poter acquisire i caratteri come gchar: come farli arrivare sul textview?
- IacopoDeeNosee
- Prode Principiante
- Messaggi: 194
- Iscrizione: giovedì 3 maggio 2007, 0:00
- Contatti:
Re: [GTK] GtkTextView e file speciale
prova a seguire questo modello:
se vuoi fare un text scrollabile:
se ti servono altri esempi guarda qui:
http://zetcode.com/tutorials/gtktutorial/gtktextview/
personalmente la maggior parte dei problemi li ho risolti spulciando le reference delle gtk,così da avere un idea degli strumenti messi a disposizione:
http://library.gnome.org/devel/gtk/stable/
spero di esserti stato d'aiuto.
BYE
Codice: Seleziona tutto
...
gchar *StrToText;
GtkWidget *Text_gtk = gtk_text_view_new ();
GtkTextBuffer *Buffer_text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (Text_gtk));
gtk_text_buffer_set_text (Buffer_text, StrToText, -1);
...Codice: Seleziona tutto
...
GtkObject * SetVScrBar_text = gtk_adjustment_new(0,0,100,5,10,15);
GtkObject *SetHScrBar_text = gtk_adjustment_new(0,0,100,5,10,15);
GtkWidget *ScrBar_text =gtk_scrolled_window_new(GTK_ADJUSTMENT(SetHScrBar_text),GTK_ADJUSTMENT(SetVScrBar_text));
gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(ScrBar_text),GTK_POLICY_AUTOMATIC,GTK_POLICY_AUTOMATIC);
gchar *StrToText;
GtkWidget *Text_gtk = gtk_text_view_new ();
GtkTextBuffer *Buffer_text = gtk_text_view_get_buffer (GTK_TEXT_VIEW (Text_gtk));
gtk_text_buffer_set_text (Buffer_text, StrToText, -1);
gtk_container_add(GTK_CONTAINER(ScrBar_text), Text_gtk);
...http://zetcode.com/tutorials/gtktutorial/gtktextview/
personalmente la maggior parte dei problemi li ho risolti spulciando le reference delle gtk,così da avere un idea degli strumenti messi a disposizione:
http://library.gnome.org/devel/gtk/stable/
spero di esserti stato d'aiuto.
BYE
Skype -> IacopoDeeNosee
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: [GTK] GtkTextView e file speciale
non ho ancora provato, ma comunque sei stato di aiutissimo!
Le references ieri ho passato 3 ore a leggerle, ma tra l'inglese che non è la mia lingua madre, e il fatto che paretivo proprio da 0, non ci avevo capito molto!
Le references ieri ho passato 3 ore a leggerle, ma tra l'inglese che non è la mia lingua madre, e il fatto che paretivo proprio da 0, non ci avevo capito molto!
- mous16
- Imperturbabile Insigne

- Messaggi: 3940
- Iscrizione: mercoledì 25 ottobre 2006, 15:51
- Sesso: Maschile
Re: [GTK] GtkTextView e file speciale
No, ancora non ci sono... nel mentre gli ho costruito tutto il resto del programma intorno, ma da questo punto ancora non mi sono mosso...
Ad un certo punto devo far entrare un figlio in un while infinito,, dove deve prendere un carattere dalla periferica con
Ma sul terminale me lo stampa, mentre sul buffer no...
Ad un certo punto devo far entrare un figlio in un while infinito,, dove deve prendere un carattere dalla periferica con
Codice: Seleziona tutto
pid=fork();
if(pid==0)
{
buffer=gtk_text_view_get_buffer(textview1);
while(1)
{
read(fd, &c, 1);
gtk_text_buffer_insert_at_cursor (buffer, g_locale_to_utf8(&c, 1, NULL, NULL, NULL) , 1);
printf("%c", c);
}
exit(0);
}
Re: [GTK] GtkTextView e file speciale
Rognose ste GTK 
"E alla fine sei da solo, dove vai, con chi brindi?"
- IacopoDeeNosee
- Prode Principiante
- Messaggi: 194
- Iscrizione: giovedì 3 maggio 2007, 0:00
- Contatti:
Re: [GTK] GtkTextView e file speciale
il processo padre gestisce l'aggiornamento della GUI perciò dovresti passare a lui il GtkTextView con il buffer aggiornato,prova a vedere qui quale soluzione adottare:
http://tldp.org/LDP/lpg/node7.html
oppure la mitica gapil
http://www.lilik.it/~mirko/gapil/gapilc ... 2-23300012
forse la soluzione più semplice è usare la memoria condivisa,condividere GtkTextView fra i due processi ???
BYE
http://tldp.org/LDP/lpg/node7.html
oppure la mitica gapil
http://www.lilik.it/~mirko/gapil/gapilc ... 2-23300012
forse la soluzione più semplice è usare la memoria condivisa,condividere GtkTextView fra i due processi ???
BYE
Ultima modifica di IacopoDeeNosee il sabato 11 ottobre 2008, 21:17, modificato 1 volta in totale.
Skype -> IacopoDeeNosee
Chi c’è in linea
Visualizzano questa sezione: 0 utenti iscritti e 2 ospiti
