Gambas-it

Gambas3 => Programmazione => Topic aperto da: doublemm - 04 Luglio 2012, 11:52:59

Titolo: Ctable non funziona
Inserito da: doublemm - 04 Luglio 2012, 11:52:59
Ciao a tutti, mi sono messo a lavorare su un nuovo progetto e mi piacerebbe implementare Ctable solo che non mi funziona. Ho l'ultima versione G3.2. lanciando la VER.12 di Ctable mi da il seguente errore:
ccelrenderer.inversse is incorrectly overridding in class ccelbuttonrenderer
avete idea di come risolvere?
Titolo: Re: Ctable non funziona
Inserito da: milio - 04 Luglio 2012, 22:10:19
si... usa GridBox  :P

scherzi a parte, la classe ctable e' da un po' che il nostro md#### non l'aggiorna... forse addirittura da prima che uscisse la versione stabile di gambas3, quindi dovresti aspettare un suo intervento a proposito. :-\

Titolo: Re: Ctable non funziona
Inserito da: doublemm - 04 Luglio 2012, 22:28:57
si... usa GridBox  :P

ovviamente la sto usando con buoni risultati, sto andando un po a rilento perchè è la prima volta che la uso cmq ottimo strumento. Sto cercando di capire perchè delle volte aggiungo dati ad una griglia la griglia si aggiorna però poi quando esco dal programma e rientro i dati non si sono salvati. Sicuramente ho commesso qualche errore, sto controllando.  :rotfl:
Titolo: Re: Ctable non funziona
Inserito da: milio - 04 Luglio 2012, 22:31:10
probabilmente non lanci GridBox.Update() all'uscita del form/applicazione
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 05 Luglio 2012, 13:11:16
Ciao  :ciao:

Sì, in effetti è un mucchio di tempo che non metto mano a quelle classi, che avevo iniziato a creare con lo scopo di fondare una libreria condivisa di oggetti utili per Gambas.

Avevo iniziato a crearla con G2, e avevo iniziato a fare delle modifiche per G3 quando era ancora in fase alpha, poi altri impegni mi hanno distolto dallo sviluppo.

Non sò se avrò tempo di metterci le mani, ma se ti serve una griglia, in effetti quella di milio ha un notevole numero di ammiratori  :D , per cui puoi provare ad utilizzare quella se non hai tempo di aspettare. A meno che tu abbia voglia di mettere le mani sulla clib...  ;)
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 06 Luglio 2012, 15:26:22
probabilmente non lanci GridBox.Update() all'uscita del form/applicazione

avevo fatto delle prove in passato e delle volte salvava e delle volte no. Comunque ora la sto iniziando ad adoperare in un nuovo progetto se noto dei problemi non esiterò a chiedere.

@md9327:
continuerò ad usare la gridbox perchè non sarei in grado di metterci le mani sulla clib. Se dovessi metterci le mani tu facci sapere che voglio provare anche ctable. Grazie cmq a tutti e due per gli ottimi strumenti che ci fornite.
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 08 Luglio 2012, 13:17:58
@milio: Ho questo problema: Vorrei creare una gridbox in readonly però se clicco sopra una cella mi restituisca il contenuto di quella cella?

ho provato a mettere sia la griglia si i campi in readonly ma così facendo non si attiva l'evento griglia_Click
Titolo: Re: Ctable non funziona
Inserito da: milio - 08 Luglio 2012, 16:34:59
@milio: Ho questo problema: Vorrei creare una gridbox in readonly però se clicco sopra una cella mi restituisca il contenuto di quella cella?

Non vedo il problema.... in qualsiasi momento puoi interrogare il contenuto della cella, Gridbox[Riga, Colonna].Value oppure Gridbox.CurrentCell.Value per la cella selezionata in quel momento.

ho provato a mettere sia la griglia si i campi in readonly ma così facendo non si attiva l'evento griglia_Click

Si e' vero, non tutti gli eventi sono abilitati, diciamo che quelli che servivano  me funzionano... :)  comunque puoi usare l'evento PosChange...
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 08 Luglio 2012, 21:39:00
il problema era solo che non riuscivo ad entrare nell'evento Click, ho risolto cambiando in DblClick che mi va anche meglio per quello che devo fare
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 12 Luglio 2012, 20:02:48
Ho riaperto il pacchetto gb.clib, in cui c'è pure CTable, e l'ho ricompilato con l'ultima build di Gambas3

In allegato invio i sorgenti, gli eseguibili e gli esempi.

...nel caso qualcuno voglia continuare con gli esperimenti...
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 12 Luglio 2012, 20:13:19
grazie mille io stasera do un'ochiatta
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 12 Luglio 2012, 21:13:30
ho eseguito l'install di Clib tutto ok
però il prog clibtest mi dice: cannot load comonent gb.clib.table.gambas

i componenti gb.clip sono tutti abilitati nelle proprietà
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 13 Luglio 2012, 17:58:05
ho eseguito l'install di Clib tutto ok
però il prog clibtest mi dice: cannot load comonent gb.clib.table.gambas

i componenti gb.clip sono tutti abilitati nelle proprietà
Credo il problema sia perchè puntano a file residenti non nelle cartelle di sistema...

Cercherò di sistemare la cosa...
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 13 Luglio 2012, 18:18:51
1) come hai installato i componenti?
2) che distribuzione usi?

La seconda perchè potrei darti uno script, da eseguire come root, per installare tutti i componenti, in modo che tu possa vederli nella lista Componenti di Gambas.

In allegato invio gli esempi, che ho ricondizionato, sperando che ti funzionino.
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 13 Luglio 2012, 18:34:53
mi da ccbuttoneditor multiple inheritance
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 13 Luglio 2012, 18:45:35
comunque un occhiata ad una parte dell'esempio l'ho data e sono riuscito a fare questo:

Codice: [Seleziona]
Public Sub Form_Open()
  
  Dim ArrData As New Variant[]
  Dim $data As New Variant[]
  Dim colonna1, colonna2 As New CTableColumn
  
  ArrData.Add("uno")
  ArrData.Add("due")
  
  $data.Add(ArrData)
  
  With colonna1
    .Title = "Text1"
    .Editor = New CCellTextEditor(CTable1)
    .Renderer = New CCellTextRenderer(CTable1)
  End With
  
   With colonna2
    .Title = "Text2"
    .Editor = New CCellTextEditor(CTable1)
    .Renderer = New CCellTextRenderer(CTable1)
  End With
  
  With CTable1
    .Columns.Add(colonna1)
    .Columns.Add(colonna2)
    .Data = $data
  End With
  
End

così sono riuscito a inserire anche le stringhe però per visualizzarle devo cliccare sulla ctable altrimenti vedo tutte le righe bianche, mi succede anche nel tuo esempio

i componenti li ho installati con lo script scaricato da questo post. Come distribuzione uso ubuntu
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 14 Luglio 2012, 12:18:42
E' probabile vi sia un problema in fase di avvio, ovvero non esegue il refresh della griglia.

Gli dò un'occhiata...
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 14 Luglio 2012, 13:49:36
ok nel frattempo  sono riuscito ad inserire il pulsante e a scatenare un evento alla sua pressione. il button funziona solo su doppio click vero?
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 14 Luglio 2012, 16:45:55
Cavoli non riesco ad andare avanti con questo programma. per usare Ctable ho visto che ho dovuto abilitare gb.gui di conseguenza disabilitare i qt4. Ora nel programma avevo una tabstrip che non risponde più in modo corretto ovvero i button e le combo all'interno della tabstrip riesco a cliccarli solo nel bordo, se clicco all'interno di un button no si muove o nel caso della combo non si apre la tendina. Poi appena aperto il form riesco a spostarmi da una tab all'altra ma poi si blocca, devo cliccare all'esterno della tab e poi posso cambiare da una pagina all'altra della tab. avete idea del perchè?
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 14 Luglio 2012, 16:57:46
Credo che gambas ti abbia dirottato verso le GTK, e non verso KDE. Ad ogni modo, la libreria l'ho costruita sulla libreria gb.gui, in modo da cercare di renderla indipendente, e far sì che sia gambas stesso a gestirne la grafica.

Sì, il pulsante risponda a DblClick(), ma mi pare che tu possa comunque associargli un gestore, e catturare tutti gli eventi che esso scatena.
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 14 Luglio 2012, 17:00:04
poso risolvere in qualche maniera?
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 14 Luglio 2012, 17:02:53
Risolvere cosa? Se parli della libreria gb.gui, dovresti modificare la libreria ctable, e tutte le associate. Tutto il pacchetto è agganciato a gb.gui...

Se hai questo tipo di problemi, dovresti verificare se hai l'ultima versione di Gambas3, magari ci sono state delle correzioni...
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 14 Luglio 2012, 17:05:12
ho l'ultima versione la 3.2. Mi sa che faccio prima a non usare tabstrip
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 14 Luglio 2012, 17:15:19
per il momento ho risolto prendendo la via più semplice, ho cambiato la tabstrip in tabpanel.
Grazie per l'aiuto md9327  :2birre:
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 15 Luglio 2012, 18:16:28
Ho riscontrato un altro problema, sia nel tuo esempio che nel prog che sto facendo io la chek non compare.
Ti allego la schermata così vedi.

Altro problema:

non riesco a farmi restituire il numero di righe, se uso ctable.rows.count oppure .max mi da errore:
unknow symbol 'HeaderHeigh' in class '_gridview_rows'
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 16 Luglio 2012, 00:10:57
Anche se è strano il messaggio, è possibile che sia stata usata qualche proprietà di GridBox che ora non esiste più.

In effetti, CTable l'ho costruita sulle versioni beta di Gambas3, e ricordo che qualche cosa è stata cambiata nelle release ufficiali.

Rivado a dargli un'occhiata...
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 16 Luglio 2012, 00:19:09
Verificato!

In effetti quella proprietà è stata eliminata da GridBox.

Titolo: Re: Ctable non funziona
Inserito da: doublemm - 16 Luglio 2012, 10:51:27
aadesso l'errore da headerheight è diventato resizable
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 16 Luglio 2012, 13:37:27
In che senso? Posta il messaggio esatto...  ???

Purtroppo ho poco tempo per mettermi a fare anche i test, per cui evidenziarmi gli errori mi aiuta sicuramente nell'aggiustamento della libreria.  :-\
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 16 Luglio 2012, 14:23:19
unknow symbol 'resizable' in class '_gridview_rows'.

Titolo: Re: Ctable non funziona
Inserito da: md9327 - 16 Luglio 2012, 18:35:20
Un'altra proprietà "sparita"...

Resizable era presente nella TableView, sia nella classe Rows, Columns, Row e Column, poi è stata eliminata in Row e Column.

In allegato la nuova versione.
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 16 Luglio 2012, 21:17:19
ok grazie md9327 così funziona. Per il momento al posto della check ho usato una combo, ma mi piacerebbe poter usare la check per precisione la checkbox funziona solo che si vede solo se faccio doppio click sulla cella e sfasata rispetto alla cella che la dovrebbe contenere. Poi rimane anche il fatto che la griglia non si aggiorna dda sola ma bisogna cliccarci sopra.

Grazie comunque di quello che hai fatto finora.
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 17 Luglio 2012, 11:06:46
Questo problema l'avevo già notato. Pensavo di averlo risolto, ma probabilmente è stato poi cambiato qualche cosa.

Il problema è legato all'intestazione. Se è presente, il tutto appare sfalzato di una riga. Se togli l'intestazione và tutto bene.

La cosa che resta difficile è capire esattamente se l'intestazione è presente o meno, e ricalcolare le righe di conseguenza.

Il discorso credo sia un pò lungo, ma ci darò un'occhiata per cercare di risolverlo con queste ultime versioni di Gambas.
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 19 Luglio 2012, 18:53:18
ok grazie md, intanto la uso così perchè mi è molto utile appena l'hai sistemata fammelo sapere che aggiorno.  :bravo:
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 20 Luglio 2012, 11:06:46
Una domanda:

perchè non hai usato GridView del nostro Milio? Dopotutto la classe GridView è manutenuta costantemente, e usata da molti...
Sicuramente ha meno problemi di CTable, a cui non ho molto tempo da dedicargli al momento...
Titolo: Re: Ctable non funziona
Inserito da: doublemm - 20 Luglio 2012, 11:21:41
diciamo che volevo usare tutte e due anche per testarle e vedere come sono. Forse intendevi gridbox di milio? Anche gridbox mi dava dei problemi se cerci c'è una discussione aperta dove manifestavo dei problemi con gridbox e milio non li ha ancora sistemati. Comunque ripeto mi piace sperimentare i vostri progetti per cercare di capire qualcosa di nuovo.  :2birre:
Titolo: Re: Ctable non funziona
Inserito da: md9327 - 20 Luglio 2012, 11:37:25
 :D