private Widget makeDropDownMenuButton(final String caption, final List<Widget> widgetList) {
   final ButtonGroup buttonGroup = new ButtonGroup();
   final Button dropdownButton = new Button(caption);
   dropdownButton.setDataToggle(Toggle.DROPDOWN);
   dropdownButton.setSize(ButtonSize.SMALL);
   final DropDownMenu dropDownMenu = new DropDownMenu();
   for (final Widget _item : widgetList) {
     dropDownMenu.add(_item);
   }
   buttonGroup.add(dropdownButton);
   buttonGroup.add(dropDownMenu);
   return buttonGroup;
 }
  @Before
  public void setup() {
    ApplicationPreferences.setUp(new HashMap<String, String>());

    // The BuildOptions widget is manipulated in the Presenter so we need some nasty mocking
    when(view.getBuildOptionsButton()).thenReturn(buildOptions);
    when(buildOptions.getWidget(eq(0))).thenReturn(buildOptionsButton1);
    when(buildOptions.getWidget(eq(1))).thenReturn(buildOptionsMenu);
    when(buildOptionsMenu.getWidget(eq(0))).thenReturn(buildOptionsMenuButton1);
    when(buildOptionsMenu.getWidget(eq(1))).thenReturn(buildOptionsMenuButton1);

    constructProjectScreenPresenter(
        new CallerMock<BuildService>(buildService),
        new CallerMock<AssetManagementService>(assetManagementServiceMock));

    // Mock ProjectScreenService
    final POM pom = new POM(new GAV("groupId", "artifactId", "version"));
    model = new ProjectScreenModel();
    model.setPOM(pom);
    when(projectScreenService.load(any(org.uberfire.backend.vfs.Path.class))).thenReturn(model);

    // Mock BuildService
    when(buildService.buildAndDeploy(any(Project.class))).thenReturn(new BuildResults());

    // Mock LockManager initialisation
    final Path path = mock(Path.class);
    final Metadata pomMetadata = mock(Metadata.class);
    model.setPOMMetaData(pomMetadata);
    when(pomMetadata.getPath()).thenReturn(path);
    final Metadata kmoduleMetadata = mock(Metadata.class);
    model.setKModuleMetaData(kmoduleMetadata);
    when(kmoduleMetadata.getPath()).thenReturn(path);
    final Metadata importsMetadata = mock(Metadata.class);
    model.setProjectImportsMetaData(importsMetadata);
    when(importsMetadata.getPath()).thenReturn(path);

    // Mock ProjectContext
    final Repository repository = mock(Repository.class);
    when(context.getActiveRepository()).thenReturn(repository);
    when(repository.getAlias()).thenReturn("repository");
    when(repository.getCurrentBranch()).thenReturn("master");

    final Project project = mock(Project.class);
    when(project.getProjectName()).thenReturn("project");

    when(context.getActiveProject()).thenReturn(project);

    // Trigger initialisation of view. Unfortunately this is the only way to initialise a Project in
    // the Presenter
    context.onProjectContextChanged(
        new ProjectContextChangeEvent(mock(OrganizationalUnit.class), repository, project));

    verify(view, times(1)).showBusyIndicator(eq(CommonConstants.INSTANCE.Loading()));
    verify(view, times(1)).hideBusyIndicator();
  }
Example #3
0
  public void initButtonGroup() {

    // // Button Groups List to contain all button groups//
    buttonGroupList = new ArrayList<ButtonGroup>();

    // Button Groups to encapsulate drop down buttons and menus
    exchangeButtonGroup = new ButtonGroup();
    ruleTypeButtonGroup = new ButtonGroup();
    triggerButtonGroup = new ButtonGroup();
    actionButtonGroup = new ButtonGroup();

    // Drop down buttons
    exchangeDropDownButton = new Button("Choose Exchange");
    ruleTypeDropDownButton = new Button("Rule Type");
    triggerDropDownButton = new Button("Choose Condition");
    actionDropDownButton = new Button("Choose Action");

    // Drop down menus
    exchangeDropdownMenu = new DropDownMenu();
    ruleTypeDropdownMenu = new DropDownMenu();
    triggerDropdownMenu = new DropDownMenu();
    actionDropdownMenu = new DropDownMenu();

    exchangeDropDownButton.setType(ButtonType.INFO);
    exchangeDropDownButton.setToggle(Toggle.DROPDOWN);
    ruleTypeDropDownButton.setType(ButtonType.INFO);
    ruleTypeDropDownButton.setToggle(Toggle.DROPDOWN);
    triggerDropDownButton.setType(ButtonType.INFO);
    triggerDropDownButton.setToggle(Toggle.DROPDOWN);
    actionDropDownButton.setType(ButtonType.INFO);
    actionDropDownButton.setToggle(Toggle.DROPDOWN);

    // exchanges drop down list items //
    final ListItem exlistItem1 = new ListItem();
    final ListItem exlistItem2 = new ListItem();
    // Rule type drop down list items //
    final ListItem rtlistItem1 = new ListItem();
    final ListItem rtlistItem2 = new ListItem();
    final ListItem rtlistItem3 = new ListItem();
    // trigger type list items
    final ListItem trglistItem1 = new ListItem();
    final ListItem trglistItem2 = new ListItem();
    final ListItem trglistItem3 = new ListItem();
    // Action list items
    final ListItem actionlistItem1 = new ListItem();
    final ListItem actionlistItem2 = new ListItem();
    final ListItem actionlistItem3 = new ListItem();

    // encapsulate list items into drop down menus
    exchangeDropdownMenu.add(exlistItem1);
    exchangeDropdownMenu.add(exlistItem2);

    ruleTypeDropdownMenu.add(rtlistItem1);
    ruleTypeDropdownMenu.add(rtlistItem2);
    ruleTypeDropdownMenu.add(rtlistItem3);

    triggerDropdownMenu.add(trglistItem1);
    triggerDropdownMenu.add(trglistItem2);
    triggerDropdownMenu.add(trglistItem3);

    actionDropdownMenu.add(actionlistItem1);
    actionDropdownMenu.add(actionlistItem2);
    actionDropdownMenu.add(actionlistItem3);

    exchangeButtonGroup.add(exchangeDropDownButton);
    exchangeButtonGroup.add(exchangeDropdownMenu);

    // init exchange list items //
    exlistItem1.setText("MtGox");
    exlistItem1.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            ruleTypeButtonGroup.add(ruleTypeDropDownButton);
            ruleTypeButtonGroup.add(ruleTypeDropdownMenu);
            exchangeDropDownButton.setText(exlistItem1.getText());
          }
        });

    exlistItem2.setText("Bitstamp");
    exlistItem2.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            ruleTypeButtonGroup.add(ruleTypeDropDownButton);
            ruleTypeButtonGroup.add(ruleTypeDropdownMenu);
            exchangeDropDownButton.setText(exlistItem2.getText());
          }
        });

    // init rule type list items //
    rtlistItem1.setText("Price Trigger");
    rtlistItem1.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            ruleTypeDropDownButton.setText(rtlistItem1.getText());

            triggerButtonGroup.add(triggerDropDownButton);
            triggerButtonGroup.add(triggerDropdownMenu);
            triggerDropDownButton.setText("Choose Condition");
            trglistItem1.setText("Price Drops Below");
            trglistItem2.setText("Price Rises Above");
            triggerDropdownMenu.add(trglistItem2);
            triggerDropdownMenu.remove(trglistItem3);
            trglistItem3.setText("");
          }
        });

    rtlistItem2.setText("Price Range Trigger");
    rtlistItem2.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            ruleTypeDropDownButton.setText(rtlistItem2.getText());

            triggerButtonGroup.add(triggerDropDownButton);
            triggerButtonGroup.add(triggerDropdownMenu);
            triggerDropDownButton.setText("Choose Condition");
            trglistItem1.setText("Price is between");
            triggerDropdownMenu.remove(trglistItem2);
            triggerDropdownMenu.remove(trglistItem3);
            trglistItem2.setText("");
            trglistItem3.setText("");
          }
        });

    rtlistItem3.setText("Trend Change Trigger");
    rtlistItem3.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            ruleTypeDropDownButton.setText(rtlistItem3.getText());

            triggerButtonGroup.add(triggerDropDownButton);
            triggerButtonGroup.add(triggerDropdownMenu);
            triggerDropDownButton.setText("Choose Condition");
            trglistItem1.setText("Price begins to Drop");
            trglistItem2.setText("Price begins to Rise");
            triggerDropdownMenu.add(trglistItem2);
            triggerDropdownMenu.remove(trglistItem3);
            trglistItem3.setText("");
          }
        });

    // init exchange list items (depending on rule type - so no initial text)
    trglistItem1.setText("");
    trglistItem1.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            actionButtonGroup.add(actionDropDownButton);
            actionButtonGroup.add(actionDropdownMenu);
            triggerDropDownButton.setText(trglistItem1.getText());
          }
        });

    trglistItem2.setText("");
    trglistItem2.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            if (!trglistItem2.getText().equals("")) {
              triggerDropDownButton.setText(trglistItem2.getText());
              actionButtonGroup.add(actionDropDownButton);
              actionButtonGroup.add(actionDropdownMenu);
            }
          }
        });

    trglistItem3.setText("");
    trglistItem3.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            if (!trglistItem3.getText().equals("")) {
              triggerDropDownButton.setText(trglistItem3.getText());
              actionButtonGroup.add(actionDropDownButton);
              actionButtonGroup.add(actionDropdownMenu);
            }
          }
        });

    // init action list items //
    actionlistItem1.setText("Buy");
    actionlistItem1.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            actionDropDownButton.setText(actionlistItem1.getText());
          }
        });

    actionlistItem2.setText("Sell");
    actionlistItem2.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            actionDropDownButton.setText(actionlistItem2.getText());
          }
        });

    actionlistItem3.setText("Alert Me");
    actionlistItem3.addClickHandler(
        new ClickHandler() {
          public void onClick(final ClickEvent event) {

            actionDropDownButton.setText(actionlistItem3.getText());
          }
        });

    buttonGroupList.add(exchangeButtonGroup);
    buttonGroupList.add(ruleTypeButtonGroup);
    buttonGroupList.add(triggerButtonGroup);
    buttonGroupList.add(actionButtonGroup);
  }