import org.eclipse.swt.widgets.Link;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.AbstractFormPart;
+import org.eclipse.ui.forms.IFormPart;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.widgets.FormToolkit;
final Link testBtn = new Link(firstLine, SWT.NONE);
toolkit.adapt(testBtn, false, false);
testBtn.setText("<a>Test</a>");
- testBtn.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
- true, false));
-
+ testBtn.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER, true, false));
+
final Link editActiveConnLk = new Link(firstLine, SWT.NONE);
toolkit.adapt(editActiveConnLk, false, false);
// editActiveConnLk.setLayoutData(new GridData(SWT.RIGHT, SWT.CENTER,
// true, false));
-
+
+ // Part Management
+ formPart = new AbstractFormPart() {
+ public void refresh() {
+ super.refresh();
+ if (titleTxt.isDisposed())
+ return;
+ // update display value
+ AkbUiUtils.refreshFormTextWidget(titleTxt, connectorAlias,
+ Property.JCR_TITLE, "Name");
+ AkbUiUtils.refreshFormTextWidget(descTxt, connectorAlias,
+ Property.JCR_DESCRIPTION, "Short description");
+
+ if (isActive) {
+ titleTxt.setEditable(false);
+ descTxt.setEditable(false);
+ editActiveConnLk.setText("<a>Edit connector instance</a>");
+ } else {
+ titleTxt.setEditable(true);
+ descTxt.setEditable(true);
+ editActiveConnLk.setText("<a>Edit default connector</a>");
+ }
+ }
+ };
+
if (!isActive) {
final Link removeBtn = new Link(firstLine, SWT.NONE);
toolkit.adapt(removeBtn, false, false);
@Override
public void widgetSelected(SelectionEvent e) {
try {
+
+ try {
+ connectorAlias.getPath();
+ } catch (Exception ex) {
+ // node has been removed.
+ // silent
+ return;
+ }
+
// Manually check if corresponding node was really
// removed
Session session = connectorAlias.getSession();
String absPath = connectorAlias.getPath();
+
+ form.removePart(formPart);
+
CommandUtils.CallCommandWithOneParameter(
DeleteAkbNodes.ID,
DeleteAkbNodes.PARAM_NODE_JCR_ID, AkbJcrUtils
.getIdentifierQuietly(connectorAlias));
- if (!session.nodeExists(absPath))
- form.removePart(formPart);
+ if (session.nodeExists(absPath)) {
+ form.addPart(formPart);
+ } else {
+ for (IFormPart cpart : form.getParts())
+ cpart.refresh();
+ }
+
} catch (RepositoryException re) {
throw new AkbException(
"Error while removing connector Alias ", re);
});
}
- // Part Management
- formPart = new AbstractFormPart() {
- public void refresh() {
- super.refresh();
- // update display value
- AkbUiUtils.refreshFormTextWidget(titleTxt, connectorAlias,
- Property.JCR_TITLE, "Name");
- AkbUiUtils.refreshFormTextWidget(descTxt, connectorAlias,
- Property.JCR_DESCRIPTION, "Short description");
-
- if (isActive) {
- titleTxt.setEditable(false);
- descTxt.setEditable(false);
- editActiveConnLk.setText("<a>Edit connector instance</a>");
- } else {
- titleTxt.setEditable(true);
- descTxt.setEditable(true);
- editActiveConnLk.setText("<a>Edit default connector</a>");
- }
- }
- };
// Listeners
AkbUiUtils.addTextModifyListener(titleTxt, connectorAlias,
Property.JCR_TITLE, formPart);