// Path: de.tubs.variantsync.core/src/de/tubs/variantsync/core/managers/data/FeatureContext.java
// public class FeatureContext {
// 	
// 	public String name;
// 	public FeatureColor highlighter;
// 	
// 	public FeatureContext() {
// 		this.name = "";
// 		this.highlighter = FeatureColor.NO_COLOR;
// 	}
// 	
// 	public FeatureContext(String name) {
// 		super();
// 		this.name = name;
// 		this.highlighter = FeatureColor.Yellow;
// 	}
// 
// 	public FeatureContext(String name, FeatureColor highlighter) {
// 		super();
// 		this.name = name;
// 		this.highlighter = highlighter;
// 	}
// 
// 	public boolean isComposed() {
// 		return name.matches(".*(or|and|not).*");
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((highlighter == null) ? 0 : highlighter.hashCode());
// 		result = prime * result + ((name == null) ? 0 : name.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		FeatureContext other = (FeatureContext) obj;
// 		if (highlighter != other.highlighter)
// 			return false;
// 		if (name == null) {
// 			if (other.name != null)
// 				return false;
// 		} else if (!name.equals(other.name))
// 			return false;
// 		return true;
// 	}
// 	
// 	
// 	
// }


import static de.ovgu.featureide.fm.core.localization.StringTable.OPERATORS;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CellLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerCell;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.TableItem;
import de.ovgu.featureide.fm.core.Operator;
import de.ovgu.featureide.fm.core.base.FeatureUtils;
import de.ovgu.featureide.fm.core.base.IFeature;
import de.ovgu.featureide.fm.core.color.ColorPalette;
import de.ovgu.featureide.fm.core.color.FeatureColor;
import de.ovgu.featureide.fm.core.functional.Functional;
import de.ovgu.featureide.fm.ui.editors.SimpleSyntaxHighlightEditor;
import de.tubs.variantsync.core.managers.data.FeatureContext;
package de.tubs.variantsync.core.view.featurecontext;





/**
 * Page for {@link FeatureContextManager}.
 * 
 * @author Christopher Sontag
 */
public class FeatureContextWizardPage extends WizardPage {

	protected static final String FILTERTEXT = "Search...";
	private final Iterable<IFeature> features;
	private TableViewer tabFeatures;
	private StyledText txtSearch;
	private SimpleSyntaxHighlightEditor txtContext;
// Path: de.tubs.variantsync.core/src/de/tubs/variantsync/core/managers/data/FeatureContext.java
// public class FeatureContext {
// 	
// 	public String name;
// 	public FeatureColor highlighter;
// 	
// 	public FeatureContext() {
// 		this.name = "";
// 		this.highlighter = FeatureColor.NO_COLOR;
// 	}
// 	
// 	public FeatureContext(String name) {
// 		super();
// 		this.name = name;
// 		this.highlighter = FeatureColor.Yellow;
// 	}
// 
// 	public FeatureContext(String name, FeatureColor highlighter) {
// 		super();
// 		this.name = name;
// 		this.highlighter = highlighter;
// 	}
// 
// 	public boolean isComposed() {
// 		return name.matches(".*(or|and|not).*");
// 	}
// 
// 	@Override
// 	public int hashCode() {
// 		final int prime = 31;
// 		int result = 1;
// 		result = prime * result + ((highlighter == null) ? 0 : highlighter.hashCode());
// 		result = prime * result + ((name == null) ? 0 : name.hashCode());
// 		return result;
// 	}
// 
// 	@Override
// 	public boolean equals(Object obj) {
// 		if (this == obj)
// 			return true;
// 		if (obj == null)
// 			return false;
// 		if (getClass() != obj.getClass())
// 			return false;
// 		FeatureContext other = (FeatureContext) obj;
// 		if (highlighter != other.highlighter)
// 			return false;
// 		if (name == null) {
// 			if (other.name != null)
// 				return false;
// 		} else if (!name.equals(other.name))
// 			return false;
// 		return true;
// 	}
// 	
// 	
// 	
// }


// Path: de.tubs.variantsync.core/src/de/tubs/variantsync/core/view/featurecontext/FeatureContextWizardPage.java
import static de.ovgu.featureide.fm.core.localization.StringTable.OPERATORS;
import java.util.ArrayList;
import java.util.List;
import java.util.Locale;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.CellLabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TableViewerColumn;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.jface.viewers.ViewerCell;
import org.eclipse.jface.viewers.ViewerFilter;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Event;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Listener;
import org.eclipse.swt.widgets.TableItem;
import de.ovgu.featureide.fm.core.Operator;
import de.ovgu.featureide.fm.core.base.FeatureUtils;
import de.ovgu.featureide.fm.core.base.IFeature;
import de.ovgu.featureide.fm.core.color.ColorPalette;
import de.ovgu.featureide.fm.core.color.FeatureColor;
import de.ovgu.featureide.fm.core.functional.Functional;
import de.ovgu.featureide.fm.ui.editors.SimpleSyntaxHighlightEditor;
import de.tubs.variantsync.core.managers.data.FeatureContext;

package de.tubs.variantsync.core.view.featurecontext;





/**
 * Page for {@link FeatureContextManager}.
 * 
 * @author Christopher Sontag
 */
public class FeatureContextWizardPage extends WizardPage {

	protected static final String FILTERTEXT = "Search...";
	private final Iterable<IFeature> features;
	private TableViewer tabFeatures;
	private StyledText txtSearch;
	private SimpleSyntaxHighlightEditor txtContext;
	private FeatureContext featureContext = null;