1 /* 2 * RegisterUserCommandEvent.java 3 * 4 * Copyright (C) 2021 by RStudio, PBC 5 * 6 * Unless you have received this program directly from RStudio pursuant 7 * to the terms of a commercial license agreement with RStudio, then 8 * this program is licensed to you under the terms of version 3 of the 9 * GNU Affero General Public License. This program is distributed WITHOUT 10 * ANY EXPRESS OR IMPLIED WARRANTY, INCLUDING THOSE OF NON-INFRINGEMENT, 11 * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Please refer to the 12 * AGPL (http://www.gnu.org/licenses/agpl-3.0.txt) for more details. 13 * 14 */ 15 package org.rstudio.studio.client.server.remote; 16 17 import com.google.gwt.core.client.JavaScriptObject; 18 import com.google.gwt.core.client.JsArrayString; 19 import com.google.gwt.event.shared.EventHandler; 20 import com.google.gwt.event.shared.GwtEvent; 21 22 public class RegisterUserCommandEvent 23 extends GwtEvent<RegisterUserCommandEvent.Handler> 24 { 25 public static class Data extends JavaScriptObject 26 { Data()27 protected Data() {} 28 getName()29 public final native String getName() /*-{ 30 return this.name; 31 }-*/; 32 getShortcuts()33 public final native JsArrayString getShortcuts() /*-{ 34 return this.shortcuts; 35 }-*/; 36 } 37 38 public interface Handler extends EventHandler 39 { onRegisterUserCommand(RegisterUserCommandEvent event)40 void onRegisterUserCommand(RegisterUserCommandEvent event); 41 } 42 RegisterUserCommandEvent(Data data)43 public RegisterUserCommandEvent(Data data) 44 { 45 data_ = data; 46 } 47 getData()48 public Data getData() 49 { 50 return data_; 51 } 52 53 @Override getAssociatedType()54 public Type<Handler> getAssociatedType() 55 { 56 return TYPE; 57 } 58 59 @Override dispatch(Handler handler)60 protected void dispatch(Handler handler) 61 { 62 handler.onRegisterUserCommand(this); 63 } 64 65 private final Data data_; 66 public static final Type<Handler> TYPE = new Type<>(); 67 68 69 } 70