KGENDESIGNERPLUGI(1) Plataformas do KDE: KDesignerP KGENDESIGNERPLUGI(1) NOME kgendesignerplugin - Gera 'plugins' de elementos graficos para o Qt(TM) Designer. SINOPSE kgendesignerplugin [OPCOES...] ficheiro DESCRICAO Os 'plugins' de elementos graficos personalizados do Qt(TM) Designer normalmente seguem um padrao normal, sendo que as classes oferecidas pelo 'plugin' fornecem na sua maioria alguma informacao estatica, em conjunto com a funcao para criar uma instancia, a qual sera normalmente uma simples chamada ao construtor. O kgendesignerplugin permite aos programadores das bibliotecas que fornecem elementos novos a criacao de um desses 'plugins', sem ter de cria todo o codigo acessorio associado, oferecendo um ficheiro de descricao do tipo INI. O kgendesignerplugin escolhe opcoes predefinidas para a maioria das definicoes, pelo que normalmente e necessaria apenas alguma configuracao minima. OPCOES -o ficheiro O nome do ficheiro em C++ gerado. Se nao for indicado, sera usado o stdout. -n nome-plugin Fornecido para fins de compatibilidade. O valor por omissao da opcao 'PluginName' no ficheiro de entrada. -g grupo Oferecido por razoes de compatibilidade. O valor por omissao para a opcao 'DefaultGroup' no ficheiro de entrada. --author Mostra informacoes sobre o autor. --license Mostra informacoes acerca da licenca. -h, --help Mostra um breve texto de ajuda. -v , --version Mostra a informacao da versao. FORMATO DO FICHEIRO O ficheiro de entrada e um ficheiro de configuracao do tipo INI (para ser mais especifico, esta no formato suportado pela plataforma KConfig) que descreve um conjunto de itens graficos. Contem uma seccao [Global], que oferece informacoes gerais acerca do 'plugin', assim como uma seccao para cada elemento que devera ser incluido no 'plugin'. A seccao [Global] pode ter os seguintes elementos: DefaultGroup O valor por omissao para o item Group nas seccoes das classes (por omissao: "Custom", a menos que seja usada a opcao -g). Includes Uma lista (separada por virgulas) dos ficheiros de inclusao necessarios (por omissao: vazio). Repare que os ficheiros de inclusao definidos posteriormente no ficheiro nao deverao ser indicados aqui; em vez disso, este campo serve para os ficheiros de inclusao especiais para o uso proprio do 'plugin', como os das classes que possuem antevisoes. PluginName O nome da classe principal em C++ no 'plugin' (por omissao: "WidgetsPlugin", a menos que seja usada a opcao -n). Cada classe devera ter a sua propria seccao [ClassName], a qual podera incluir os seguintes elementos: CodeTemplate O valor devolvido pela funcao codeTemplate() do 'plugin', o qual esta marcado para "uso futuro" pelo Qt(TM) Designer (por omissao: vazio). ConstructorArgs Os argumentos a passar ao construtor da classe indicada por ImplClass; estes deverao estar entre parentesis (por omissao: "(parent)"). A unica variavel que e garantido estar disponivel e a parent, que e o QWidget-pai passado pelo Qt(TM) Designer. Este item e ignorado se estiver definido o valor de CreateWidget. CreateWidget O codigo necessario para criar uma instancia do elemento grafico (por omissao: usa o new para criar uma instancia da classe indicada pelo item ImplClass, passando os argumentos definidos em ConstructorArgs). Veja as notas sobre o ImplClass e o ConstructorArgs. DomXML Uma descricao da UI em XML do elemento grafico (por omissao: o valor fornecido pelos ficheiros de inclusao do 'plugin' do Qt(TM) Designer). Group O grupo sob o qual mostrar o elemento no Qt(TM) Designer (por omissao: o valor do elemento DefaultGroup na seccao [Global]). IconName O ficheiro de imagem ou o nome do icone-padrao a usar como icone para este elemento na lista de elementos graficos do Qt(TM) Designer (por omissao: um ficheiro PNG com o nome da seccao, sem quaisquer dois-pontos duplos, na pasta "pics" de um ficheiro de recursos compilado; por exemplo, :/pics/Xpto.png na seccao [Xpto], ou :/pics/XptoOla.png na seccao [Xpto::Ola]). ImplClass A classe que devera ser usada para criar uma instancia do elemento para o usar no Qt(TM) Designer (por omissao: o nome da seccao). Lembre-se que esta nao tem de ser a classe que seria criada para uma aplicacao final: isso e determinado pelo DomXML. Este item e ignorado se estiver definido o valor de CreateWidget. IncludeFile O ficheiro que devera ser incluido para usar este item grafico (por omissao: a versao em minusculas do nome da seccao, retirando todos os dois-pontos e adicionando o texto ".h"; por exemplo, xpto.h na seccao [Xpto], ou xptoola.h na seccao [Xpto::Ola]). IsContainer Se este elemento podera conter ou nao outros elementos (por omissao: false). ToolTip A dica a mostrar quando passar o cursor do rato sobre o elemento na lista de elementos graficos no Qt(TM) Designer (por omissao: o nome da seccao, com o texto " Widget" adicionado; por exemplo, XPTO Widget na seccao [XPTO]). WhatsThis O texto 'O que e Isto?' associado com o elemento no Qt(TM) Designer (por omissao: o nome da seccao, com o texto " Widget" adicionado; por exemplo, XPTO Widget na seccao [XPTO]). EXEMPLOS O ficheiro de descricao mais simples podera ser algo do tipo [XPTO] ToolTip=Mostra elementos XPTO [Bar] ToolTip=Editor de barras Repare que cada classe devera ter pelo menos uma chave definida (ToolTip foi usado neste exemplo), caso contrario sera ignorada. Normalmente, ira querer alterar pelo menos o texto visivel para o utilizador, o que corresponde aos itens ToolTip, WhatsThis e Group. Para alem disso, definir o nome do 'plugin' podera ser uma boa ideia para evitar possiveis conflitos de simbolos e para nao confundir os depuradores (tanto a aplicacao de depuracao como a pessoa que efectua a mesma): [Global] PluginName=ElementosXPTO DefaultGroup=Visualizacao [XPTO] ToolTip=Mostra ursos WhatsThis=Um item de imagens que mostra ursos a dancar [Ola] ToolTip=Editor de barras WhatsThis=Uma interface de edicao para barras para ursos Group=Edicao Poderao ser necessarios ficheiros mais complexos, caso tenha classes com espacos de nomes ou opcoes extra que seja necessario passar aos construtores, como por exemplo: [Global] PluginName=ElementosXpto DefaultGroup=XPTO [XPTO::Ola] ToolTip=Mostra barras WhatsThis=Um elemento que mostra elementos de uma determinada forma IncludeFile=xpto/ola.h IconName=:/antevisoes/ola.png [XPTO::Ola2] IncludeFile=xpto/ola2.h ConstructorArgs=(XPTO::Ola2::UmaOpcao, parent) Group=XPTO (Especial) IsContainer=true IconName=:/antevisoes/ola2.png Em alguns casos, os itens graficos especialmente complexos poderao necessitar de uma implementacao de uma "classe de antevisao" para usar no Qt(TM) Designer; esta podera ser uma sub-classe do elemento real que simplesmente faz mais algumas configuracoes adicionais, ou podera entao ser uma implementacao completamente diferente. [Global] Includes=xpto-antevisoes.h [ElementoBonito] ImplClass=ElementoBonitoAntevisao VEJA TAMBEM http://qt-project.org/doc/qt-5/designer-creating-custom-widgets.html A documentacao do Qt(TM) Designer para criar 'plugins' de itens graficos personalizados. PROBLEMAS Use por favor o bugs.kde.org[1] para comunicar os erros; nao os envie directamente para os autores por e-mail. AUTORES Richard Johnson Criador da documentacao original. Alex Merry Actualizou a documentacao para as Plataformas 5 do KDE. NOTAS 1. bugs.kde.org http://bugs.kde.org Plataformas do KDE Plataformas 2014-05-28 KGENDESIGNERPLUGI(1)