Code Search for Developers
 
 
  

JFaceBuilder.java from Groovy Eclipse Monkey at Krugle


Show JFaceBuilder.java syntax highlighted

/*
 * Created on Feb 25, 2004
 *  
 */
package groovy.jface;

import groovy.jface.factory.ContributionManagerFactory;
import groovy.jface.factory.DoubleClickListenerFactory;
import groovy.jface.factory.MenuManagerFactory;
import groovy.jface.factory.PreferencesDialogFactory;
import groovy.jface.factory.PreferencesFieldEditorFactory;
import groovy.jface.factory.PreferencesPageFactory;
import groovy.jface.factory.SelectionChangedListenerFactory;
import groovy.jface.factory.ToolBarManagerFactory;
import groovy.jface.factory.ViewerFactory;
import groovy.jface.factory.WindowFactory;
import groovy.jface.factory.WizardDialogFactory;
import groovy.jface.factory.WizardPageFactory;
import groovy.jface.impl.ActionImpl;
import groovy.jface.impl.ApplicationWindowImpl;
import groovy.lang.Closure;
import groovy.swt.SwtBuilder;
import groovy.swt.factory.ImageFactory;

import org.eclipse.jface.action.Separator;
import org.eclipse.jface.preference.BooleanFieldEditor;
import org.eclipse.jface.preference.ColorFieldEditor;
import org.eclipse.jface.preference.DirectoryFieldEditor;
import org.eclipse.jface.preference.FileFieldEditor;
import org.eclipse.jface.preference.FontFieldEditor;
import org.eclipse.jface.preference.IntegerFieldEditor;
import org.eclipse.jface.preference.StringFieldEditor;
import org.eclipse.jface.viewers.CheckboxTreeViewer;
import org.eclipse.jface.viewers.TableTreeViewer;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.jface.viewers.TreeViewer;
import org.eclipse.swt.widgets.Display;

/**
 * @author <a href="mailto:ckl@dacelo.nl">Christiaan ten Klooster </a>
 * @version $Revision: 35 $
 */
public class JFaceBuilder extends SwtBuilder {

    protected void registerWidgets() {
        super.registerWidgets();

        // Viewer
        registerFactory("tableViewer", new ViewerFactory(TableViewer.class));
        registerFactory("tableTreeViewer", new ViewerFactory(TableTreeViewer.class));
        registerFactory("treeViewer", new ViewerFactory(TreeViewer.class));
        registerFactory("checkboxTreeViewer", new ViewerFactory(CheckboxTreeViewer.class));

        // Event
        registerFactory("doubleClickListener", new DoubleClickListenerFactory());
        registerFactory("selectionChangedListener", new SelectionChangedListenerFactory());

        // Window
        registerFactory("applicationWindow", new WindowFactory(ApplicationWindowImpl.class));
        //        registerFactory("window", new WindowFactory(
        //                WindowImpl.class));

        // ContributionManager
        registerFactory("menuManager", new MenuManagerFactory());
        registerFactory("toolBarManager", new ToolBarManagerFactory());

        // Action tags
        registerFactory("action", new ContributionManagerFactory(ActionImpl.class));

        // ContributionItem
        registerFactory("separator", new ContributionManagerFactory(Separator.class));

        // Wizard
        registerFactory("wizardDialog", new WizardDialogFactory());
        registerFactory("wizardPage", new WizardPageFactory());

        // Preference
        registerFactory("preferenceDialog", new PreferencesDialogFactory());
        registerFactory("preferencePage", new PreferencesPageFactory());
        registerFactory("booleanFieldEditor", new PreferencesFieldEditorFactory(
                BooleanFieldEditor.class));
        registerFactory("colorFieldEditor", new PreferencesFieldEditorFactory(
                ColorFieldEditor.class));
        registerFactory("directoryFieldEditor", new PreferencesFieldEditorFactory(
                DirectoryFieldEditor.class));
        registerFactory("fileFieldEditor", new PreferencesFieldEditorFactory(FileFieldEditor.class));
        registerFactory("fontFieldEditor", new PreferencesFieldEditorFactory(FontFieldEditor.class));
        registerFactory("integerFieldEditor", new PreferencesFieldEditorFactory(
                IntegerFieldEditor.class));
        //registerBeanFactory("radioGroupFieldEditor",
        // RadioGroupFieldEditor.class);
        //registerBeanFactory("stringButtonFieldEditor",
        // StringButtonFieldEditor.class);
        registerFactory("stringFieldEditor", new PreferencesFieldEditorFactory(
                StringFieldEditor.class));

        // other
        registerFactory("image", new ImageFactory());
    }
    public void syncExec( final Closure closure )
    {
        if( Display.getCurrent() != null )
        {
            closure.call();
            return;
        }
        final Runnable runnable = new Runnable()
        {
            public void run()
            {
                closure.call();
            }
        };
        Display.getDefault().syncExec( runnable );
    }
    public void asyncExec( final Closure closure )
    {
        if( Display.getCurrent() != null )
        {
            closure.call();
            return;
        }
        final Runnable runnable = new Runnable()
        {
            public void run()
            {
                closure.call();
            }
        };
        Display.getDefault().asyncExec( runnable );
    }
}



See more files for this project here

Groovy Eclipse Monkey

Groovy Monkey is a Utility for Eclipse that enables you to create scripts in Groovy, Beanshell, Python or Ruby to run directly in Eclipse. This tool can be used to Eclipse API exploration, automation scripts, and rapid plugin prototyping.

Project homepage: http://sourceforge.net/projects/groovy-monkey
Programming language(s): Groovy,Java,XML
License: other

  factory/
    ActionImpl.java
    ContributionManagerFactory.java
    DoubleClickListenerFactory.java
    MenuManagerFactory.java
    PreferencesDialogFactory.java
    PreferencesFieldEditorFactory.java
    PreferencesPageFactory.java
    SelectionChangedListenerFactory.java
    ToolBarManagerFactory.java
    ViewerFactory.java
    WindowFactory.java
    WizardDialogFactory.java
    WizardPageFactory.java
  impl/
    ActionImpl.java
    ApplicationWindowImpl.java
    PreferenceDialogImpl.java
    PreferencePageFieldEditorImpl.java
    WizardDialogImpl.java
    WizardImpl.java
    WizardPageImpl.java
  JFaceBuilder.java
  JFaceDOMFactory.java