Development/Architecture/KDE4/Providing Online Help/pt-br: Difference between revisions
(Created page with "*As dicas são pequenas etiquetas que aparecem sobre os elementos da interface de usuário quando o mouse permanece lá por mais tempo. Elas são especialmente importantes par...") |
(Created page with "''Autor inicial:'' [mailto:[email protected] Bernd Gehrmann]") |
||
(8 intermediate revisions by the same user not shown) | |||
Line 5: | Line 5: | ||
que são geralmente chamadas de ajuda online. Ajuda online tem vários objetivos parcialmente conflitantes: de um lado, ela deveria dar aos usuários as respostas à pergunta: "Como posso fazer uma determinada tarefa?", por outro lado, deveria ajudar o usuário a explorar o aplicativo e encontrar recursos que ele ainda não conhece. É importante reconhecer que isso só pode ser alcançado através da oferta de vários níveis de ajuda: | que são geralmente chamadas de ajuda online. Ajuda online tem vários objetivos parcialmente conflitantes: de um lado, ela deveria dar aos usuários as respostas à pergunta: "Como posso fazer uma determinada tarefa?", por outro lado, deveria ajudar o usuário a explorar o aplicativo e encontrar recursos que ele ainda não conhece. É importante reconhecer que isso só pode ser alcançado através da oferta de vários níveis de ajuda: | ||
*As dicas são pequenas etiquetas que aparecem sobre os elementos da interface de usuário quando o mouse permanece lá por mais tempo. Elas são especialmente importantes para barras de ferramentas, onde ícones não são sempre suficientes para explicar o propósito de um botão. | *As tooltips (dicas) são pequenas etiquetas que aparecem sobre os elementos da interface de usuário quando o mouse permanece lá por mais tempo. Elas são especialmente importantes para barras de ferramentas, onde ícones não são sempre suficientes para explicar o propósito de um botão. | ||
*A ajuda "O que é isso?" é geralmente uma explicação maior e mais rica de um widget ou um item de menu. Portanto, é mais complicada de usar: Em caixas de diálogo, ela pode ser chamada de duas maneiras: ou pressionando Shift-F1 ou clicando no ponto de interrogação na barra de título (onde o suporte desta última depende do gerenciador de janelas). O ponteiro do mouse, em seguida, se transforma em uma seta com um ponto de interrogação, e a janela de ajuda aparece quando um elemento da interface do usuário foi clicado. A ajuda "O que é isso?" para os itens de menu é geralmente ativada por um botão na barra de ferramentas que contém uma seta e um ponto de interrogação. </br>O problema com essa abordagem é que o usuário não pode ver se um widget fornece ajuda ou não. Quando o usuário ativa o botão de ponto de interrogação e não recebe nenhuma janela de ajuda ao clicar em um elemento de interface do usuário, ele vai ficar frustrado muito rapidamente.</br></br> A vantagem das janelas de ajuda "O que é isso?" como fornecidas pelo Qt e o KDE é que elas podem conter [http://doc.trolltech.com/4.4/richtext.html rich text], isto é, elas podem conter diferentes tipos de fontes, texto negrito e itálico e mesmo imagens e tabelas. | *A ajuda "O que é isso?" é geralmente uma explicação maior e mais rica de um widget ou um item de menu. Portanto, é mais complicada de usar: Em caixas de diálogo, ela pode ser chamada de duas maneiras: ou pressionando Shift-F1 ou clicando no ponto de interrogação na barra de título (onde o suporte desta última depende do gerenciador de janelas). O ponteiro do mouse, em seguida, se transforma em uma seta com um ponto de interrogação, e a janela de ajuda aparece quando um elemento da interface do usuário foi clicado. A ajuda "O que é isso?" para os itens de menu é geralmente ativada por um botão na barra de ferramentas que contém uma seta e um ponto de interrogação. </br>O problema com essa abordagem é que o usuário não pode ver se um widget fornece ajuda ou não. Quando o usuário ativa o botão de ponto de interrogação e não recebe nenhuma janela de ajuda ao clicar em um elemento de interface do usuário, ele vai ficar frustrado muito rapidamente.</br></br> A vantagem das janelas de ajuda "O que é isso?" como fornecidas pelo Qt e o KDE é que elas podem conter [http://doc.trolltech.com/4.4/richtext.html rich text], isto é, elas podem conter diferentes tipos de fontes, texto negrito e itálico e mesmo imagens e tabelas. | ||
[[Image:Qt3-whatsthis.png|frame|center|QWhatsThis screenshot]] | [[Image:Qt3-whatsthis.png|frame|center|QWhatsThis screenshot]] | ||
*Finalmente, cada programa deverá ter um manual. Um manual é normalmente visto em khelpcenter ativando o menu de ajuda. Isso significa que, uma aplicação adicional completa aparece e desvia o usuário de seu trabalho. Consequentemente, a consulta ao manual só deve ser necessária se outras facilidades, como | *Finalmente, cada programa deverá ter um manual. Um manual é normalmente visto em khelpcenter ativando o menu de ajuda. Isso significa que, uma aplicação adicional completa aparece e desvia o usuário de seu trabalho. Consequentemente, a consulta ao manual só deve ser necessária se outras facilidades, como tooltips e ajuda o que é isso não são suficientes. Naturalmente, um manual tem a vantagem de que ele não explica aspectos individuais isolados da interface de usuário. Em vez disso, ele pode explicar aspectos do aplicativo em um contexto maior. Manuais para o KDE são escritos usando a linguagem de marcação [http://i18n.kde.org DocBook]. | ||
Do ponto de vista do programador, o Qt fornece uma API para ajuda online fácil para usar. Para atribuir uma dica para widget, simplesmente use o seu método setToolTip(). | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
widget->setToolTip(i18n("This widget does something.")) | widget->setToolTip(i18n("This widget does something.")) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Se as barras de menu e de ferramentas são criadas usando o [[../Action Pattern|action pattern]], a string usada como tooltip é derivada do primeiro argumento | |||
do construtor do [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction]: | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
action = new KAction(i18n("&Delete"), "editdelete", | action = new KAction(i18n("&Delete"), "editdelete", | ||
SHIFT+Key_Delete, actionCollection(), "del") | SHIFT+Key_Delete, actionCollection(), "del") | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Aqui é também possível atribuir um texto que é mostrado na barra de status quando o respectivo item de menu é realçado: | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
action->setStatusText(i18n("Deletes the marked file")) | action->setStatusText(i18n("Deletes the marked file")) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
A API para a ajuda "O que é isso?' é muito similar. Em diálogos, use o seguinte código: | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s" | widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s" | ||
Line 34: | Line 32: | ||
"</ul></qt>")) | "</ul></qt>")) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Para itens de menu, use | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
action->setWhatsThis(i18n("Deletes the marked file")) | action->setWhatsThis(i18n("Deletes the marked file")) | ||
</syntaxhighlight> | </syntaxhighlight> | ||
A invocação do khelpcenter está contida na classe [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation]. A fim de mostrar o manual de seu aplicativo, use o método estático: | |||
[http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation] | |||
<syntaxhighlight lang="cpp"> | <syntaxhighlight lang="cpp"> | ||
KToolInvocation::invokeHelp() | KToolInvocation::invokeHelp() | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Isso mostra a primeira página com a tabela de conteúdos. Quando você deseja exibir somente uma certa do manual, você pode fornecer um argumento adicional para invokeHelp() determinando a âncora para qual o navegador vai. | |||
'' | ''Autor inicial:'' [mailto:[email protected] Bernd Gehrmann] | ||
[[Category:KDE4]] | [[Category:KDE4]] | ||
[[Category:Architecture]] | [[Category:Architecture]] |
Latest revision as of 18:20, 29 August 2014
Arquitetura do KDE - Fornecendo ajuda online
Tornar um programa fácil e intuitivo de usar envolve uma grande variedade de facilidades que são geralmente chamadas de ajuda online. Ajuda online tem vários objetivos parcialmente conflitantes: de um lado, ela deveria dar aos usuários as respostas à pergunta: "Como posso fazer uma determinada tarefa?", por outro lado, deveria ajudar o usuário a explorar o aplicativo e encontrar recursos que ele ainda não conhece. É importante reconhecer que isso só pode ser alcançado através da oferta de vários níveis de ajuda:
- As tooltips (dicas) são pequenas etiquetas que aparecem sobre os elementos da interface de usuário quando o mouse permanece lá por mais tempo. Elas são especialmente importantes para barras de ferramentas, onde ícones não são sempre suficientes para explicar o propósito de um botão.
- A ajuda "O que é isso?" é geralmente uma explicação maior e mais rica de um widget ou um item de menu. Portanto, é mais complicada de usar: Em caixas de diálogo, ela pode ser chamada de duas maneiras: ou pressionando Shift-F1 ou clicando no ponto de interrogação na barra de título (onde o suporte desta última depende do gerenciador de janelas). O ponteiro do mouse, em seguida, se transforma em uma seta com um ponto de interrogação, e a janela de ajuda aparece quando um elemento da interface do usuário foi clicado. A ajuda "O que é isso?" para os itens de menu é geralmente ativada por um botão na barra de ferramentas que contém uma seta e um ponto de interrogação.
O problema com essa abordagem é que o usuário não pode ver se um widget fornece ajuda ou não. Quando o usuário ativa o botão de ponto de interrogação e não recebe nenhuma janela de ajuda ao clicar em um elemento de interface do usuário, ele vai ficar frustrado muito rapidamente.
A vantagem das janelas de ajuda "O que é isso?" como fornecidas pelo Qt e o KDE é que elas podem conter rich text, isto é, elas podem conter diferentes tipos de fontes, texto negrito e itálico e mesmo imagens e tabelas.
- Finalmente, cada programa deverá ter um manual. Um manual é normalmente visto em khelpcenter ativando o menu de ajuda. Isso significa que, uma aplicação adicional completa aparece e desvia o usuário de seu trabalho. Consequentemente, a consulta ao manual só deve ser necessária se outras facilidades, como tooltips e ajuda o que é isso não são suficientes. Naturalmente, um manual tem a vantagem de que ele não explica aspectos individuais isolados da interface de usuário. Em vez disso, ele pode explicar aspectos do aplicativo em um contexto maior. Manuais para o KDE são escritos usando a linguagem de marcação DocBook.
Do ponto de vista do programador, o Qt fornece uma API para ajuda online fácil para usar. Para atribuir uma dica para widget, simplesmente use o seu método setToolTip().
widget->setToolTip(i18n("This widget does something."))
Se as barras de menu e de ferramentas são criadas usando o action pattern, a string usada como tooltip é derivada do primeiro argumento do construtor do KAction:
action = new KAction(i18n("&Delete"), "editdelete",
SHIFT+Key_Delete, actionCollection(), "del")
Aqui é também possível atribuir um texto que é mostrado na barra de status quando o respectivo item de menu é realçado:
action->setStatusText(i18n("Deletes the marked file"))
A API para a ajuda "O que é isso?' é muito similar. Em diálogos, use o seguinte código:
widget->setWhatsThis(i18n("<qt>This demonstrates <b>Qt</b>'s"
" rich text engine.<ul>"
"<li>Foo</li>"
"<li>Bar</li>"
"</ul></qt>"))
Para itens de menu, use
action->setWhatsThis(i18n("Deletes the marked file"))
A invocação do khelpcenter está contida na classe KToolInvocation. A fim de mostrar o manual de seu aplicativo, use o método estático:
KToolInvocation::invokeHelp()
Isso mostra a primeira página com a tabela de conteúdos. Quando você deseja exibir somente uma certa do manual, você pode fornecer um argumento adicional para invokeHelp() determinando a âncora para qual o navegador vai.
Autor inicial: Bernd Gehrmann