Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2010 JBoss Inc
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
 
 package org.drools.workbench.screens.testscenario.client;
 
 
         extends ImageButton {
 
     private final Scenario scenario;
     private final ScenarioParentWidget parent;
 
     private final PackageDataModelOracle dmo;
 
     public GlobalButton(final Scenario scenario,
                         final ScenarioParentWidget parent,
                         final PackageDataModelOracle dmo) {
         super(..NewItem(),
                 ..AddANewGlobalToThisScenario());
 
         this. = scenario;
         this. = parent;
         this. = dmo;
 
         addGlobalButtonClickHandler();
     }
 
     private void addGlobalButtonClickHandler() {
         addClickHandler(new ClickHandler() {
             public void onClick(ClickEvent event) {
                 final FormStylePopup popup = new NewGlobalPopup();
                 popup.show();
             }
         });
     }
 
     class NewGlobalPopup extends FormStylePopup {
 
         final ListBox factTypes;
         private Button addButton;
         private Widget warning;
 
         public NewGlobalPopup() {
             super(..RuleAsset(),
                     ..NewGlobal());
 
              = new ListBox();
              = new AddButton();
              = getMissingGlobalsWarning();
 
             fillFactTypes();
 
             addRow();
 
                     getHorizontalPanel());
         }
 
 
         private HorizontalPanel getHorizontalPanel() {
             HorizontalPanel insertFact = new HorizontalPanel();
             insertFact.add();
             insertFact.add();
             return insertFact;
         }
 
         private void fillFactTypes() {
             if (.getGlobalVariables().length == 0) {
                 .setEnabled(false);
                 .setEnabled(false);
                .setVisible(true);
            } else {
                .setEnabled(true);
                .setEnabled(true);
                .setVisible(false);
                for (String globals : .getGlobalVariables()) {
                    .addItem(globals);
                }
            }
        }
        class AddButton extends Button {
            public AddButton() {
                super(..Add());
                addAddClickHandler();
            }
            private void addAddClickHandler() {
                addClickHandler(new ClickHandler() {
                    public void onClick(ClickEvent event) {
                        String text = .getItemText(.getSelectedIndex());
                        if (.isFactNameReserved(text)) {
                            Window.alert(..TheName0IsAlreadyInUsePleaseChooseAnotherName(text));
                        } else {
                            FactData factData = new FactData(.getGlobalVariable(text),
                                    text,
                                    false);
                            .getGlobals().add(factData);
                            .renderEditor();
                            hide();
                        }
                    }
                });
            }
        }
    }
    //A simple banner to alert users that no Globals have been defined
    private Widget getMissingGlobalsWarning() {
        HTML warning = new HTML(..missingGlobalsWarning());
        warning.getElement().setClassName("missingGlobalsWarning");
        return warning;
    }
New to GrepCode? Check out our FAQ X