Development/Architecture/KDE4/Providing Online Help (es): Difference between revisions

    From KDE TechBase
    (translate to spanish)
    (translate to spanish)
    Line 8: Line 8:


    * La ayuda "¿Qué ese esto?" normalmente es una extensa explicación de un widget o de un item de un menu. Tambien es mas patosa de usar: el los dialogos, puede ser invocada de dos maneras: presionando Shift+F1 o pulsando sobre el signo de interrogación en la barra de título (donde el soporte de este depende del administrador de ventanas). Entonces el puntero del ratón se convierte en una flecha con un signo de interrogación, y cuando se hace clic sobre un elemento de la interfaz de usuario aparece la ventana de ayuda. La ayuda "¿Que es esto?" de los items del menu se activa normalmento mediante un boton en la "toolbar", que contiene una flecha y un signo de interrogación.<br/>El problema de este método es que el usuario no puede saber cuando un widget proporciona ayuda o no. Cuando el usuario activa el boton de signo de interrogación, y no obtiene ninguna ayuda cuando pulsa sobre un elemento de la interfaz de usuario, se frustrará rapidamente.<br/><br/>La ventaja de la ayuda "¿Qué es esto?" proporcionada por Qt y KDE es que puede contener [http://doc.trolltech.com/4.4/richtext.html texto enriquecido], es decir, puede contener diferentes tipos de letra, texto cursiva y negrita e incluso imagenes y tablas.
    * La ayuda "¿Qué ese esto?" normalmente es una extensa explicación de un widget o de un item de un menu. Tambien es mas patosa de usar: el los dialogos, puede ser invocada de dos maneras: presionando Shift+F1 o pulsando sobre el signo de interrogación en la barra de título (donde el soporte de este depende del administrador de ventanas). Entonces el puntero del ratón se convierte en una flecha con un signo de interrogación, y cuando se hace clic sobre un elemento de la interfaz de usuario aparece la ventana de ayuda. La ayuda "¿Que es esto?" de los items del menu se activa normalmento mediante un boton en la "toolbar", que contiene una flecha y un signo de interrogación.<br/>El problema de este método es que el usuario no puede saber cuando un widget proporciona ayuda o no. Cuando el usuario activa el boton de signo de interrogación, y no obtiene ninguna ayuda cuando pulsa sobre un elemento de la interfaz de usuario, se frustrará rapidamente.<br/><br/>La ventaja de la ayuda "¿Qué es esto?" proporcionada por Qt y KDE es que puede contener [http://doc.trolltech.com/4.4/richtext.html texto enriquecido], es decir, puede contener diferentes tipos de letra, texto cursiva y negrita e incluso imagenes y tablas.
     
    <br/>
    [[Image:Kde4-queEsEsto.png‎|frame|center|Captura de pantalla ¿Qué es esto?]]
    [[Image:Kde4-queEsEsto.png‎|frame|center|Captura de pantalla ¿Qué es esto?]]
     
    <br/>
    *Finalmente, cada programa debería tener un manual. Normalmente se consulta un manual en khelpcenter,activando el menu de ayuda. Esto significa cargar una nueva aplicacion y desviar la atencion del usuario. Por tanto, la consulta del manual solo deberia ser necesaria si las otras faclidades como los tooltips o la ayuda "¿Qué es esto?" no son suficientes. Por supuesto, un manual tiene la ventaja de que no explica un aspecto aislado de la interfaz de usuario, en cambio, puede explicar aspectos de la aplicacion en un contexto mas amplio. Los manuales de KDE están escritos usando el lenguaje de etiquetado [http://i18n.kde.org DocBook].  
    *Finalmente, cada programa debería tener un manual. Normalmente se consulta un manual en khelpcenter,activando el menu de ayuda. Esto significa cargar una nueva aplicacion y desviar la atencion del usuario. Por tanto, la consulta del manual solo deberia ser necesaria si las otras faclidades como los tooltips o la ayuda "¿Qué es esto?" no son suficientes. Por supuesto, un manual tiene la ventaja de que no explica un aspecto aislado de la interfaz de usuario, en cambio, puede explicar aspectos de la aplicacion en un contexto mas amplio. Los manuales de KDE están escritos usando el lenguaje de etiquetado [http://i18n.kde.org DocBook].  


    From the programmer's point of view, Qt provides an easy to use API for online
    Desde el punto de vista del programador, Qt proporciona una forma facil de usar la API para la ayuda online. Para asinar un tooltip a un widget, simplemente usa el metodo setToolTip():
    help. To assign a tooltip to widget, simply use its setToolTip() method.
    <code cppqt3>
    <code cppqt3>
    widget->setToolTip(i18n("This widget does something."))
    widget->setToolTip(i18n("Este widget hace algo."))
    </code>
    </code>


    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
    Si la barra de menu y la barra de herramientas han sido creadas usando [[../Action Pattern|action pattern]], la cadena usada como tooltip se hereda del primer argumento del constructor [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction]:
    of the [http://api.kde.org/4.x-api/kdelibs-apidocs/kdeui/html/classKAction.html KAction] constructor:


    <code cppqt3>
    <code cppqt3>
    Line 27: Line 25:
    </code>
    </code>


    Here it is also possible to assign a text which is shown in the status bar when the  respective menu item is highlighted:
    Aqui tambien es posible asignar un texto que es mostrado en la barra de estado cuando el respectivo item del menu es "highlighted":


    <code cppqt3>
    <code cppqt3>
    action->setStatusText(i18n("Deletes the marked file"))
    action->setStatusText(i18n("Borrar el fichero seleccionado"))
    </code>
    </code>


    The API for "What's this?' help is very similar. In dialogs, use the following
    La Api para la ayuda "¿Qué es esto?" es muy similar. En los dialogos, usa el siguiente codigo:
    code:


    <code cppqt3>
    <code cppqt3>
    Line 44: Line 41:
    </code>
    </code>


    For menu items, use
     
    Para los items del menu, usa:
    <code cppqt3>
    <code cppqt3>
    action->setWhatsThis(i18n("Deletes the marked file"))
    action->setWhatsThis(i18n("Borrar el fichero seleccionado"))
    </code>
    </code>


    The invocation of khelpcenter is encapsulated in the
    La invocacion de khelpcenter esta encapsulada en la clase [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation]
    [http://api.kde.org/4.x-api/kdelibs-apidocs/kdecore/html/classKToolInvocation.html KToolInvocation]
    . Para mostrar el manual de tu aplicacion, usa simplemente el metodo estatico:
    class. In order to show the manual of your application, just use the static method:
     
    <code cppqt3>
    <code cppqt3>
    KToolInvocation::invokeHelp()
    KToolInvocation::invokeHelp()
    </code>
    </code>


    This displays the first page with the table of contents. When
    Este codigo muestra la primera pagina con la tabla de contenidos. Cuando quieras mostrar solo una seccion del manual, puedes invocar a invokeHelp() con un argumento adicional que determina que seccion quieres mostrar.
    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]
    ''Initial Author:'' [mailto:[email protected] Bernd Gehrmann]

    Revision as of 00:19, 16 September 2008

    Arquitectura de KDE - Suministro de ayuda online

    La construcción de un programa facil e intuitivo de usar implica un amplio rango de facilidades que por lo general se llama ayuda online. La ayuda online persigue varios objetivos parcialmente contradictorios: por un lado, debería dar respuesta a la pregunta del usuario "¿Como puedo realizar una cierta tarea?", pero por el otro lado debería ayudar al usuario que explora la aplicación y se encuentra con caracteristicas que aun desconoce. Es importante reconocer que esta situacion sólo puede ser tratada ofreciendo varios niveles de ayuda:

    • Los tooltips son las pequeñas etiquetas que aparecen sobre los elementos de la interfaz de usuario cuando el ratón permanece sobre estos durante un periodo de tiempo largo. Son especialmente importantes en las "toolbars", donde los iconos no siempre son suficientes para explicar el cometido de un botón.
    • La ayuda "¿Qué ese esto?" normalmente es una extensa explicación de un widget o de un item de un menu. Tambien es mas patosa de usar: el los dialogos, puede ser invocada de dos maneras: presionando Shift+F1 o pulsando sobre el signo de interrogación en la barra de título (donde el soporte de este depende del administrador de ventanas). Entonces el puntero del ratón se convierte en una flecha con un signo de interrogación, y cuando se hace clic sobre un elemento de la interfaz de usuario aparece la ventana de ayuda. La ayuda "¿Que es esto?" de los items del menu se activa normalmento mediante un boton en la "toolbar", que contiene una flecha y un signo de interrogación.
      El problema de este método es que el usuario no puede saber cuando un widget proporciona ayuda o no. Cuando el usuario activa el boton de signo de interrogación, y no obtiene ninguna ayuda cuando pulsa sobre un elemento de la interfaz de usuario, se frustrará rapidamente.

      La ventaja de la ayuda "¿Qué es esto?" proporcionada por Qt y KDE es que puede contener texto enriquecido, es decir, puede contener diferentes tipos de letra, texto cursiva y negrita e incluso imagenes y tablas.


    Captura de pantalla ¿Qué es esto?


    • Finalmente, cada programa debería tener un manual. Normalmente se consulta un manual en khelpcenter,activando el menu de ayuda. Esto significa cargar una nueva aplicacion y desviar la atencion del usuario. Por tanto, la consulta del manual solo deberia ser necesaria si las otras faclidades como los tooltips o la ayuda "¿Qué es esto?" no son suficientes. Por supuesto, un manual tiene la ventaja de que no explica un aspecto aislado de la interfaz de usuario, en cambio, puede explicar aspectos de la aplicacion en un contexto mas amplio. Los manuales de KDE están escritos usando el lenguaje de etiquetado DocBook.

    Desde el punto de vista del programador, Qt proporciona una forma facil de usar la API para la ayuda online. Para asinar un tooltip a un widget, simplemente usa el metodo setToolTip(): widget->setToolTip(i18n("Este widget hace algo."))

    Si la barra de menu y la barra de herramientas han sido creadas usando action pattern, la cadena usada como tooltip se hereda del primer argumento del constructor KAction:

    action = new KAction(i18n("&Delete"), "editdelete",

                        SHIFT+Key_Delete, actionCollection(), "del")
    

    Aqui tambien es posible asignar un texto que es mostrado en la barra de estado cuando el respectivo item del menu es "highlighted":

    action->setStatusText(i18n("Borrar el fichero seleccionado"))

    La Api para la ayuda "¿Qué es esto?" es muy similar. En los dialogos, usa el siguiente codigo:

    widget->setWhatsThis(i18n("<qt>This demonstrates Qt's"

    " rich text engine.

      " "
    • Foo
    • " "
    • Bar
    • " "

    </qt>"))


    Para los items del menu, usa: action->setWhatsThis(i18n("Borrar el fichero seleccionado"))

    La invocacion de khelpcenter esta encapsulada en la clase KToolInvocation . Para mostrar el manual de tu aplicacion, usa simplemente el metodo estatico: KToolInvocation::invokeHelp()

    Este codigo muestra la primera pagina con la tabla de contenidos. Cuando quieras mostrar solo una seccion del manual, puedes invocar a invokeHelp() con un argumento adicional que determina que seccion quieres mostrar.

    Initial Author: Bernd Gehrmann