Forum: Italian Ruby user group RubyGTK TreeView e bottoni nelle celle

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-02-27 21:32
Ciao

Sto sviluppando un piccolo gestionale per un negozio e sto creando parte
dell'interfaccia con le GTK.

Devo inserire bottoni all'interno di una cella di un oggetto Treeview.
Ho trovato solamente questi tipi di renderer:

Gtk::CellRendererAccel - Renders a keyboard accelerator in a cell
Gtk::CellRendererCombo - Renders a combobox in a cell
Gtk::CellRendererPixbuf - Renders a pixbuf in a cell
Gtk::CellRendererProgress - Renders numbers as progress bars
Gtk::CellRendererSpin - Renders a spin button in a cell
Gtk::CellRendererText - Renders text in a cell
Gtk::CellRendererToggle - Renders a toggle button in a cell

Ma per inserire un bottone non c'è niente?

Grazie


Michele
David Welton (Guest)
on 2007-02-27 22:35
(Received via mailing list)
On 2/27/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
> Ciao
>
> Sto sviluppando un piccolo gestionale per un negozio e sto creando parte
> dell'interfaccia con le GTK.

Un consiglio: se ci riesci, forse e` meglio un sito web che vedono
solo loro.  Ho fatto in passato anche io un 'piccolo gestionale per un
negozio', e anche se Tcl e Tk sono stupendi per fare interfacce, mi
sono un po' pentito, e alla fine ho rifatto tutto in Rails.  Non
perche` il programma non andava, ma perche` posso aggiornare tutto da
casa, e perche` risolve diversi altri problemi (come gestire
modifiche, come distribuire la cosa...ecc...).

--
David N. Welton
 - http://www.dedasys.com/davidw/

Linux, Open Source Consulting
 - http://www.dedasys.com/
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-02-28 23:57
David Welton wrote:
> On 2/27/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
>> Ciao
>>
>> Sto sviluppando un piccolo gestionale per un negozio e sto creando parte
>> dell'interfaccia con le GTK.
>
> Un consiglio: se ci riesci, forse e` meglio un sito web che vedono
> solo loro.  Ho fatto in passato anche io un 'piccolo gestionale per un
> negozio', e anche se Tcl e Tk sono stupendi per fare interfacce, mi
> sono un po' pentito, e alla fine ho rifatto tutto in Rails.  Non
> perche` il programma non andava, ma perche` posso aggiornare tutto da
> casa, e perche` risolve diversi altri problemi (come gestire
> modifiche, come distribuire la cosa...ecc...).
>

Si tratta di un progetto semi-amatoriale per il negozi di mia madre
quindi non ho particolari problemi nella manutenzione.

Anche io ho pensato a Rails ma solo per l'intero backend che gestisce
tutto il database. Al momento dell'acquisto volevo fornire al commesso
un'interfaccia più reattiva e potente e quindi ho pensato a GTK con una
finestra fullscreen con schermo LCD touch screen (effetto chiosco).

ciao

Michele
Massimiliano Mirra (Guest)
on 2007-03-01 00:27
(Received via mailing list)
On 2/28/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
> Anche io ho pensato a Rails ma solo per l'intero backend che gestisce
> tutto il database. Al momento dell'acquisto volevo fornire al commesso
> un'interfaccia più reattiva e potente e quindi ho pensato a GTK con una
> finestra fullscreen con schermo LCD touch screen (effetto chiosco).

C'è anche la soluzione XUL: applicazione Rails, interfaccia nativa.



--
Massimiliano Mirra
code: http://dev.hyperstruct.net
blog: http://blog.hyperstruct.net
B929779e798c0f8b8617e9a56f4926c8?d=identicon&s=25 Andrea F. (gendag)
on 2007-03-01 09:57
(Received via mailing list)
Michele Ferretti wrote:
> Si tratta di un progetto semi-amatoriale per il negozi di mia madre
> quindi non ho particolari problemi nella manutenzione.

Sto sviluppando anche io un progetto semi-amatoriale per il negozio
della madre della mia ragazza. Ho utilizzato ActiveRecord per
interfacciami con il DB (sqlite) e le GTK per le GUI.
Leggendo in giro ho letto che le GTK per Ruby, sono la libreria
piu' completa esistente per questo linguaggio in agigunta
e' stata portata su Windows, dove la mia applicazione gira.

Purtroppo ho guardato con attenzione la documentazione dell'API e
un Renderer con un bottone non mi sembra di averlo visto, di preciso
cosa deve fare questo bottone? Non puoi mettere un bottone unico fuori
dalla tabella e attivarlo se se solo se ci sono una o piu' righe
selezionate nella tabella?

Un mio dubbio, hai mai avuto problemi con TreeView con molte righe,
parlo di qualche migliaio? Per velocizzare il tutto mi sarebbe piaciuto
implementare un mio ListStore che utilizzasse direttamente l'array di
oggetti ActiveRecord::Base estratti dal DB: dal momento che ho gia' una
lista non ha senso che la converti un un ListStore, ma potrei fare un
mio ListStore che sfrutti internamente questa lista. Il mio problema e'
che ho provato ad estendere una ListStore e ha ridefinire tutti i suoi
metodi ma non funziona. Il problema secondo me risiede nella
documentazione dell'API che non ti permette di capire con esattezza cosa
c'e' da ridefinire. Ho provato anche a chiedere sulla ML di ruby-gnome2,
ma nessuno a risposto.

ciao!

Gendag
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-03-01 13:56
Andrea Forni wrote:
> Sto sviluppando anche io un progetto semi-amatoriale per il negozio
> della madre della mia ragazza. Ho utilizzato ActiveRecord per
> interfacciami con il DB (sqlite) e le GTK per le GUI.
> Leggendo in giro ho letto che le GTK per Ruby, sono la libreria
> piu' completa esistente per questo linguaggio in agigunta
> e' stata portata su Windows, dove la mia applicazione gira.
>

Devo dare modo di poter aumentare e diminuire le quantità acquistate o
di rimuovere il prodotto come si fa per un carrello della spesa da web.

Una riga rappresenta un prodotto e un campo quantità mi da la visibilità
di quanti vengono acquistati.

Per eliminare il prodotto avrei trovato anche la soluzione di
intercettare il tasto CANC quando c'è una riga selezionata ma per le
quantità è ancora un mistero. Ho pensato anche a delle Pixmap
intercettando il click del mouse sopra di esse ma non esistono segnali
per gli oggetti Pixmap.

In realtà basterebbe che ci fosse un renderer che permetta di disegnare
un contenitore generico nel quale potrei inserire un HBox e all'interno
dei bottoni.

Per quanto riguarda le righe della treeview io ne avrò al massimo poche
decine quindi non credo ci saranno problemi.

ciao

Michele
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-03-01 13:58
Massimiliano Mirra wrote:
> On 2/28/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
>> Anche io ho pensato a Rails ma solo per l'intero backend che gestisce
>> tutto il database. Al momento dell'acquisto volevo fornire al commesso
>> un'interfaccia pi� reattiva e potente e quindi ho pensato a GTK con una
>> finestra fullscreen con schermo LCD touch screen (effetto chiosco).
>
> C'� anche la soluzione XUL: applicazione Rails, interfaccia nativa.
>
>
>
> --
> Massimiliano Mirra
> code: http://dev.hyperstruct.net
> blog: http://blog.hyperstruct.net

Non credo che cambierebbe molto dall'utilizzare XHTML e poi mi perderei
completamente la compatibilità con gli altri browser. Metti che devo
connettermi al gestionale da remoto, devo avere per forza Firefox.

ciao

Michele
Massimiliano Mirra (Guest)
on 2007-03-01 14:14
(Received via mailing list)
On 3/1/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
> Massimiliano Mirra wrote:
> > On 2/28/07, Michele Ferretti <michele.ferretti@gmail.com> wrote:
> >> Anche io ho pensato a Rails ma solo per l'intero backend che gestisce
> >> tutto il database. Al momento dell'acquisto volevo fornire al commesso
> >> un'interfaccia pi� reattiva e potente e quindi ho pensato a GTK con una
> >> finestra fullscreen con schermo LCD touch screen (effetto chiosco).
> >
> > C'� anche la soluzione XUL: applicazione Rails, interfaccia nativa.
> Non credo che cambierebbe molto dall'utilizzare XHTML

Ti darebbe un'interfaccia reattiva e potente come GTK che (se leggo
bene) è la ragione per cui l'hai preferito a XHTML.

> e poi mi perderei completamente la compatibilità con gli altri browser.

Con GTK non la perdi con tutti i browser?

> Metti che devo connettermi al gestionale da remoto, devo avere per forza Firefox.

Poterlo fare con Firefox rispetto al non poterlo fare affatto è
comunque un miglioramento.

Ad ogni modo, si può fare anche da IE:

http://starkravingfinkle.org/blog/2006/12/xule-what-if/
http://starkravingfinkle.org/blog/2007/01/mozilla-...
B929779e798c0f8b8617e9a56f4926c8?d=identicon&s=25 Andrea F. (gendag)
on 2007-03-01 16:46
(Received via mailing list)
Michele Ferretti wrote:
> Per eliminare il prodotto avrei trovato anche la soluzione di
> intercettare il tasto CANC quando c'è una riga selezionata
Si, anche io avevo lo stesso problema, ho risolto mettendo un pulsante
fuori dalla tabella, che mi cancella tutte le righe selezionate e ho
anche aggiunto un popum-menu attivabile con il tasto destro del mouse
che permette di cancellare la riga selezionata

> ma per le
> quantità è ancora un mistero. Ho pensato anche a delle Pixmap
> intercettando il click del mouse sopra di esse ma non esistono segnali
> per gli oggetti Pixmap.

E un CellREndererText ediatbile, in modo tale che il valore possa essere
inserito a mano. So che le due freccette che aumentano e diminuiscono un
valore sarebbero meglio, ma non so se sia possibile farlo dentro una
tabella.

Comunque dai un occhio a questo
sito:http://www.kksou.com/php-gtk2/index.php

E' un "cookbook" per l'utilizzo delle GTK in PHP, nonostante cio' le
soluzioni sono applicabili anche a Ruby, alcune "ricette" mi sono state
molto utili.
>
> In realtà basterebbe che ci fosse un renderer che permetta di disegnare
> un contenitore generico nel quale potrei inserire un HBox e all'interno
> dei bottoni.

Non credo che esista, lo puoi sempre implementare tu :-)
>
> Per quanto riguarda le righe della treeview io ne avrò al massimo poche
> decine quindi non credo ci saranno problemi.

no, no ncredo che ne avrai :-)

ciao!
Gendag
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-03-14 19:54
Ho abbandonato l'idea di mettere bottoni dentro la treeview
anche perché non avrebbero senso.

Ho una certa esperienza sul web e volevo riproporre
la stessa cosa sulle GTK :-(

Ho messo dei pulsanti esterni e intercetto il click su ogni riga facendo
comparire una finestra di dialogo che permette di editare la quantità
acquistata.

ciao

Michele Ferretti
michele DOT ferretti AT gmail DOT com


Andrea Forni wrote:
> Michele Ferretti wrote:
>> Per eliminare il prodotto avrei trovato anche la soluzione di
>> intercettare il tasto CANC quando c'è una riga selezionata
> Si, anche io avevo lo stesso problema, ho risolto mettendo un pulsante
> fuori dalla tabella, che mi cancella tutte le righe selezionate e ho
> anche aggiunto un popum-menu attivabile con il tasto destro del mouse
> che permette di cancellare la riga selezionata
>
>> ma per le
>> quantità è ancora un mistero. Ho pensato anche a delle Pixmap
>> intercettando il click del mouse sopra di esse ma non esistono segnali
>> per gli oggetti Pixmap.
>
> E un CellREndererText ediatbile, in modo tale che il valore possa essere
> inserito a mano. So che le due freccette che aumentano e diminuiscono un
> valore sarebbero meglio, ma non so se sia possibile farlo dentro una
> tabella.
>
> Comunque dai un occhio a questo
> sito:http://www.kksou.com/php-gtk2/index.php
>
> E' un "cookbook" per l'utilizzo delle GTK in PHP, nonostante cio' le
> soluzioni sono applicabili anche a Ruby, alcune "ricette" mi sono state
> molto utili.
>>
>> In realtà basterebbe che ci fosse un renderer che permetta di disegnare
>> un contenitore generico nel quale potrei inserire un HBox e all'interno
>> dei bottoni.
>
> Non credo che esista, lo puoi sempre implementare tu :-)
>>
>> Per quanto riguarda le righe della treeview io ne avrò al massimo poche
>> decine quindi non credo ci saranno problemi.
>
> no, no ncredo che ne avrai :-)
>
> ciao!
> Gendag
B929779e798c0f8b8617e9a56f4926c8?d=identicon&s=25 Andrea F. (gendag)
on 2007-03-16 10:25
(Received via mailing list)
Michele Ferretti wrote:

> Ho una certa esperienza sul web e volevo riproporre
> la stessa cosa sulle GTK :-(
Idem, e' la stessa cosa che inizilmente avevo pensato io, ma poi ho
cabbandonato l'idea.

> Ho messo dei pulsanti esterni e intercetto il click su ogni riga facendo
> comparire una finestra di dialogo che permette di editare la quantità
> acquistata.

Si, mi sembra l'unica idea se vuoi inserire i pulsanti "+" e "-" per
aumentare e diminuire una quantita', altrimenti potresti direttamente
rendere editabili i CellRenderer e permettere di modificare i dati
direttamente dalla tabella, senza la necessita di un form esterno.

ciao!

Gendag
Db8aaf5119859af531bdcb6726c45a16?d=identicon&s=25 Ricciardi B. (biagio)
on 2007-03-16 20:22
Ciao, io sono un nuovo utente del Forum e scusatemi se mi intrometto
così bruscamente.
Volevo solo chiederti un favore se possibile.
Io sto utilizzando per la prima volta Ruby/Gtk e sono davanti ad un
problema. Io  dovrei creare una rubrica telefonica e quindi utilizzare
un database.
Mi indicheresti con qualche esempio come hai fatto Tu per il Tuo
gestionale?
Ti ringrazio molto.




Michele Ferretti wrote:
> Ciao
>
> Sto sviluppando un piccolo gestionale per un negozio e sto creando parte
> dell'interfaccia con le GTK.
>
> Devo inserire bottoni all'interno di una cella di un oggetto Treeview.
> Ho trovato solamente questi tipi di renderer:
>
> Gtk::CellRendererAccel - Renders a keyboard accelerator in a cell
> Gtk::CellRendererCombo - Renders a combobox in a cell
> Gtk::CellRendererPixbuf - Renders a pixbuf in a cell
> Gtk::CellRendererProgress - Renders numbers as progress bars
> Gtk::CellRendererSpin - Renders a spin button in a cell
> Gtk::CellRendererText - Renders text in a cell
> Gtk::CellRendererToggle - Renders a toggle button in a cell
>
> Ma per inserire un bottone non c'è niente?
>
> Grazie
>
>
> Michele
D09ab4781771ca913dc493b98e7547ec?d=identicon&s=25 Michele F. (blackbird)
on 2007-03-16 20:27
Ho integrato ActiveRecord, di Rails.
Tutto il codice che scrivo lo sto mettendo in un repository SVN su
Google Code:

http://code.google.com/p/casaparrinastore/source

ciao

Michele Ferretti


Ricciardi Biri wrote:
> Ciao, io sono un nuovo utente del Forum e scusatemi se mi intrometto
> così bruscamente.
> Volevo solo chiederti un favore se possibile.
> Io sto utilizzando per la prima volta Ruby/Gtk e sono davanti ad un
> problema. Io  dovrei creare una rubrica telefonica e quindi utilizzare
> un database.
> Mi indicheresti con qualche esempio come hai fatto Tu per il Tuo
> gestionale?
> Ti ringrazio molto.
>
>
Biagio (Guest)
on 2007-04-03 15:56
Salve, scusami ma volevo chiederti un favore, potresti indicarmi come
hai fatto a visualizzare(nel TreeView), magari se puoi inviarmi il
codice, il risultato del resultset dato da una interrogazione al
DataBase?
Ti ringrazio



Michele Ferretti wrote:
> Ciao
>
> Sto sviluppando un piccolo gestionale per un negozio e sto creando parte
> dell'interfaccia con le GTK.
>
> Devo inserire bottoni all'interno di una cella di un oggetto Treeview.
> Ho trovato solamente questi tipi di renderer:
>
> Gtk::CellRendererAccel - Renders a keyboard accelerator in a cell
> Gtk::CellRendererCombo - Renders a combobox in a cell
> Gtk::CellRendererPixbuf - Renders a pixbuf in a cell
> Gtk::CellRendererProgress - Renders numbers as progress bars
> Gtk::CellRendererSpin - Renders a spin button in a cell
> Gtk::CellRendererText - Renders text in a cell
> Gtk::CellRendererToggle - Renders a toggle button in a cell
>
> Ma per inserire un bottone non c'è niente?
>
> Grazie
>
>
> Michele
This topic is locked and can not be replied to.