Example usage for org.eclipse.swt.widgets Display getDefault

List of usage examples for org.eclipse.swt.widgets Display getDefault

Introduction

In this page you can find the example usage for org.eclipse.swt.widgets Display getDefault.

Prototype

public static Display getDefault() 

Source Link

Document

Returns the default display.

Usage

From source file:sernet.gs.ui.rcp.main.bsi.views.chart.ChartView.java

private WorkspaceJob createDrawChartJob() {
    WorkspaceJob job = new WorkspaceJob(Messages.ChartView_6) {
        @Override/*from   ww  w. j  a v a  2  s .  co  m*/
        public IStatus runInWorkspace(IProgressMonitor monitor) {
            Activator.inheritVeriniceContextState();

            if (parent != null && !parent.isDisposed() && frame != null && !frame.isDisposed()) {
                final JFreeChart chart;
                CnATreeElement currentElement = null;
                if (currentChartGenerator instanceof ISelectionChartGenerator) {
                    currentElement = getElement();
                    if (currentElement == null) {
                        currentElement = getDefaultElement();
                    }
                    chart = ((ISelectionChartGenerator) currentChartGenerator).createChart(currentElement);
                } else {
                    chart = currentChartGenerator.createChart();
                }
                if (chart != null) {
                    Display.getDefault().syncExec(new Runnable() {
                        public void run() {
                            try {
                                if (frame.isDisposed()) {
                                    return;
                                }
                                frame.setChart(chart);
                                frame.forceRedraw();
                            } catch (Exception e) {
                                // chart disposed:
                                LOG.error(e);
                            }
                        }
                    });
                }
            }
            return Status.OK_STATUS;
        }
    };
    return job;
}

From source file:org.gumtree.vis.hist2d.Hist2D.java

private void createStatusBar() {
    Composite statusComposite = new Composite(parent, SWT.NONE);
    GridLayout layout = new GridLayout(6, false);
    layout.marginLeft = 6;//from   w w  w  . j  a  va2 s  . c o m
    layout.marginRight = 6;
    layout.marginTop = 1;
    layout.marginBottom = 1;
    layout.horizontalSpacing = 3;
    layout.verticalSpacing = 1;
    statusComposite.setLayout(layout);

    GridData gridData = new GridData(SWT.FILL);
    gridData.grabExcessHorizontalSpace = true;
    gridData.grabExcessVerticalSpace = false;
    statusComposite.setLayoutData(gridData);

    final Label xLabel = new Label(statusComposite, SWT.NONE);
    xLabel.setText("X:");
    gridData = new GridData(SWT.DEFAULT);
    xLabel.setLayoutData(gridData);
    //      GridDataFactory.swtDefaults().applyTo(xLabel);
    final Text xText = new Text(statusComposite, SWT.BORDER);
    gridData = new GridData(SWT.FILL);
    gridData.widthHint = 50;
    xText.setLayoutData(gridData);
    //      GridDataFactory.fillDefaults().hint(50, SWT.DEFAULT).applyTo(xText);
    xText.setEditable(false);

    final Label yLabel = new Label(statusComposite, SWT.NONE);
    yLabel.setText("Y:");
    gridData = new GridData(SWT.DEFAULT);
    yLabel.setLayoutData(gridData);
    //      GridDataFactory.swtDefaults().applyTo(yLabel);
    final Text yText = new Text(statusComposite, SWT.BORDER);
    gridData = new GridData(SWT.FILL);
    gridData.widthHint = 50;
    yText.setLayoutData(gridData);
    //      GridDataFactory.fillDefaults().hint(50, SWT.DEFAULT).applyTo(yText);
    yText.setEditable(false);

    final Label zLabel = new Label(statusComposite, SWT.NONE);
    zLabel.setText("Z:");
    gridData = new GridData(SWT.DEFAULT);
    zLabel.setLayoutData(gridData);
    //      GridDataFactory.swtDefaults().applyTo(zLabel);
    final Text zText = new Text(statusComposite, SWT.BORDER);
    gridData = new GridData(SWT.FILL);
    gridData.widthHint = 50;
    zText.setLayoutData(gridData);
    //      GridDataFactory.fillDefaults().hint(50, SWT.DEFAULT).applyTo(zText);
    zText.setEditable(false);

    final Composite composite = this;
    panel.addChartMouseListener(new ChartMouseListener() {

        @Override
        public void chartMouseMoved(ChartMouseEvent event) {
            if (event instanceof XYZChartMouseEvent) {
                final String xString = String.format("%.2f", ((XYZChartMouseEvent) event).getX());
                final String yString = String.format("%.2f", ((XYZChartMouseEvent) event).getY());
                final String zString = String.format("%.2f", ((XYZChartMouseEvent) event).getZ());
                panel.requestFocus();

                Display.getDefault().asyncExec(new Runnable() {

                    @Override
                    public void run() {
                        xText.setText(xString);
                        yText.setText(yString);
                        zText.setText(zString);
                        if (!composite.isFocusControl()) {
                            composite.setFocus();
                        }
                    }
                });
            }
        }

        @Override
        public void chartMouseClicked(ChartMouseEvent event) {
            // TODO Auto-generated method stub

        }
    });
}

From source file:org.eclipse.swt.snippets.SnippetExplorer.java

/**
 * Initialize the SnippetExplorer. Can be called again if the current explorer
 * was properly disposed./* w  w w  .j  a va  2  s. com*/
 */
private void initialize() {
    display = Display.getDefault();
    snippetRunner = null;
    shell = new Shell(display);
    if (nextExplorerLocation != null) {
        shell.setLocation(nextExplorerLocation);
    }
    shell.setText("SWT Snippet Explorer");

    createControls(shell);

    final String[] columns = new String[] { "Name", "Description" };
    for (String col : columns) {
        final TableColumn tableCol = new TableColumn(snippetTable, SWT.NONE);
        tableCol.setText(col);
        tableCol.setToolTipText(col);
        tableCol.setResizable(true);
        tableCol.setMoveable(true);
    }
    updateTable(null);

    for (TableColumn col : snippetTable.getColumns()) {
        col.pack();
    }
    final GridData rightSideLayout = (GridData) infoTabs.getLayoutData();
    final Point tableSize = snippetTable.getSize();
    rightSideLayout.widthHint = tableSize.x;
    rightSideLayout.heightHint = tableSize.y;
    shell.pack();
    shell.open();
}

From source file:sernet.gs.ui.rcp.main.bsi.views.chart.ChartView.java

private void createSelectionListeners() {
    loadListener = new IModelLoadListener() {

        public void closed(BSIModel model) {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    currentChartGenerator = emptyChart;
                    drawChart();/*from  w  w  w  .  j av a 2s.co  m*/
                }
            });
        }

        public void loaded(final BSIModel model) {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    CnAElementFactory.getLoadedModel().addBSIModelListener(changeListener);
                }
            });
        }

        public void loaded(ISO27KModel model) {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    CnAElementFactory.getInstance().getISO27kModel().addISO27KModelListener(changeListener);
                    currentChartGenerator = getDefaultChartGenerator();
                    drawChart();
                }
            });

        }
    };

    changeListener = createChangeListener();
}

From source file:org.amanzi.splash.editors.SplashJFreeChartEditor.java

/**
 * This editor is a resource change listener in order to detect "special"
 * situations. Specifically://from w w  w  .ja v  a  2  s  .  c  o m
 * 
 * <ul>
 * <li>Resource is deleted while editor is open (action: mark as dirty,
 * permit only "Save As...")
 * <li>Resource is replaced by local history, modified by another means
 * (view), or modified outside Eclipse and then user selects "Refresh"
 * (action: update contents of editor)
 * </ul>
 * 
 * This editor supports both file-based and stream-based inputs. Note that
 * the editor input can become file-based if the user chooses "Save As...".
 * 
 * @see org.eclipse.core.resources.IResourceChangeListener#resourceChanged(IResourceChangeEvent)
 */
public void resourceChanged(IResourceChangeEvent event) {
    // If the editor input is not a file, no point in worrying about
    // resource changes.
    if (!(getEditorInput() instanceof FileEditorInput))
        return;
    if (event.getType() == IResourceChangeEvent.POST_CHANGE) {
        final IFile file = ((FileEditorInput) getEditorInput()).getFile();
        IResourceDelta delta = event.getDelta().findMember(file.getFullPath());
        if (delta != null) {
            if (delta.getKind() == IResourceDelta.REMOVED) {
                // Editor's underlying resource was deleted. Mark editor
                // as dirty and only allow "Save As..." (see doSave method
                // for more details).
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {
                        NeoSplashUtil.logn("spreadsheet has been deleted !!!");
                        //setIsDirty(true);
                        IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow()
                                .getActivePage();

                        IEditorPart editor = page.findEditor(getEditorInput());

                        page.closeEditor(editor, false);
                    }
                });
            }
            if (delta.getKind() == IResourceDelta.CHANGED
                    && (delta.getFlags() & (IResourceDelta.CONTENT | IResourceDelta.REPLACED)) != 0) {
                // Editor's underlying resource has changed, perhaps by
                // update in local history, refresh, etc. 
                // Note that this update cannot be
                // because of a change initiated by the editor, since the
                // editor removes its RCL during updates (see saveContents
                // for more details).
                Display.getDefault().syncExec(new Runnable() {
                    public void run() {

                    }
                });
            }
        }
    }
}

From source file:org.mwc.debrief.editable.test.EditableTests.java

/**
 * Run the editable properties//from  w  w w . jav a2  s  . c  om
 * 
 * @throws CoreException
 * @throws ClassNotFoundException
 * @throws IllegalAccessException
 * @throws InstantiationException
 */
public void testEditable()
        throws CoreException, ClassNotFoundException, InstantiationException, IllegalAccessException {
    IProgressMonitor monitor = new NullProgressMonitor();
    IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(ORG_MWC_CMAP_LEGACY);
    IJavaProject javaProject = null;
    if (project.exists()) {
        javaProject = JavaCore.create(project);
        javaProject.open(monitor);
    }
    //      else
    //      {
    //         SearchablePluginsManager manager = PDECore.getDefault().getSearchablePluginsManager();
    //         javaProject = manager.getProxyProject();
    //      }
    IType editableType = javaProject.findType("MWC.GUI.Editable");
    ITypeHierarchy hierarchy = editableType.newTypeHierarchy(null);
    hierarchy.refresh(monitor);
    IType[] subTypes = hierarchy.getAllSubtypes(editableType);
    for (IType type : subTypes) {
        if (type.isClass() && !Flags.isAbstract(type.getFlags()) && Flags.isPublic(type.getFlags())) {
            //System.out.println(type.getFullyQualifiedName());
            Editable editable = getEditable(type);
            if (editable == null) {
                continue;
            }
            EditorType info = null;
            try {
                info = editable.getInfo();
            } catch (Exception e) {
                System.out.println("Info issue " + type.getFullyQualifiedName() + " " + e.getMessage());
                continue;
            }
            if (info == null) {
                continue;
            }
            //System.out.println("Testing " + type.getFullyQualifiedName());
            if ("org.mwc.cmap.core.ui_support.swt.SWTCanvasAdapter".equals(type.getFullyQualifiedName())) {
                final Editable ed = editable;
                Display.getDefault().syncExec(new Runnable() {

                    @Override
                    public void run() {
                        testTheseParameters(ed);
                    }
                });
            } else {
                testTheseParameters(editable);
            }
        }
    }
}

From source file:edu.isistan.carcha.plugin.editors.DXMIEditor.java

/**
 * Closes all project files on project close.
 *
 * @param event the event//  w  ww. j  a v a2s  .co  m
 */
public void resourceChanged(final IResourceChangeEvent event) {
    if (event.getType() == IResourceChangeEvent.PRE_CLOSE) {
        Display.getDefault().asyncExec(new Runnable() {
            public void run() {
                IWorkbenchPage[] pages = getSite().getWorkbenchWindow().getPages();
                for (int i = 0; i < pages.length; i++) {
                    if (((FileEditorInput) editor.getEditorInput()).getFile().getProject()
                            .equals(event.getResource())) {
                        IEditorPart editorPart = pages[i].findEditor(editor.getEditorInput());
                        pages[i].closeEditor(editorPart, true);
                    }
                }
            }
        });
    }
}

From source file:net.sf.eclipsecs.ui.stats.views.GraphStatsView.java

/**
 * See method below./* ww  w . j  a v  a 2s .  co m*/
 * 
 * @see net.sf.eclipsecs.stats.views.AbstractStatsView#makeActions()
 */
protected void makeActions() {

    mListingAction = new Action() {
        public void run() {
            try {
                getSite().getWorkbenchWindow().getActivePage().showView(MarkerStatsView.VIEW_ID);
            } catch (PartInitException e) {
                CheckstyleLog.log(e,
                        NLS.bind(Messages.GraphStatsView_unableToOpenListingView, MarkerStatsView.VIEW_ID));
                // TODO : mettre message d'erreur  l'utilisateur
            }
        }
    };
    mListingAction.setText(Messages.GraphStatsView_displayListing);
    mListingAction.setToolTipText(Messages.GraphStatsView_displayListing);
    mListingAction.setImageDescriptor(CheckstyleUIPluginImages.LIST_VIEW_ICON);

    mShowAllCategoriesAction = new Action(Messages.GraphStatsView_displayAllCategories, Action.AS_CHECK_BOX) {
        public void run() {
            Display.getDefault().asyncExec(new Runnable() {
                public void run() {
                    if (!mMasterComposite.isDisposed() && mMasterComposite.isVisible()) {
                        // on averti le dataset
                        mPieDataset.setShowAllCategories(mShowAllCategoriesAction.isChecked());

                        // update the preference
                        try {
                            CheckstyleUIPluginPrefs.setBoolean(
                                    CheckstyleUIPluginPrefs.PREF_STATS_SHOW_ALL_CATEGORIES,
                                    mShowAllCategoriesAction.isChecked());
                        } catch (BackingStoreException e1) {
                            CheckstyleLog.log(e1);
                        }
                        refresh();
                    }
                }
            });
        }
    };
    mShowAllCategoriesAction.setToolTipText(Messages.GraphStatsView_displayAllCategories);
    mShowAllCategoriesAction.setImageDescriptor(
            PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_OBJ_ELEMENT));
    mShowAllCategoriesAction.setChecked(
            CheckstyleUIPluginPrefs.getBoolean(CheckstyleUIPluginPrefs.PREF_STATS_SHOW_ALL_CATEGORIES));

    // action used to go back to the master view
    mDrillBackAction = new Action() {
        public void run() {
            drillBack();
        }
    };
    mDrillBackAction.setText(Messages.MarkerStatsView_actionBack);
    mDrillBackAction.setToolTipText(Messages.MarkerStatsView_actionBackTooltip);
    mDrillBackAction.setImageDescriptor(
            PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(ISharedImages.IMG_TOOL_BACK));
    mDrillBackAction.setDisabledImageDescriptor(PlatformUI.getWorkbench().getSharedImages()
            .getImageDescriptor(ISharedImages.IMG_TOOL_BACK_DISABLED));

    // action used to show a specific error in the editor
    mShowErrorAction = new Action() {
        public void run() {
            IStructuredSelection selection = (IStructuredSelection) mDetailViewer.getSelection();
            if (selection.getFirstElement() instanceof IMarker) {
                IMarker marker = (IMarker) selection.getFirstElement();
                try {
                    IDE.openEditor(getSite().getPage(), marker);
                } catch (PartInitException e) {
                    CheckstyleLog.log(e, Messages.MarkerStatsView_unableToShowMarker);
                    // TODO : Open information dialog to notify the user
                }
            }
        }
    };
    mShowErrorAction.setText(Messages.MarkerStatsView_displayError);
    mShowErrorAction.setToolTipText(Messages.MarkerStatsView_displayErrorTooltip);
    mShowErrorAction.setImageDescriptor(
            PlatformUI.getWorkbench().getSharedImages().getImageDescriptor(IDE.SharedImages.IMG_OPEN_MARKER));

}

From source file:TextEditor.java

void initializeColors() {
    Display display = Display.getDefault();
    RED = new Color(display, new RGB(255, 0, 0));
    BLUE = new Color(display, new RGB(0, 0, 255));
    GREEN = new Color(display, new RGB(0, 255, 0));
}

From source file:org.mwc.debrief.editable.test.EditableTests.java

private Editable getEditable(IType type) {
    Editable editable = null;/* ww  w.  j a  va 2  s  .  com*/
    switch (type.getFullyQualifiedName()) {
    case "Debrief.Wrappers.SensorWrapper":
        SensorWrapper sensor = new SensorWrapper("tester");
        final java.util.Calendar cal = new java.util.GregorianCalendar(2001, 10, 4, 4, 4, 0);

        // and create the list of sensor contact data items
        cal.set(2001, 10, 4, 4, 4, 0);
        sensor.add(new SensorContactWrapper("tester", new HiResDate(cal.getTime().getTime()), null, null, null,
                null, null, 1, sensor.getName()));

        cal.set(2001, 10, 4, 4, 4, 23);
        sensor.add(new SensorContactWrapper("tester", new HiResDate(cal.getTime().getTime()), null, null, null,
                null, null, 1, sensor.getName()));
        editable = sensor;
        break;
    case "MWC.GUI.Shapes.ChartFolio":
        editable = new ChartFolio(false, Color.white);
        break;
    case "org.mwc.cmap.naturalearth.wrapper.NELayer":
        editable = new NELayer(Activator.getDefault().getDefaultStyleSet());
        break;
    case "MWC.GUI.VPF.CoverageLayer$ReferenceCoverageLayer":
        final LibrarySelectionTable LST = null;
        final DebriefFeatureWarehouse myWarehouse = new DebriefFeatureWarehouse();
        final FeaturePainter fp = new FeaturePainter("libref", "Coastline");
        fp.setVisible(true);
        editable = new CoverageLayer.ReferenceCoverageLayer(LST, myWarehouse, "libref", "libref", "Coastline",
                fp);
        break;
    case "MWC.GUI.Chart.Painters.ETOPOPainter":
        editable = new ETOPOPainter("etopo", null);
        break;
    case "MWC.GUI.ETOPO.ETOPO_2_Minute":
        editable = new ETOPO_2_Minute("etopo");
        break;
    case "MWC.GUI.ExternallyManagedDataLayer":
        editable = new ExternallyManagedDataLayer("test", "test", "test");
        break;
    case "MWC.GUI.Shapes.CircleShape":
        editable = new CircleShape(new WorldLocation(2d, 2d, 2d), 2d);
        break;
    case "Debrief.Wrappers.Track.SplittableLayer":
        editable = new SplittableLayer(true);
        break;
    case "org.mwc.debrief.satc_interface.data.SATC_Solution":
        final ISolversManager solvMgr = SATC_Activator.getDefault().getService(ISolversManager.class, true);
        final ISolver newSolution = solvMgr.createSolver("test");
        editable = new SATC_Solution(newSolution);
        break;
    case "MWC.GUI.Shapes.PolygonShape":
        editable = new PolygonShape(null);
        break;
    case "ASSET.GUI.Painters.NoiseSourcePainter":
        editable = new ASSET.GUI.Painters.NoiseSourcePainter.PainterTest().getEditable();
        break;
    case "ASSET.GUI.Painters.ScenarioNoiseLevelPainter":
        editable = new ASSET.GUI.Painters.ScenarioNoiseLevelPainter.NoiseLevelTest().getEditable();
        break;
    case "ASSET.GUI.Workbench.Plotters.ScenarioParticipantWrapper":
        editable = new ScenarioParticipantWrapper(new SSN(12), null);
        break;
    case "Debrief.Wrappers.PolygonWrapper":
        // get centre of area
        WorldLocation centre = new WorldLocation(12, 12, 12);
        // create the shape, based on the centre
        final Vector<PolygonNode> path2 = new Vector<PolygonNode>();
        final PolygonShape newShape = new PolygonShape(path2);
        // and now wrap the shape
        final PolygonWrapper theWrapper = new PolygonWrapper("New Polygon", newShape, PlainShape.DEFAULT_COLOR,
                null);
        // store the new point
        newShape.add(new PolygonNode("1", centre, (PolygonShape) theWrapper.getShape()));
        editable = theWrapper;
        break;
    case "Debrief.Wrappers.Track.AbsoluteTMASegment":
        WorldSpeed speed = new WorldSpeed(5, WorldSpeed.Kts);
        double course = 33;
        WorldLocation origin = new WorldLocation(12, 12, 12);
        HiResDate startTime = new HiResDate(11 * 60 * 1000);
        HiResDate endTime = new HiResDate(17 * 60 * 1000);
        editable = new AbsoluteTMASegment(course, speed, origin, startTime, endTime);
        break;
    case "Debrief.Wrappers.Track.RelativeTMASegment":
        speed = new WorldSpeed(5, WorldSpeed.Kts);
        course = 33;
        final WorldVector offset = new WorldVector(12, 12, 0);
        editable = new RelativeTMASegment(course, speed, offset, null);
        break;
    case "Debrief.Wrappers.Track.PlanningSegment":
        speed = new WorldSpeed(5, WorldSpeed.Kts);
        course = 33;
        final WorldDistance worldDistance = new WorldDistance(5, WorldDistance.MINUTES);
        editable = new PlanningSegment("test", course, speed, worldDistance, Color.WHITE);
        break;
    case "org.mwc.debrief.satc_interface.data.wrappers.BMC_Wrapper":
        BearingMeasurementContribution bmc = new BearingMeasurementContribution();
        bmc.setName("Measured bearing");
        bmc.setAutoDetect(false);
        editable = new BMC_Wrapper(bmc);
        break;
    case "org.mwc.debrief.satc_interface.data.wrappers.FMC_Wrapper":
        FrequencyMeasurementContribution fmc = new FrequencyMeasurementContribution();
        fmc.setName("Measured frequence");
        editable = new FMC_Wrapper(fmc);
        break;
    case "Debrief.Wrappers.SensorContactWrapper":
        origin = new WorldLocation(0, 0, 0);
        editable = new SensorContactWrapper("blank track", new HiResDate(new java.util.Date().getTime()),
                new WorldDistance(1, WorldDistance.DEGS), 55d, origin, java.awt.Color.red, "my label", 1,
                "theSensorName");
        break;
    case "Debrief.Wrappers.FixWrapper":
        final Fix fx = new Fix(new HiResDate(12, 0), new WorldLocation(2d, 2d, 2d), 2d, 2d);
        final TrackWrapper tw = new TrackWrapper();
        tw.setName("here ew arw");
        FixWrapper ed = new FixWrapper(fx);
        ed.setTrackWrapper(tw);
        editable = ed;
        break;
    case "Debrief.Wrappers.ShapeWrapper":
        centre = new WorldLocation(2d, 2d, 2d);
        editable = new ShapeWrapper("new ellipse", new EllipseShape(centre, 0,
                new WorldDistance(0, WorldDistance.DEGS), new WorldDistance(0, WorldDistance.DEGS)),
                java.awt.Color.red, null);
        break;
    case "Debrief.GUI.Tote.Painters.PainterManager":
        final StepControl stepper = new Debrief.GUI.Tote.Swing.SwingStepControl(null, null, null, null, null,
                null);
        editable = new PainterManager(stepper);
        break;
    case "Debrief.Wrappers.TMAContactWrapper":
        origin = new WorldLocation(2, 2, 0);
        final HiResDate theDTG = new HiResDate(new java.util.Date().getTime());
        final EllipseShape theEllipse = new EllipseShape(origin, 45, new WorldDistance(10, WorldDistance.DEGS),
                new WorldDistance(5, WorldDistance.DEGS));
        theEllipse.setName("test ellipse");
        editable = new TMAContactWrapper("blank sensor", "blank track", theDTG, origin, 5d, 6d, 1d, Color.pink,
                "my label", theEllipse, "some symbol");
        break;
    case "MWC.GUI.JFreeChart.NewFormattedJFreeChart":
        XYPlot plot = new XYPlot();
        DefaultXYItemRenderer renderer = new DefaultXYItemRenderer();
        plot.setRenderer(renderer);
        editable = new NewFormattedJFreeChart("test", new java.awt.Font("Dialog", 0, 18), plot, false);
        break;
    case "org.mwc.cmap.core.ui_support.swt.SWTCanvasAdapter":
        final Editable[] edit = new Editable[1];
        Display.getDefault().syncExec(new Runnable() {

            @Override
            public void run() {
                edit[0] = new SWTCanvasAdapter(null);
            }
        });
        editable = edit[0];
        break;
    case "ASSET.Models.Decision.Conditions.OrCondition":
        System.out.println(type.getFullyQualifiedName() + " hasn't public constructor.");
        return null;
    case "ASSET.Models.Decision.Movement.RectangleWander":
        final WorldLocation topLeft = SupportTesting.createLocation(0, 10000);
        final WorldLocation bottomRight = SupportTesting.createLocation(10000, 0);
        final WorldArea theArea = new WorldArea(topLeft, bottomRight);
        editable = new RectangleWander(theArea, "rect wander");
        break;
    case "org.mwc.debrief.satc_interface.data.wrappers.BMC_Wrapper$BearingMeasurementWrapper":
        bmc = new BearingMeasurementContribution();
        bmc.setName("Measured bearing");
        bmc.setAutoDetect(false);
        CoreMeasurement cm = new CoreMeasurement(new Date());
        BMC_Wrapper bmcw = new BMC_Wrapper(bmc);
        editable = bmcw.new BearingMeasurementWrapper(cm);
        break;
    case "org.mwc.debrief.satc_interface.data.wrappers.FMC_Wrapper$FrequencyMeasurementEditable":
        fmc = new FrequencyMeasurementContribution();
        fmc.setName("Measured frequence");
        FMC_Wrapper fmcw = new FMC_Wrapper(fmc);
        cm = new CoreMeasurement(new Date());
        editable = fmcw.new FrequencyMeasurementEditable(cm);
        break;
    case "ASSET.GUI.SuperSearch.Plotters.SSGuiSupport$ParticipantListener":
        SSGuiSupport ssgs = new SSGuiSupport();
        ssgs.setScenario(new MultiForceScenario());
        editable = new SSGuiSupport.ParticipantListener(new CoreParticipant(12), ssgs);
        break;
    case "ASSET.GUI.Workbench.Plotters.BasePlottable":
        // skip it
        return null;
    case "MWC.TacticalData.GND.GTrack":
        // skip it
        return null;
    default:
        break;
    }

    if (editable != null) {
        return editable;
    }
    Class<?> clazz;
    try {
        clazz = Class.forName(type.getFullyQualifiedName());
    } catch (ClassNotFoundException e1) {
        //e1.printStackTrace();
        System.out.println("CNFE " + e1.getMessage() + " " + type.getFullyQualifiedName());
        return null;
    }
    try {
        @SuppressWarnings("unused")
        Method infoMethod = clazz.getDeclaredMethod("getInfo", new Class[0]);
    } catch (Exception e) {
        return null;
    }
    try {
        editable = (Editable) clazz.newInstance();
    } catch (Exception e) {
        Constructor<?>[] constructors = clazz.getConstructors();
        for (Constructor<?> constructor : constructors) {
            try {
                Class<?>[] paramTypes = constructor.getParameterTypes();
                Object[] params = new Object[paramTypes.length];
                for (int i = 0; i < paramTypes.length; i++) {
                    Class<?> paramType = paramTypes[i];
                    if (HiResDate.class.equals(paramType)) {
                        params[i] = new HiResDate(new Date());
                    } else if (WorldDistance.class.equals(paramType)) {
                        params[i] = new WorldDistance(12d, WorldDistance.DEGS);
                    } else if (WorldSpeed.class.equals(paramType)) {
                        params[i] = new WorldSpeed(12, WorldSpeed.M_sec);
                    } else if (WorldLocation.class.equals(paramType)) {
                        params[i] = new WorldLocation(12, 12, 12);
                    } else if ("java.lang.String".equals(paramType.getName())) {
                        params[i] = "test";
                    } else if (!paramType.isPrimitive()) {
                        params[i] = null;
                    } else {
                        if (paramType.equals(int.class)) {
                            params[i] = new Integer("0");
                        }
                        if (paramType.equals(boolean.class)) {
                            params[i] = Boolean.FALSE;
                        }
                        if (paramType.equals(long.class)) {
                            params[i] = new Long("0");
                        }
                        if (paramType.equals(double.class)) {
                            params[i] = new Double("0");
                        }
                        if (paramType.equals(float.class)) {
                            params[i] = new Float("0");
                        }
                        if (paramType.equals(short.class)) {
                            params[i] = new Short("0");
                        }
                    }
                }
                editable = (Editable) constructor.newInstance(params);
                break;
            } catch (Exception e1) {
                // ignore
                //System.out.println(e1.getMessage());
                //e1.printStackTrace();
            }
        }
    }
    if (editable == null) {
        System.out.println("Can't instantiate type " + type.getFullyQualifiedName());
    }
    return editable;
}