/*
* Copyright 2014 Red Hat, Inc. and/or its affiliates.
*
* 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.guvnor.asset.management.client.editors.repository.wizard.pages;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ChangeEvent;
import com.google.gwt.event.dom.client.ChangeHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Widget;
import org.gwtbootstrap3.client.ui.CheckBox;
import org.gwtbootstrap3.client.ui.Radio;
import org.gwtbootstrap3.client.ui.TextBox;
import org.gwtbootstrap3.client.ui.HelpBlock;
public class RepositoryStructurePageViewImpl extends Composite
implements RepositoryStructurePageView {
interface RepositoryStructurePageBinder extends UiBinder<Widget, RepositoryStructurePageViewImpl> {
}
private static RepositoryStructurePageBinder uiBinder = GWT.create( RepositoryStructurePageBinder.class );
private Presenter presenter;
@UiField
TextBox projectNameTextBox;
@UiField
HelpBlock projectNameTextBoxHelpBlock;
@UiField
TextBox projectDescriptionTextBox;
@UiField
TextBox groupIdTextBox;
@UiField
HelpBlock groupIdTextBoxHelpBlock;
@UiField
TextBox artifactIdTextBox;
@UiField
HelpBlock artifactIdTextBoxHelpBlock;
@UiField
TextBox versionTextBox;
@UiField
HelpBlock versionTextBoxHelpBlock;
@UiField
Radio isSingleModuleRadioButton;
@UiField
HelpBlock isSingleModuleRadioButtonHelpBlock;
@UiField
Radio isMultiModuleRadioButton;
@UiField
CheckBox isConfigureRepositoryCheckBox;
public RepositoryStructurePageViewImpl() {
initWidget( uiBinder.createAndBindUi( this ) );
initializeFields();
}
@Override
public String getProjectName() {
return projectNameTextBox.getText();
}
@Override
public void setProjectName( String projectName ) {
projectNameTextBox.setText( projectName );
}
@Override
public void setProjectNameErrorMessage( String errorMessage ) {
projectNameTextBoxHelpBlock.setText( errorMessage );
}
@Override
public void clearProjectNameErrorMessage( ) {
projectNameTextBoxHelpBlock.setText( null );
}
@Override
public void setGroupId( String groupId ) {
groupIdTextBox.setText( groupId );
}
@Override
public void setGroupIdErrorMessage( String errorMessage ) {
groupIdTextBoxHelpBlock.setText( errorMessage );
}
@Override
public void clearGroupIdErrorMessage() {
groupIdTextBoxHelpBlock.setText( null );
}
@Override
public void setArtifactId( String artifactId ) {
artifactIdTextBox.setText( artifactId );
}
@Override
public void setArtifactIdErrorMessage( String errorMessage ) {
artifactIdTextBoxHelpBlock.setText( errorMessage );
}
@Override
public void clearArtifactIdErrorMessage() {
artifactIdTextBoxHelpBlock.setText( null );
}
@Override
public void setVersion( String version ) {
versionTextBox.setText( version );
}
@Override
public void setVersionErrorMessage( String errorMessage ) {
versionTextBoxHelpBlock.setText( errorMessage );
}
@Override
public void clearVersionErrorMessage() {
versionTextBoxHelpBlock.setText( null );
}
@Override
public void setConfigureRepository( boolean configureRepository ) {
isConfigureRepositoryCheckBox.setValue( configureRepository );
}
@Override
public String getProjectDescription() {
return projectDescriptionTextBox.getText();
}
@Override
public void setProjectDescription( String projectDescription ) {
projectDescriptionTextBox.setText( projectDescription );
}
@Override
public String getGroupId() {
return groupIdTextBox.getText();
}
@Override
public String getArtifactId() {
return artifactIdTextBox.getText();
}
@Override
public String getVersion() {
return versionTextBox.getText();
}
@Override
public boolean isMultiModule() {
return isMultiModuleRadioButton.getValue();
}
@Override
public boolean isSingleModule() {
return isSingleModuleRadioButton.getValue();
}
@Override
public boolean isConfigureRepository() {
return isConfigureRepositoryCheckBox.getValue();
}
@Override
public void init( Presenter presenter ) {
this.presenter = presenter;
}
private void initializeFields() {
isMultiModuleRadioButton.setValue( true );
isConfigureRepositoryCheckBox.setValue( true );
projectNameTextBox.addChangeHandler( new ChangeHandler() {
@Override
public void onChange( ChangeEvent event ) {
presenter.onProjectNameChange();
}
} );
projectDescriptionTextBox.addChangeHandler( new ChangeHandler() {
@Override
public void onChange( ChangeEvent event ) {
presenter.onProjectDescriptionChange();
}
} );
groupIdTextBox.addChangeHandler( new ChangeHandler() {
@Override
public void onChange( ChangeEvent event ) {
presenter.onGroupIdChange();
}
} );
artifactIdTextBox.addChangeHandler( new ChangeHandler() {
@Override public void onChange( ChangeEvent event ) {
presenter.onArtifactIdChange();
}
} );
versionTextBox.addChangeHandler( new ChangeHandler() {
@Override
public void onChange( ChangeEvent event ) {
presenter.onVersionChange();
}
} );
isSingleModuleRadioButton.addClickHandler( new ClickHandler() {
@Override public void onClick( ClickEvent event ) {
presenter.onSingleModuleChange();
}
} );
isMultiModuleRadioButton.addClickHandler( new ClickHandler() {
@Override public void onClick( ClickEvent event ) {
presenter.onMultiModuleChange();
}
} );
isConfigureRepositoryCheckBox.addClickHandler( new ClickHandler() {
@Override public void onClick( ClickEvent event ) {
presenter.onConfigureRepositoryChange();
}
} );
}
}