| 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; |
| } |
| } |