Search in sources :

Example 1 with UndefinedSymbolsException

use of com.twinsoft.convertigo.engine.UndefinedSymbolsException in project convertigo by convertigo.

the class DatabaseObjectTreeObject method findPropertyDescriptor.

private PropertyDescriptor findPropertyDescriptor(final String name, String displayName, java.beans.PropertyDescriptor databaseObjectPropertyDescriptor, Object value, final Class<?> pec, boolean isExtractionRule, boolean isMasked) throws IllegalAccessException, NoSuchMethodException, InvocationTargetException {
    PropertyDescriptor propertyDescriptor = null;
    // Primitive types
    if (pec == null) {
        if (value instanceof Boolean) {
            String[] values = new String[] { "true", "false" };
            propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, values, this, name);
        } else if (value instanceof Number) {
            propertyDescriptor = new TextPropertyDescriptor(name, displayName);
        // propertyDescriptor.setValidator(new CompilableValueValidator(new NumberValidator(value.getClass())));
        }
    } else // Complex types
    {
        if (PropertyWithValidatorEditor.class.isAssignableFrom(pec)) {
            propertyDescriptor = new TextPropertyDescriptor(name, displayName);
            propertyDescriptor.setValidator(getValidator(name));
        } else if (PropertyWithTagsEditor.class.isAssignableFrom(pec)) {
            String[] tags;
            if (PropertyWithDynamicTagsEditor.class.isAssignableFrom(pec)) {
                Method getTags = pec.getMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this, name });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, getTags, this, name);
            } else if (PropertyWithTagsEditorAdvance.class.isAssignableFrom(pec)) {
                Method getTags = pec.getDeclaredMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this, name });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags, this, name);
            } else {
                Method getTags = pec.getDeclaredMethod("getTags", new Class[] { DatabaseObjectTreeObject.class });
                tags = (String[]) getTags.invoke(null, new Object[] { this });
                propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags, this, name);
            }
        } else if (StringComboBoxPropertyDescriptor.class.isAssignableFrom(pec)) {
            Method getTags = pec.getDeclaredMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
            String[] tags = (String[]) getTags.invoke(null, new Object[] { this, name });
            propertyDescriptor = new StringComboBoxPropertyDescriptor(name, displayName, tags, false);
        } else if (com.twinsoft.convertigo.eclipse.property_editors.MobileSmartSourcePropertyDescriptor.class.isAssignableFrom(pec)) {
            Method getTags = pec.getDeclaredMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
            String[] tags = (String[]) getTags.invoke(null, new Object[] { this, name });
            propertyDescriptor = new com.twinsoft.convertigo.eclipse.property_editors.MobileSmartSourcePropertyDescriptor(name, displayName, tags, false);
            ((com.twinsoft.convertigo.eclipse.property_editors.MobileSmartSourcePropertyDescriptor) propertyDescriptor).databaseObjectTreeObject = this;
        } else if (com.twinsoft.convertigo.eclipse.property_editors.NgxSmartSourcePropertyDescriptor.class.isAssignableFrom(pec)) {
            Method getTags = pec.getDeclaredMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
            String[] tags = (String[]) getTags.invoke(null, new Object[] { this, name });
            propertyDescriptor = new com.twinsoft.convertigo.eclipse.property_editors.NgxSmartSourcePropertyDescriptor(name, displayName, tags, false);
            ((com.twinsoft.convertigo.eclipse.property_editors.NgxSmartSourcePropertyDescriptor) propertyDescriptor).databaseObjectTreeObject = this;
        } else if (PropertyWithDynamicInfoEditor.class.isAssignableFrom(pec)) {
            Method getInfo = pec.getMethod("getInfo", new Class[] { DatabaseObjectTreeObject.class, String.class });
            propertyDescriptor = new DynamicInfoPropertyDescriptor(name, displayName, getInfo, this, name);
        } else if (AbstractDialogCellEditor.class.isAssignableFrom(pec)) {
            propertyDescriptor = new PropertyDescriptor(name, displayName) {

                @Override
                public CellEditor createPropertyEditor(Composite parent) {
                    try {
                        Constructor<?> constructor = pec.getConstructor(new Class[] { Composite.class });
                        AbstractDialogCellEditor editor = (AbstractDialogCellEditor) constructor.newInstance(new Object[] { parent });
                        editor.propertyDescriptor = this;
                        editor.databaseObjectTreeObject = DatabaseObjectTreeObject.this;
                        if (getValidator() != null) {
                            editor.setValidator(getValidator());
                        }
                        return editor;
                    } catch (Exception e) {
                        ConvertigoPlugin.logException(e, "Unexpected exception");
                        return null;
                    }
                }
            };
        } else if (Enum.class.isAssignableFrom(pec)) {
            String[] tags = EnumUtils.toStrings(pec);
            propertyDescriptor = new DynamicComboBoxPropertyDescriptor(name, displayName, tags, this, name);
        }
    }
    // Special cases
    if (propertyDescriptor == null) {
        // editor for scriptable properties
        Object scriptable = databaseObjectPropertyDescriptor.getValue("scriptable");
        if ((scriptable != null) && (scriptable.equals(Boolean.TRUE)))
            propertyDescriptor = new ScriptablePropertyDescriptor(name, displayName);
        // editor for nillable properties
        if (propertyDescriptor == null) {
            Object nillable = databaseObjectPropertyDescriptor.getValue("nillable");
            if ((nillable != null) && (nillable.equals(Boolean.TRUE))) {
                int style = isMasked ? SWT.PASSWORD : SWT.NONE;
                if (value instanceof String) {
                    propertyDescriptor = new DataOrNullPropertyDescriptor(name, displayName, StringOrNullEditor.class, style);
                } else if (value instanceof XMLVector) {
                    propertyDescriptor = new DataOrNullPropertyDescriptor(name, displayName, ArrayOrNullEditor.class, style);
                }
            }
        }
        // editor for disabled properties
        Object disable = databaseObjectPropertyDescriptor.getValue("disable");
        if ((disable != null) && (disable.equals(Boolean.TRUE)))
            propertyDescriptor = new InfoPropertyDescriptor(name, displayName);
    }
    // Default case
    if (propertyDescriptor == null) {
        propertyDescriptor = new TextPropertyDescriptor(name, displayName);
    // propertyDescriptor.setValidator(new CompilableValueValidator(getValidator(name)));
    }
    if (propertyDescriptor != null) {
        ICellEditorValidator validator = getValidator(name);
        if (validator != null) {
            propertyDescriptor.setValidator(validator);
        }
        final ILabelProvider labelProvider = propertyDescriptor.getLabelProvider();
        propertyDescriptor.setLabelProvider(new ILabelProvider() {

            @Override
            public void removeListener(ILabelProviderListener listener) {
                labelProvider.removeListener(listener);
            }

            @Override
            public boolean isLabelProperty(Object element, String property) {
                return labelProvider.isLabelProperty(element, property);
            }

            @Override
            public void dispose() {
                labelProvider.dispose();
            }

            @Override
            public void addListener(ILabelProviderListener listener) {
                labelProvider.addListener(listener);
            }

            @Override
            public String getText(Object element) {
                String text = labelProvider.getText(element);
                try {
                    String compiled = Engine.theApp.databaseObjectsManager.getCompiledValue(text);
                    if (!text.equals(compiled)) {
                        text += "  => " + compiled;
                    }
                } catch (UndefinedSymbolsException e) {
                    text += "  /!\\ undefined symbol /!\\";
                }
                return text;
            }

            @Override
            public Image getImage(Object element) {
                return labelProvider.getImage(element);
            }
        });
        String beanDescription = databaseObjectPropertyDescriptor.getShortDescription();
        int id = beanDescription.indexOf("|");
        if (id != -1) {
            beanDescription = beanDescription.substring(0, id);
        }
        if (isExtractionRule) {
            propertyDescriptor.setCategory(databaseObjectPropertyDescriptor.isExpert() ? "Selection" : "Configuration");
        } else {
            Object categoryValue = databaseObjectPropertyDescriptor.getValue("category");
            String category = categoryValue == null ? "Base properties" : String.valueOf(categoryValue);
            propertyDescriptor.setCategory(databaseObjectPropertyDescriptor.isExpert() ? "Expert" : category);
        }
        beanDescription = cleanDescription(beanDescription);
        propertyDescriptor.setDescription(beanDescription);
    }
    return propertyDescriptor;
}
Also used : PropertyWithTagsEditor(com.twinsoft.convertigo.eclipse.property_editors.PropertyWithTagsEditor) XMLVector(com.twinsoft.convertigo.beans.common.XMLVector) CellEditor(org.eclipse.jface.viewers.CellEditor) AbstractDialogCellEditor(com.twinsoft.convertigo.eclipse.property_editors.AbstractDialogCellEditor) ComboBoxCellEditor(org.eclipse.jface.viewers.ComboBoxCellEditor) InfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.InfoPropertyDescriptor) DynamicInfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor) Image(org.eclipse.swt.graphics.Image) AbstractDialogCellEditor(com.twinsoft.convertigo.eclipse.property_editors.AbstractDialogCellEditor) DynamicComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicComboBoxPropertyDescriptor) DynamicInfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor) InfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.InfoPropertyDescriptor) DynamicComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicComboBoxPropertyDescriptor) PropertyDescriptor(org.eclipse.ui.views.properties.PropertyDescriptor) StringComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.StringComboBoxPropertyDescriptor) TextPropertyDescriptor(org.eclipse.ui.views.properties.TextPropertyDescriptor) ScriptablePropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.ScriptablePropertyDescriptor) IPropertyDescriptor(org.eclipse.ui.views.properties.IPropertyDescriptor) DynamicInfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor) DataOrNullPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DataOrNullPropertyDescriptor) Composite(org.eclipse.swt.widgets.Composite) PropertyWithDynamicInfoEditor(com.twinsoft.convertigo.eclipse.property_editors.PropertyWithDynamicInfoEditor) Constructor(java.lang.reflect.Constructor) UndefinedSymbolsException(com.twinsoft.convertigo.engine.UndefinedSymbolsException) PropertyWithDynamicTagsEditor(com.twinsoft.convertigo.eclipse.property_editors.PropertyWithDynamicTagsEditor) Method(java.lang.reflect.Method) ILabelProvider(org.eclipse.jface.viewers.ILabelProvider) CoreException(org.eclipse.core.runtime.CoreException) InvocationTargetException(java.lang.reflect.InvocationTargetException) ConvertigoException(com.twinsoft.convertigo.engine.ConvertigoException) UndefinedSymbolsException(com.twinsoft.convertigo.engine.UndefinedSymbolsException) ILabelProviderListener(org.eclipse.jface.viewers.ILabelProviderListener) StringOrNullEditor(com.twinsoft.convertigo.eclipse.property_editors.StringOrNullEditor) ICellEditorValidator(org.eclipse.jface.viewers.ICellEditorValidator) StringComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.StringComboBoxPropertyDescriptor) TextPropertyDescriptor(org.eclipse.ui.views.properties.TextPropertyDescriptor) ScreenClass(com.twinsoft.convertigo.beans.core.ScreenClass) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) DataOrNullPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DataOrNullPropertyDescriptor) ScriptablePropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.ScriptablePropertyDescriptor)

Example 2 with UndefinedSymbolsException

use of com.twinsoft.convertigo.engine.UndefinedSymbolsException in project convertigo by convertigo.

the class DatabaseObjectTreeObject method setPropertyValue.

public void setPropertyValue(Object id, Object value) {
    MobileBuilder mb = null;
    IEditorPart editorPart = ConvertigoPlugin.getDefault().getApplicationComponentEditor();
    if (editorPart != null) {
        IEditorInput input = editorPart.getEditorInput();
        if (input instanceof com.twinsoft.convertigo.eclipse.editors.mobile.ApplicationComponentEditorInput) {
            com.twinsoft.convertigo.eclipse.editors.mobile.ApplicationComponentEditorInput editorInput = GenericUtils.cast(input);
            mb = editorInput.getApplication().getProject().getMobileBuilder();
        }
        if (input instanceof com.twinsoft.convertigo.eclipse.editors.ngx.ApplicationComponentEditorInput) {
            com.twinsoft.convertigo.eclipse.editors.ngx.ApplicationComponentEditorInput editorInput = GenericUtils.cast(input);
            mb = editorInput.getApplication().getProject().getMobileBuilder();
        }
    }
    DatabaseObject databaseObject = getObject();
    Object oldValue = getPropertyValue(id);
    String propertyName = (String) id;
    ComboBoxCellEditor editor = DynamicComboBoxPropertyDescriptor.getLast();
    if (editor != null && (!acceptSymbols() || !Integer.valueOf(editor.getItems().length - 1).equals(value))) {
        editor = null;
    }
    if (isValueInProcess || (oldValue != null && oldValue.equals(value) && editor == null)) {
        return;
    }
    try {
        isValueInProcess = true;
        java.beans.PropertyDescriptor databaseObjectPropertyDescriptor = getPropertyDescriptor(propertyName);
        TreeViewer viewer = (TreeViewer) getAdapter(TreeViewer.class);
        if (databaseObjectPropertyDescriptor == null)
            return;
        Class<?> propertyClass = databaseObjectPropertyDescriptor.getPropertyType();
        Class<?> pec = databaseObjectPropertyDescriptor.getPropertyEditorClass();
        if (editor != null) {
            Control control = editor.getControl();
            Display display = control.getDisplay();
            final Shell shell = new Shell(control.getShell(), SWT.ON_TOP | SWT.TOOL | SWT.NO_FOCUS | SWT.APPLICATION_MODAL);
            shell.setLocation(control.toDisplay(0, 0));
            shell.setSize(control.getSize());
            shell.setLayout(new FillLayout());
            final Text text = new Text(shell, SWT.NONE);
            final String[] newValue = new String[] { null };
            String[] items = editor.getItems();
            text.setText(items[items.length - 1]);
            text.addTraverseListener(new TraverseListener() {

                @Override
                public void keyTraversed(TraverseEvent e) {
                    if (e.detail == SWT.TRAVERSE_RETURN) {
                        newValue[0] = text.getText();
                        shell.close();
                    }
                }
            });
            shell.open();
            while (!shell.isDisposed()) {
                if (!display.readAndDispatch()) {
                    display.sleep();
                }
            }
            if (newValue[0] != null) {
                value = newValue[0];
            }
        }
        Object oriValue = value;
        boolean changed;
        do {
            changed = false;
            boolean wasSymbolError = databaseObject.isSymbolError();
            value = databaseObject.compileProperty(propertyClass, propertyName, oriValue);
            try {
                oldValue = Engine.theApp.databaseObjectsManager.getCompiledValue(oldValue);
            } catch (UndefinedSymbolsException e) {
                oldValue = e.incompletValue();
            }
            Set<String> symbolsErrors = databaseObject.getSymbolsErrors(propertyName);
            if (symbolsErrors != null) {
                boolean[] res = ConvertigoPlugin.warningGlobalSymbols(databaseObject.getProject().getName(), databaseObject.getName(), databaseObject.getDatabaseType(), propertyName, "" + databaseObject.getCompilablePropertySourceValue(propertyName), symbolsErrors, false);
                changed = res[0];
                if (changed) {
                    Engine.theApp.databaseObjectsManager.symbolsCreateUndefined(symbolsErrors);
                } else {
                    databaseObject.getProject().undefinedGlobalSymbols = true;
                    viewer.update(getProjectTreeObject(), null);
                }
            } else if (wasSymbolError) {
                Engine.theApp.databaseObjectsManager.symbolsProjectCheckUndefined(databaseObject.getProject().getName());
                viewer.update(getProjectTreeObject(), null);
            }
        } while (changed);
        if (editor != null && value instanceof String) {
            String[] items = editor.getItems();
            int len = items.length - 1;
            String strValue = (String) value;
            value = 0;
            for (int i = 0; i < len; i++) {
                if (items[i].equals(strValue)) {
                    value = i;
                    break;
                }
                ;
            }
        }
        if (pec != null && propertyClass != int.class && propertyClass != Integer.class && value instanceof Integer) {
            Object[] values = null;
            try {
                int index = (Integer) value;
                if (PropertyWithTagsEditorAdvance.class.isAssignableFrom(pec)) {
                    Method getTags = pec.getMethod("getTags", new Class[] { DatabaseObjectTreeObject.class, String.class });
                    values = (String[]) getTags.invoke(null, new Object[] { this, propertyName });
                    value = values[index];
                } else if (Enum.class.isAssignableFrom(pec)) {
                    values = (Enum[]) pec.getMethod("values").invoke(null);
                    value = index < values.length ? values[index] : values[0];
                    if (propertyClass == String.class) {
                        value = value.toString();
                    }
                }
            } catch (ArrayIndexOutOfBoundsException e) {
                value = values.length > 0 ? values[0] : "";
                String message = "Incorrect property \"" + propertyName + "\" value for the object \"" + databaseObject.getName() + "\".";
                ConvertigoPlugin.logWarning(message);
            }
        }
        if ((EmulatorTechnologyEditor.class.equals(pec))) {
            Method getEmulatorClassNames = pec.getDeclaredMethod("getEmulatorClassNames", new Class[] { DatabaseObjectTreeObject.class });
            String[] emulatorClassNames = (String[]) getEmulatorClassNames.invoke(null, new Object[] { this });
            value = emulatorClassNames[((Integer) value).intValue()];
        }
        // Must rename bean when normalizedScreenClassName changed
        if (databaseObject instanceof ScHandlerStatement) {
            ScHandlerStatement scHandlerStatement = (ScHandlerStatement) databaseObject;
            if (propertyName.equals("normalizedScreenClassName")) {
                if (!this.rename("on" + (String) value + scHandlerStatement.getHandlerType(), Boolean.FALSE))
                    return;
            }
        } else // Must rename bean when handlerType changed
        if ((databaseObject instanceof HandlerStatement) && !(databaseObject instanceof ScDefaultHandlerStatement)) {
            // HandlerStatement handlerStatement = (HandlerStatement)databaseObject;
            if (propertyName.equals("handlerType")) {
                if (!this.rename("on" + (String) value, Boolean.FALSE))
                    return;
            }
        }
        // Set property's nillable value
        if (Boolean.TRUE.equals(databaseObjectPropertyDescriptor.getValue("nillable"))) {
            try {
                PropertyDescriptor pd = findPropertyDescriptor(propertyName);
                if ((pd != null) && (pd instanceof DataOrNullPropertyDescriptor)) {
                    Boolean isNull = ((DataOrNullPropertyDescriptor) pd).isNullProperty();
                    ((INillableProperty) databaseObject).setNullProperty(propertyName, isNull);
                    if (isNull) {
                        // Overrides fake editor value to real bean's one
                        if (value instanceof String)
                            value = "";
                        if (value instanceof XMLVector)
                            value = new XMLVector<Object>();
                    }
                }
            } catch (Exception e) {
                String message = "Error while trying to set 'isNull' attribute of property \"" + propertyName + "\" for the object \"" + databaseObject.getName() + "\".";
                ConvertigoPlugin.logException(e, message);
            }
        }
        // Check XML name property value if needed
        if (Boolean.TRUE.equals(databaseObjectPropertyDescriptor.getValue(DatabaseObject.PROPERTY_XMLNAME))) {
            if (value instanceof String) {
                String sValue = value.toString();
                if (!XMLUtils.checkName(sValue)) {
                    String message = "The property \"" + propertyName + "\" value for the object \"" + databaseObject.getName() + "\" is not a valid XML name: " + sValue;
                    ConvertigoPlugin.logWarning(message);
                    return;
                }
            }
        }
        Method setter = databaseObjectPropertyDescriptor.getWriteMethod();
        Object[] args = { value };
        setter.invoke(databaseObject, args);
        hasBeenModified(true);
        // Set treeObject isEnabled attribute value (Fix #1129)
        if (propertyName.equals("isEnabled") || propertyName.equals("isEnable")) {
            setEnabled(value.equals(true));
        }
        viewer.update(this, null);
        // update property view and display the new value for zone editor
        if (pec != null) {
            PropertySheet propertySheet = ConvertigoPlugin.getDefault().getPropertiesView();
            if (propertySheet != null && pec.getName().contains("ZoneEditor")) {
                Tree tree = (Tree) propertySheet.getCurrentPage().getControl();
                TreeItem[] treeItems = tree.getSelection();
                for (int i = 0; i < treeItems.length; i++) {
                    TreeItem treeItem = treeItems[i];
                    if (treeItem.getText().equals(databaseObjectPropertyDescriptor.getDisplayName())) {
                        PropertySheetEntry propEntry = (PropertySheetEntry) treeItem.getData();
                        propEntry.getEditor(tree).setValue(value);
                        propEntry.setValues(args);
                    }
                }
                tree.update();
            }
        }
        Engine.logStudio.info("---------------------- SetPropertyValue started: " + propertyName + "----------------------");
        if (mb != null) {
            mb.prepareBatchBuild();
        }
        BatchOperationHelper.start();
        TreeObjectEvent treeObjectEvent = new TreeObjectEvent(this, propertyName, oldValue, value);
        ConvertigoPlugin.projectManager.getProjectExplorerView().fireTreeObjectPropertyChanged(treeObjectEvent);
        BatchOperationHelper.stop();
    } catch (Exception e) {
        String message = "Error while trying to set property \"" + propertyName + "\" value for the object \"" + databaseObject.getName() + "\".";
        ConvertigoPlugin.logException(e, message);
    } finally {
        BatchOperationHelper.cancel();
        Engine.logStudio.info("---------------------- SetPropertyValue ended:   " + propertyName + "----------------------");
        isValueInProcess = false;
    }
}
Also used : TraverseEvent(org.eclipse.swt.events.TraverseEvent) XMLVector(com.twinsoft.convertigo.beans.common.XMLVector) TreeItem(org.eclipse.swt.widgets.TreeItem) TreeViewer(org.eclipse.jface.viewers.TreeViewer) INillableProperty(com.twinsoft.convertigo.beans.core.INillableProperty) PropertySheetEntry(org.eclipse.ui.views.properties.PropertySheetEntry) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) Tree(org.eclipse.swt.widgets.Tree) TreeObjectEvent(com.twinsoft.convertigo.eclipse.views.projectexplorer.TreeObjectEvent) ScDefaultHandlerStatement(com.twinsoft.convertigo.beans.statements.ScDefaultHandlerStatement) UndefinedSymbolsException(com.twinsoft.convertigo.engine.UndefinedSymbolsException) ComboBoxCellEditor(org.eclipse.jface.viewers.ComboBoxCellEditor) FillLayout(org.eclipse.swt.layout.FillLayout) Method(java.lang.reflect.Method) MobileBuilder(com.twinsoft.convertigo.engine.mobile.MobileBuilder) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) DataOrNullPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DataOrNullPropertyDescriptor) PropertySheet(org.eclipse.ui.views.properties.PropertySheet) ScDefaultHandlerStatement(com.twinsoft.convertigo.beans.statements.ScDefaultHandlerStatement) ScHandlerStatement(com.twinsoft.convertigo.beans.statements.ScHandlerStatement) HandlerStatement(com.twinsoft.convertigo.beans.statements.HandlerStatement) Control(org.eclipse.swt.widgets.Control) Shell(org.eclipse.swt.widgets.Shell) InfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.InfoPropertyDescriptor) DynamicComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicComboBoxPropertyDescriptor) PropertyDescriptor(org.eclipse.ui.views.properties.PropertyDescriptor) StringComboBoxPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.StringComboBoxPropertyDescriptor) TextPropertyDescriptor(org.eclipse.ui.views.properties.TextPropertyDescriptor) ScriptablePropertyDescriptor(com.twinsoft.convertigo.eclipse.views.projectexplorer.ScriptablePropertyDescriptor) IPropertyDescriptor(org.eclipse.ui.views.properties.IPropertyDescriptor) DynamicInfoPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor) DataOrNullPropertyDescriptor(com.twinsoft.convertigo.eclipse.property_editors.DataOrNullPropertyDescriptor) TraverseListener(org.eclipse.swt.events.TraverseListener) EmulatorTechnologyEditor(com.twinsoft.convertigo.eclipse.property_editors.EmulatorTechnologyEditor) Text(org.eclipse.swt.widgets.Text) IEditorPart(org.eclipse.ui.IEditorPart) CoreException(org.eclipse.core.runtime.CoreException) InvocationTargetException(java.lang.reflect.InvocationTargetException) ConvertigoException(com.twinsoft.convertigo.engine.ConvertigoException) UndefinedSymbolsException(com.twinsoft.convertigo.engine.UndefinedSymbolsException) IEditorInput(org.eclipse.ui.IEditorInput) ScHandlerStatement(com.twinsoft.convertigo.beans.statements.ScHandlerStatement) Display(org.eclipse.swt.widgets.Display)

Aggregations

XMLVector (com.twinsoft.convertigo.beans.common.XMLVector)2 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)2 DataOrNullPropertyDescriptor (com.twinsoft.convertigo.eclipse.property_editors.DataOrNullPropertyDescriptor)2 DynamicComboBoxPropertyDescriptor (com.twinsoft.convertigo.eclipse.property_editors.DynamicComboBoxPropertyDescriptor)2 DynamicInfoPropertyDescriptor (com.twinsoft.convertigo.eclipse.property_editors.DynamicInfoPropertyDescriptor)2 StringComboBoxPropertyDescriptor (com.twinsoft.convertigo.eclipse.property_editors.StringComboBoxPropertyDescriptor)2 InfoPropertyDescriptor (com.twinsoft.convertigo.eclipse.views.projectexplorer.InfoPropertyDescriptor)2 ScriptablePropertyDescriptor (com.twinsoft.convertigo.eclipse.views.projectexplorer.ScriptablePropertyDescriptor)2 ConvertigoException (com.twinsoft.convertigo.engine.ConvertigoException)2 UndefinedSymbolsException (com.twinsoft.convertigo.engine.UndefinedSymbolsException)2 InvocationTargetException (java.lang.reflect.InvocationTargetException)2 Method (java.lang.reflect.Method)2 CoreException (org.eclipse.core.runtime.CoreException)2 ComboBoxCellEditor (org.eclipse.jface.viewers.ComboBoxCellEditor)2 IPropertyDescriptor (org.eclipse.ui.views.properties.IPropertyDescriptor)2 PropertyDescriptor (org.eclipse.ui.views.properties.PropertyDescriptor)2 TextPropertyDescriptor (org.eclipse.ui.views.properties.TextPropertyDescriptor)2 INillableProperty (com.twinsoft.convertigo.beans.core.INillableProperty)1 ScreenClass (com.twinsoft.convertigo.beans.core.ScreenClass)1 HandlerStatement (com.twinsoft.convertigo.beans.statements.HandlerStatement)1