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

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #315 il: 31 Ottobre 2010, 00:03:30 »
Ottimo Milio!

Adesso il DeleteRecord funziona anche con MySQL.  ;)

Intanto che completiate la release per Kde, io continuo a vigilare sugli strani comportamenti su Gnome...  ;)
Non so se dipende sempre da Gnome, ma vi posto questi. Ho notato che:

a) per editare una cella devo fare doppio-click su di essa... Però la riga e la cella non si evidenziano. Semplicemente il cursore lampeggia dentro la cella. Se nella cella c'è già del contenuto viene evidenziato tutto.

b) se mentre sto editando una cella faccio un solo click su un'altra mi si evidenzia quest'ultima... ma la cella editabile è sempre la prima.

c) se con il cursore non sono dentro nessuna cella ma ne evidenzio una, e clicco su "invio" apparentemente non succede nulla. Se successivamente clicco un carattere, il contenuto della cella scompare e viene visualizzato il carattere che ho digito, automaticamente in Maiuscolo... Il cursore però torna all'inizio del carattere, con il risultato che quando continuo a digitare il primo carattere (maiuscolo) è sempre l'ultimo. Se ad esempio mi posiziono su una cella e digito "perseo" --> mi scrive "P" maiuscola --> ed i successivi caratteri vengono inseriti prima della "P"... Alla fine dopo aver digitato "perseo" ottengo "erseoP".

d) quando mi sposto tra le celle con le frecce, se una colonna è .hide, concettualmente viene comunque evidenziata. In realtà non si vede perché è nascosta, però per saltare da una colonna visibile ad un'altra visibile che in mezzo hanno quella nascosta devo cliccare la freccia due volte... quindi suppongo che quella nascosta è come se prendesse comunque il focus...
Infatti ho provato a cliccare su "invio" quando il focus è su quella nascosta... e scrivendo si inseriscono comunque i valori (l'operazione non si vede, però ho fatto l'Update() del record ed ho visto che il valore era stato inserito nel database...)


Altra cosa importante... Molti di questi comportamenti anomali non si verificano quando apro il progetto gb.gridbox, ma quando uso il componente installato su gambas. Forse ho sbagliato qualcosa nel processo di istallazione?

[edit]
Nel mio progetto_di_prova ho attivato le gb.qt4 e gb.qt4.ext. Alcuni comportamenti anomali sono scomparsi (tipo quelli delle colonne nascoste)...
[fine edit]
« Ultima modifica: 31 Ottobre 2010, 00:16:55 da perseo »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #316 il: 31 Ottobre 2010, 08:46:38 »
tutto quello che hai riscontrato è perché gnome utilizza le toolkit Gtk... tutti i comportamenti della gridbox sono da rivedere con l'utilizzo di quest'ultime.... e mi sembra che tempo fa golia aveva riscontrato delle anomalie utilizzando le toolkiy Qt di kde su gnome  :rolleyes:

Le soluzioni sono due: o utilizzi una distro con kde (ma mi sembra un po' troppo solo per un componente :) ) oppure io mi rimbocco le maniche e inizio a lavorarci   :coder:

non ti posso promettere niente, ma vedo almeno di farci uno studio dietro ;)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #317 il: 31 Ottobre 2010, 14:38:54 »
Innanzi tutto devo dire che le gtk non mi piacciono per niente :)

Detto questo ho iniziato un lavoro di 'conversione' del componente.

Per non andare a realizzare due componenti separati, la prima questione da risolvere e' 'sapere' se si sta usando gtk oppure qt... qualche idea in proposito?

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #318 il: 31 Ottobre 2010, 16:01:20 »
Cioè, se ho capito bene, richiedendo il gb.gridbox settaggi differenti a seconda che lo si utilizzi su QT o su GTK, il punto di partenza è di "far sapere" al componente su quali librerie grafiche viene richiamato. In questo modo si "auto-setta" per l'una o per l'altra, rimanendo sempre lo stesso componente.

In altre parole... quando carichiamo il componente GridBox nel progetto, questo dovrebbe riconoscere qual è la libreria grafica del progetto in questione (QT o GTK), e si adatta di conseguenza...

Io, chiaramente, non so darti una risposta. ;D


Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #319 il: 31 Ottobre 2010, 16:17:03 »
Trovato...  ;D

La classe Components ti restituisce tutti i componenti caricati dall'applicazione, quindi:

Codice: vb [Seleziona]
Private GtkComponent As Boolean

Public Sub _new()
Dim C As Component

  For Each C In Components
    If C.Name = "gb.gtk" Then GtkComponent = True
  Next

End


Cosi' se mi trova caricato il componente 'gb.gtk' setto la variabile GtkComponent a True, che mi servirà nelle varie parti di codice per settare la gridBox

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #320 il: 31 Ottobre 2010, 16:47:53 »
Ecco una prima versione per le Gtk....

sperume bin  ;D






Per scaricare i soprgenti, da terminale, digitare:
wget http://milio.appix.net/components/gb.gridbox-2.99.26.tar.gz
« Ultima modifica: 03 Novembre 2010, 01:42:37 da milio »

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #321 il: 31 Ottobre 2010, 17:53:34 »
Provato, hai "quasi" risolto in tempi da record!! :ok:
Ti dico le cose che ancora non sono al 100%:

1) Combobox: funziona si apre ma salva solo la prima stringa
2) Check: non si può selezionare, inoltre perde il focus SOLO in una nuova riga.
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.

Poi mi sembra ok, velocissimo!!  :2birre: :2birre: ti meriti un paio di birre  ;D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #322 il: 31 Ottobre 2010, 17:56:43 »
Ok bene... quei componenti non gli avevo ancora controllati :)

Per la birra siamo ancora in un periodo di 'spurgo' :angel:  ;)

Ci si sente stasera per nuovi rilasci....

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #323 il: 31 Ottobre 2010, 18:00:16 »
ok, intanto allora faccio magazzino di birre  ;D  :2birre:

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #324 il: 31 Ottobre 2010, 18:01:51 »
Milio... non ho parole!

In pochissimo hai risolto tutti quei bugs che avevo evidenziato in precedenza. Così, il componente funziona benissimo anche su GTK!!! E' fantastico!  :ok:

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #325 il: 31 Ottobre 2010, 18:35:20 »
@perseo
Hai visto che personaggio abbiamo ;)

Offline perseo

  • Maestro Gambero
  • ****
  • Post: 264
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #326 il: 31 Ottobre 2010, 18:39:02 »
Sta troppo avanti!  :)

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #327 il: 31 Ottobre 2010, 18:47:55 »
dai su ragazzi...  :-[ non prendetemi in giro  ;D

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #328 il: 02 Novembre 2010, 15:27:49 »
Che fatiche..  :rolleyes:

Ho messo in condizioni di lavorare anche l'oggetto Combo della GridBox per Gtk....
Ho avuto un problema che forse e' da segnalare nei bug di gtk:
nella classe Key la costante Key.BackTab ha un valore di 65289 e corrisponde, in qt, alla pressione del tasto Shift+Tab... in Gtk il Key.Code di questa combinazione di tasti mi da 65056  :-\





Per scaricare i soprgenti, da terminale, digitare:
wget http://milio.appix.net/components/gb.gridbox-2.99.27.tar.gz
« Ultima modifica: 03 Novembre 2010, 01:43:47 da milio »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.272
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Creazione componente: gb.gridbox
« Risposta #329 il: 02 Novembre 2010, 18:10:04 »
 :yeah: dovrebbe essere tutto...

ci vogliono dei test adesso ;)






Per scaricare i soprgenti, da terminale, digitare:
wget http://milio.appix.net/components/gb.gridbox-2.99.28.tar.gz
« Ultima modifica: 03 Novembre 2010, 01:43:27 da milio »