Autore Topic: In arrivo le GTK4.0  (Letto 696 volte)

Offline kicco

  • Senatore Gambero
  • ******
  • Post: 1.700
  • So dove andare, seguitemi, ci perderemo insieme!
    • Mostra profilo
Chi ha paura muore ogni giorno, chi non ha paura muore una volta sola. (Paolo Borsellino)

Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re:In arrivo le GTK4.0
« Risposta #1 il: 20 Dicembre 2020, 17:52:54 »

C'era bisogno di semplificare le GtkTreeView e forse l'hanno fatto:

https://blog.gtk.org/2020/06/07/scalable-lists-in-gtk-4/

Però l'hanno fatto in nome della 'scalabilità', non della semplificazione. Anzi; includere dei filmati nelle liste e griglie non è una semplificazione!
Forse la parte software che gestiva i containers andava migliorata, anche se inventare dei GtkLayoutManagers è una completa novità:

https://blog.gtk.org/2019/03/27/layout-managers-in-gtk-4/

La notizia buona è che il file xml delle risorse è ancora presente, anche se sarà diverso. E il Wysiwyg 'Glade per GTK' dovranno adattarlo di conseguenza.
Ma il problema per un programmatore free-lance come molti di noi è che non si fa in tempo a costruire niente di grafico che i motori grafici ci "cambiano sotto i piedi".
Qui in Gambas probabilmente questo problema se lo accolla Benoit Minisini e non so come faccia. Nel mondo di OpenCobol hanno abbandonato l'idea di fornire la grafica proprio per il fatto che chi fa grafica, ogni 2 anni cambia radicalmente tutto.
La grafica è accattivante e i programmatori di grafica lavorano alacremente. Non sono solo le Gtk che cambiano. Cominciano a comparire molte alternative sul mercato:

https://www.slant.co/options/3076/alternatives/~gtk-alternatives

e tutte cambiano. E quelle che non lo fanno è perchè il loro autore è un singolo che è passato a miglior vita. E per questo la sua grafica può diventare presto obsoleta per cambio dell'hardware.

La soluzione sarebbe una grafica modesta che sia mantenuta da un team non esaltato. Ma questo non è naturale.
E per di più, andando verso il limite fisico della velocità dei microprocessori rischiamo che il processore sia impegnato per il 90% a fare grafica e al 2% a processare i dati.

La vera soluzione è una sola: ...fatevi la vostra personale grafica!!
Da quando il consorzio Vesa ha unificato le varie Xga, Cga... in un solo standard, ora dovrebbe essere un pò più facile. Non so, devo indagare.  :hatecomputer:



Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re:In arrivo le GTK4.0
« Risposta #2 il: 07 Febbraio 2021, 11:16:52 »
NASM
Ho trovato come disegnare un rettangolo blu sullo schermo bypassando tutto, anche X11 (NON il sistema operativo) con NASM.

https://stackoverflow.com/questions/21551935/assembly-code-to-draw-a-square

Ma ciò è sconsigliato (ovvio) eppoi l'esempio è per NASM a 32 bits (non 64).

Nana
Cercando su internet a tappeto mi sono imbattuto in Nana, un progetto di un autore cinese.
Nana è un framework molto bello, somiglia a Gnome. Ha i pulsanti con gli angoli
smussati. La scelta di un font leggibile e marcato.
L'installazione non è facilissima, ma l'assistenza in linea è soddisfacente. Gli esempi comprendono listboxes, combo boxes, radio boxes, progress bars.
Per contro non ho visto un esempio di GridView/TableView. Nana è scritta in C++ e quindi il programma che se ne serve deve essere in C++. Non sono ancora riuscito a capire appieno la sua sintassi.
Nana pone le sue fondamenta (come Gtk e Qt) su Xlib.


Xlib
.
Quindi sto facendo dei tentativi di partire anch'io da Xlib. Che è scritto in C. Xlib produce facilissimamente dei form metal-gray con bottoni. Però squadrati. Il font è appena leggibile. I controlli di edit nelle textboxes sono tutti da costruire. E non è affatto facile. Tutti i controlli superiori: GridView, combo, listbox, progress bars sono da costruire. 
Xlib prevede una barra di menu che però devo ancora verificare. Manca la StatusBar.
Anche Xlib nel passato, di tanto in tanto ha fatto delle migliorie. Ad esempio il passaggio dalle stringhe ASCII alle stringhe UTF-8 lo ha risolto con delle struct e un insieme di funzioni che ho scelto di ignorare.
Xlib invia degli eventi quando il mouse passa sopra i pulsanti e quando si premono i tasti della tastiera.

« Ultima modifica: 02 Marzo 2021, 10:08:50 da splugenbrau »

Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re:In arrivo le GTK4.0
« Risposta #3 il: 27 Febbraio 2021, 22:46:09 »
E' doveroso che io segnali anche xdesigner del 2007

https://sourceforge.net/projects/xdesigner/files/

che è in C e che si fonda su X11/Xlib per comporre delle forms dotate di bottoni, textbox, checkbox in metal-gray con soli 51 Kbytes.
Quando il programma parte, su terminale, comincia un preambolo consolle/legacy dove si deve avere a portata di mano tutto: numero di pulsanti,
scritte sui medesimi, numero di textboxes, numero di labels e loro contenuto ecc..
Quando tutti i dati sono pronti appare la finestra grigia obiettivo su cui appaiono in sequenza uno ad uno tutti i pulsanti precedentemente
dichiarati. Uno ad uno vanno posizionati sulla finestra grigia come un WysiWyg. Nel mentre il programma prende nota di tutti gli spostamenti.
Posizionato l'ultimo bottone, Xdesigner emette il sorgente nella directory corrente.
Il testo della licenza è molto conciso e somiglia alla LGPL3.
« Ultima modifica: 28 Febbraio 2021, 06:59:12 da splugenbrau »

Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re:In arrivo le GTK4.0
« Risposta #4 il: 14 Maggio 2023, 17:56:30 »
Tre anni sono volati e ora ho le GTK4 che convivono con le GTK3 sul mio Xubuntu 22.04 LTS.
Mi sono accorto che Nana non si fonda su Xlib. Nana si avvale di Bedrock, inizialmente pensato per il Mac:

https://www.wikiwand.com/en/Bedrock_(framework)#Background

GTK si avvale del suo Glib, e perö ho trovato due progettini piccoli piccoli che sono costruiti sulle SDL2, si chiamano kiss_sdl e KiWi:

https://github.com/actsl/kiss_sdl

https://github.com/mobius3/KiWi  :hard:

Devo segnalare anche "The Roma Widget", che ha il grande difetto di volere Mono installato su Linux ma, se guardate la qualità degli ScreenShots, vi accorgerete dell'estrema sofisticazione raggiunta:

https://www.codeproject.com/Articles/698474/Programming-the-Roma-Widget-Set-Csharp-X-a-zero-2
« Ultima modifica: 14 Maggio 2023, 22:50:09 da splugenbrau »

Offline splugenbrau

  • Grande Gambero
  • ***
  • Post: 205
    • Mostra profilo
Re:In arrivo le GTK4.0
« Risposta #5 il: 02 Gennaio 2024, 11:32:39 »
20240102 devo correggermi, il sito di Nana è:
http://nanapro.org/en-us/


Ed un opportuno aggiornamento per un elenco di framework disponibili sul web:
https://cpp.libhunt.com/gtk+-alternatives
Ciao :ciao: