package jetbrains.mps.vcs;
/*Generated by MPS */
import javax.swing.JPanel;
import jetbrains.mps.workbench.dialogs.project.properties.project.ProjectPrefsExtraPanel;
import javax.swing.JCheckBox;
import com.intellij.openapi.project.Project;
import java.awt.BorderLayout;
import javax.swing.border.TitledBorder;
import javax.swing.JComponent;
public class VcsGeneratedFilesPanel extends JPanel implements ProjectPrefsExtraPanel {
private JCheckBox myIgnoreGeneratedFilesCheckBox = new JCheckBox("Do not store generated files in repository");
private Project myProject;
public VcsGeneratedFilesPanel(Project project) {
myProject = project;
setLayout(new BorderLayout());
JPanel generatedFilesPanel = new JPanel(new BorderLayout());
generatedFilesPanel.setBorder(new TitledBorder("Generated Files"));
myIgnoreGeneratedFilesCheckBox.setToolTipText("Do not store generated files and model caches (source_gen/*, source_gen.caches/*) in repository");
generatedFilesPanel.add(myIgnoreGeneratedFilesCheckBox);
add(generatedFilesPanel, BorderLayout.NORTH);
}
@Override
public boolean isModified() {
return myIgnoreGeneratedFilesCheckBox.isSelected() != getConfiguration().isIgnoreGeneratedFiles();
}
@Override
public void apply() {
getConfiguration().setIgnoreGeneratedFiles(myIgnoreGeneratedFilesCheckBox.isSelected());
}
@Override
public void reset() {
myIgnoreGeneratedFilesCheckBox.setSelected(getConfiguration().isIgnoreGeneratedFiles());
}
private MPSVcsProjectConfiguration getConfiguration() {
return myProject.getComponent(MPSVcsProjectConfiguration.class);
}
@Override
public JComponent getComponent() {
return this;
}
}