svn commit: rev 37297 - in avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro: . studio studio/eclipse studio/eclipse/ui studio/eclipse/ui/common studio/eclipse/ui/constants studio/eclipse/ui/controller studio/eclipse/ui/panels studio/eclipse/ui/preferences studio/eclipse/ui/properties studio/eclipse/ui/tools studio/eclipse/ui/wizards
[email protected] 1 Sep 2004 04:01:04 -0000
| Newsgroups | gmane.comp.jakarta.avalon.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: oberhack
Date: Tue Aug 31 21:01:03 2004
New Revision: 37297
Added:
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUI.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUIResources.properties
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/CommonDialogs.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IModelObject.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IUIStoreConstants.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IViewPresentationService.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/ModelObject.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/constants/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/constants/IUIStoreConstants.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/CreateBlockProjectOperation.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/NewMetroProjectWizardController.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/PreferencesController.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/RepositorySettingsPanel.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/ServerSettingsPanel.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/MainPreferencePage.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/RepositoryPreferencePage.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/ServerPreferencePage.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/properties/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/properties/SamplePropertyPage.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/
- copied from rev 22169, avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/avalon/ide/eclipse/merlin/ui/tools/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectSelectionPage.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectWizard.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/WizardUtil.java
Modified:
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/AvalonProposals.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ExampleBuilder.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ImageViewerEditor.java
avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/JavadocProcessor.java
Log:
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUI.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUI.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,151 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+ Licensed 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.metro.studio.eclipse.ui;
+
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.util.MissingResourceException;
+import java.util.ResourceBundle;
+
+import org.eclipse.core.resources.IWorkspace;
+import org.eclipse.core.resources.ResourcesPlugin;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>
+ * The main plugin class to be used in the desktop.
+ */
+public class MetroStudioUI extends AbstractUIPlugin
+{
+ //The shared instance.
+ private static MetroStudioUI plugin;
+ //Resource bundle.
+ private ResourceBundle resourceBundle;
+ public static final String PLUGIN_ID = "org.apache.metro.MetroStudioUI";
+ /**
+ * The constructor.
+ */
+ public MetroStudioUI()
+ {
+ super();
+ plugin = this;
+ try
+ {
+ resourceBundle =
+ ResourceBundle.getBundle(
+ "org.apache.metro.studio.eclipse.ui.MetroStudioUIResources");
+ } catch (MissingResourceException x)
+ {
+ resourceBundle = null;
+ }
+ }
+
+ /**
+ * Returns the shared instance.
+ */
+ public static MetroStudioUI getDefault()
+ {
+ return plugin;
+ }
+
+ /**
+ * Returns the workspace instance.
+ */
+ public static IWorkspace getWorkspace()
+ {
+ return ResourcesPlugin.getWorkspace();
+ }
+
+ /**
+ * Returns the string from the plugin's resource bundle, or 'key' if not
+ * found.
+ */
+ public static String getResourceString(String key)
+ {
+ ResourceBundle bundle = MetroStudioUI.getDefault().getResourceBundle();
+ try
+ {
+ return (bundle != null ? bundle.getString(key) : key);
+ } catch (MissingResourceException e)
+ {
+ return key;
+ }
+ }
+
+ /**
+ * Returns the plugin's resource bundle,
+ */
+ public ResourceBundle getResourceBundle()
+ {
+ return resourceBundle;
+ }
+
+ public static void log(IStatus status)
+ {
+ getDefault().getLog().log(status);
+ }
+
+ public static void log(Throwable e, String message)
+ {
+ boolean isDebugging = true; // change to false for production
+ IStatus status =
+ new Status(
+ IStatus.ERROR,
+ ResourcesPlugin.getPlugin().getBundle().getSymbolicName(),
+ IStatus.ERROR,
+ message,
+ e);
+
+ log(status);
+ if (isDebugging)
+ {
+ System.out.println(message + ": " + e.getMessage()); //$NON-NLS-1$
+ }
+ }
+
+ public static ImageDescriptor getImageDescriptor(String path)
+ {
+ try
+ {
+ URL prefix = MetroStudioUI.getDefault().getBundle().getEntry("/");
+ return ImageDescriptor.createFromURL(new URL(prefix, path));
+ } catch (MalformedURLException e)
+ {
+ log(e, "getResourceBundle() handling MalformedURLException"); //$NON-NLS-1$
+ return null;
+ }
+ }
+
+ /**
+ * This method is called upon plug-in activation
+ */
+ public void start(BundleContext context) throws Exception {
+ super.start(context);
+ }
+
+ /**
+ * This method is called when the plug-in is stopped
+ */
+ public void stop(BundleContext context) throws Exception {
+ super.stop(context);
+ }
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUIResources.properties
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/MetroStudioUIResources.properties Tue Aug 31 21:01:03 2004
@@ -0,0 +1,45 @@
+#########################################
+#
+#
+#
+# Copyright 2004. The Apache Software Foundation.
+#
+# Licensed 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.
+#
+#
+#
+#########################################
+
+new.MerlinDevelopment.window.title=New Merlin Project
+new.MerlinDevelopment.errorDialog.title=Error
+new.MerlinDevelopment.mainPage.title=Merlin Block Development
+new.MerlinDevelopment.mainPage.description=Create a project to develop blocks for the Merlin container
+new.MerlinDevelopment.selectionPage.title=Project Selection Page
+new.MerlinDevelopment.selectionPage.description=Select a type of project you want to create.
+new.MerlinDevelopment.containerPage.title=Project Details
+new.MerlinDevelopment.containerPage.description=Enter required data to create your Merlin project
+javadoc.avalon.component=mark a class as merlin component
+javadoc.avalon.component.tag=avalon.component name="xx" version="1.0.0" livestyle="singleton"
+javadoc.avalon.dependency=defines a dependency
+javadoc.avalon.dependency.tag=avalon.dependency type="xx" key="yy"
+javadoc.avalon.service.tag=avalon.service type="xx" version="1.0.0"
+javadoc.avalon.service=defines the service interface
+javadoc.avalon.entry.tag=avalon.entry entry="urn:avalon:xx"
+javadoc.avalon.entry=defines an entry for special context values
+javadoc.avalon.stage=define lifecycle extensions
+javadoc.avalon.stage.tag=avalon.stage id="urn:name:type"
+javadoc.avalon.extension=definition of an extension
+javadoc.avalon.extension.tag=avalon.extension id="urn:name:type"
+javadoc.avalon.logger.tag=avalon.logger name="xx.yy"
+javadoc.avalon.logger=defines a logger
+
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/CommonDialogs.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/CommonDialogs.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,54 @@
+/*
+ * Created on 20.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.common;
+
+import java.io.File;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.widgets.DirectoryDialog;
+import org.eclipse.swt.widgets.FileDialog;
+import org.eclipse.swt.widgets.Shell;
+
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public class CommonDialogs {
+
+ public static String getPath(Shell shell)
+ {
+ File directory = null;
+ DirectoryDialog fileDialog = new DirectoryDialog(shell, SWT.OPEN);
+ //if (startingDirectory != null)
+ //fileDialog.setFilterPath(startingDirectory.getPath());
+ String dir = fileDialog.open();
+ if (dir != null) {
+ dir = dir.trim();
+ if (dir.length() > 0)
+ directory = new File(dir);
+ }
+ if(dir == null) return null;
+ return directory.getAbsolutePath();
+ }
+ public static String getFilePath(Shell shell)
+ {
+ File directory = null;
+ FileDialog fileDialog = new FileDialog(shell, SWT.OPEN);
+ //if (startingDirectory != null)
+ //fileDialog.setFilterPath(startingDirectory.getPath());
+ String dir = fileDialog.open();
+ if (dir != null) {
+ dir = dir.trim();
+ if (dir.length() > 0)
+ directory = new File(dir);
+ }
+ if(dir == null) return null;
+ return directory.getAbsolutePath();
+ }
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IModelObject.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IModelObject.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,16 @@
+/*
+ * Created on 20.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.common;
+
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public interface IModelObject {
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IUIStoreConstants.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IUIStoreConstants.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,21 @@
+/*
+ * Created on 19.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.common;
+
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public interface IUIStoreConstants {
+
+ public static final String METRO_LIB = "lib";
+ public static final String METRO_LIB_DEFAULT = "merlin-cli-1.3.0.jar";
+ public static final String METRO_LANG = "lang";
+ public static final String METRO_LANG_DEFAULT = "en";
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IViewPresentationService.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/IViewPresentationService.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,16 @@
+/*
+ * Created on 20.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.common;
+
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public interface IViewPresentationService {
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/ModelObject.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/common/ModelObject.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,115 @@
+/*
+ * Created on 20.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.common;
+
+import java.util.Hashtable;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.jface.dialogs.DialogPage;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.ui.dialogs.PropertyPage;
+
+/**
+ * @author EH2OBCK
+ *
+ * This ModelObject implements the Presentation IModelObject
+ * without using the event handling
+ * It only shield the differences between the stores used by PreferencePages
+ * or PropertyPages so that this Panel can be reused in either situation.
+ */
+public class ModelObject implements IModelObject {
+ private transient Hashtable defaults = new Hashtable();
+
+ private IResource element;
+ private IViewPresentationService service;
+ private IPreferenceStore store;
+ /**
+ *
+ */
+ public ModelObject(DialogPage page) {
+ super();
+ if(page instanceof PropertyPage)
+ {
+ element = (IResource)((PropertyPage)page).getElement();
+ } else
+ {
+ store = ((PreferencePage)page).getPreferenceStore();
+ }
+ }
+ public String getDefaultString(String name)
+ {
+ if(element != null)
+ {return (String)defaults.get(name);
+ }
+ if(store != null)
+ {
+ return store.getDefaultString(name);
+ }
+ return null;
+ }
+ public String getString(String name)
+ {
+ try {
+ if(element != null)
+ {return (String)element.getPersistentProperty(new QualifiedName("", name));
+ }
+ if(store != null)
+ {
+ return store.getString(name);
+ }
+ } catch (CoreException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+ /**
+ * @param repository_panel
+ */
+ public ModelObject controlClicked(String controlName) {
+
+ // local = service.clicked(controlName, this);
+ return this;
+ }
+ public void setDefaultString(String name, String defaultValue)
+ {
+ if(element != null)
+ {defaults.put(name, defaultValue);
+ }
+ if(store != null)
+ {
+ store.setDefault(name, defaultValue);
+ }
+ }
+
+ public void setString(String name, String value)
+ {
+ try {
+ if(element != null)
+ {element.setPersistentProperty(new QualifiedName("", name),
+ value);
+ }
+ if(store != null)
+ {
+ store.setValue(name, value);
+ }
+ } catch (CoreException e) {
+ e.printStackTrace();
+ }
+ }
+ /**
+ * @param repository_panel
+ * @return
+ */
+ public ModelObject windowCreated(String repository_panel) {
+
+ return this;
+ }
+
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/constants/IUIStoreConstants.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/constants/IUIStoreConstants.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,23 @@
+/*
+ * Created on 19.08.2004
+ *
+ * TODO To change the template for this generated file go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.constants;
+
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to
+ * Window - Preferences - Java - Code Generation - Code and Comments
+ */
+public interface IUIStoreConstants {
+
+ public static final String METRO_LIB = "lib";
+ public static final String METRO_LIB_DEFAULT = "merlin-cli-1.3.0.jar";
+ public static final String METRO_LANG = "lang";
+ public static final String METRO_LANG_DEFAULT = "en";
+
+ public static final String METRO_HOME = "metro.home";
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/CreateBlockProjectOperation.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/CreateBlockProjectOperation.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,76 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+ Licensed 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.metro.studio.eclipse.ui.controller;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.metro.facility.presentationservice.api.IModelChannel;
+import org.apache.metro.facility.presentationservice.impl.ChannelException;
+import org.apache.metro.studio.eclipse.ui.wizards.NewMetroProjectWizard;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+
+/**
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>
+ *
+ */
+public class CreateBlockProjectOperation implements IRunnableWithProgress
+{
+
+ private IModelChannel channel;
+
+ public CreateBlockProjectOperation()
+ {}
+
+ /**
+ * @param pParam
+ * @param pModel
+ */
+ public CreateBlockProjectOperation(IModelChannel channel)
+ {
+ this.channel = channel;
+ }
+
+ public void run(IProgressMonitor monitor)
+ throws InvocationTargetException, InterruptedException
+ {
+ if (monitor == null)
+ {
+ monitor = new NullProgressMonitor();
+ }
+ try
+ {
+ try
+ {
+ // monitor.beginTask(MerlinDeveloperUI.getResourceString("NewWebAppProjectOperation.createWebAppTask.description"), 1); //$NON-NLS-1$
+
+ channel.controlClicked(NewMetroProjectWizard.NEW_PROJECT_FINISH);
+
+ } finally
+ {
+ monitor.done();
+ }
+ } catch (ChannelException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ }
+
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/NewMetroProjectWizardController.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/NewMetroProjectWizardController.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,128 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+Licensed 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.metro.studio.eclipse.ui.controller;
+
+import org.apache.metro.facility.presentationservice.api.ChannelListener;
+import org.apache.metro.facility.presentationservice.impl.ChannelEvent;
+import org.apache.metro.facility.presentationservice.impl.ChannelException;
+import org.apache.metro.facility.presentationservice.impl.ViewChannel;
+import org.apache.metro.studio.eclipse.core.templateengine.BlockProjectManager;
+import org.apache.metro.studio.eclipse.core.templateengine.ResourceTemplateManager;
+import org.apache.metro.studio.eclipse.ui.wizards.NewMetroProjectSelectionPage;
+import org.apache.metro.studio.eclipse.ui.wizards.NewMetroProjectWizard;
+import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+
+/**
+ * @author <a href="mailto:[email protected]">Metro Development Team</a>
+ * 22.08.2004
+ * last change:
+ *
+ */
+public class NewMetroProjectWizardController
+{
+ ResourceTemplateManager rm;
+ /**
+ *
+ */
+ public NewMetroProjectWizardController()
+ {
+ super();
+ }
+
+ private ChannelEvent selectionListClicked(ChannelEvent event)
+ {
+
+ String help = BlockProjectManager.getResourceHelp(event.getValue(NewMetroProjectSelectionPage.SELECTION_CONTROL_SELECTED));
+ event.putValue("resource.help", help);
+ return event;
+ }
+
+ private ChannelEvent selectionApplyClicked(ChannelEvent event)
+ {
+ try
+ {
+ String projectName = event.getValue(NewMetroProjectWizard.NEW_PROJECT_NAME);
+ String templateName = event.getValue(NewMetroProjectSelectionPage.SELECTION_CONTROL_SELECTED);
+
+ IProject project = BlockProjectManager.create(projectName, templateName);
+ project.refreshLocal(IResource.DEPTH_INFINITE, null);
+ } catch (CoreException e)
+ {
+
+ e.printStackTrace();
+ }
+
+
+ return event;
+ }
+
+ private ChannelEvent selectionWindowCreated(ChannelEvent event)
+ {
+ rm = ResourceTemplateManager.load(ResourceTemplateManager.DEFAULT_CONFIG_PATH);
+ event.putValueArray(NewMetroProjectSelectionPage.SELECTION_CONTROL_LIST, BlockProjectManager.listTemplateNames());
+ return event;
+ }
+
+ /**
+ * register all event listeners
+ *
+ */
+ public void initialize()
+ {
+
+ try
+ {
+ ViewChannel channel = new ViewChannel("newBlockWizard");
+
+ channel.addControlClickedListener(NewMetroProjectSelectionPage.SELECTION_CONTROL, new ChannelListener (){
+ public ChannelEvent notify(ChannelEvent event) throws ChannelException
+ {
+ selectionListClicked(event);
+ return event;
+
+ }
+ });
+
+ channel.addControlClickedListener(NewMetroProjectWizard.NEW_PROJECT_FINISH, new ChannelListener (){
+ public ChannelEvent notify(ChannelEvent event) throws ChannelException
+ {
+ selectionApplyClicked(event);
+ return event;
+
+ }
+ });
+
+ channel.addWindowCreatedListener(NewMetroProjectSelectionPage.SELECTION_PANEL, new ChannelListener (){
+ public ChannelEvent notify(ChannelEvent event) throws ChannelException
+ {
+ event = selectionWindowCreated(event);
+ return event;
+
+ }
+ });
+
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+
+ }
+
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/PreferencesController.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/controller/PreferencesController.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,103 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+Licensed 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.metro.studio.eclipse.ui.controller;
+
+import org.apache.metro.facility.presentationservice.api.ChannelListener;
+import org.apache.metro.facility.presentationservice.impl.ChannelEvent;
+import org.apache.metro.facility.presentationservice.impl.ChannelException;
+import org.apache.metro.facility.presentationservice.impl.ViewChannel;
+import org.apache.metro.studio.eclipse.core.environment.MetroEnvironment;
+import org.apache.metro.studio.eclipse.core.environment.ServerEnvironment;
+import org.apache.metro.studio.eclipse.ui.panels.ServerSettingsPanel;
+
+/**
+ * @author <a href="mailto:[email protected]">Metro Development Team</a>
+ * 22.08.2004
+ * last change:
+ *
+ */
+public class PreferencesController
+{
+
+ /**
+ *
+ */
+ public PreferencesController()
+ {
+ super();
+ }
+
+ private void serverApplyClicked(ChannelEvent event)
+ {
+ event.getValue(ServerSettingsPanel.SERVER_DEPLOY);
+ event.getValue(ServerSettingsPanel.SERVER_LANG);
+ event.getValue(ServerSettingsPanel.SERVER_ROOT_BLOCK);
+ event.getValue(ServerSettingsPanel.SERVER_ROOT_FACILITY);
+ event.getValue(ServerSettingsPanel.SERVER_STARTUP_JAR);
+
+ }
+
+ private void serverWindowCreated(ChannelEvent event)
+ {
+ MetroEnvironment env = new MetroEnvironment();
+
+ event.putValue(ServerSettingsPanel.SERVER_DEPLOY, "");
+ event.putValue(ServerSettingsPanel.SERVER_LANG, ServerEnvironment.DEFAULT_LANG);
+ event.putValue(ServerSettingsPanel.SERVER_ROOT_BLOCK, env.getMerlinHome());
+ event.putValue(ServerSettingsPanel.SERVER_ROOT_FACILITY, "");
+ event.putValue(ServerSettingsPanel.SERVER_STARTUP_JAR, "");
+
+ }
+
+ /**
+ * register all event listeners
+ *
+ */
+ public void initialize()
+ {
+
+ try
+ {
+ ViewChannel channel = new ViewChannel("server");
+
+ channel.addControlClickedListener(ServerSettingsPanel.SERVER_APPLY, new ChannelListener (){
+ public ChannelEvent notify(ChannelEvent event) throws ChannelException
+ {
+ serverApplyClicked(event);
+ return event;
+
+ }
+ });
+
+ channel.addWindowCreatedListener(ServerSettingsPanel.SERVER_PANEL, new ChannelListener (){
+ public ChannelEvent notify(ChannelEvent event) throws ChannelException
+ {
+ serverWindowCreated(event);
+ return event;
+
+ }
+ });
+
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+
+ }
+
+}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/RepositorySettingsPanel.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/RepositorySettingsPanel.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,238 @@
+/*
+ * Created on 17.08.2004
+ *
+ * TODO To change the template for this generated file go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.panels;
+import org.apache.metro.studio.eclipse.ui.common.CommonDialogs;
+import org.apache.metro.studio.eclipse.ui.common.ModelObject;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+public class RepositorySettingsPanel {
+
+ public static final String REPOSITORY_PANEL = "repository.panel";
+ public static final String REPOSITORY_APPLY = "repository.apply";
+ public static final String REPOSITORY_DEFAULT = "repository.default";
+
+ public static final String REPOSITORY_USER = "repository.user";
+ public static final String REPOSITORY_SYSTEM = "repository.system";
+ public static final String REPOSITORY_REMOTE = "repository.remote";
+ public static final String REPOSITORY_PROXY_HOST = "repository.proxyhost";
+ public static final String REPOSITORY_PROXY_PORT = "repository.proxyport";
+ public static final String REPOSITORY_PROXY_USER = "repository.proxyuser";
+ public static final String REPOSITORY_PROXY_PWD = "repository.proxypwd";
+
+ private Text password;
+ private Text userName;
+ private Text proxyPort;
+ private Text proxyHome;
+ private List remoteHosts;
+ private Text userRepository;
+ private Text systemRepository;
+ private Text metroHome;
+ private Shell shell;
+
+ private ModelObject model;
+
+ /**
+ *
+ */
+ public RepositorySettingsPanel() {
+ super();
+ }
+
+ public void initializeControls(ModelObject cModel)
+ {
+ this.model = cModel.windowCreated(REPOSITORY_PANEL);
+ showControls();
+
+ }
+
+ public void performApply()
+ {
+ storeControls();
+ model.controlClicked(REPOSITORY_APPLY);
+ }
+
+ public void performDefaults()
+ {
+ model = model.controlClicked(REPOSITORY_DEFAULT);
+ showControls();
+ }
+
+ private void storeControls()
+ {
+ model.setString(REPOSITORY_PROXY_PWD, password.getText());
+ model.setString(REPOSITORY_PROXY_USER, userName.getText());
+ model.setString(REPOSITORY_PROXY_PORT, proxyPort.getText());
+ model.setString(REPOSITORY_PROXY_HOST, proxyHome.getText());
+ model.setString(REPOSITORY_USER, userRepository.getText());
+ model.setString(REPOSITORY_SYSTEM, systemRepository.getText());
+ }
+ private void showControls()
+ {
+ password.setText(model.getString(REPOSITORY_PROXY_PWD));
+ userName.setText(model.getString(REPOSITORY_PROXY_USER));
+ proxyPort.setText(model.getString(REPOSITORY_PROXY_PORT));
+ proxyHome.setText(model.getString(REPOSITORY_PROXY_HOST));
+ //remoteHosts.setText(model.getString(REPOSITORY_PROXY_PWD));
+ userRepository.setText(model.getString(REPOSITORY_USER));
+ systemRepository.setText(model.getString(REPOSITORY_SYSTEM));
+
+ }
+ /**
+ * Create all controls
+ * @param parent
+ * @return
+ */
+ public Control createControls(Composite parent) {
+ shell = parent.getShell();
+ Composite contents = new Composite(parent, SWT.NONE);
+ final GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 3;
+ contents.setLayout(gridLayout);
+ contents.setLayoutData(new GridData(GridData.FILL_BOTH));
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Metro Home:");
+ }
+ {
+ metroHome = new Text(contents, SWT.BORDER);
+ metroHome.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ metroHome.setText(CommonDialogs.getPath(shell)); }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("System Repository:");
+ }
+ {
+ systemRepository = new Text(contents, SWT.BORDER);
+ systemRepository.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ systemRepository.setText(CommonDialogs.getPath(shell)); }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("User Repository:");
+ }
+ {
+ userRepository = new Text(contents, SWT.BORDER);
+ userRepository.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ userRepository.setText(CommonDialogs.getPath(shell)); }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ final GridData gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+ gridData.verticalSpan = 2;
+ label.setLayoutData(gridData);
+ label.setText("Remote Repositories:");
+ }
+ {
+ remoteHosts = new List(contents, SWT.BORDER);
+ final GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ gridData.heightHint = 80;
+ gridData.verticalSpan = 2;
+ remoteHosts.setLayoutData(gridData);
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ final GridData gridData = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+ gridData.verticalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Proxy Host:");
+ }
+ {
+ proxyHome = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData(GridData.HORIZONTAL_ALIGN_FILL);
+ proxyHome.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Proxy Port:");
+ }
+ {
+ proxyPort = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData();
+ gridData.widthHint = 150;
+ gridData.horizontalSpan = 2;
+ proxyPort.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Username:");
+ }
+ {
+ userName = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData();
+ gridData.widthHint = 150;
+ gridData.horizontalSpan = 2;
+ userName.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Password:");
+ }
+ {
+ password = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData();
+ gridData.widthHint = 150;
+ gridData.horizontalSpan = 2;
+ password.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ button.setText("Test Remote Repository");
+ }
+
+
+ return contents;
+ }
+
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/ServerSettingsPanel.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/panels/ServerSettingsPanel.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,257 @@
+/*
+ * Created on 17.08.2004
+ *
+ * TODO To change the template for this generated file go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+package org.apache.metro.studio.eclipse.ui.panels;
+import org.apache.metro.facility.presentationservice.api.IModelChannel;
+import org.apache.metro.facility.presentationservice.impl.ChannelException;
+import org.apache.metro.facility.presentationservice.impl.ModelChannel;
+import org.apache.metro.studio.eclipse.ui.common.CommonDialogs;
+import org.apache.metro.studio.eclipse.ui.common.ModelObject;
+import org.apache.metro.studio.eclipse.ui.controller.PreferencesController;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.events.SelectionAdapter;
+import org.eclipse.swt.events.SelectionEvent;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.swt.widgets.Text;
+/**
+ * @author EH2OBCK
+ *
+ * TODO To change the template for this generated type comment go to Window -
+ * Preferences - Java - Code Generation - Code and Comments
+ */
+public class ServerSettingsPanel {
+
+ public static final String SERVER_PANEL = "server.panel";
+ public static final String SERVER_APPLY = "server.apply";
+ public static final String SERVER_DEFAULT = "server.default";
+
+ public static final String SERVER_STARTUP_JAR = "server.startup.jar";
+ public static final String SERVER_ROOT_FACILITY = "server.facility";
+ public static final String SERVER_ROOT_BLOCK = "server.block";
+ public static final String SERVER_LANG = "server.lang";
+ public static final String SERVER_TIMEOUT = "server.timeout";
+ public static final String SERVER_DEBUG = "server.debug";
+ public static final String SERVER_DEPLOY = "server.deploy";
+ public static final String SERVER_EXECUTE = "server.execute";
+ public static final String SERVER_ASSAMBLY = "server.assambly";
+ public static final String SERVER_SECURITY = "server.security";
+
+ private Text deploymentTimeout;
+ private Text language;
+ private Text rootBlock;
+ private Text rootFacility;
+ private Text serverLib;
+
+ private Shell shell;
+ private IModelChannel model;
+
+ /**
+ *
+ */
+ public ServerSettingsPanel() {
+ super();
+ }
+
+ public void initializeControls(ModelObject cModel)
+ {
+ try
+ {
+ // initialize the controller
+ new PreferencesController().initialize();
+ model = new ModelChannel("server");
+ model.windowCreated(SERVER_PANEL);
+ showControls();
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public void performDefaults()
+ {
+ try
+ {
+ model.controlClicked(SERVER_DEFAULT);
+ showControls();
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ public void performApply()
+ {
+ try
+ {
+ storeControls();
+ model.controlClicked(SERVER_APPLY);
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+ }
+
+ private void showControls()
+ {
+ deploymentTimeout.setText(model.getValue(SERVER_DEPLOY));
+ language.setText(model.getValue(SERVER_LANG));
+ rootBlock.setText(model.getValue(SERVER_ROOT_BLOCK));
+ rootFacility.setText(model.getValue(SERVER_ROOT_FACILITY));
+ serverLib.setText(model.getValue(SERVER_STARTUP_JAR));
+ }
+
+ private void storeControls()
+ {
+ model.putValue(SERVER_DEPLOY, deploymentTimeout.getText());
+ model.putValue(SERVER_LANG, language.getText());
+ model.putValue(SERVER_ROOT_BLOCK, rootBlock.getText());
+ model.putValue(SERVER_ROOT_FACILITY, rootFacility.getText());
+ model.putValue(SERVER_STARTUP_JAR, serverLib.getText());
+ }
+
+ public Control createControls(Composite parent) {
+ shell = parent.getShell();
+
+ Composite contents = new Composite(parent, SWT.NONE);
+ final GridLayout gridLayout = new GridLayout();
+ gridLayout.numColumns = 3;
+ contents.setLayout(gridLayout);
+ contents.setLayoutData(new GridData(GridData.FILL_BOTH));
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Server &Lib (*.jar):");
+ }
+ {
+ serverLib = new Text(contents, SWT.BORDER);
+ serverLib.setLayoutData(new GridData(GridData.FILL_HORIZONTAL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ serverLib.setText(CommonDialogs.getFilePath(shell));
+ }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Root &Facility:");
+ }
+ {
+ rootFacility = new Text(contents, SWT.BORDER);
+ rootFacility.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e) {
+ rootFacility.setText(CommonDialogs.getFilePath(shell));
+ }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Root &Block:");
+ }
+ {
+ rootBlock = new Text(contents, SWT.BORDER);
+ rootBlock.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL));
+ }
+ {
+ final Button button = new Button(contents, SWT.NONE);
+ button.addSelectionListener(new SelectionAdapter() {
+ public void widgetSelected(SelectionEvent e)
+ {
+ rootBlock.setText(CommonDialogs.getFilePath(shell));
+ }
+ });
+ button.setText("...");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Language:");
+ }
+ {
+ language = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ gridData.widthHint = 150;
+ language.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ label.setText("Deployment Timeout:");
+ }
+ {
+ deploymentTimeout = new Text(contents, SWT.BORDER);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ gridData.widthHint = 150;
+ deploymentTimeout.setLayoutData(gridData);
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("Show debug messages");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("Show deployment parameters");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("Start in server mode");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("Show assambly model");
+ }
+ {
+ final Label label = new Label(contents, SWT.NONE);
+ }
+ {
+ final Button button = new Button(contents, SWT.CHECK);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ button.setLayoutData(gridData);
+ button.setText("Enable code security:");
+ }
+
+ return contents;
+ }
+
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/MainPreferencePage.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/MainPreferencePage.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,59 @@
+package org.apache.metro.studio.eclipse.ui.preferences;
+
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
+import org.eclipse.jface.preference.IPreferenceStore;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+
+/**
+ * This class represents a preference page that
+ * is contributed to the Preferences dialog. By
+ * subclassing <samp>FieldEditorPreferencePage</samp>, we
+ * can use the field support built into JFace that allows
+ * us to create a page that is small and knows how to
+ * save, restore and apply itself.
+ * <p>
+ * This page is used to modify preferences only. They
+ * are stored in the preference store that belongs to
+ * the main plug-in class. That way, preferences can
+ * be accessed directly via the preference store.
+ */
+
+
+public class MainPreferencePage
+ extends PreferencePage
+ implements IWorkbenchPreferencePage {
+
+ public MainPreferencePage() {
+ super();
+ setPreferenceStore(MetroStudioUI.getDefault().getPreferenceStore());
+ setDescription("A demonstration of a preference page implementation");
+ initializeDefaults();
+ }
+/**
+ * Sets the default values of the preferences.
+ */
+ private void initializeDefaults() {
+ IPreferenceStore store = getPreferenceStore();
+ // store.setDefault(ILaunchConfigConstants.MERLIN_DIR, "test");
+ }
+
+ protected Control createContents(Composite parent)
+ {
+ Composite composite = new Composite(parent, SWT.NONE);
+ FillLayout layout = new FillLayout();
+ layout.marginHeight = 20;
+ composite.setLayout(layout);
+
+ // new DirectorySettingsPanel().createControls(composite);
+ return composite;
+ }
+
+ public void init(IWorkbench workbench) {
+ }
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/RepositoryPreferencePage.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/RepositoryPreferencePage.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,71 @@
+package org.apache.metro.studio.eclipse.ui.preferences;
+
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
+import org.apache.metro.studio.eclipse.ui.common.ModelObject;
+import org.apache.metro.studio.eclipse.ui.panels.RepositorySettingsPanel;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+/**
+ * This class represents a preference page that is contributed to the
+ * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage </samp>,
+ * we can use the field support built into JFace that allows us to create a page
+ * that is small and knows how to save, restore and apply itself.
+ * <p>
+ * This page is used to modify preferences only. They are stored in the
+ * preference store that belongs to the main plug-in class. That way,
+ * preferences can be accessed directly via the preference store.
+ */
+public class RepositoryPreferencePage extends PreferencePage
+ implements
+ IWorkbenchPreferencePage {
+
+ RepositorySettingsPanel panel;
+
+ public RepositoryPreferencePage() {
+ super();
+ setPreferenceStore(MetroStudioUI.getDefault().getPreferenceStore());
+ setDescription("A demonstration of a preference page implementation");
+ }
+
+
+ protected Control createContents(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ FillLayout layout = new FillLayout();
+ composite.setLayout(layout);
+
+ panel = new RepositorySettingsPanel();
+
+ panel.createControls(composite);
+ panel.initializeControls(new ModelObject(this));
+ return composite;
+ }
+
+ public void init(IWorkbench workbench) {
+ }
+ /**
+ * @see org.eclipse.jface.preference.PreferencePage#performApply()
+ */
+ protected void performApply() {
+ panel.performApply();
+ super.performApply();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ panel.performDefaults();
+ super.performDefaults();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+ panel.performApply();
+ return super.performOk();
+ }
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/ServerPreferencePage.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/preferences/ServerPreferencePage.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,72 @@
+package org.apache.metro.studio.eclipse.ui.preferences;
+
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
+import org.apache.metro.studio.eclipse.ui.common.ModelObject;
+import org.apache.metro.studio.eclipse.ui.panels.ServerSettingsPanel;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.IWorkbenchPreferencePage;
+/**
+ * This class represents a preference page that is contributed to the
+ * Preferences dialog. By subclassing <samp>FieldEditorPreferencePage </samp>,
+ * we can use the field support built into JFace that allows us to create a page
+ * that is small and knows how to save, restore and apply itself.
+ * <p>
+ * This page is used to modify preferences only. They are stored in the
+ * preference store that belongs to the main plug-in class. That way,
+ * preferences can be accessed directly via the preference store.
+ */
+public class ServerPreferencePage extends PreferencePage
+ implements
+ IWorkbenchPreferencePage {
+
+ ServerSettingsPanel panel;
+
+ public ServerPreferencePage() {
+ super();
+ setPreferenceStore(MetroStudioUI.getDefault().getPreferenceStore());
+ setDescription("A demonstration of a preference page implementation");
+ }
+
+ /**
+ * Create all controls.
+ * This is extracted to a Panel class so that the layout can be
+ * reused in Property- or Wizard- classes
+ */
+ protected Control createContents(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ FillLayout layout = new FillLayout();
+ composite.setLayout(layout);
+
+ panel = new ServerSettingsPanel();
+ panel.createControls(composite);
+ panel.initializeControls(new ModelObject(this));
+ return composite;
+ }
+ /**
+ * Apply button pressed
+ */
+ protected void performApply() {
+ panel.performApply();
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.PreferencePage#performDefaults()
+ */
+ protected void performDefaults() {
+ panel.performDefaults();
+
+ }
+ /* (non-Javadoc)
+ * @see org.eclipse.jface.preference.IPreferencePage#performOk()
+ */
+ public boolean performOk() {
+ panel.performApply();
+ return super.performOk();
+ }
+ public void init(IWorkbench workbench) {
+ }
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/properties/SamplePropertyPage.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/properties/SamplePropertyPage.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,127 @@
+package org.apache.metro.studio.eclipse.ui.properties;
+
+import org.eclipse.core.resources.IResource;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.QualifiedName;
+import org.eclipse.jface.preference.PreferencePage;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.FillLayout;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.dialogs.PropertyPage;
+
+public class SamplePropertyPage extends PropertyPage {
+
+ private static final String PATH_TITLE = "Path:";
+ private static final String OWNER_TITLE = "&Owner:";
+ private static final String OWNER_PROPERTY = "OWNER";
+ private static final String DEFAULT_OWNER = "John Doe";
+
+ private static final int TEXT_FIELD_WIDTH = 50;
+
+ private Text ownerText;
+
+ /**
+ * Constructor for SamplePropertyPage.
+ */
+ public SamplePropertyPage() {
+ super();
+ }
+
+ private void addFirstSection(Composite parent) {
+ Composite composite = createDefaultComposite(parent);
+
+ //Label for path field
+ Label pathLabel = new Label(composite, SWT.NONE);
+ pathLabel.setText(PATH_TITLE);
+
+ // Path text field
+ Text pathValueText = new Text(composite, SWT.WRAP | SWT.READ_ONLY);
+ pathValueText.setText(((IResource) getElement()).getFullPath().toString());
+ }
+
+ private void addSeparator(Composite parent) {
+ Label separator = new Label(parent, SWT.SEPARATOR | SWT.HORIZONTAL);
+ GridData gridData = new GridData();
+ gridData.horizontalAlignment = GridData.FILL;
+ gridData.grabExcessHorizontalSpace = true;
+ separator.setLayoutData(gridData);
+ }
+
+ private void addSecondSection(Composite parent) {
+ Composite composite = createDefaultComposite(parent);
+
+ // Label for owner field
+ Label ownerLabel = new Label(composite, SWT.NONE);
+ ownerLabel.setText(OWNER_TITLE);
+
+ // Owner text field
+ ownerText = new Text(composite, SWT.SINGLE | SWT.BORDER);
+ GridData gd = new GridData();
+ gd.widthHint = convertWidthInCharsToPixels(TEXT_FIELD_WIDTH);
+ ownerText.setLayoutData(gd);
+
+ // Populate owner text field
+ try {
+ String owner =
+ ((IResource) getElement()).getPersistentProperty(
+ new QualifiedName("", OWNER_PROPERTY));
+ ownerText.setText((owner != null) ? owner : DEFAULT_OWNER);
+ } catch (CoreException e) {
+ ownerText.setText(DEFAULT_OWNER);
+ }
+ }
+
+ /**
+ * @see PreferencePage#createContents(Composite)
+ */
+ protected Control createContents(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NONE);
+ FillLayout layout = new FillLayout();
+ layout.marginHeight = 20;
+ composite.setLayout(layout);
+ /*
+ addFirstSection(composite);
+ addSeparator(composite);
+ addSecondSection(composite);
+ */
+ // new DirectorySettingsPanel().createControls(composite);
+ return composite;
+ }
+
+ private Composite createDefaultComposite(Composite parent) {
+ Composite composite = new Composite(parent, SWT.NULL);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ composite.setLayout(layout);
+
+ GridData data = new GridData();
+ data.verticalAlignment = GridData.FILL;
+ data.horizontalAlignment = GridData.FILL;
+ composite.setLayoutData(data);
+
+ return composite;
+ }
+
+ protected void performDefaults() {
+ // Populate the owner text field with the default value
+ ownerText.setText(DEFAULT_OWNER);
+ }
+
+ public boolean performOk() {
+ // store the value in the owner text field
+ try {
+ ((IResource) getElement()).setPersistentProperty(
+ new QualifiedName("", OWNER_PROPERTY),
+ ownerText.getText());
+ } catch (CoreException e) {
+ return false;
+ }
+ return true;
+ }
+
+}
\ No newline at end of file
Modified: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/AvalonProposals.java
==============================================================================
--- avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/avalon/ide/eclipse/merlin/ui/tools/AvalonProposals.java (original)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/AvalonProposals.java Tue Aug 31 21:01:03 2004
@@ -15,7 +15,7 @@
limitations under the License.
*/
-package org.apache.avalon.ide.eclipse.merlin.ui.tools;
+package org.apache.metro.studio.eclipse.ui.tools;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.jface.text.BadLocationException;
Modified: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ExampleBuilder.java
==============================================================================
--- avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/avalon/ide/eclipse/merlin/ui/tools/ExampleBuilder.java (original)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ExampleBuilder.java Tue Aug 31 21:01:03 2004
@@ -26,7 +26,7 @@
*/
-package org.apache.avalon.ide.eclipse.merlin.ui.tools;
+package org.apache.metro.studio.eclipse.ui.tools;
import java.util.Map;
Modified: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ImageViewerEditor.java
==============================================================================
--- avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/avalon/ide/eclipse/merlin/ui/tools/ImageViewerEditor.java (original)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/ImageViewerEditor.java Tue Aug 31 21:01:03 2004
@@ -16,7 +16,7 @@
*/
-package org.apache.avalon.ide.eclipse.merlin.ui.tools;
+package org.apache.metro.studio.eclipse.ui.tools;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.swt.SWT;
@@ -38,6 +38,7 @@
import org.eclipse.ui.PartInitException;
import org.eclipse.ui.part.EditorPart;
import org.eclipse.ui.part.FileEditorInput;
+
public class ImageViewerEditor extends EditorPart
{
Modified: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/JavadocProcessor.java
==============================================================================
--- avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/avalon/ide/eclipse/merlin/ui/tools/JavadocProcessor.java (original)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/tools/JavadocProcessor.java Tue Aug 31 21:01:03 2004
@@ -15,14 +15,14 @@
limitations under the License.
*/
-package org.apache.avalon.ide.eclipse.merlin.ui.tools;
+package org.apache.metro.studio.eclipse.ui.tools;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.ResourceBundle;
-import org.apache.avalon.ide.eclipse.merlin.ui.MerlinDeveloperUI;
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
import org.eclipse.jdt.core.ICompilationUnit;
import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
import org.eclipse.jdt.ui.text.java.IJavadocCompletionProcessor;
@@ -56,7 +56,7 @@
// TODO Auto-generated method stub
List props = new ArrayList();
- ResourceBundle bundle = MerlinDeveloperUI.getDefault().getResourceBundle();
+ ResourceBundle bundle = MetroStudioUI.getDefault().getResourceBundle();
Enumeration enum = bundle.getKeys();
while (enum.hasMoreElements())
{
@@ -65,8 +65,8 @@
{
AvalonProposals prop = new AvalonProposals(offset, length);
prop.setKey("@" + key.substring(8,key.length()));
- prop.setDescription(MerlinDeveloperUI.getResourceString(key));
- prop.setTag(MerlinDeveloperUI.getResourceString(key + ".tag"));
+ prop.setDescription(MetroStudioUI.getResourceString(key));
+ prop.setTag(MetroStudioUI.getResourceString(key + ".tag"));
props.add(prop);
}
}
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectSelectionPage.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectSelectionPage.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,275 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+ Licensed 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.metro.studio.eclipse.ui.wizards;
+
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.metro.facility.presentationservice.api.IModelChannel;
+import org.apache.metro.facility.presentationservice.impl.ChannelException;
+import org.apache.metro.studio.eclipse.ui.wizards.WizardUtil.SelectionPageCellModifier;
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.viewers.CellEditor;
+import org.eclipse.jface.viewers.CheckboxCellEditor;
+import org.eclipse.jface.viewers.DoubleClickEvent;
+import org.eclipse.jface.viewers.IDoubleClickListener;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableLayout;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.wizard.WizardPage;
+import org.eclipse.pde.internal.ui.elements.ListContentProvider;
+import org.eclipse.pde.internal.ui.parts.FormBrowser;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.custom.BusyIndicator;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.Label;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.swt.widgets.TableColumn;
+
+
+/**
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>
+ */
+public class NewMetroProjectSelectionPage extends WizardPage implements ISelectionChangedListener
+{
+ public static final String SELECTION_PANEL = "new.selection.panel";
+ public static final String SELECTION_FINISH = "new.selection.finish";
+ public static final String SELECTION_CONTROL = "new.selection.control";
+ public static final String SELECTION_CONTROL_SELECTED = "new.selection.control.selected";
+ public static final String SELECTION_CONTROL_LIST = "new.selection.control.list";
+
+ private WizardSelectedAction doubleClickAction = new WizardSelectedAction();
+ private FormBrowser text;
+ private TableViewer projectTabel;
+ private List projectModels;
+ private String currentSelectedWizard = null;
+ private IModelChannel channel;
+
+ private class WizardSelectedAction extends Action
+ {
+ public WizardSelectedAction()
+ {
+ super("wizardSelection");
+ }
+ }
+
+ public NewMetroProjectSelectionPage(String pageName, IModelChannel channel)
+ {
+ super(pageName);
+ this.channel = channel;
+ }
+
+ /**
+ * Main method to create all controls of this page. This method is called
+ * by the wizard framework.
+ *
+ */
+ public void createControl(Composite parent)
+ {
+ Composite composite = new Composite(parent, SWT.NULL);
+ composite.setLayout(new GridLayout());
+ composite.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ createContainerGroup(composite);
+ setControl(composite);
+
+
+ }
+
+ /**
+ * create all controls.
+ *
+ */
+ protected void createContainerGroup(Composite parent)
+ {
+ Composite area = new Composite(parent, SWT.NULL);
+ final GridLayout gridLayout = new GridLayout();
+ gridLayout.makeColumnsEqualWidth = true;
+ gridLayout.numColumns = 2;
+ area.setLayout(gridLayout);
+ area.setLayoutData(new GridData(GridData.FILL_BOTH));
+
+ {
+ /**
+ * Titel for all controls
+ */
+ final Label label = new Label(area, SWT.NONE);
+ final GridData gridData = new GridData();
+ gridData.horizontalSpan = 2;
+ label.setLayoutData(gridData);
+ label.setText("sample blocks");
+ }
+ {
+ /**
+ * Tabel for Project Types
+ */
+ Table table = createTable(area);
+ createTableView(table);
+
+ try
+ {
+ channel.windowCreated(SELECTION_PANEL);
+ String[] value = channel.getValueArray(SELECTION_CONTROL_LIST);
+ projectTabel.add(value);
+ super.setPageComplete(true);
+
+ } catch (ChannelException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+
+ }
+
+ {
+ /**
+ * HTML Text Editor foe showing the project description
+ */
+ text = new FormBrowser(SWT.BORDER | SWT.V_SCROLL);
+ text.createControl(area);
+ final GridData gridData = new GridData(GridData.FILL_BOTH);
+ Control c = text.getControl();
+ c.setLayoutData(gridData);
+ }
+
+ }
+
+ /**
+ * @param table
+ */
+ private void createTableView(Table table)
+ {
+ projectTabel = new TableViewer(table);
+ projectTabel.setColumnProperties(new String []{"", "", ""});
+ projectTabel.setContentProvider(new ListContentProvider());
+ projectTabel.setLabelProvider(WizardUtil.TABLE_LABEL_PROVIDER);
+
+ // Set the cell modifier for the viewer
+ projectTabel.setCellModifier(new SelectionPageCellModifier(this));
+ // Create the cell editors
+ CellEditor[] editors = new CellEditor[3];
+ // Column 1 : Completed (Checkbox)
+ editors[0] = new CheckboxCellEditor(table);
+ // Assign the cell editors to the viewer
+ projectTabel.setCellEditors(editors);
+ projectTabel.addDoubleClickListener(new IDoubleClickListener()
+ {
+ public void doubleClick(DoubleClickEvent event)
+ {
+ doubleClickAction.run();
+ }
+ });
+ projectTabel.addSelectionChangedListener(this);
+
+ // list view pane. Add a border to the pane.
+ projectTabel.getControl().setLayoutData(new GridData(GridData.FILL_BOTH));
+ }
+
+ public TableViewer getProjectTable(){
+ return projectTabel;
+ }
+ /**
+ * Create the Table Control, which is part of the TableViewer
+ * @param pParent
+ * @param pStyle
+ * @return
+ */
+ private Table createTable(Composite parent)
+ {
+ int style = SWT.SINGLE | SWT.BORDER |
+ SWT.FULL_SELECTION | SWT.HIDE_SELECTION;
+
+ Table table = new Table(parent, style);
+ table.setLayoutData(new GridData(GridData.FILL_VERTICAL));
+
+ TableColumn column = new TableColumn(table, SWT.NONE, 0);
+ column.setWidth(22);
+ column = new TableColumn(table, SWT.NONE, 1);
+ column.setWidth(20);
+ column = new TableColumn(table, SWT.NONE, 2);
+ column.setWidth(150);
+ TableLayout layout = new TableLayout();
+ //layout.addColumnData(new ColumnWeightData(100));
+ table.setLayout(layout);
+ return table;
+ }
+
+ public void selectionChanged(SelectionChangedEvent event)
+ {
+
+ setErrorMessage(null);
+ IStructuredSelection selection = (IStructuredSelection) event.getSelection();
+ Iterator iter = selection.iterator();
+
+ if (iter.hasNext())
+ currentSelectedWizard = (String) iter.next();
+
+ BusyIndicator.showWhile(projectTabel.getControl().getDisplay(), new Runnable()
+ {
+ public void run()
+ {
+ try
+ {
+ channel.putValue(SELECTION_CONTROL_SELECTED, currentSelectedWizard);
+ channel.controlClicked(SELECTION_CONTROL);
+ // get the text and display it
+ text.setText(channel.getValue("resource.help"));
+
+ } catch (ChannelException e)
+ {
+ e.printStackTrace();
+ }
+ }
+ });
+
+
+ }
+
+ /**
+ * @return
+ */
+ public String getSelectedProjectTemplate()
+ {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ /**
+ * @param pTask
+ */
+ /*
+ public void updateTable(ProjectModel pTask)
+ {
+ Iterator it = projectModels.iterator();
+ while(it.hasNext()){
+ ProjectModel model = (ProjectModel)it.next();
+ if(model.isSelected() && !(model.equals(pTask))){
+ model.setSelected(false);
+ projectTabel.update(model, new String[]{"",""});
+ }
+ }
+
+ projectTabel.update(pTask, new String[]{"",""});
+ }
+ */
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectWizard.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/NewMetroProjectWizard.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,121 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+ Licensed 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.metro.studio.eclipse.ui.wizards;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.apache.metro.facility.presentationservice.api.IModelChannel;
+import org.apache.metro.facility.presentationservice.impl.ModelChannel;
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
+import org.apache.metro.studio.eclipse.ui.controller.CreateBlockProjectOperation;
+import org.apache.metro.studio.eclipse.ui.controller.NewMetroProjectWizardController;
+import org.eclipse.jface.operation.IRunnableWithProgress;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.jface.wizard.IWizardPage;
+import org.eclipse.jface.wizard.Wizard;
+import org.eclipse.ui.INewWizard;
+import org.eclipse.ui.IWorkbench;
+import org.eclipse.ui.actions.WorkspaceModifyDelegatingOperation;
+import org.eclipse.ui.dialogs.WizardNewProjectCreationPage;
+
+/**
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>*
+ */
+public class NewMetroProjectWizard extends Wizard implements INewWizard
+{
+
+ private WizardNewProjectCreationPage projectPage;
+ private NewMetroProjectSelectionPage selectionPage;
+
+ public static final String NEW_PROJECT_NAME = "new.project.name";
+ public static final String NEW_PROJECT_FINISH = "new.project.finish";
+
+ private IModelChannel channel;
+
+ public boolean canFinish()
+ {
+ IWizardPage page = getContainer().getCurrentPage();
+ if (page == getProjectPage())
+ return false;
+ if (page == getSelectionPage())
+ return true;
+ return false;
+ }
+
+ public boolean performFinish()
+ {
+ try
+ {
+ channel.putValue(NEW_PROJECT_NAME, getProjectPage().getProjectName());
+ // run project creation in background
+ CreateBlockProjectOperation operation =
+ new CreateBlockProjectOperation(channel);
+ IRunnableWithProgress op = new WorkspaceModifyDelegatingOperation(operation);
+ getContainer().run(false, true, op);
+ } catch (InvocationTargetException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ } catch (InterruptedException e)
+ {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
+ return true;
+ }
+
+ public void init(IWorkbench workbench, IStructuredSelection selection)
+ {
+ setWindowTitle(MetroStudioUI.getResourceString("new.blockDevelopment.window.title")); //$NON-NLS-1$
+ setDefaultPageImageDescriptor(MetroStudioUI.getImageDescriptor("icons/full/wizban/newjprj_wiz.gif")); //$NON-NLS-1$
+
+ }
+
+ public void addPages()
+ {
+ channel = new ModelChannel("newBlockWizard");
+ new NewMetroProjectWizardController().initialize();
+
+ projectPage = new WizardNewProjectCreationPage("mainPage"); //$NON-NLS-1$
+ projectPage.setTitle(MetroStudioUI.getResourceString("new.MerlinDevelopment.mainPage.title")); //$NON-NLS-1$
+ projectPage.setDescription(MetroStudioUI.getResourceString("new.MerlinDevelopment.mainPage.description")); //$NON-NLS-1$
+ addPage(projectPage);
+
+ selectionPage = new NewMetroProjectSelectionPage("selectionPage", channel);
+ selectionPage.setTitle(MetroStudioUI.getResourceString("new.MerlinDevelopment.selectionPage.title")); //$NON-NLS-1$
+ selectionPage.setDescription(MetroStudioUI.getResourceString("new.MerlinDevelopment.mainPage.description")); //$NON-NLS-1$
+ addPage(selectionPage);
+ }
+
+ /**
+ * @return
+ */
+ public WizardNewProjectCreationPage getProjectPage()
+ {
+ return projectPage;
+ }
+
+ /**
+ * @return
+ */
+ public NewMetroProjectSelectionPage getSelectionPage()
+ {
+ return selectionPage;
+ }
+
+}
\ No newline at end of file
Added: avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/WizardUtil.java
==============================================================================
--- (empty file)
+++ avalon/trunk/central/laboratory/studio/eclipse/ui/src/org/apache/metro/studio/eclipse/ui/wizards/WizardUtil.java Tue Aug 31 21:01:03 2004
@@ -0,0 +1,208 @@
+/*
+
+ Copyright 2004. The Apache Software Foundation.
+
+ Licensed 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.metro.studio.eclipse.ui.wizards;
+
+import org.apache.metro.studio.eclipse.ui.MetroStudioUI;
+import org.eclipse.jface.resource.ImageRegistry;
+import org.eclipse.jface.viewers.ICellModifier;
+import org.eclipse.jface.viewers.ILabelProvider;
+import org.eclipse.jface.viewers.ITableLabelProvider;
+import org.eclipse.pde.internal.ui.elements.ElementLabelProvider;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.TableItem;
+
+/**
+ * @author <a href="mailto:[email protected]">Avalon Development Team</a>*
+ */
+public class WizardUtil
+{
+
+ /**
+ * This class is used as Labelprovider in SelectionPage
+ *
+ */
+ static class TableLabelProvider extends ElementLabelProvider implements ITableLabelProvider
+ {
+
+ // Names of images used to represent checkboxes
+ public static final String CHECKED_IMAGE = "checked";
+ public static final String UNCHECKED_IMAGE = "unchecked";
+ public static final String MERLIN_IMAGE = "merlin";
+
+ // For the checkbox images
+ private static ImageRegistry imageRegistry = new ImageRegistry();
+
+ /**
+ * Note: An image registry owns all of the image objects registered
+ * with it, and automatically disposes of them the SWT Display is
+ * disposed.
+ */
+ static {
+ imageRegistry.put(
+ CHECKED_IMAGE,
+ MetroStudioUI.getImageDescriptor("icons/" + CHECKED_IMAGE + ".gif"));
+ imageRegistry.put(
+ UNCHECKED_IMAGE,
+ MetroStudioUI.getImageDescriptor("icons/" + UNCHECKED_IMAGE + ".gif"));
+ imageRegistry.put(
+ MERLIN_IMAGE,
+ MetroStudioUI.getImageDescriptor("icons/" + MERLIN_IMAGE + ".gif"));
+
+ }
+
+ /**
+ * Returns the image with the given key, or <code>null</code> if not
+ * found.
+ */
+ private Image getImage(boolean isSelected)
+ {
+ String key = isSelected ? CHECKED_IMAGE : UNCHECKED_IMAGE;
+ return imageRegistry.get(key);
+ }
+
+ /**
+ * show the text label
+ *
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnText(java.lang.Object,
+ * int)
+ */
+ public String getColumnText(Object o, int index)
+ {
+ String result = "";
+ switch (index)
+ {
+ case 0 : // COMPLETED_COLUMN
+ result = "";
+ break;
+ case 1 : // merlin icon
+ result = "";
+ break;
+ case 2 : // merlin icon
+ result = (String)o;
+ break;
+ default :
+ }
+ return result;
+ }
+ /**
+ * show the icon
+ *
+ * @see org.eclipse.jface.viewers.ITableLabelProvider#getColumnImage(java.lang.Object,
+ * int)
+ */
+ public Image getColumnImage(Object element, int columnIndex)
+ {
+ Image result = null;
+ switch (columnIndex)
+ {
+ case 0 : // COMPLETED_COLUMN
+ result = getImage(false);
+ break;
+ case 1 : // merlin icon
+ result = imageRegistry.get(MERLIN_IMAGE);
+ break;
+ case 2:
+ result = null;
+ break;
+ default :
+ }
+ return result;
+ }
+
+ }
+ public static class SelectionPageCellModifier implements ICellModifier
+ {
+ private NewMetroProjectSelectionPage selectionPage;
+ private String[] columnNames;
+
+ /**
+ * Constructor
+ *
+ * @param selectionPage
+ * an instance of a selectionPage
+ */
+ public SelectionPageCellModifier(NewMetroProjectSelectionPage tableViewer)
+ {
+ super();
+ this.selectionPage = tableViewer;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ICellModifier#canModify(java.lang.Object,
+ * java.lang.String)
+ */
+ public boolean canModify(Object element, String property)
+ {
+ return true;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ICellModifier#getValue(java.lang.Object,
+ * java.lang.String)
+ */
+ public Object getValue(Object element, String property)
+ {
+
+ // Find the index of the column
+ int columnIndex = 0;
+
+ Object result = null;
+ //&& ProjectModel task = (ProjectModel) element;
+
+ switch (columnIndex)
+ {
+ case 0 : // COMPLETED_COLUMN
+ //&& result = new Boolean(task.isSelected());
+ result = new Boolean(true);
+ break;
+ default :
+ result = "";
+ }
+ return result;
+ }
+
+ /**
+ * @see org.eclipse.jface.viewers.ICellModifier#modify(java.lang.Object,
+ * java.lang.String, java.lang.Object)
+ */
+ public void modify(Object element, String property, Object value)
+ {
+
+ // Find the index of the column
+ int columnIndex = 0;
+
+ TableItem item = (TableItem) element;
+ // ProjectModel task = (ProjectModel) item.getData();
+
+ switch (columnIndex)
+ {
+ case 0 : // COMPLETED_COLUMN
+ // task.setSelected(((Boolean) value).booleanValue());
+ break;
+ default :
+ }
+ //selectionPage.updateTable(task);
+ }
+ }
+ public static final ILabelProvider TABLE_LABEL_PROVIDER = new TableLabelProvider();
+
+ public WizardUtil()
+ {
+ super();
+ }
+}