<customToolbarButton> Configuration Element

This element will cause a particular button to be present on the toolbar within Ephox EditLive! for XML.

Configuration Element Tree Structure

<editLive>
     ...
     <toolbars>
          <toolbar>
               <customToolbarButton ... />
          </toolbar>
     </toolbars>
     ...
</editLive>

Required Attributes

name

The name which uniquely defines this custom toolbar button.

text

The tooltip text for this custom toolbar button.

action

The action which this menu item performs when clicked on.

Note

This attribute has the following possible values:

  • insertHTMLAtCursor - Insert the given HTML at the cursor

  • insertHyperlinkAtCursor - Insert the given hyperlink at the cursor

  • raiseEvent -Call a JavaScript function with the name specified in the value attribute. An event is also fired to the ELXBean using this XML configuration file. The following values will be assigned to the TextEvent sent with the event:

    • Action Command = TextEvent.CUSTOM_ACTION

    • Extra String = the string specified in the value attribute

    • Extra Object = a Java Map containing the attributes of the element selected when the custom menu item was selected. In the case of this example, this element will be a <td> element.

    The event sent to the bean will also have the value TextEvent.CustomAction.RAISE_EVENT added to the extra int property of the event.

    When the event has been handled (by using the event method setHandled(boolean b), where b = true), the javascript function defined in value will be called.

  • customPropertiesDialog - Fires an event for the ELXBean using this XML configuration file. The following values will be assigned to the TextEvent sent with the event:

    • Action Command = TextEvent.SHOW_CUSTOM_PROPERTIES

    • Extra String = the string specified in the value attribute

    • Extra Object = a Java Map containing the attributes of the element selected when the custom menu item was selected. In the case of this example, this element will be a <td> element.

value

The value of this attribute depends on the value specified in the action attribute

  • insertHTMLAtCursor - value will be a string of HTML.

  • InsertHyperlinkAtCursor - value will be a URL

  • raiseEvent - value will be the name of a JavaScript function

  • customPropertiesDialog - value will be the Extra String field of the TextEvent sent with the ELXBean event.

Note

When using the insertHTMLAtCursor action the HTML to be inserted must be URL encoded in the XML file. For example, <p>HTML to insert<p> becomes %3Cp%3EHTML%20to%20insert%3C/p%3E.

imageURL

The URL of the image to be placed on the menu with the menu item text. The image should be of a .gif format and be a size of sixteen (16) pixels high and sixteen (16) pixels wide.

Note

This URL can be relative or absolute. If relative the URL is relative to the URL of the page in which EditLive! for XML is embedded.

Optional Attributes

enableintag

This attribute defines in which tags the function should be enabled. For example, when set to td the function will be enabled when the cursor is within a <td> tag (i.e. a table cell).

Example

The following example demonstrates how to define a custom toolbar button for use within EditLive! for XML on the Command Toolbar. The button defined in this example will insert HTML to insert at the cursor, note that the value in the example below is URL encoded.

<editLive>
    ...
    <toolbars>
        <toolbar name="command">
            <customToolbarButton 
                name="customButton1" 
                text="Custom Button" 
                imageURL="http://www.someserver.com/image20x20.gif"
                action="insertHTMLAtCursor" 
                value="%3Cp%3EHTML%20to%20insert%3C/p%3E" />
        </toolbar>
    </toolbars>
    ...
</editLive> 

The following example demonstrates how to define a custom toolbar button for use within EditLive! for XML on the Format Toolbar. The button defined in this example is used with a custom properties dialog. The custom properties dialog will be available for use when the cursor is inside any <td> tag.

<editLive>
  ...
  <toolbars>
    <toolbar name="format">
      <customToolbarButton 
        name="customPropButton1" 
        text="Custom td Properties" 
        imageURL="http://www.someserver.com/image20x20.gif"
        action="customPropertiesDialog" 
        value="customTDFunction"
        enableintag="td"
      />
    </toolbar>
  </toolbars>
  ...
</editLive> 

Remarks

The <customToolbarButton> element can appear multiple times within the <toolbar>.

The <customToolbarButton> element must be a complete tag, it cannot contain a tag body. Therefore the tag must be closed in the same line. See the example below:

<customToolbarButton name=... /> 

Text assigned to the value attribute must be URL encoded as it is in the example above.

See Also