GTK (toolkit): differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Recupero di 1 fonte/i e segnalazione di 0 link interrotto/i.) #IABot (v2.0.8 |
ampliamento |
||
Riga 2:
{{Software
|DimensioneLogo = 50px
|Screenshot = Awf-2020-2.png
|Didascalia = ''Widget'' di GTK+ 3.12.0
|Sviluppatore =
|DataPrimaVersione = {{data e tempo|14|04|1998}}
Riga 12:
|SistemaOperativo3 = OS X
|Genere = Libreria grafica
|Lingua = Multilingue
|SoftwareLibero = sì
}}
'''GTK''' (in passato '''GTK+'''<ref>{{Cita web|url=https://mail.gnome.org/archives/gtk-devel-list/2019-February/msg00000.html|titolo=Project rename to "GTK"|autore=Emmanuele Bassi|sito=mail.gnome.org|data=6 febbraio 2019|accesso=8 febbraio 2019}}</ref>, acronimo che sta per '''GIMP ToolKit''') in [[informatica]], è un [[toolkit]] (insieme di strumenti, di cui il principale è la libreria libgtk) per la creazione di [[interfaccia grafica|interfacce grafiche]]. Sviluppato in [[C (linguaggio)|C]], supporta nativamente l'ambiente grafico [[X Window System]], [[Wayland (protocollo)|Wayland]] e [[Microsoft Windows]].
Il toolkit, progettato inizialmente come ausilio alla programmazione per il noto programma di grafica [[GIMP]], ha acquisito popolarità scavalcando [[Motif]] e divenendo parte fondamentale dell'ambiente desktop [[GNOME]].
== Linguaggio ==
GTK usa il linguaggio di programmazione [[C (linguaggio)|C]] esteso, grazie a [[GLib]] e [[GObject]], al paradigma della [[programmazione orientata agli oggetti]]. GTK fornisce [[binding]] per linguaggi come il [[C++]], il [[Perl]], il [[Ruby (linguaggio di programmazione)|Ruby]], il [[Java (linguaggio di programmazione)|Java]] e [[Python]] ([[PyGTK]]). Altri hanno aggiunto anche il supporto ad altri linguaggi come [[Ada (linguaggio)|Ada]], [[Fortran]], [[D (linguaggio di programmazione)|D]], [[Haskell (linguaggio)|Haskell]], [[Pascal (linguaggio)|Pascal]], [[PHP]], [[Pike(linguaggio)|Pike]] e [[C sharp|C#]] grazie a [[Mono (progetto)|Mono]] (Gtk#). È anche possibile usare l'[[HTML5]] come output, visualizzando l'interfaccia su browser.<ref>{{Cita web|url=https://developer.gnome.org/gtk3/stable/gtk-broadway.html|titolo=Using GTK+ with Broadway: GTK+ 3 Reference Manual|sito=developer.gnome.org|accesso=2021-04-03}}</ref>
== Codice non collegato alla grafica ==
GTK inizialmente conteneva alcune funzioni di utilità che non riguardavano strettamente la grafica, come la fornitura di [[strutture dati]], [[lista concatenata|liste concatenate]] ed [[albero binario|alberi binari]]. Tali utilità generali, insieme al sistema a oggetti chiamato GObject, ora sono migrati in una libreria separata,
Per la sua estendibilità, [[portabilità]] e bontà tecnica è stata scelta come componente per altri widget toolkit, come [[wxWidgets]].
== Piattaforme ==
In origine
== Aspetto ==
[[File:Gedit-italiano.png|thumb|upright=1.3|L'[[editor di testo]] «''[[gedit]]''», realizzato con GTK+ 2]]
L'utente finale può configurare l'aspetto dell'interfaccia a suo piacimento grazie alla possibilità di cambiare il tema utilizzato. Si possono così emulare le sembianze di altre librerie o di altri ambienti, tra i quali [[Windows 95]], [[Motif]], [[Qt (toolkit)|Qt]] o [[NEXTSTEP|NeXTSTEP]]. I temi possono essere configurati dalla versione 3 tramite [[CSS]]<ref>{{Cita web|url=https://developer.gnome.org/gtk3/stable/chap-css-overview.html|titolo=GTK+ CSS Overview: GTK+ 3 Reference Manual|sito=developer.gnome.org|accesso=2021-04-03}}</ref> e possono gestire bordi arrotondati, animazioni e trasparenze.
GtkBuilder è il sistema per realizzare il layout delle interfacce grafiche senza scrivere codice. L'interfaccia grafica dell'applicazione è descritta in [[XML]], il file viene caricato all'avvio dell'applicazione e crea tutti gli oggetti grafici. L'editor [[Glade]] permette di costruire l'interfaccia grafica in modo [[WYSIWYG]]. I file di interfaccia XML sono indipendenti dal linguaggio usato dall'applicazione.
== Storia ==
Riga 49 ⟶ 51:
=== GTK+ 3 ===
[[File:GTK+3-widget-factory-3-12.png|miniatura|I widget di GTK+ 3.12]]
La versione 3 è stata rilasciata il 10 febbraio 2011<ref>{{Cita web|url=https://mail.gnome.org/archives/gtk-devel-list/2011-February/msg00020.html|titolo=GTK+ 3.0.0 released|sito=mail.gnome.org|accesso=2021-04-03}}</ref> e include la seguenti caratteristiche salienti:
* i componente grafico GDK viene reso indipendente da X11
* viene usato Cairo per ogni operazione grafica
* XInput2 viene usato per la gestione dell'input, supportando i gesti e [[multi-touch]]
* resa disponibile un'API per la realizzazione di temi basati con [[CSS]]
* nuovi widget disponibili
* decorazione della finestra client-side
=== GTK
Rilasciato nel settembre del 2020, rappresenta l'ultimo sviluppo di GTK.<ref>{{Cita web|url=https://blog.gtk.org/2020/12/16/gtk-4-0/|titolo=GTK 4.0 – GTK Development Blog|lingua=en-US|accesso=2021-04-03}}</ref> La nuova versione include un nuovo motore di rendering [[Vulkan (API)|Vulkan]] e [[OpenGL]], migliora il supporto per Wayland e migliori performance.<ref>{{Cita web|url=https://www.phoronix.com/scan.php?page=news_item&px=GTK-4.0-Released|titolo=GTK 4.0 Toolkit Officially Released|sito=www.phoronix.com|data=16 dicembre 2020|accesso=2021-04-03}}</ref>
=== Rilasci ===
Riga 184 ⟶ 194:
=== Applicazioni scritte con l'uso di GTK ===
[[File:Inkscape 1.png|miniatura|Inkscape 1.0 con il logo di GTK vettoriale]]
Alcune significative applicazioni multipiattaforma con codice aperto che usano GTK come toolkit per widget:
* [[CinePaint]] (ex FilmGimp) - Editor di immagini Raster [[High dynamic range imaging|HDR]]
|