Toolkit: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
Nessun oggetto della modifica |
Funzionalità collegamenti suggeriti: 3 collegamenti inseriti. Etichette: Modifica visuale Modifica da mobile Modifica da web per mobile Attività per i nuovi utenti Suggerito: aggiungi collegamenti |
||
(27 versioni intermedie di 23 utenti non mostrate) | |||
Riga 1:
Il termine '''
La maggior parte dei toolkit widget include inoltre il proprio motore di rendering. Questo motore può essere specifico per un determinato sistema operativo o sistema a finestre o contenere back-end per interfacciarsi con più sistemi multipli e anche con API di rendering come [[OpenGL]], [[OpenVG]] o EGL. L'aspetto degli elementi di controllo grafici può essere codificato o disaccoppiato, consentendo agli elementi di controllo grafici di essere a tema/skin.
== Panoramica ==
Alcuni toolkit specifici sono:▼
[[File:SWT-on-mac.png|alt=Una finestra che utilizza lo Standard Widget Toolkit|miniatura|Una finestra che utilizza lo Standard Widget Toolkit]]
Alcuni toolkit possono essere utilizzati da altre lingue impiegando associazioni linguistiche. I costruttori di interfacce grafiche come ad esempio Glade Interface Designer facilitano la creazione di GUI in maniera [[WYSIWYG]] utilizzando un [[linguaggio di markup]] dell'interfaccia utente come in questo caso GtkBuilder.
La GUI di un programma è comunemente costruita in modo a cascata, con elementi di controllo grafici aggiunti direttamente uno sopra l'altro.
La maggior parte dei toolkit dei widget utilizza la programmazione guidata dagli eventi come modello di interazione<ref>[http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.45.9491 Past, Present and Future of User Interface Software Tools]. Brad Myers, Scott E. Hudson, Randy Pausch, Y Pausch. ACM Transactions on Computer-Human Interaction, 2000. [https://www.cs.cmu.edu/~amulet/papers/futureofhciACM.pdf]</ref>. Il toolkit gestisce gli eventi dell'utente, ad esempio quando l'utente fa clic su un pulsante. Quando viene rilevato un evento, viene trasmesso all'applicazione dove viene gestito. La progettazione di questi toolkit è stata criticata per aver promosso un modello di azione evento troppo semplificato, portando i programmatori a creare codice applicativo soggetto a errori, difficile da estendere ed eccessivamente complesso<ref name="Samek03b">{{Cita web|titolo=Who Moved My State?|autore=Samek, Miro|url=http://www.ddj.com/cpp/184401643|editore=C/C++ Users Journal, The Embedded Angle column|data=April 2003}}</ref>. Le macchine a stati finiti e le macchine a stati gerarchiche sono state proposte come modelli di alto livello per rappresentare i cambiamenti di stato interattivi per programmi reattivi.
== Sistemi di finestre ==
Una finestra è considerata un elemento di controllo grafico. In alcuni sistemi a finestre, le finestre vengono aggiunte direttamente al grafico della scena (Canvas) dal gestore delle finestre e possono essere impilate e sovrapposte l'una sull'altra in vari modi. Ogni finestra è associata a una particolare applicazione che controlla i widget aggiunti alla sua tela, che possono essere guardati e modificati dalle applicazioni associate.
== Layout manager ==
I gestori di layout (layout manager) sono componenti software utilizzati nei toolkit widget che hanno la capacità di disporre gli elementi grafici di controllo in base alle loro posizioni relative senza utilizzare unità di distanza<ref>{{Cita web|url=https://docs.oracle.com/javase/tutorial/uiswing/layout/visual.html|titolo=A Visual Guide to Layout Managers (The Java™ Tutorials > Creating a GUI With JFC/Swing > Laying Out Components Within a Container)|sito=docs.oracle.com|accesso=4 marzo 2021}}</ref>. I toolkit di widget che forniscono questa funzione possono generalmente essere classificati in due gruppi:
* Quelle in cui il comportamento del layout è codificato in appositi contenitori grafici. Questo è il caso di XUL e del toolkit widget di .NET Framework (sia in Windows Form che in [[XAML]]).
* Quelli in cui il comportamento del layout è codificato nei gestori di layout, che possono essere applicati a qualsiasi contenitore grafico. Questo è il caso del toolkit del widget Swing che fa parte dell'API Java.
=== Esempio in XAML ===
<syntaxhighlight lang="xml">
<Page xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
WindowTitle="myDock Panel">
<DockPanel>
<TextBlock DockPanel.Dock="Top">Top 1</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 2</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 3</TextBlock>
<TextBlock DockPanel.Dock="Top">Top 4</TextBlock>
</DockPanel>
</Page>
</syntaxhighlight>
== Toolkit usati da applicazioni famose ==
{{E|Elenco indiscriminato di wikilink a toolkit utilizzati da applicazioni "famose" (quali?)|informatica|ottobre 2022}}
▲Alcuni toolkit specifici sono:
* [[Abstract Window Toolkit]]
* [[Accessibility Toolkit]]
Riga 9 ⟶ 41:
* [[B-Toolkit]]
* [[BOOP Toolkit]]
* [[Claro toolkit]]
* [[Dojo Toolkit]]
* [[FOX toolkit]]
* [[Globus Toolkit]]
*
* [[Google Web Toolkit|GWT]], Google Web Toolkit
* [[Harmony toolkit]]
* [[Insight Segmentation and Registration Toolkit]]
Riga 25 ⟶ 56:
* [[Sun Java Wireless Toolkit]]
* [[OpenGL Utility Toolkit]]
* [[Qt (toolkit)|Qt]]
* [[Motif
* [[Natural Language Toolkit]]
* [[Portable, Extensible Toolkit for Scientific Computation]]
Riga 36 ⟶ 67:
* [[Synthesis Toolkit]]
* [[Template Toolkit]]
* [[TIBCO General Interface]] AJAX [[Rich Internet application|Rich Internet Application]] Toolkit
* [[The Coroner's Toolkit]]
* [[User Interface Toolkit]] (UIM)
* [[X Toolkit]]
== Note ==
<references/>
== Voci correlate ==
*[[Libreria (software)|Libreria software]]
* [[Ambiente di sviluppo integrato]]
== Altri progetti ==
{{interprogetto}}
{{Portale|informatica}}
[[Categoria:Programmazione]]
[[Categoria:Ambienti di sviluppo]]
|