Development/Architecture/KDE4/Providing Online Help/pt-br: Difference between revisions

From KDE TechBase
(Created page with "'''Arquitetura do KDE - Fornecendo ajuda online'''")
(Created page with "''Autor inicial:'' [mailto:[email protected] Bernd Gehrmann]")
 
(10 intermediate revisions by the same user not shown)
Line 2: Line 2:
'''Arquitetura do KDE - Fornecendo ajuda online'''
'''Arquitetura do KDE - Fornecendo ajuda online'''


Making a program easy and intuitive to use involves a wide range of
Tornar um programa fácil e intuitivo de usar envolve uma grande variedade de facilidades
facilities which are usually called online help. Online help has several,
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:
partially conflicting goals: on the one, it should give the user answers
to the question "How can I do a certain task?", on the other hand it
should help the user exploring the application and finding features he
doesn't yet know about. It is important to recognize that this can only
be achieved by offering several levels of help:


*Tooltips are tiny labels that pop up over user interface elements when the mouse remains there longer. They are especially important for tool- bars, where icons are not always sufficient to explain the purpose of a button.  
*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.  
*"What's this?" help is usually a longer and richer explanation of a widget or a menu item. It is also more clunky to use: In dialogs, it can be invoked in two ways: either by pressing Shift-F1 or by clicking on the question mark in the title bar (where the support of the latter depends on the window manager). The mouse pointer then turns into an arrow with a question mark, and the help window appears when a user interfact element has been clicked. "What's this?" help for menu items is usually activated by a button in the toolbar which contains an arrow and a question mark. <br/>The problem with this approach is that the user can't see whether a widget provides help or not. When the user activates the question mark button and doesn't get any help window when clicking on a user interface element, he will get frustrated very quickly.<br/><br/> The advantage of "What's this?" help windows as provided by Qt and KDE is that they can contain [http://doc.trolltech.com/4.4/richtext.html rich text], i.e. the may contain different fonts, bold and italic text and even images and tables.
*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]]
*Finally, every program should have a manual. A manual is normally viewed in khelpcenter by activating the help menu. That means, a complete additional application pops up and diverts the user from his work. Consequently, consulting the manual should only be necessary if other facilities like tooltips and what's this help are not sufficient. Of course, a manual has the advantage that it does not explain single, isolated aspects of the user interface. Instead, it can explain aspects of the application in a greater context. Manuals for KDE are written using the [http://i18n.kde.org DocBook] markup language.
*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].


From the programmer's point of view, Qt provides an easy to use API for online
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().
help. To assign a tooltip to widget, simply use its setToolTip() method.
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
widget->setToolTip(i18n("This widget does something."))
widget->setToolTip(i18n("This widget does something."))
</syntaxhighlight>
</syntaxhighlight>
If the menu bars and tool bars are created using the [[../Action Pattern|action pattern]], the string used as tooltip is derived from the first argument
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
of the [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction] constructor:
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>
Here it is also possible to assign a text which is shown in the status bar when the  respective menu item is highlighted:
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>
The API for "What's this?' help is very similar. In dialogs, use the following
A API para a ajuda "O que é isso?' é muito similar. Em diálogos, use o seguinte código:
code:
<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 39: Line 32:
                         "</ul></qt>"))
                         "</ul></qt>"))
</syntaxhighlight>
</syntaxhighlight>
For menu items, use
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>
The invocation of khelpcenter is encapsulated in the
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]
class. In order to show the manual of your application, just use the static method:
<syntaxhighlight lang="cpp">
<syntaxhighlight lang="cpp">
KToolInvocation::invokeHelp()
KToolInvocation::invokeHelp()
</syntaxhighlight>
</syntaxhighlight>
This displays the first page with the table of contents. When
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.
you want to display only a certain section of the manual, you
can give an additional argument to invokeHelp() determining
the anchor which the browser jumps to.




''Initial Author:'' [mailto:[email protected] Bernd Gehrmann]
''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.
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 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