X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;ds=sidebyside;f=bundles%2Forg.simantics.document.swt.core%2Fsrc%2Forg%2Fsimantics%2Fdocument%2Fswt%2Fcore%2Fbase%2FPropertyWidgetManager.java;h=f48111671e1ec47927ece48ee7cfda2b1c1643d2;hb=e4ffdffae875e518a4eb070b8bda6ead1a9843d3;hp=dfb73e879b916099890e0b7b9ae5a1c10eca3905;hpb=969bd23cab98a79ca9101af33334000879fb60c5;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/base/PropertyWidgetManager.java b/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/base/PropertyWidgetManager.java index dfb73e879..f48111671 100644 --- a/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/base/PropertyWidgetManager.java +++ b/bundles/org.simantics.document.swt.core/src/org/simantics/document/swt/core/base/PropertyWidgetManager.java @@ -1,20 +1,53 @@ -package org.simantics.document.swt.core.base; - -import org.simantics.document.server.IEventCommand; -import org.simantics.document.server.JSONObject; -import org.simantics.document.server.client.WidgetManager; -import org.simantics.document.swt.core.SWTDocument; - -public abstract class PropertyWidgetManager implements WidgetManager { - - @Override - public String getProperty(SWTDocument document, JSONObject object, W widget, String property) { - return null; - } - - @Override - public IEventCommand eventCommand(SWTDocument document, JSONObject object, W widget, String command) { - return null; - } - -} +/******************************************************************************* + * Copyright (c) 2019 Association for Decentralized Information Management + * in Industry THTH ry. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Semantum Oy - initial API and implementation + *******************************************************************************/ +package org.simantics.document.swt.core.base; + +import java.util.Collection; +import java.util.List; + +import org.simantics.document.server.IEventCommand; +import org.simantics.document.server.JSONObject; +import org.simantics.document.server.client.WidgetData; +import org.simantics.document.server.client.WidgetManager; +import org.simantics.document.server.io.CommandContext; +import org.simantics.document.server.io.CommandContextImpl; +import org.simantics.document.server.io.CommandContextMutable; +import org.simantics.document.server.io.ICommand; +import org.simantics.document.server.io.JSONObjectUtils; +import org.simantics.document.swt.core.SWTDocument; +import org.simantics.document.swt.core.SWTViews; +import org.simantics.utils.datastructures.Pair; + +public abstract class PropertyWidgetManager implements WidgetManager { + + @Override + public String getProperty(SWTDocument document, JSONObject object, W widget, String property) { + return null; + } + + @Override + public IEventCommand eventCommand(SWTDocument document, JSONObject object, W widget, ICommand command, CommandContext context) { + return null; + } + + public static CommandContext sendEvent(SWTDocument document, WidgetData wd, String event, Object target, CommandContextMutable context) { + Collection commands = JSONObjectUtils.getCommands(wd.object); + + if(context == null) context = new CommandContextImpl(); + context.putValue("event", event); + + List> data = SWTViews.getTriggeredCommands(document, commands, "eventOut"); + + return document.handleCommands(data, context, wd.widget); + } + +} \ No newline at end of file