OOUI/Toolbars/nl

Werkbalken
Werkbalken zijn complexe interfacecomponenten waarmee gebruikers eenvoudig toegang hebben tot een verscheidenheid aan hulpmiddelen (bijvoorbeeld opmaakopdrachten) en acties, die extra opdrachten zijn die deel uitmaken van de werkbalk, maar niet zijn geconfigureerd als hulpmiddelen.

Ontwikkelaars maken en passen de afzonderlijke hulpmiddelen aan en registreren ze vervolgens bij een ToolFactory, die ze op aanvraag maakt. Elk hulpmiddel heeft een symbolische naam (gebruikt bij het registreren ervan), een titel (bijvoorbeeld 'Afbeelding invoegen') en een pictogram.

Individuele hulpmiddelen zijn georganiseerd in groepen, die worden weergegeven als menu's met hulpmiddelen, lijsten met hulpmiddelen, of als een enkele balk met hulpmiddelen. U kunt de rangschikking en volgorde van de hulpmiddelengroepen aanpassen door het instellen van de werkbalk. Hulpmiddelen kunnen in elke volgorde worden weergegeven, maar ze kunnen slechts één keer in de werkbalk worden weergegeven.

Hieronder ziet u een voorbeeld van een basiswerkbalk. We zullen later in deze documentatie nader kijken naar elk van deze gebruikte componenten in dit voorbeeld. Als u deze demo live wilt zien, raadpleeg de gegenereerde documentatie.

Hulpmiddelen
Hulpmiddelen worden gemaakt door de abstracte class Tool of een van de subclasses ervan uit te breiden, PopupTool of ToolGroupTool. Elk hulpmiddel moet worden geconfigureerd met de eigenschappenː


 * &mdash; De symbolische naam wordt intern gebruikt om het hulpmiddel te registreren bij een ToolFactory. Hulpmiddelen moeten worden geregistreerd voordat ze in een werkbalk kunnen worden gebruikt.
 * &mdash; De titeltekst wordt op verschillende manieren gebruikt, afhankelijk van het type groep waarin het hulpmiddel is geplaatst (BarToolGroup, MenuToolGroup of ListToolGroup). Voor 'balk'-hulpmiddelgroepen, waarbij alleen een pictogram wordt weergegeven om het hulpmiddel te identificeren, wordt de titeltekst gebruikt als knopinfo die wordt weergegeven wanneer een gebruiker de muis over het pictogram beweegt. Voor 'lijst'-hulpmiddelgroepen wordt de titeltekst gebruikt om het hulpmiddel te identificeren in de vervolgkeuzemenu's die in de gebruikersinterface worden gebruikt. Als er een sneltoets is gedefinieerd voor het hulpmiddel, wordt de sneltoets automatisch weergegeven. Voor hulpmiddelen in 'balk'-hulpmiddelgroepen wordt de sneltoets weergegeven in de knopinfo; Voor hulpmiddelen in de groepen 'Menu' en 'Lijst' verschijnt de snelkoppeling rechts van het item in het vervolgkeuzemenu.
 * &mdash; Het pictogram wordt ook op verschillende manieren gebruikt, afhankelijk van het groepstype waarin het hulpmiddel zich bevindt. Voor 'bar'-hulpmiddelgroepen wordt het pictogram weergegeven in de werkbalk om het hulpmiddel te identificeren. Voor 'lijst'-hulpmiddelgroepen wordt het pictogram weergegeven naast de titeltekst in het vervolgkeuzemenu. Voor 'menu'-hulpmiddelgroepen wordt het pictogram genegeerd.

Naast de statische eigenschappen moet een hulpmiddel ook twee methoden implementeren:


 * onSelect &mdash; wordt gebruikt om de actie op te geven die het hulpmiddel moet uitvoeren wanneer het is geselecteerd
 * onUpdateState &mdash; wordt gebruikt om de status van het hulpmiddel te synchroniseren met de status van de grotere context. Deze methode kan bijvoorbeeld worden gebruikt om 'vet' in de werkbalk te selecteren wanneer de tekstcursor binnen een gebied met vetgedrukte tekst wordt verplaatst.

Een hulpmiddel kan ook worden geconfigureerd met een statische eigenschap 'group', die later kan worden gebruikt bij het toevoegen van het hulpmiddel aan een balk, menu of toolgroep (zie ToolGroepen voor een voorbeeld van hoe dit wordt gedaan):

Voor een volledige lijst met ondersteunde methoden en configuratieopties, zie de code-level documentatie van de class Tool.

PopupTool
Pop-up hulpmiddelen openen een pop-upvenster wanneer ze worden geselecteerd op de werkbalk. In tegenstelling tot standaardhulpmiddelen vereisen pop-upss niet dat ontwikkelaars een methode van  of   opgeven, omdat deze methoden al zijn geïmplementeerd.

Voor een volledige lijst met ondersteunde methoden en configuratieopties, zie de code-level documentatie van de class PopupTool.

ToolGroupTool
Een ToolGroupTool is een speciaal soort hulpmiddel die andere hulpmiddelen of groepen daarvan kan bevatten. The ToolGroupTool was specifically designed to be used inside a ‘bar’ toolgroup to provide access to additional tools from the bar item.

For a complete list of supported methods and configuration options, please see the code-level documentation for the ToolGroupTool class.

ToolGroups
Tools are organized into toolgroups, which are created by a ToolGroupFactory and then added to the toolbar when the toolbar is set up. Individual tools can be added to any type of toolgroup (bar, list, or menu). The type of toolgroup determines how the included tools are arranged in the toolbar:
 * &mdash; Tools are displayed by icon in a single row.
 * &mdash; Tools are displayed with a label and icon in a dropdown menu. The tool's title is used as the label text. The list can be configured to be collapsed and expanded with the allowCollapse config.
 * &mdash; Tools are displayed by label in a dropdown menu. The tool's title is used as the label text. ‘menu’ tool groups are generally used for sets of mutually exclusive tools, such as a group of text formatting commands (paragraph, heading, etc).

Tools can be added to a toolgroup in one of several ways: by symbolic name, by group name, or with the ' * ' (asterisk) catch-all:

Add tools by :

Add tools by. A tool's group name is specified with the tool's static 'group' property (see Tools for an example).

Add tools with the :

Developers can further curate the arrangement of the tools using the toolgroup’s  and   configuration options, which will arrange the tools at the top of the tool list (or front of the toolbar) or end, respectively. These settings are particularly useful when tools have been added to the toolbar en masse (e.g., with the asterisk catch-all or when a group of tools is added to a toolgroup) to manage their priority.

BarToolGroup
Tools in a   are displayed by icon in a single row. The title of the tool is displayed when users move the mouse over the tool.

For a complete list of supported methods and configuration options, please see the code-level documentation for the BarToolGroup class.

ListToolGroup
Tools in a   are displayed by icon and label in a dropdown menu. The tool's title is used as the label text. List groups can be configured to be expanded and collapsed. Collapsed lists will have a ‘More’ option that users can select to see the full list of tools. If a collapsed toolgroup is expanded, a ‘Fewer’ option permits users to collapse the list again.

In addition to a,   can also be configured with a   and  :

Use the  config to designate tools as collapsible (‘help’ and ‘stuff’, in the following example). By default, the list opens in its collapsed state, and users must click the 'More' option to see the collapsed tools:

To display a collapsible list in its expanded state when the list is opened, set the  config to  :

Alternatively, you may wish to specify the names of tools that should never be collapsed. This is done with the  config. In the following example, only the ‘help’ tool has been designated as expanded; all other tools are collapsed by default.

For a complete list of supported methods and configuration options, please see the code-level documentation for the ListToolGroup class.

MenuToolGroup
Tools in  s are displayed by label in a dropdown menu. The tool's title is used as the label text, and the menu label is updated to reflect which tool or tools are currently selected. Note that all tools must define an  method if a   is used.



De werkbalk configureren
In addition to containing toolgroups, the toolbar can be configured with actions, CSS, accelerator keys, and/or an optional shadow.

Note that ‘actions’ in the context of the toolbar are different from ActionWidgets. For toolbars, ‘actions’ refers to an empty container that is right-aligned and can contain whatever you’d like.



Toolgroup toebvoegen
Toolgroups are added to the toolbar with the toolbar's  method:



Een actie toevoegen
Toolbars have an optional 'actions' area, which contains commands that are available to users but are not configured as tools. In the following example, the toolbar has been configured to use actions, in this case two additional buttons, ‘Action’ and ‘Disabled’. For the purpose of brevity, only the action-specific code is included in the example (the rest is just the same as the basic toolbar).



CSS gebruiken voor opmaak labels
Tool labels can be styled with built-in CSS classes that are named after each tool: oo-ui-tool-name-&lt;symbolic name of tool> (e.g., oo-ui-tool-name-picture). The following example uses CSS classes to customize the appearance of the 'picture' and the 'help' tool labels.





Sneltoetsen gebruiken
The OOUI library does not contain an accelerator system, but the Toolbar class does contain a hook for one. To use an accelerator system, subclass the toolbar and override the  method, which is meant to return a label that describes the accelerator keys for the tool passed (by symbolic name) to the method.

Accelerator labels (e.g., Ctrl + M ) are displayed in different ways depending on the type of toolgroup used:


 * For bar toolgroups, the accelerator label appears in the tooltip displayed when users move the mouse over the tool.
 * For menu and list toolgroups, the accelerator label is right-aligned and rendered in gray text, which still complies to WCAG level AA.



De werkbalk maken
De werkbalk moet aan het document worden toegevoegd voordat het kan worden gemaakt. Zodra het is toegevoegd, kan de werkbalk worden geïnitialiseerd:

Voor een volledige lijst met ondersteunde methoden en configuratieopties raadpleegt u deze documentatie over werkbalken.