package jav.gui.wizard.profiler.profileDocument;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
import org.openide.WizardDescriptor;
import org.openide.util.ChangeSupport;
import org.openide.util.HelpCtx;
/**
*Copyright (c) 2012, IMPACT working group at the Centrum für Informations- und Sprachverarbeitung, University of Munich.
*All rights reserved.
*Redistribution and use in source and binary forms, with or without
*modification, are permitted provided that the following conditions are met:
*Redistributions of source code must retain the above copyright
*notice, this list of conditions and the following disclaimer.
*Redistributions in binary form must reproduce the above copyright
*notice, this list of conditions and the following disclaimer in the
*documentation and/or other materials provided with the distribution.
*THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS
*IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
*TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
*PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
*HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
*SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
*LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
*DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
*THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
*(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
*OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* This file is part of the ocr-postcorrection tool developed
* by the IMPACT working group at the Centrum für Informations- und Sprachverarbeitung, University of Munich.
* For further information and contacts visit http://ocr.cis.uni-muenchen.de/
*
* @author thorsten (thorsten.vobl@googlemail.com)
*/
public class ProfileDocumentWizardPanel1 implements WizardDescriptor.Panel<WizardDescriptor>, ChangeListener {
private ProfileDocumentVisualPanel1 component;
private WizardDescriptor model;
private String[] configurations;
private ChangeSupport changeSupport = new ChangeSupport(this);
ProfileDocumentWizardPanel1(String[] configurations) {
this.configurations = configurations;
}
@Override
public ProfileDocumentVisualPanel1 getComponent() {
if (component == null) {
component = new ProfileDocumentVisualPanel1(this, configurations);
}
return component;
}
@Override
public HelpCtx getHelp() {
return HelpCtx.DEFAULT_HELP;
}
@Override
public boolean isValid() {
if (component.getConfiguration().equals("")) {
return false;
} else {
return true;
}
}
@Override
public final void addChangeListener(ChangeListener l) {
changeSupport.addChangeListener(l);
}
@Override
public final void removeChangeListener(ChangeListener l) {
changeSupport.removeChangeListener(l);
}
@Override
public void readSettings( WizardDescriptor data) {
this.model = data;
}
@Override
public void storeSettings( WizardDescriptor data) {
model.putProperty("config", getComponent().getConfiguration());
}
@Override
public void stateChanged(ChangeEvent ce) {
changeSupport.fireChange();
}
}