private CmsUiProvider entryArea;
private CmsUiProvider workArea;
private List<String> weights = new ArrayList<>();
+ private boolean startMaximized = false;
@Override
public Control createUi(Composite parent, Node context) throws RepositoryException {
public void init(Map<String, Object> properties) {
weights = LangUtils.toStringList(properties.get(Property.weights.name()));
+ startMaximized = properties.containsKey(Property.startMaximized.name())
+ && "true".equals(properties.get(Property.startMaximized.name()));
}
public void setEntryArea(CmsUiProvider entryArea) {
TabbedArea createTabbedArea(Composite parent, CmsTheme theme) {
TabbedArea tabbedArea = new TabbedArea(parent, SWT.NONE);
- tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.toStyleClass());
- tabbedArea.setTabStyle(SuiteStyle.mainTab.toStyleClass());
- tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.toStyleClass());
+ tabbedArea.setBodyStyle(SuiteStyle.mainTabBody.style());
+ tabbedArea.setTabStyle(SuiteStyle.mainTab.style());
+ tabbedArea.setTabSelectedStyle(SuiteStyle.mainTabSelected.style());
tabbedArea.setCloseIcon(SuiteIcon.close.getSmallIcon(theme));
tabbedArea.setLayoutData(CmsUiUtils.fillAll());
return tabbedArea;
int[] actualWeight = new int[weights.size()];
for (int i = 0; i < weights.size(); i++) {
actualWeight[i] = Integer.parseInt(weights.get(i));
- setWeights(actualWeight);
}
+ setWeights(actualWeight);
} else {
int[] actualWeights = new int[] { 3000, 7000 };
setWeights(actualWeights);
}
+ if (startMaximized)
+ setMaximizedControl(editorArea);
editorArea.setLayout(new GridLayout());
if (DefaultEditionLayer.this.workArea == null) {
tabbedArea = createTabbedArea(editorArea, theme);
}
+
}
Composite getEntryArea() {
import org.argeo.api.NodeConstants;
import org.argeo.cms.Localized;
import org.argeo.cms.auth.CurrentUser;
-import org.argeo.cms.ui.CmsTheme;
import org.argeo.cms.ui.CmsUiProvider;
import org.argeo.cms.ui.CmsView;
-import org.argeo.cms.ui.util.CmsIcon;
-import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.suite.RankedObject;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
import org.osgi.framework.Constants;
/** Side pane listing various perspectives. */
if (iconName != null)
icon = SuiteIcon.valueOf(iconName);
- Button b = createButton(parent, layerId, title, icon);
+ Button b = SuiteUiUtils.createLayerButton(parent, layerId, title, icon);
if (first == null)
first = b;
}
if (iconName != null)
icon = SuiteIcon.valueOf(iconName);
- Button b = createButton(parent, layerId, title, icon);
+ Button b = SuiteUiUtils.createLayerButton(parent, layerId, title, icon);
if (first == null)
first = b;
}
return first;
}
- protected Button createButton(Composite parent, String layer, Localized msg, CmsIcon icon) {
- CmsTheme theme = CmsTheme.getCmsTheme(parent);
- Button button = new Button(parent, SWT.PUSH);
- CmsUiUtils.style(button, SuiteStyle.leadPane);
- if (icon != null)
- button.setImage(icon.getBigIcon(theme));
- button.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, false));
- // button.setToolTipText(msg.lead());
- if (msg != null) {
- Label lbl = new Label(parent, SWT.NONE);
- CmsUiUtils.style(lbl, SuiteStyle.leadPane);
- lbl.setText(msg.lead());
- lbl.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false));
- }
- CmsUiUtils.sendEventOnSelect(button, SuiteEvent.switchLayer.topic(), SuiteEvent.LAYER, layer);
- return button;
- }
-
public void init(Map<String, Object> properties) {
defaultLayers = (String[]) properties.get(Property.defaultLayers.toString());
if (defaultLayers == null)
CmsTheme theme = getTheme(uiName);
if (theme != null)
CmsTheme.registerCmsTheme(parent.getShell(), theme);
- SuiteUi argeoSuiteUi = new SuiteUi(parent, SWT.NONE);
+ SuiteUi argeoSuiteUi = new SuiteUi(parent, SWT.INHERIT_DEFAULT);
String uid = cmsView.getUid();
managedUis.put(uid, argeoSuiteUi);
argeoSuiteUi.addDisposeListener((e) -> {
/** An UI layer for the main work area. */
public interface SuiteLayer extends CmsUiProvider {
static enum Property {
- title, icon, weights;
+ title, icon, weights, startMaximized;
}
void view(CmsUiProvider uiProvider, Composite workArea, Node context);
simpleLabel, simpleText, simpleInput,
// table
titleCell,
+ // layers
+ workArea,
// tabbed area
mainTabBody, mainTabSelected, mainTab,
// Buttons
protected Composite initLayer(String id, SuiteLayer layer, Node context) {
Composite workArea = cmsView.doAs(() -> (Composite) layer.createUiPart(dynamicArea, context));
+ CmsUiUtils.style(workArea, SuiteStyle.workArea);
workArea.setLayoutData(CmsUiUtils.coverAll());
workAreas.put(id, workArea);
return workArea;
import org.argeo.cms.Localized;
import org.argeo.cms.ui.CmsEditable;
+import org.argeo.cms.ui.CmsTheme;
import org.argeo.cms.ui.dialogs.LightweightDialog;
+import org.argeo.cms.ui.util.CmsIcon;
import org.argeo.cms.ui.util.CmsUiUtils;
import org.argeo.eclipse.ui.EclipseUiUtils;
import org.argeo.entity.EntityNames;
return img;
}
+ public static Button createLayerButton(Composite parent, String layer, Localized msg, CmsIcon icon) {
+ CmsTheme theme = CmsTheme.getCmsTheme(parent);
+ Button button = new Button(parent, SWT.PUSH);
+ CmsUiUtils.style(button, SuiteStyle.leadPane);
+ if (icon != null)
+ button.setImage(icon.getBigIcon(theme));
+ button.setLayoutData(new GridData(SWT.CENTER, SWT.BOTTOM, true, false));
+ // button.setToolTipText(msg.lead());
+ if (msg != null) {
+ Label lbl = new Label(parent, SWT.NONE);
+ CmsUiUtils.style(lbl, SuiteStyle.leadPane);
+ lbl.setText(msg.lead());
+ lbl.setLayoutData(new GridData(SWT.CENTER, SWT.TOP, true, false));
+ }
+ CmsUiUtils.sendEventOnSelect(button, SuiteEvent.switchLayer.topic(), SuiteEvent.LAYER, layer);
+ return button;
+ }
+
// public static String createAndConfigureEntity(Shell shell, Session referenceSession, String mainMixin,
// String... additionnalProps) {
//