Move SWT components to their subdirectory
[gpl/argeo-suite.git] / swt / org.argeo.app.ui / src / org / argeo / app / ui / SuiteLayer.java
diff --git a/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java b/swt/org.argeo.app.ui/src/org/argeo/app/ui/SuiteLayer.java
new file mode 100644 (file)
index 0000000..b97230d
--- /dev/null
@@ -0,0 +1,27 @@
+package org.argeo.app.ui;
+
+import org.argeo.api.acr.Content;
+import org.argeo.cms.Localized;
+import org.argeo.cms.swt.acr.SwtUiProvider;
+import org.eclipse.swt.widgets.Composite;
+
+/** An UI layer for the main work area. */
+public interface SuiteLayer extends SwtUiProvider {
+       static enum Property {
+               title, icon, weights, startMaximized, singleTab, fixedEntryArea;
+       }
+
+       String getId();
+
+       void view(SwtUiProvider uiProvider, Composite workArea, Content context);
+
+       Content getCurrentContext(Composite workArea);
+
+       default void open(SwtUiProvider uiProvider, Composite workArea, Content context) {
+               view(uiProvider, workArea, context);
+       }
+
+       default Localized getTitle() {
+               return null;
+       }
+}