1.2. Contextual action

Action which is contextual, that is, the action actually taken (delegated to a command or to an actual, non-contextual, action) depends of the configuration associated to the active document. This kind of action is specified using the context child element.

In a context child element:

Element configuration

Specifies what to do for a document associated to a configuration having a name equal to the value of attribute name.

Example: this configuration element

      <configuration name="Simplified DocBook">
        <command name="docb.convertToPS" 
                 parameter='pdf |pdf "/book toc /article toc" 1' />
      </configuration>

specifies what to do for a document associated to a configuration called "Simplified DocBook" (see Section 3, “configuration” in XMLmind XML Editor - Configuration and Deployment).

Element default

Specifies what to do for a document

  • which has no associated configuration;

  • or which has a configuration, but this configuration is not referenced in one of its configuration siblings.

Example: this default element:

      <default>
        <class>com.xmlmind.xmleditapp.kit.part.PrintAction</class>
      </default>

specifies what to do for a document not having a configuration or having a configuration different from "XHTML", "DocBook", "Simplified DocBook" and "Slides".

The configuration element and the default element have the same content model. Their child element, class or command, specifies the action actually taken:

Element class

Specifies a Java™ class derived from com.xmlmind.xmleditapp.kit.AppAction.

Element command

Specifies a command which can be a generic one (e.g. command convert) or a configuration specific one (e.g. command xhtml.preview).

The editingContextSensitive attribute of the context child element specifies whether the contextual action is editing context sensitive, that is, is enabled or disabled depending on the editing context (Which node is selected? Is some text selected? Etc). The majority of contextual actions are expected to be editing context insensitive. That's why the default value of this attribute is false.

Example:

<action name="printAction" label="_Print..."
          icon="xxe-gui:app/icons/printAction.gif"
          accelerator="mod P">
    <context editingContextSensitive="false">
      <configuration name="XHTML">
        <command name="xhtml.convertToPS" parameter='pdf |pdf' />
      </configuration>

      <configuration name="DocBook">
        <command name="docb.convertToPS" 
                 parameter='pdf |pdf "/book toc /article toc" 1' />
      </configuration>

      <configuration name="Simplified DocBook">
        <command name="docb.convertToPS" 
                 parameter='pdf |pdf "/book toc /article toc" 1' />
      </configuration>

      <configuration name="Slides">
        <command name="slides.convertToPS" parameter='pdf |pdf' />
      </configuration>

      <default>
        <class>com.xmlmind.xmleditapp.kit.part.PrintAction</class>
      </default>
    </context>
  </action>