X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=plugins%2Forg.argeo.slc.akb.ui%2Fsrc%2Fmain%2Fjava%2Forg%2Fargeo%2Fslc%2Fakb%2Fui%2Feditors%2FSshCommandTemplateEditor.java;h=8c5baca6304eb2c30385bbea5e3aded38d3c708a;hb=83ab33f078ffc1e8d8bd8a34743090eff5d3b051;hp=2e45cdc70bb4415808851c24bcced73aa9b2e4c4;hpb=da17a59fb316462126c56099d3670a7cd38a8906;p=gpl%2Fargeo-slc.git diff --git a/plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/SshCommandTemplateEditor.java b/plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/SshCommandTemplateEditor.java index 2e45cdc70..8c5baca63 100644 --- a/plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/SshCommandTemplateEditor.java +++ b/plugins/org.argeo.slc.akb.ui/src/main/java/org/argeo/slc/akb/ui/editors/SshCommandTemplateEditor.java @@ -1,11 +1,20 @@ package org.argeo.slc.akb.ui.editors; +import org.argeo.slc.akb.AkbNames; import org.argeo.slc.akb.ui.AkbUiPlugin; import org.argeo.slc.akb.ui.AkbUiUtils; +import org.eclipse.swt.SWT; +import org.eclipse.swt.graphics.Font; +import org.eclipse.swt.layout.GridData; +import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; +import org.eclipse.swt.widgets.Group; +import org.eclipse.swt.widgets.Text; +import org.eclipse.ui.forms.AbstractFormPart; +import org.eclipse.ui.forms.IManagedForm; /** - * Display and edit a connector Alias + * Display and edit a SSH Command Template ITEM */ public class SshCommandTemplateEditor extends AkbItemTemplateEditor { @@ -18,8 +27,51 @@ public class SshCommandTemplateEditor extends AkbItemTemplateEditor { } @Override - protected void populateBottomPart(Composite parent) { + protected void populateTestPage(Composite parent) { parent.setLayout(AkbUiUtils.gridLayoutNoBorder()); - getToolkit().createLabel(parent, "Implement this"); + + Text outputDisplay = getToolkit().createText(parent, "", SWT.MULTI); + outputDisplay.setFont(new Font(parent.getDisplay(), "Monospaced", 10, + SWT.NONE)); + outputDisplay.setEditable(false); + outputDisplay + .setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + String output = getAkbService().executeCommand(getEnvNode(), + getAkbNode()); + outputDisplay.setText(output); + } + + @Override + protected void populateBottomPart(Composite parent, IManagedForm managedForm) { + parent.setLayout(AkbUiUtils.gridLayoutNoBorder()); + Group group = new Group(parent, SWT.NO_FOCUS); + getToolkit().adapt(group, false, false); + group.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); + + group.setLayout(new GridLayout(1, false)); + + // first line: Description + getToolkit().createLabel(group, "Enter below a valid SSH command"); + + // 2nd line: the query + final Text queryTxt = getToolkit().createText(group, "", + SWT.BORDER | SWT.MULTI | SWT.WRAP); + GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true); + queryTxt.setLayoutData(gd); + + // Part Management + final AbstractFormPart part = new AbstractFormPart() { + public void refresh() { + super.refresh(); + // update display value + AkbUiUtils.refreshFormTextWidget(queryTxt, getAkbNode(), + AkbNames.AKB_COMMAND_TEXT); + } + }; + // Listeners + AkbUiUtils.addTextModifyListener(queryTxt, getAkbNode(), + AkbNames.AKB_COMMAND_TEXT, part); + managedForm.addPart(part); } } \ No newline at end of file