KGENDESIGNERPLUGI(1) KDE Frameworks: KDesignerPlugi KGENDESIGNERPLUGI(1) NOME kgendesignerplugin - Genera estensioni di oggetti per Qt(TM) Designer. SINOSSI kgendesignerplugin [OPZIONI...] file DESCRIZIONE Le estensioni per oggetti personalizzati di Qt(TM) Designer seguono solitamente uno schema predefinito, e le classi fornite dall'estensione forniscono per lo piu informazioni statiche, oltre alla funzione per creare un'istanza, che e normalmente una semplice chiamata a un costruttore. kgendesignerplugin permette agli sviluppatori di librerie di fornire nuovi oggetti per creare una tale estensione senza creare tutto il codice di routine, ma fornendo invece un semplice file descrittivo in stile ini. kgendesignerplugin sceglie valori predefiniti ragionevoli per la maggior parte delle impostazioni, per cui normalmente e necessaria solo una configurazione minimale. OPZIONI -o file Il nome per il file C++ generato. Se non viene fornito, verra usato stdout. -n nome-estensione Disponibile per compatibilita. Il valore predefinito per l'opzione PluginName nel file di input. -g gruppo Disponibile per compatibilita. Il valore predefinito per l'opzione DefaultGroup nel file di input. --author Mostra le informazioni sull'autore. --license Mostra le informazioni sulla licenza. -h, --help Mostra un breve testo di aiuto. -v , --version Mostra le informazioni sulla versione. FORMATO DEI FILE Il file di input e un file di configurazione di tipo INI (in particolare, e nel formato supportato dal framework KConfig) che descrive un insieme di oggetti. Contiene una sezione [Global], che fornisce informazioni generali sull'estensione, ed una sezione per ogni oggetto che deve essere incluso nell'estensione. La sezione [Global] puo avere le seguenti voci: DefaultGroup Il valore predefinito per la voce Group nelle sezioni delle classi (valore predefinito: "Custom", a meno che l'opzione -g non sia stata fornita). Includes Un elenco (separato da virgole) di file da includere richiesti (valore predefinito: vuoto). Nota come i file di intestazione per gli oggetti specificati successivamente nel file non vanno elencati qui; questo elenco e per le intestazioni speciali usate internamente dall'estensione, come quelli per le classi che forniscono le anteprime. PluginName Il nome della classe C++ principale nell'estensione (valore predefinito: "WidgetsPlugin", a meno che l'opzione -n non sia stata specificata). Ogni classe dovrebbe avere la propria sezione [ClassName], che puo includere le seguenti voci: CodeTemplate Il valore restituito dalla funzione codeTemplate() dell'estensione, che e segnata per "uso futuro" da Qt(TM) Designer (predefinito: vuoto). ConstructorArgs Gli argomenti da passare al costruttore della classe fornito da ImplClass: questi devono essere racchiusi tra parentesi (valore predefinito: (parent)). L'unica variabile di cui e garantita la presenza e parent, che e l'oggetto QWidget genitore passato da Qt(TM) Designer. Questa voce e ignorata se CreateWidget e impostato. CreateWidget Il codice necessario per creare un'istanza dell'oggetto (comportamento predefinito: usa new per creare un'istanza della classe specificata dalla voce ImplClass, passando gli argomenti specificati da ConstructorArgs). Consultare le note per ImplClass e ConstructorArgs. DomXML Una descrizione XML UI dell'oggetto (valore predefinito: quanto fornito dalle intestazioni dell'estensione per Qt(TM) Designer). Group Il gruppo in cui mostrare l'oggetto in Qt(TM) Designer (valore predefinito: il valore della voce DefaultGroup nella sezione [Global]). IconName Il file di immagine o il nome standard di icona da usare come icona per questo oggetto nell'elenco degli oggetti di Qt(TM) Designer (valore predefinito: un file PNG chiamato come il nome della sezione ma senza doppi due punti, nella directory <> di un file di risorse integrato; ad esempio, :/pics/Foo.png nella sezione [Foo], o :/pics/FooBar.png nella sezione [Foo::Bar]). ImplClass La classe che dovrebbe essere usata per creare un'istanza dell'oggetto per l'uso in Qt(TM) Designer (valore predefinito: il nome della sezione). Si noti come questa non deve essere necessariamente la classe che verrebbe creata per l'applicazione finale: questo viene stabilito dal valore di DomXML. Questa voce e ignorata se CreateWidget e impostato. IncludeFile L'intestazione che e necessario includere per usare questo oggetto (valore predefinito: la versione in minuscolo del nome della sezione, con i due punti rimossi e <<.h>> aggiunto alla fine; ad esempio, foo.h nella sezione [Foo], o foobar.h nella sezione [Foo::Bar]). IsContainer Se questo oggetto possa contenerne altri (valore predefinito: false). ToolTip Il suggerimento da mostrare quando il mouse passa sull'oggetto nell'elenco degli oggetti di Qt(TM) Designer (valore predefinito: il nome della sezione, con << Widget>> aggiunto alla fine; ad esempio Foo Widget nella sezione [Foo]). WhatsThis Il testo <> associato all'oggetto in Qt(TM) Designer (valore predefinito: il nome della sezione, con << Widget>> aggiunto alla fine; ad esempio, Foo Widget nella sezione [Foo]). ESEMPI Il file di descrizione piu semplice potrebbe somigliare a: [Foo] ToolTip=Mostra foo [Bar] ToolTip=Editor di qualcosa Si noti come ogni classe debba avere almeno una chiave impostata (in questo esempio e stata usata ToolTip), altrimenti la classe verra ignorata. Normalmente vorrai cambiare almeno il testo visibile all'utente, che vuol dire le voci ToolTip, WhatsThis e Group. Inoltre, impostare il nome dell'estensione puo essere una buona idea per prevenire possibili conflitti di simboli e non confondere i debugger (sia l'applicazione debugger che la persona che effettua il debug): [Global] PluginName=FooWidgets DefaultGroup=Display [Foo] ToolTip=Mostra orsi WhatsThis=Un'oggetto immagine che mostra orsi danzanti [Bar] ToolTip=Editor qualcosa WhatsThis=Un'interfaccia editor per qualcosa per orsi Group=Editing Dei file piu complessi potrebbero essere necessari se ci fossero classi con namespace oppure opzioni aggiuntive che debbano essere fornite ai costruttori, ad esempio: [Global] PluginName=FooWidgets DefaultGroup=Foo [Foo::Bar] ToolTip=Mostra qualcosa WhatsThis=Un oggetto che mostra qualcosa in modo peculiare IncludeFile=foo/bar.h IconName=:/previews/bar.png [Foo::Baz] IncludeFile=foo/baz.h ConstructorArgs=(Foo::Baz::SomeOption, parent) Group=Foo (Special) IsContainer=true IconName=:/previews/baz.png A volte degli oggetti particolarmente complessi potrebbero aver bisogno di un'implementazione di una speciale <> per l'uso in Qt(TM) Designer; questa potrebbe essere una sottoclasse di un vero oggetto che esegue delle inizializzazioni aggiuntive, o potrebbe essere un'implementazione completamente diversa. [Global] Includes=foopreviews.h [FancyWidget] ImplClass=FancyWidgetPreview VEDI ANCHE https://doc.qt.io/qt-5/designer-creating-custom-widgets.html La documentazione di Qt(TM) Designer sulla creazione di estensioni per oggetti personalizzati. ERRORI Usa il sito di gestione dei bug di KDE[1] per segnalarli, non mandare un messaggio direttamente agli autori. AUTORI Richard Johnson Ha scritto la documentazione originale. Alex Merry Ha aggiornato la documentazione per KDE Frameworks 5. NOTE 1. il sito di gestione dei bug di KDE https://bugs.kde.org KDE Frameworks Frameworks 5.0 2014-05-28 KGENDESIGNERPLUGI(1)