Autore Topic: Creazione componente: gb.gridbox  (Letto 137795 volte)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #330 il: 02 Novembre 2010, 18:40:51 »
Primo test effettuato...

1) Rispetto alle QT, quando clicco su una cell non posso inserire il cursore con il click del mouse. Rimane evidenziata e l'unica cosa possibile è digitare qualcosa per entrarci (con conseguente cancellazione del testo che c'è dentro).
2) Se quando sono su una cella clicco il TAB, anziché avanzare di una cell, la gridbox perde il focus.

Man mano ti aggiorno...

PS: pian piano mi sto rendendo conto che le QT sono più funzionali. Quindi nel mio progetto sto usando quelle...
PPS: per fare le prove è sufficiente disattivare []gb.qt4 & e []gb.qt4.ext ed attivare []gb.gui? ...oppure []gb.gtk?

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #331 il: 02 Novembre 2010, 18:41:24 »
@ Golia
Citazione
3) Nella colonna codice (del solito esempio) è impostata : .DefaultValue = "cod20" , la scritta cod20 non si vede finchè si è nella riga, poi riappare correttamente. ma mi sembra che questo probl l'avevo notato anche in kde.

Mi era sfuggita  :hatecomputer: adesso e'  :ok:




Per scaricare i soprgenti, da terminale, digitare:
wget http://milio.appix.net/components/gb.gridbox-2.99.29.tar.gz

« Ultima modifica: 03 Novembre 2010, 01:44:09 da milio »

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Creazione componente: gb.gridbox
« Risposta #332 il: 02 Novembre 2010, 18:42:41 »
PPS: per fare le prove è sufficiente disattivare []gb.qt4 & e []gb.qt4.ext ed attivare []gb.gui? ...oppure []gb.gtk?

gb.gui fa in modo che gambas scelga da solo le librerie idonee.....devi abilitare gb.gtk...

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #333 il: 02 Novembre 2010, 18:48:37 »
Stesso comportamento abilitando gb.gtk.

Quando inserisco un nuovo record il cursore entra correttamente nella prima cell e lampeggia (in attesa di scrivere...) ma se esco dalla cell è impossibili rientrarci, in qualunque cell (a meno che non faccio digito qualcosa, e cancello l'originario testo).

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #334 il: 02 Novembre 2010, 18:54:12 »
Il problema risiede nel fatto che gli eventi LostFocus e GotFocus non funzionano correttamente con le Gtk. Devo ancora trovare un'escamotage per dribblare il problema :)

In alternativa puoi abilitare l'opzione GridBox.AlwaysEditable = True ;)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #335 il: 02 Novembre 2010, 18:55:24 »
Ha e puoi anche usare il tasto F2 per editare una cella

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #336 il: 02 Novembre 2010, 20:05:33 »
Esattamente come dici tu...

Si può aggirare il problema sia con F2 che con la .AlwaysEditable impostata a TRUE.
A proposito, a che serve questa opzione? Te lo chiedo perché provando, nella mia gridbox ho impostato dei campi in ReadOnly = True, e rimangono tali anche con AlwaysEditable = True. Io pensavo servisse da comodo nelle situazioni in cui si vuole intervenire sui record della gridbox senza mezzemisure... una specie di permesso speciale...

Dove trovo la lista di tutti gli altri comandi da tastiera (o in quale parte del codice sorgente...)? E' possibile attivarli, o meno, in base alle proprie esigenze oppure bisogna intervenire sui Key_press?
« Ultima modifica: 02 Novembre 2010, 20:07:12 da perseo »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #337 il: 02 Novembre 2010, 20:12:30 »
GridBox.Columns[].ReadOnly = True setta la colonna in sola lettura.
GridBox.ReadOnly = True setta tutta la griglia in sola lettura.

Con GridBox.AlwaysEditable = True ogni volta che una cella prende il focus parte in automatico l'editazione della stessa...
se fai caso con questa proprietà abilitata, se ti muovi con le frecce o con il tab nella griglia, il focus cadrà solo nelle celle ReadOnly = False, abilitando il controllo specifico per quel tipo di dato...

Questo ovviamente, e' tutto scritto nero su bianco nella guida del wiki.

Ps: quest'ultima affermazione è False  :rotfl:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #338 il: 02 Novembre 2010, 20:18:37 »
Citazione
Dove trovo la lista di tutti gli altri comandi da tastiera (o in quale parte del codice sorgente...)? E' possibile attivarli, o meno, in base alle proprie esigenze oppure bisogna intervenire sui Key_press?

GridBox.KeyGrid. ....

E' tutto personalizzabile...  8)

Perfino i bug sono personalizzati  :rotfl:

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #339 il: 02 Novembre 2010, 20:20:02 »
Con GridBox1.KeyActivity = True (gia' di default attivato) abiliti l'intercettamento dei tasti veloci...

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #340 il: 02 Novembre 2010, 20:24:14 »
Ps: quest'ultima affermazione è False  :rotfl:

 ;D

hhhaaa una cosa che mi sono dimenticato di chiederti. E' possibile editare il formato delle celle con delle maschere di formato, tipo che cliccando sui campi della colonna data appare la maschera di formato "__/__/____", oppure nei campi delle colonne di orario appare la maschera di formato "__:__", ecc., che ti obbligano ad inserire il dato solo in quel formato?

Chiaramente la maschera di formato potrebbe essere componibile in base alle proprie esigenze.
« Ultima modifica: 02 Novembre 2010, 20:33:37 da perseo »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #341 il: 02 Novembre 2010, 20:37:51 »
Questo e' un'altro componente che manca a gambas...

 :danger:   Work in progresssssssss..... :danger:

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #342 il: 02 Novembre 2010, 23:37:41 »
Stavo cercando di capire anche gli eventi della gridbox:

Finora ho capito che _PosChange è il predefinito, e si attiva quando ci si sposta tra le celle (con il mouse o da tastiera).
Se volessi cancellare una riga cliccando (con il mouse) su una determinata colonna che evento dovrei usare...
Forse non ho visto bene o non so cercarlo, ma ho guardato tra il codice sorgente e non ho trovato l'evento _Click.

 ???

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #343 il: 02 Novembre 2010, 23:48:32 »
in che senso vuoi cancellare una riga cliccando su di una colonna?

Edit:

Se vuoi possiamo aggiungere qualsiasi evento  ;)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #344 il: 03 Novembre 2010, 00:14:55 »
L'idea me l'ha data il GestHotel di fsurfing...

Non usa una gridbox, ma mi pare una tableview... Quando si clicca sulla prima colonna (che è read-only) automaticamente gli associa l'eliminazione della riga.
Volevo simulare una cosa simile con GridBox, però non trovo l'evento associato, che dovrebbe essere un _click.

Per curiosità, come mai hai preferito non mettere l'evento _click nel componente GridBox?
« Ultima modifica: 03 Novembre 2010, 00:17:19 da perseo »