this.libUri = libUri;
}
+ protected List<Item> getItems(Class c, String libUri) throws DatabaseException{
+ if (InlineComponent.class.equals(c)) {
+ return P3DUtil.getInlines(libUri);
+ } else if (TurnComponent.class.equals(c)) {
+ return P3DUtil.getTurns(libUri);
+ } else if (EndComponent.class.equals(c)) {
+ return P3DUtil.getEnds(libUri);
+ } else {
+ return null;
+ }
+ }
+
@Override
protected Control createDialogArea(Composite parent) {
resourceManager = new LocalResourceManager(JFaceResources.getResources(), parent);
List<Item> turns = null;
List<Item> inlines = null;
try {
- ends = P3DUtil.getEnds(libUri);
- turns= P3DUtil.getTurns(libUri);
- inlines = P3DUtil.getInlines(libUri);
+ ends = getItems(EndComponent.class, libUri);
+ turns= getItems(TurnComponent.class, libUri);
+ inlines = getItems(InlineComponent.class, libUri);
} catch (DatabaseException e) {
Label label = new Label(composite, SWT.NONE);
label.setText("Cannot load pipeline components: " + e.getMessage());
} else if (selected.isCode()) {// TODO : instead of disabling the button, we should filter the content.
ok = false;
} else {
- lenghtAdjustable = ((selected.getType() == Type.INLINE) && selected.isVariable());
+ lenghtAdjustable = ((selected.getType() == Type.INLINE) && (selected.isVariable() || selected.isModifiable()));
if (insertAdjustable) {
switch (selected.getType()) {
case END:
middleButton.setEnabled(false);
endButton.setEnabled(true);
}
- if (selected.isVariable()) {
+ if (selected.isVariable() || selected.isModifiable()) {
if (selected.getType() == Type.INLINE) {
filterAllowed.add(PositionType.NEXT);
filterAllowed.add(PositionType.PREVIOUS);