Package org.apache.directory.ldapstudio.browser.ui

Source Code of org.apache.directory.ldapstudio.browser.ui.BrowserUIPreferencesInitializer

/*
*  Licensed to the Apache Software Foundation (ASF) under one
*  or more contributor license agreements.  See the NOTICE file
*  distributed with this work for additional information
*  regarding copyright ownership.  The ASF licenses this file
*  to you under the Apache License, Version 2.0 (the
*  "License"); you may not use this file except in compliance
*  with the License.  You may obtain a copy of the License at
*    http://www.apache.org/licenses/LICENSE-2.0
*  Unless required by applicable law or agreed to in writing,
*  software distributed under the License is distributed on an
*  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
*  KIND, either express or implied.  See the License for the
*  specific language governing permissions and limitations
*  under the License.
*/

package org.apache.directory.ldapstudio.browser.ui;


import java.util.ArrayList;
import java.util.Collection;

import org.apache.directory.ldapstudio.browser.core.BrowserCoreConstants;
import org.apache.directory.ldapstudio.browser.core.model.schema.AttributeValueProviderRelation;
import org.apache.directory.ldapstudio.browser.core.model.schema.SyntaxValueProviderRelation;
import org.apache.directory.ldapstudio.browser.ui.valueeditors.internal.ValueEditorManager;
import org.apache.directory.ldapstudio.browser.ui.valueeditors.internal.ValueEditorManager.ValueEditorExtension;
import org.eclipse.core.runtime.preferences.AbstractPreferenceInitializer;
import org.eclipse.jface.preference.IPreferenceStore;
import org.eclipse.jface.preference.PreferenceConverter;
import org.eclipse.swt.SWT;
import org.eclipse.swt.graphics.FontData;
import org.eclipse.swt.graphics.RGB;
import org.eclipse.swt.widgets.Display;


/**
* This class is used to set default preference values.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
* @version $Rev$, $Date$
*/
public class BrowserUIPreferencesInitializer extends AbstractPreferenceInitializer
{
    /**
     * {@inheritDoc}
     */
    public void initializeDefaultPreferences()
    {

        IPreferenceStore store = BrowserUIPlugin.getDefault().getPreferenceStore();

        // Common
        store.setDefault( BrowserUIConstants.PREFERENCE_COUNT_LIMIT, 1000 );
        store.setDefault( BrowserUIConstants.PREFERENCE_TIME_LIMIT, 0 );

        // Colors and Fonts
        RGB rgbBlack = Display.getDefault().getSystemColor( SWT.COLOR_BLACK ).getRGB();
        RGB rgbRed = Display.getDefault().getSystemColor( SWT.COLOR_RED ).getRGB();
        RGB rgbYellow = Display.getDefault().getSystemColor( SWT.COLOR_YELLOW ).getRGB();
        FontData[] fontData = Display.getDefault().getSystemFont().getFontData();
        FontData fontDataNormal = new FontData( fontData[0].getName(), fontData[0].getHeight(), SWT.NORMAL );
        FontData fontDataItalic = new FontData( fontData[0].getName(), fontData[0].getHeight(), SWT.ITALIC );
        FontData fontDataBold = new FontData( fontData[0].getName(), fontData[0].getHeight(), SWT.BOLD );
        FontData fontDataBoldItalic = new FontData( fontData[0].getName(), fontData[0].getHeight(), SWT.BOLD
            | SWT.ITALIC );
        // Attributes colors and fonts
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_OBJECTCLASS_COLOR, rgbBlack );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_OBJECTCLASS_FONT, fontDataBoldItalic );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_MUSTATTRIBUTE_COLOR, rgbBlack );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_MUSTATTRIBUTE_FONT, fontDataBold );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_MAYATTRIBUTE_COLOR, rgbBlack );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_MAYATTRIBUTE_FONT, fontDataNormal );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_OPERATIONALATTRIBUTE_COLOR, rgbBlack );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_OPERATIONALATTRIBUTE_FONT, fontDataItalic );
        // Error/Warning colors and fonts
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_WARNING_FONT, fontDataBoldItalic );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_WARNING_COLOR, rgbYellow );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_ERROR_FONT, fontDataBoldItalic );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_ERROR_COLOR, rgbRed );
        // Quick filter background colors and fonts
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_QUICKFILTER_FONT, fontDataBold );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_QUICKFILTER_BACKGROUND_COLOR, rgbYellow );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_QUICKFILTER_FOREGROUND_COLOR, rgbBlack );

        // Attributes
        store.setDefault( BrowserUIConstants.PREFERENCE_SHOW_RAW_VALUES, false );

        // Value Editors
        Collection<AttributeValueProviderRelation> avprs = new ArrayList<AttributeValueProviderRelation>();
        Collection<SyntaxValueProviderRelation> svprs = new ArrayList<SyntaxValueProviderRelation>();
        Collection<ValueEditorExtension> valueEditorProxys = ValueEditorManager.getValueEditorProxys();
        for ( ValueEditorExtension proxy : valueEditorProxys )
        {
            for ( String attributeType : proxy.attributeTypes )
            {
                AttributeValueProviderRelation avpr = new AttributeValueProviderRelation( attributeType,
                    proxy.className );
                avprs.add( avpr );
            }
            for ( String syntaxOid : proxy.syntaxOids )
            {
                SyntaxValueProviderRelation svpr = new SyntaxValueProviderRelation( syntaxOid, proxy.className );
                svprs.add( svpr );
            }
        }
        BrowserUIPlugin.getDefault().getUIPreferences().setDefaultAttributeValueProviderRelations(
            avprs.toArray( new AttributeValueProviderRelation[0] ) );
        BrowserUIPlugin.getDefault().getUIPreferences().setDefaultSyntaxValueProviderRelations(
            svprs.toArray( new SyntaxValueProviderRelation[0] ) );

        // Browser
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_EXPAND_BASE_ENTRIES, false );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_ENABLE_FOLDING, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_FOLDING_SIZE, 100 );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_ENTRY_LABEL, BrowserUIConstants.SHOW_RDN );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_ENTRY_ABBREVIATE, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_ENTRY_ABBREVIATE_MAX_LENGTH, 50 );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SEARCH_RESULT_LABEL, BrowserUIConstants.SHOW_DN );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SEARCH_RESULT_ABBREVIATE, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SEARCH_RESULT_ABBREVIATE_MAX_LENGTH, 50 );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SHOW_DIT, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SHOW_SEARCHES, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SHOW_BOOKMARKS, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SHOW_DIRECTORY_META_ENTRIES, false );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SORT_BY, BrowserCoreConstants.SORT_BY_RDN_VALUE );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SORT_ORDER, BrowserCoreConstants.SORT_ORDER_ASCENDING );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_SORT_LIMIT, 10000 );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_LEAF_ENTRIES_FIRST, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_BROWSER_META_ENTRIES_LAST, true );

        // Entry Editor
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_ENABLE_FOLDING, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_FOLDING_THRESHOLD, 10 );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_SHOW_OBJECTCLASS_ATTRIBUTES, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_SHOW_MUST_ATTRIBUTES, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_SHOW_MAY_ATTRIBUTES, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_SHOW_OPERATIONAL_ATTRIBUTES, false );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_OBJECTCLASS_AND_MUST_ATTRIBUTES_FIRST, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_OPERATIONAL_ATTRIBUTES_LAST, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_DEFAULT_SORT_BY,
            BrowserCoreConstants.SORT_BY_ATTRIBUTE_DESCRIPTION );
        store.setDefault( BrowserUIConstants.PREFERENCE_ENTRYEDITOR_DEFAULT_SORT_ORDER,
            BrowserCoreConstants.SORT_ORDER_ASCENDING );

        // Search Result Editor
        store.setDefault( BrowserUIConstants.PREFERENCE_SEARCHRESULTEDITOR_SHOW_DN, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_SEARCHRESULTEDITOR_SHOW_LINKS, true );

        // Text Format
        store.setDefault( BrowserUIConstants.PREFERENCE_FORMAT_TABLE_ATTRIBUTEDELIMITER, "\t" );
        store.setDefault( BrowserUIConstants.PREFERENCE_FORMAT_TABLE_VALUEDELIMITER, "|" );
        store.setDefault( BrowserUIConstants.PREFERENCE_FORMAT_TABLE_QUOTECHARACTER, "\"" );
        store
            .setDefault( BrowserUIConstants.PREFERENCE_FORMAT_TABLE_LINESEPARATOR, BrowserCoreConstants.LINE_SEPARATOR );
        store.setDefault( BrowserUIConstants.PREFERENCE_FORMAT_TABLE_BINARYENCODING,
            BrowserCoreConstants.BINARYENCODING_IGNORE );

        // LDIF Editor
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_FORMATTER_AUTOWRAP, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_FOLDING_ENABLE, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_FOLDING_INITIALLYFOLDCOMMENTS, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_FOLDING_INITIALLYFOLDRECORDS, false );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_FOLDING_INITIALLYFOLDWRAPPEDLINES, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_DOUBLECLICK_USELDIFDOUBLECLICK, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_CONTENTASSIST_INSERTSINGLEPROPOSALAUTO, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_CONTENTASSIST_ENABLEAUTOACTIVATION, true );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_CONTENTASSIST_AUTOACTIVATIONDELAY, 200 );
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_CONTENTASSIST_SMARTINSERTATTRIBUTEINMODSPEC, true );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_COMMENT
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 63, 127, 95 ) );// green
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_COMMENT
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.NORMAL );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_KEYWORD
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 128, 128, 128 ) );// gray
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_KEYWORD
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_DN
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 0, 0, 0 ) );// black
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_DN
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_ATTRIBUTE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 127, 0, 85 ) );// violett
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_ATTRIBUTE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_VALUETYPE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 255, 0, 0 ) );// red
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_VALUETYPE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_VALUE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 0, 0, 192 ) );// blue
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_VALUE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.NORMAL );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEADD
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 123, 170, 91 ) );// green
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEADD
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEMODIFY
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 214, 160, 100 ) );// yellow
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEMODIFY
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEDELETE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 242, 70, 86 ) );// red
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEDELETE
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
        PreferenceConverter.setDefault( store, BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEMODDN
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_RGB_SUFFIX, new RGB( 127, 159, 191 ) );// bright
        // blue
        store.setDefault( BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_CHANGETYPEMODDN
            + BrowserUIConstants.PREFERENCE_LDIFEDITOR_SYNTAX_STYLE_SUFFIX, SWT.BOLD );
    }

}
TOP

Related Classes of org.apache.directory.ldapstudio.browser.ui.BrowserUIPreferencesInitializer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.