package org.eclipse.uml2.diagram.common.preferences;
import org.eclipse.gmf.runtime.common.ui.preferences.AbstractPreferencePage;
import org.eclipse.gmf.runtime.common.ui.preferences.CheckBoxFieldEditor;
import org.eclipse.gmf.runtime.diagram.ui.preferences.ConnectionsPreferencePage;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.uml2.diagram.common.Messages;
public class ViewFiltersPreferencePage extends AbstractPreferencePage {
private static final String HIDE_PROVIDED_INTERFACE_LINKS_LABEL = Messages.ViewFiltersPreferencePage_label_hide_provided_interface_links;
private static final String HIDE_REQUIRED_INTERFACE_LINKS_LABEL = Messages.ViewFiltersPreferencePage_label_hide_required_interface_links;
private static final String HIDE_INTERFACE_REALIZATION_LINKS_LABEL = Messages.ViewFiltersPreferencePage_label_hide_interface_realization_links;
private static final String HIDE_USAGE_LINKS_LABEL = Messages.ViewFiltersPreferencePage_label_hide_usage_links;
@Override
protected void addFields(Composite parent) {
Composite composite = createPageLayout(parent);
createCheckBox(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_PROVIDED_INTERFACE_LINKS,//
HIDE_PROVIDED_INTERFACE_LINKS_LABEL, composite);
createCheckBox(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_REQUIRED_INTERFACE_LINKS,//
HIDE_REQUIRED_INTERFACE_LINKS_LABEL, composite);
createCheckBox(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_INTERFACE_REALIZATION_LINKS,//
HIDE_INTERFACE_REALIZATION_LINKS_LABEL, composite);
createCheckBox(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_USAGE_LINKS,//
HIDE_USAGE_LINKS_LABEL, composite);
}
private void createCheckBox(String constant, String label, Composite composite) {
CheckBoxFieldEditor hideLinksCheckBoxFieldEditor = new CheckBoxFieldEditor(constant, label, composite);
addField(hideLinksCheckBoxFieldEditor);
}
@Override
protected void initHelp() {
}
private Composite createPageLayout(Composite parent) {
Composite main = new Composite(parent, SWT.NULL);
main.setLayout(new GridLayout());
main.setLayoutData(new GridData(GridData.GRAB_HORIZONTAL | GridData.HORIZONTAL_ALIGN_FILL));
return main;
}
public static void initDefaults(IPreferenceStore store) {
ConnectionsPreferencePage.initDefaults(store);
store.setDefault(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_PROVIDED_INTERFACE_LINKS, false);
store.setDefault(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_REQUIRED_INTERFACE_LINKS, false);
store.setDefault(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_INTERFACE_REALIZATION_LINKS, false);
store.setDefault(UMLPreferencesConstants.PREF_MANAGE_LINKS_HIDE_USAGE_LINKS, false);
}
}