Gambas-it

Vari => OpenBar => Topic aperto da: kicco - 20 Dicembre 2020, 12:15:26

Titolo: In arrivo le GTK4.0
Inserito da: kicco - 20 Dicembre 2020, 12:15:26
https://www.lffl.org/2020/12/ufficiale-il-toolkit-gtk-4-0.html (https://www.lffl.org/2020/12/ufficiale-il-toolkit-gtk-4-0.html)
Titolo: Re:In arrivo le GTK4.0
Inserito da: splugenbrau - 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:


Titolo: Re:In arrivo le GTK4.0
Inserito da: splugenbrau - 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 (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.

Titolo: Re:In arrivo le GTK4.0
Inserito da: splugenbrau - 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.
Titolo: Re:In arrivo le GTK4.0
Inserito da: splugenbrau - 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 (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/actsl/kiss_sdl)

https://github.com/mobius3/KiWi (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 (https://www.codeproject.com/Articles/698474/Programming-the-Roma-Widget-Set-Csharp-X-a-zero-2)
Titolo: Re:In arrivo le GTK4.0
Inserito da: splugenbrau - 02 Gennaio 2024, 11:32:39
20240102 devo correggermi, il sito di Nana è:
http://nanapro.org/en-us/ (http://nanapro.org/en-us/)


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