Binding Toolbar Buttons with ACT Objects

ACT provides the ability to bind a button from the ACT toolbar with an ACT object created in the Mechanical tree. This capability allows you to control the contextual availability of the buttons depending on the object selected in the tree. This method is similar to the control used for standard objects in Mechanical. To make the connection between the ACT object and the ACT button, in the XML file, you use the attribute userobject in the child element <entry> for the element <interface>. The following code demonstrates this type of connection for a result object:

<interface context="Mechanical">
  <images>images</images>
  <toolbar name="My_Toolbar" caption="My_Toolbar">
    <entry name="Button_For_My_Result icon="result" userobject="My_Result">
    </entry>
  </toolbar>
</interface>

<simdata context="Mechanical">
  <result name="My_Result" version="1" caption="My_Result" icon="result" location="elemnode" 
type="scalar">
  </result>
</simdata>

As an example, if the ACT button is bound with an ACT load in Mechanical, this button is activated only if the object is selected in the Mechanical environment. Otherwise, it is inactive.

In the same way, if the ACT button is bound with an ACT result in Mechanical, this button is active only if the object is selected in the solution. Otherwise, it is inactive.

For any ACT object bound to a button, the callback <onclick> is not used.

The following figure illustrates behavior based on selection of an environment object in the tree. The button is inactive.

 

This next figure illustrate the behavior based on selection of a solution object in the tree. The button is active.

 

In addition to the control provided by the connection between the ACT button and the ACT object, the callback <canadd> can be implemented to add new criteria to consider for the activation and deactivation of the button. If the callback <canadd> of the object returns false, the associated button is deactivated. A typically example consists of filtering a particular analysis type to activate a specific load.