Merge remote-tracking branch 'origin/unstable' into testing
[gpl/argeo-suite.git] / org.argeo.app.ui / src / org / argeo / app / ui / SuiteLayer.java
diff --git a/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java b/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java
new file mode 100644 (file)
index 0000000..a92994f
--- /dev/null
@@ -0,0 +1,26 @@
+package org.argeo.app.ui;
+
+import javax.jcr.Node;
+
+import org.argeo.cms.Localized;
+import org.argeo.cms.ui.CmsUiProvider;
+import org.eclipse.swt.widgets.Composite;
+
+/** An UI layer for the main work area. */
+public interface SuiteLayer extends CmsUiProvider {
+       static enum Property {
+               title, icon, weights, startMaximized, singleTab, fixedEntryArea;
+       }
+
+       void view(CmsUiProvider uiProvider, Composite workArea, Node context);
+       
+       Node getCurrentContext(Composite workArea);
+
+       default void open(CmsUiProvider uiProvider, Composite workArea, Node context) {
+               view(uiProvider, workArea, context);
+       }
+
+       default Localized getTitle() {
+               return null;
+       }
+}