2017-03-01 4 views

Répondre

2

Il est tout à fait possible d'ajouter une nouvelle action (étiquette) à la barre d'outils HMC, mais il est pas recommandé car il peut entraîner des problèmes tandis que la migration.

  1. D'abord, ajoutez l'extrait suivant à votre **/hmc.xml:
<type name="AbstractOrder" mode="append"> 

    <organizer mode="append" > 
    <editor> 
     <tab name="payment_and_delivery" position="2" mode="append"> 

      <section name="deliveryadministration" mode="append" > 
       <table> 
       <tr> 
        <td width="16px"> 
        </td> 
        <td> 
         <!-- here is the interesting part --> 
         <action type="item" 
           classname="com.foo.bar.MyNewAction" 
           name="action.my_new_action" 
           toolbaricon="my_new_action" 
           icon="images/icons/my_new_action_icon.gif" 
           autosave="true" 
           showtoolbarlabel="true" 
           hidebutton="true" 
          /> 
        </td> 

       </tr> 
       </table> 
      </section> 

     </tab> 
    </editor> 
    </organizer> 

</type> 
  1. Ensuite, définir la nouvelle action à exécuter lorsque le nouveau label est cliqué:

    Ajouter une nouvelle classe appelée MyNewAction.java qui va de ItemAction et mettre en œuvre la méthode ActionResult perform(ActionEvent event):
public MyNewAction extends ItemAction { 

    @Override 
    public ActionResult perform(ActionEvent actionEvent) throws JaloBusinessException { 

     //what the new action should do here ... 

    } 
} 

Remarque: vous pouvez passer outre d'autres méthodes intéressantes pour être déclencheurs alors que l'action est comme possédait: boolean needConfirmation() ou String getConfirmationMessage() ...

Le résultat serait comme ceci:

enter image description here

+0

Merci, ça marche super :) J'ai juste quelques questions: pourquoi 'payment_and_delivery' et' deliveryadministration'? et que signifie "position 2"? –

+0

Cela signifie que ce nouveau bouton d'action appartient à la section: 'Delivery' dans l'onglet:' Payment and Delivery' c'était juste un exemple, make 'hidebutton =" false "' et comprendra ce que je veux dire. –

+0

D'accord, je vois. Savez-vous s'il est possible d'afficher le bouton uniquement si quelque chose est vrai? –