blob: d89d74463e6a5953c540b5b2b55db9f53ac1dfe4 [file] [log] [blame]
package org.jetbrains.jps.uiDesigner.model.impl;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.jps.model.JpsElementChildRole;
import org.jetbrains.jps.model.ex.JpsElementBase;
import org.jetbrains.jps.model.ex.JpsElementChildRoleBase;
import org.jetbrains.jps.uiDesigner.model.JpsUiDesignerConfiguration;
/**
* @author nik
*/
public class JpsUiDesignerConfigurationImpl extends JpsElementBase<JpsUiDesignerConfigurationImpl> implements JpsUiDesignerConfiguration {
public static final JpsElementChildRole<JpsUiDesignerConfiguration> ROLE = JpsElementChildRoleBase.create("ui designer configuration");
private final UiDesignerConfigurationState myState = new UiDesignerConfigurationState();
public JpsUiDesignerConfigurationImpl() {
}
public JpsUiDesignerConfigurationImpl(final UiDesignerConfigurationState state) {
myState.INSTRUMENT_CLASSES = state.INSTRUMENT_CLASSES;
myState.COPY_FORMS_RUNTIME_TO_OUTPUT = state.COPY_FORMS_RUNTIME_TO_OUTPUT;
}
public UiDesignerConfigurationState getState() {
return myState;
}
@NotNull
@Override
public JpsUiDesignerConfigurationImpl createCopy() {
return new JpsUiDesignerConfigurationImpl(myState);
}
@Override
public boolean isCopyFormsRuntimeToOutput() {
return myState.COPY_FORMS_RUNTIME_TO_OUTPUT;
}
@Override
public void setCopyFormsRuntimeToOutput(boolean value) {
if (myState.COPY_FORMS_RUNTIME_TO_OUTPUT != value) {
myState.COPY_FORMS_RUNTIME_TO_OUTPUT = value;
fireElementChanged();
}
}
@Override
public boolean isInstrumentClasses() {
return myState.INSTRUMENT_CLASSES;
}
@Override
public void setInstrumentClasses(boolean value) {
if (myState.INSTRUMENT_CLASSES != value) {
myState.INSTRUMENT_CLASSES = value;
fireElementChanged();
}
}
@Override
public void applyChanges(@NotNull JpsUiDesignerConfigurationImpl modified) {
setCopyFormsRuntimeToOutput(modified.isCopyFormsRuntimeToOutput());
setInstrumentClasses(modified.isInstrumentClasses());
}
public static class UiDesignerConfigurationState {
public boolean INSTRUMENT_CLASSES = true;
public boolean COPY_FORMS_RUNTIME_TO_OUTPUT = true;
}
}