]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - swt/org.argeo.swt.minidesktop/src/org/argeo/minidesktop/MiniDesktopSpecific.java
Improve CLI and GraalVM architecture.
[lgpl/argeo-commons.git] / swt / org.argeo.swt.minidesktop / src / org / argeo / minidesktop / MiniDesktopSpecific.java
diff --git a/swt/org.argeo.swt.minidesktop/src/org/argeo/minidesktop/MiniDesktopSpecific.java b/swt/org.argeo.swt.minidesktop/src/org/argeo/minidesktop/MiniDesktopSpecific.java
new file mode 100644 (file)
index 0000000..c748822
--- /dev/null
@@ -0,0 +1,29 @@
+package org.argeo.minidesktop;
+
+import java.util.Objects;
+
+import org.eclipse.swt.browser.Browser;
+
+/**
+ * This customiser is available to all components, in order to be extended with
+ * low-level specific capabilities, which depend on the context (typically
+ * differences between RAP and RCP). It does nothing by default.
+ */
+public class MiniDesktopSpecific {
+       protected void addBrowserTitleListener(MiniBrowser miniBrowser, Browser browser) {
+       }
+
+       protected void addBrowserOpenWindowListener(MiniBrowser miniBrowser, Browser browser) {
+       }
+
+       private static MiniDesktopSpecific SINGLETON = new MiniDesktopSpecific();
+
+       public static void setMiniDesktopSpecific(MiniDesktopSpecific miniDesktopSpecific) {
+               Objects.requireNonNull(miniDesktopSpecific);
+               SINGLETON = miniDesktopSpecific;
+       }
+
+       static MiniDesktopSpecific getMiniDesktopSpecific() {
+               return SINGLETON;
+       }
+}