diff options
| author | Matthias Villiger | 2013-03-25 12:33:15 +0000 |
|---|---|---|
| committer | Matthias Villiger | 2013-03-25 12:33:15 +0000 |
| commit | 70878c547f1a46adb23c42ebaa3c4914a29c49fc (patch) | |
| tree | d3c402088e168ccbc3c0eb673d03c31031b0c931 | |
| parent | 28e8ae5691f4df7d12e93e156d867dee011548a4 (diff) | |
| download | org.eclipse.scout.sdk-70878c547f1a46adb23c42ebaa3c4914a29c49fc.tar.gz org.eclipse.scout.sdk-70878c547f1a46adb23c42ebaa3c4914a29c49fc.tar.xz org.eclipse.scout.sdk-70878c547f1a46adb23c42ebaa3c4914a29c49fc.zip | |
Support for Scout Mobile UI
https://bugs.eclipse.org/bugs/show_bug.cgi?id=394127
new session menu only available, when a desktop is existing
| -rw-r--r-- | org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/action/InstallClientSessionAction.java | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/action/InstallClientSessionAction.java b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/action/InstallClientSessionAction.java index ffdce3386..05396dc6b 100644 --- a/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/action/InstallClientSessionAction.java +++ b/org.eclipse.scout.sdk.ui/src/org/eclipse/scout/sdk/ui/action/InstallClientSessionAction.java @@ -18,6 +18,7 @@ import org.eclipse.scout.sdk.operation.project.CreateClientPluginOperation; import org.eclipse.scout.sdk.operation.project.CreateSharedPluginOperation; import org.eclipse.scout.sdk.operation.template.InstallJavaFileOperation; import org.eclipse.scout.sdk.ui.internal.ScoutSdkUi; +import org.eclipse.scout.sdk.util.type.TypeUtility; import org.eclipse.scout.sdk.util.typecache.ICachedTypeHierarchy; import org.eclipse.scout.sdk.workspace.IScoutBundle; import org.eclipse.scout.sdk.workspace.ScoutBundleFilters; @@ -42,10 +43,14 @@ public class InstallClientSessionAction extends AbstractOperationAction { if (clientSessions.length == 0) { IScoutBundle shared = scoutResource.getParentBundle(ScoutBundleFilters.getBundlesOfTypeFilter(IScoutBundle.TYPE_SHARED), false); if (shared != null) { - HashMap<String, String> props = new HashMap<String, String>(2); - props.put(CreateSharedPluginOperation.PROP_BUNDLE_SHARED_NAME, shared.getSymbolicName()); - props.put(CreateClientPluginOperation.PROP_BUNDLE_CLIENT_NAME, scoutResource.getSymbolicName()); - setOperation(new InstallJavaFileOperation("templates/client/src/ClientSession.java", "ClientSession.java", scoutResource, props)); + String pck = scoutResource.getPackageName("ui.desktop"); + IType desktopType = TypeUtility.getType(pck + ".Desktop"); + if (TypeUtility.exists(desktopType)) { + HashMap<String, String> props = new HashMap<String, String>(2); + props.put(CreateSharedPluginOperation.PROP_BUNDLE_SHARED_NAME, shared.getSymbolicName()); + props.put(CreateClientPluginOperation.PROP_BUNDLE_CLIENT_NAME, scoutResource.getSymbolicName()); + setOperation(new InstallJavaFileOperation("templates/client/src/ClientSession.java", "ClientSession.java", scoutResource, props)); + } } } } |
