Autore Topic: Un nuovo Controllo: GvColumnFixer  (Letto 1803 volte)

Offline shordi

  • Gamberetto
  • *
  • Post: 39
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #15 il: 20 Agosto 2019, 17:25:29 »
Laudate eum in sæcula sæculorum  ;D ;D ;D
Non possiamo tornare

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #16 il: 21 Agosto 2019, 00:10:03 »
Semper, Magister, semper !
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline shordi

  • Gamberetto
  • *
  • Post: 39
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #17 il: 22 Agosto 2019, 21:55:40 »
Ho ampliato il controllo con un nuovo evento e due riferimenti alle due Gridview, la fissa e la pergamena, in modo che le celle possano essere manipolate una volta riempite.

https://translate.google.es/translate?sl=es&tl=it&u=https%3A%2F%2Fwww.gambas-es.org%2Fviewtopic.php%3Ff%3D4%26t%3D7638

L'ultima versione è la 0.0.4 del link in basso.
Non possiamo tornare

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.239
  • Tonno verde
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #18 il: 23 Agosto 2019, 23:09:45 »
 :ciao: shordi
in questa versione ottengo questi avvisi in console, mentre nella precedente 0.0.2 non succedeva:
Citazione
gbx3: warning: circular references detected:
gbx3:     1 FgvColFixer
gbx3:     1 gvColumnFixer
gbx3:     2 GridViewSelection
gbx3:     2 _GridView_Rows
gbx3:  1596 _GridView_Data
gbx3:     2 _GridView_Columns
gbx3:     2 ScrollArea
gbx3:     2 GridView
gbx3:     1 Connection
gbx3:     1 Border
gbx3: warning: 8138 allocation(s) non freed.

ti allego il progetto con un piccolo cambiamento per evitare il disallineamento delle ultime righe.
Se si scelgono le colonne subito funziona bene altrimenti non si rigenera il border bottom e non ho capito il perché.
Stupidamente ogni volta aumentava l'altezza dell'ultima riga. Ora funziona spero. Ho aggiornato

Purtroppo occorre eliminare la routine gvfijo_RowResize che in questo test sembrerebbe non servire, ma se dovesse servire ti lascio volentieri il piacere di trovare un'altra soluzione.  ;D

Vedo che tu usi un tema dark il colore background assume il colore del tema o rimane grigio?

 :ciao: :ciao:
« Ultima modifica: 24 Agosto 2019, 13:46:41 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline shordi

  • Gamberetto
  • *
  • Post: 39
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #19 il: 24 Agosto 2019, 22:48:48 »
Saluti Gianluigi,

I cambiamenti che proponi sono perfetti ... Ho solo un dubbio e cioè che la larghezza del nuovo border che crei lo imposta su 13. Sulla mia macchina sembra perfetta, ma non saprei se con una macchina con caratteri più piccoli o più fantastico, andrebbe bene ... Comunque, se sembra male era anche sbagliato prima. Non perdiamo nulla.

L'evento che hai eliminato era davvero inutile. Di solito succede quando ricicli il codice che hai frammenti di codice fossile là fuori. Questo evento proviene dal riutilizzo di parte del codice del controllo TableEditor, che ha la proprietà FullText per la regolazione dell'altezza delle righe, proprietà che non ho trasferito su gvcolumnFixer per una maggiore semplicità.

Per quanto riguarda i riferimenti circolari, ho dimenticato di eliminare un riferimento fatto nel modulo fgvColFixer a suo padre (me.parent) prima di chiuderlo.
Basta aggiungere l'evento Form_Close () a fgvColFixer in questo modo:

Public Sub Form_Close ()
     padre = null
end

E tutto perfetto.

Allego una versione, la 0.0.5 che include le modifiche e risolve i riferimenti circolari.

Grazie mille per esserti immerso nel mio codice caotico e se hai qualche domanda, dimmelo, a volte non capisco.

Un abbraccio
Non possiamo tornare

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.239
  • Tonno verde
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #20 il: 25 Agosto 2019, 13:59:45 »
I cambiamenti che proponi sono perfetti ... Ho solo un dubbio e cioè che la larghezza del nuovo border che crei lo imposta su 13. Sulla mia macchina sembra perfetta, ma non saprei se con una macchina con caratteri più piccoli o più fantastico, andrebbe bene ... Comunque, se sembra male era anche sbagliato prima. Non perdiamo nulla.
...

 :D
no perfetti proprio no, finalmente sono riuscito a capire come ottenere la sezione delle scrollbar (Style.ScrollbarSize) e adesso dovrebbe funzionare bene, vedi allegato.
Siccome aggiungiamo un bordo a tutta la riga che si è già adattata, come le altre, al carattere e solo successivamente aggiungiamo l'altezza del bordo, non dovrebbero esserci problemi.

Citazione
Grazie mille per esserti immerso nel mio codice caotico e se hai qualche domanda, dimmelo, a volte non capisco.

A parte il fatto che il tuo codice non è affatto caotico, anzi, sono io che ringrazio te, il maestro, per darmi e darci la possibilità di imparare tante cose.
Te l'avevo già detto privatamente ma lo ripeto volentieri pubblicamente, tu insieme ad altri attraverso i tanti esempi postati mi hai insegnato quello che so di Gambas.

Alla domanda sul colore del bordo impostato a background (color:background;) mi rispondo da solo, si; prende il colore di base della form.

 :ciao: :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline shordi

  • Gamberetto
  • *
  • Post: 39
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #21 il: 25 Agosto 2019, 16:59:30 »
Gianluigi perfetto. Lo lasciamo così in attesa che emergano altri bug.

Ti ho incluso come coautore e l'ho pubblicato nella farm di Gambas.

Ho modificato la versione in 1.0.1, che la farm non supporta le versioni 0.

saluti
Non possiamo tornare

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.239
  • Tonno verde
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #22 il: 25 Agosto 2019, 17:10:08 »
 :ciao: shordi  :D

Sono onorato e ti ringrazio

nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #23 il: 11 Luglio 2022, 16:33:17 »
« Ultima modifica: 26 Luglio 2022, 13:27:40 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline shordi

  • Gamberetto
  • *
  • Post: 39
    • Mostra profilo
Re:Un nuovo Controllo: GvColumnFixer
« Risposta #24 il: 12 Luglio 2022, 10:56:35 »
Ho aggiornato gitlab e farm con la versione 1.0.3, che aggiunge alle proprietà della classe ( FixedColumns, FixedForeground e FixedBackground), più proprietà della classe Gridview, ovvero:

ShowCursor, Mode, Header, ScrollBar, Row, Column, Grid, Padding, Font, Rows, Columns, Current e Data.

Oltre agli eventi:

Data, Change, Select, Activate, Click, Scroll y Font.

Non ci sono tutte le proprietà o tutti gli eventi, ma con questi il ​​90% della gestione di un GridView è risolto. Se qualcuno vuole aggiungere qualcos'altro o modificarlo, me lo faccia sapere, sarò felice di aggiungerlo o, meglio ancora, lo faccia aggiungere e me lo passerà in seguito.

L'idea è che possa essere gestita e si comporti come una normale visualizzazione della griglia con steroidi, che sia gestita come al solito e che sia possibile impostare le colonne... oppure no.

Saluti
Non possiamo tornare