<md-content layout="column" layout-align="center stretch" class="content">
  <ul class="breadcrumb">
    <li><a href="#/documentation/2.0.2">2.0.2</a> <span class="divider">/</span></li>
    <li><a href="#/documentation/2.0.2/language/overview">Language</a> <span class="divider">/</span></li>
    <li><a href="#/documentation/2.0.2/language/widgets">Widgets</a></li>
  </ul>
		<h2 id="Button">Button</h2>
		<h3 id="description">Description</h3>
		<p>The button widget can be used to execute an action in your user interface. On top of the common properties of all widgets (identifier, labelExpression, helpExpression, isEnabledExpression, propertyValidationRules), it has the following properties:</p>
		<ul>
			<li>buttonLabelExpression: This expression is used to compute the label of the button. This expression must return a string.</li>
			<li>pushExpression: This expression will be executed once the end user will click on the button. This expression does not have to return anything.</li>
			<li>imageExpression: This expression is used to compute the image to display in the button. This expression must return a string with the following structure PROJECT_NAME/IMAGE_PATH.</li>
			<li>style: The style of the button widget.</li>
			<li>conditionalStyle: All the conditional styles of the button widget.</li>
		</ul>
		<h3 id="displayanaction">Display an action</h3>
		<p>In order to create an action using a button widget, you can use the following properties:</p>
		<ul>
			<li>buttonLabelExpression: 
				<code>aql:'Click'</code>
			</li>
			<li>pushExpression: 
				<code>aql:self.doSomething()</code>
			</li>
			<li>imageExpression: 
				<code>org.eclipse.example/icons/Icon.gif</code>
			</li>
		</ul>
</md-content>
