Search in sources :

Example 1 with UIDynamicMenu

use of com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu in project convertigo by convertigo.

the class MobileApplicationComponentTreeObject method treeObjectPropertyChanged.

@Override
public void treeObjectPropertyChanged(TreeObjectEvent treeObjectEvent) {
    super.treeObjectPropertyChanged(treeObjectEvent);
    TreeObject treeObject = (TreeObject) treeObjectEvent.getSource();
    Set<Object> done = checkDone(treeObjectEvent);
    String propertyName = (String) treeObjectEvent.propertyName;
    propertyName = ((propertyName == null) ? "" : propertyName);
    Object oldValue = treeObjectEvent.oldValue;
    Object newValue = treeObjectEvent.newValue;
    if (treeObject instanceof DatabaseObjectTreeObject) {
        DatabaseObjectTreeObject doto = (DatabaseObjectTreeObject) treeObject;
        DatabaseObject dbo = doto.getObject();
        try {
            ApplicationComponent ac = getObject();
            // for Page or Menu or Route
            if (ac.equals(dbo.getParent())) {
                markApplicationAsDirty(done);
            } else // for any component inside a route
            if (ac.equals(dbo.getParent().getParent())) {
                markApplicationAsDirty(done);
            } else // for any UI component inside a menu or a stack
            if (dbo instanceof UIComponent) {
                UIComponent uic = (UIComponent) dbo;
                UIDynamicMenu menu = uic.getMenu();
                if (menu != null) {
                    if (ac.equals(menu.getParent())) {
                        if (propertyName.equals("FormControlName") || uic.isFormControlAttribute()) {
                            if (!newValue.equals(oldValue)) {
                                try {
                                    String oldSmart = ((MobileSmartSourceType) oldValue).getSmartValue();
                                    String newSmart = ((MobileSmartSourceType) newValue).getSmartValue();
                                    if (uic.getUIForm() != null) {
                                        String form = uic.getUIForm().getFormGroupName();
                                        if (menu.updateSmartSource(form + "\\?\\.controls\\['" + oldSmart + "'\\]", form + "?.controls['" + newSmart + "']")) {
                                            this.viewer.refresh();
                                        }
                                    }
                                } catch (Exception e) {
                                }
                            }
                        }
                        markApplicationAsDirty(done);
                    }
                }
            } else // for this application
            if (this.equals(doto)) {
                if (propertyName.equals("isPWA")) {
                    if (!newValue.equals(oldValue)) {
                        markPwaAsDirty();
                    }
                } else if (propertyName.equals("componentScriptContent")) {
                    if (!newValue.equals(oldValue)) {
                        markComponentTsAsDirty();
                        markApplicationAsDirty(done);
                    }
                } else if (propertyName.equals("useClickForTap")) {
                    for (TreeObject to : this.getChildren()) {
                        if (to instanceof ObjectsFolderTreeObject) {
                            ObjectsFolderTreeObject ofto = (ObjectsFolderTreeObject) to;
                            if (ofto.folderType == ObjectsFolderTreeObject.FOLDER_TYPE_PAGES) {
                                for (TreeObject cto : ofto.getChildren()) {
                                    if (cto instanceof MobilePageComponentTreeObject) {
                                        ((MobilePageComponentTreeObject) cto).markPageAsDirty(done);
                                    }
                                }
                            }
                        }
                    }
                    markApplicationAsDirty(done);
                } else if (propertyName.equals("tplProjectName")) {
                    // close app editor and reinitialize builder
                    Project project = ac.getProject();
                    closeAllEditors(false);
                    MobileBuilder.releaseBuilder(project);
                    MobileBuilder.initBuilder(project);
                    IProject iproject = ConvertigoPlugin.getDefault().getProjectPluginResource(project.getName());
                    iproject.refreshLocal(IResource.DEPTH_INFINITE, null);
                    // force app sources regeneration
                    for (TreeObject to : this.getChildren()) {
                        if (to instanceof ObjectsFolderTreeObject) {
                            ObjectsFolderTreeObject ofto = (ObjectsFolderTreeObject) to;
                            if (ofto.folderType == ObjectsFolderTreeObject.FOLDER_TYPE_PAGES) {
                                for (TreeObject cto : ofto.getChildren()) {
                                    if (cto instanceof MobilePageComponentTreeObject) {
                                        ((MobilePageComponentTreeObject) cto).markPageAsDirty(done);
                                    }
                                }
                            }
                        }
                    }
                    markApplicationAsDirty(done);
                    // delete node modules and alert user
                    final File nodeModules = new File(project.getDirPath(), "/_private/ionic/node_modules");
                    if (nodeModules.exists()) {
                        ProgressMonitorDialog dialog = new ProgressMonitorDialog(ConvertigoPlugin.getMainShell());
                        dialog.open();
                        dialog.run(true, false, new IRunnableWithProgress() {

                            @Override
                            public void run(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException {
                                monitor.beginTask("deleting node modules", IProgressMonitor.UNKNOWN);
                                String alert = "template changed!";
                                if (com.twinsoft.convertigo.engine.util.FileUtils.deleteQuietly(nodeModules)) {
                                    alert = "You have just changed the template.\nPackages have been deleted and will be reinstalled next time you run your application again.";
                                } else {
                                    alert = "You have just changed the template: packages could not be deleted!\nDo not forget to reinstall the packages before running your application again, otherwise it may be corrupted!";
                                }
                                monitor.done();
                                ConvertigoPlugin.infoMessageBox(alert);
                            }
                        });
                    }
                } else {
                    markApplicationAsDirty(done);
                }
            }
        } catch (Exception e) {
        }
    }
}
Also used : ApplicationComponent(com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent) MobileSmartSourceType(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSourceType) ProgressMonitorDialog(org.eclipse.jface.dialogs.ProgressMonitorDialog) UIComponent(com.twinsoft.convertigo.beans.mobile.components.UIComponent) UIDynamicMenu(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu) InvalidParameterException(java.security.InvalidParameterException) PartInitException(org.eclipse.ui.PartInitException) InvocationTargetException(java.lang.reflect.InvocationTargetException) EngineException(com.twinsoft.convertigo.engine.EngineException) IProject(org.eclipse.core.resources.IProject) InvocationTargetException(java.lang.reflect.InvocationTargetException) IRunnableWithProgress(org.eclipse.jface.operation.IRunnableWithProgress) IProject(org.eclipse.core.resources.IProject) Project(com.twinsoft.convertigo.beans.core.Project) IProgressMonitor(org.eclipse.core.runtime.IProgressMonitor) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) IFile(org.eclipse.core.resources.IFile) File(java.io.File)

Example 2 with UIDynamicMenu

use of com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu in project convertigo by convertigo.

the class ComponentManager method makeComponents.

private synchronized List<Component> makeComponents() {
    if (components != null) {
        return components;
    }
    components = new ArrayList<Component>(10);
    try {
        String group;
        // Add Customs
        group = GROUP_CUSTOMS;
        components.add(getDboComponent(UIElement.class, group));
        components.add(getDboComponent(UIAttribute.class, group));
        components.add(getDboComponent(UIAnimation.class, group));
        components.add(getDboComponent(UICustom.class, group));
        components.add(getDboComponent(UIText.class, group));
        components.add(getDboComponent(UIStyle.class, group));
        components.add(getDboComponent(UITheme.class, group));
        // Add shared components
        group = GROUP_SHARED_COMPONENTS;
        components.add(getDboComponent(UISharedComponent.class, group));
        components.add(getDboComponent(UIUseShared.class, group));
        components.add(getDboComponent(UICompVariable.class, group));
        // Add shared actions
        group = GROUP_SHARED_ACTIONS;
        components.add(getDboComponent(UIActionStack.class, group));
        components.add(getDboComponent(UIStackVariable.class, group));
        // Add Controls
        group = GROUP_CONTROLS;
        components.add(getDboComponent(UIControlEvent.class, group));
        components.add(getDboComponent(UIAppEvent.class, group));
        components.add(getDboComponent(UIPageEvent.class, group));
        components.add(getDboComponent(UIEventSubscriber.class, group));
        components.add(getDboComponent(UIActionErrorEvent.class, group));
        components.add(getDboComponent(UIActionFailureEvent.class, group));
        components.add(getDboComponent(UIActionFinallyEvent.class, group));
        components.add(getDboComponent(UIActionLoopEvent.class, group));
        components.add(getDboComponent(UIActionCaseEvent.class, group));
        components.add(getDboComponent(UIActionCaseDefaultEvent.class, group));
        components.add(getDboComponent(UIActionElseEvent.class, group));
        components.add(getDboComponent(UIControlDirective.class, group));
        // Add Actions
        group = GROUP_ACTIONS;
        components.add(getDboComponent(UIControlVariable.class, group));
        components.add(getDboComponent(UICustomAction.class, group));
        components.add(getDboComponent(UIForm.class, "Forms"));
        components.add(getDboComponent(UIFormControlValidator.class, "Forms"));
        components.add(getDboComponent(UIFormCustomValidator.class, "Forms"));
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    } catch (InstantiationException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    } catch (NoSuchMethodException e) {
        e.printStackTrace();
    } catch (InvocationTargetException e) {
        e.printStackTrace();
    }
    for (final IonBean bean : instance.bCache.values()) {
        components.add(new Component() {

            @Override
            public boolean isAllowedIn(DatabaseObject parent) {
                if (bean.getTag().equals("ion-menu")) {
                    return parent instanceof ApplicationComponent;
                }
                if (bean.getClassName().startsWith("com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenuItem")) {
                    if (parent instanceof UIComponent) {
                        if (parent instanceof UIDynamicMenuItem)
                            return false;
                        UIDynamicMenu menu = ((UIComponent) parent).getMenu();
                        return menu != null;
                    }
                }
                Class<?> dboClass;
                try {
                    dboClass = Class.forName(bean.getClassName());
                    if (acceptDatabaseObjects(parent, dboClass)) {
                        return isTplCompatible(parent, createBean());
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return false;
            }

            @Override
            public String getLabel() {
                return bean.getLabel();
            }

            @Override
            public String getImagePath() {
                return bean.getIconColor32Path();
            }

            @Override
            public String getGroup() {
                return bean.getGroup();
            }

            @Override
            public String getDescription() {
                return bean.getDescription();
            }

            @Override
            public String getName() {
                return bean.getName();
            }

            @Override
            public String getTag() {
                return bean.getTag();
            }

            @Override
            public String getPropertiesDescription() {
                String propertiesDescription = "";
                List<IonProperty> properties = new ArrayList<IonProperty>();
                properties.addAll(bean.getProperties().values());
                Collections.sort(properties, new Comparator<IonProperty>() {

                    @Override
                    public int compare(IonProperty p1, IonProperty p2) {
                        return p1.getLabel().compareTo(p2.getLabel());
                    }
                });
                for (IonProperty ionProperty : properties) {
                    if (!ionProperty.isHidden()) {
                        propertiesDescription += "<li><i>" + ionProperty.getLabel() + "</i>";
                        propertiesDescription += "</br>" + ionProperty.getDescription() + "</li>";
                    }
                }
                Class<?> dboClass;
                try {
                    dboClass = Class.forName(bean.getClassName());
                    BeanInfo beanInfo = Introspector.getBeanInfo(dboClass);
                    PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
                    propertyDescriptors = propertyDescriptors.clone();
                    Arrays.sort(propertyDescriptors, (o1, o2) -> {
                        if (o1.isExpert() == o2.isExpert()) {
                            return o1.getDisplayName().compareTo(o2.getDisplayName());
                        } else if (o1.isExpert()) {
                            return 1;
                        } else {
                            return -1;
                        }
                    });
                    for (PropertyDescriptor dbopd : propertyDescriptors) {
                        if (!dbopd.isHidden() && !Boolean.TRUE.equals(dbopd.getValue("disable"))) {
                            propertiesDescription += "<li><i>" + dbopd.getDisplayName() + "</i>";
                            propertiesDescription += "</br>" + dbopd.getShortDescription().replace("|", "") + "</li>";
                        }
                    }
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return propertiesDescription.isEmpty() ? "" : "<ul>" + propertiesDescription + "</ul>";
            }

            @Override
            protected DatabaseObject createBean() {
                DatabaseObject dbo = bean.createBean();
                return dbo;
            }
        });
    }
    Collections.sort(components, new Comparator<Component>() {

        @Override
        public int compare(Component c1, Component c2) {
            return c1.getLabel().compareTo(c2.getLabel());
        }
    });
    return components = Collections.unmodifiableList(components);
}
Also used : Arrays(java.util.Arrays) UIActionCaseDefaultEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionCaseDefaultEvent) UIAppEvent(com.twinsoft.convertigo.beans.mobile.components.UIAppEvent) UIActionFailureEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionFailureEvent) UIUseShared(com.twinsoft.convertigo.beans.mobile.components.UIUseShared) Map(java.util.Map) BeanDescriptor(java.beans.BeanDescriptor) UIActionErrorEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionErrorEvent) UIFormCustomValidator(com.twinsoft.convertigo.beans.mobile.components.UIFormCustomValidator) UIActionLoopEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionLoopEvent) GenericUtils(com.twinsoft.convertigo.engine.util.GenericUtils) UIEventSubscriber(com.twinsoft.convertigo.beans.mobile.components.UIEventSubscriber) UIDynamicIf(com.twinsoft.convertigo.beans.mobile.components.UIDynamicIf) UIComponent(com.twinsoft.convertigo.beans.mobile.components.UIComponent) UIStackVariable(com.twinsoft.convertigo.beans.mobile.components.UIStackVariable) UIActionCaseEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionCaseEvent) UIControlEvent(com.twinsoft.convertigo.beans.mobile.components.UIControlEvent) IntrospectionException(java.beans.IntrospectionException) InvocationTargetException(java.lang.reflect.InvocationTargetException) IOUtils(org.apache.commons.io.IOUtils) List(java.util.List) UIDynamicSwitch(com.twinsoft.convertigo.beans.mobile.components.UIDynamicSwitch) IAction(com.twinsoft.convertigo.beans.mobile.components.IAction) UIPageEvent(com.twinsoft.convertigo.beans.mobile.components.UIPageEvent) PropertyDescriptor(java.beans.PropertyDescriptor) UIActionStack(com.twinsoft.convertigo.beans.mobile.components.UIActionStack) UICompVariable(com.twinsoft.convertigo.beans.mobile.components.UICompVariable) MobileComponent(com.twinsoft.convertigo.beans.mobile.components.MobileComponent) URLUtils(com.twinsoft.convertigo.engine.util.URLUtils) SortedMap(java.util.SortedMap) UIAttribute(com.twinsoft.convertigo.beans.mobile.components.UIAttribute) UIText(com.twinsoft.convertigo.beans.mobile.components.UIText) UIActionElseEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionElseEvent) UICustom(com.twinsoft.convertigo.beans.mobile.components.UICustom) WeakValueHashMap(com.twinsoft.convertigo.engine.util.WeakValueHashMap) UIAnimation(com.twinsoft.convertigo.beans.mobile.components.UIAnimation) ArrayList(java.util.ArrayList) UIControlVariable(com.twinsoft.convertigo.beans.mobile.components.UIControlVariable) UIFormValidator(com.twinsoft.convertigo.beans.mobile.components.UIFormValidator) Introspector(java.beans.Introspector) UIFormControlValidator(com.twinsoft.convertigo.beans.mobile.components.UIFormControlValidator) UIDynamicIterate(com.twinsoft.convertigo.beans.mobile.components.UIDynamicIterate) UIDynamicMenu(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu) UICustomAction(com.twinsoft.convertigo.beans.mobile.components.UICustomAction) BeanInfo(java.beans.BeanInfo) MySimpleBeanInfo(com.twinsoft.convertigo.beans.core.MySimpleBeanInfo) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) UIForm(com.twinsoft.convertigo.beans.mobile.components.UIForm) UIStyle(com.twinsoft.convertigo.beans.mobile.components.UIStyle) Iterator(java.util.Iterator) MobileSmartSourceType(com.twinsoft.convertigo.beans.mobile.components.MobileSmartSourceType) Engine(com.twinsoft.convertigo.engine.Engine) JSONObject(org.codehaus.jettison.json.JSONObject) UIElement(com.twinsoft.convertigo.beans.mobile.components.UIElement) File(java.io.File) UISharedComponent(com.twinsoft.convertigo.beans.mobile.components.UISharedComponent) UITheme(com.twinsoft.convertigo.beans.mobile.components.UITheme) UIActionFinallyEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionFinallyEvent) TreeMap(java.util.TreeMap) PageComponent(com.twinsoft.convertigo.beans.mobile.components.PageComponent) JSONException(org.codehaus.jettison.json.JSONException) UIActionEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionEvent) FileUtils(com.twinsoft.convertigo.engine.util.FileUtils) ApplicationComponent(com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent) Comparator(java.util.Comparator) Collections(java.util.Collections) UIControlDirective(com.twinsoft.convertigo.beans.mobile.components.UIControlDirective) InputStream(java.io.InputStream) UIDynamicMenuItem(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenuItem) UIPageEvent(com.twinsoft.convertigo.beans.mobile.components.UIPageEvent) UIUseShared(com.twinsoft.convertigo.beans.mobile.components.UIUseShared) BeanInfo(java.beans.BeanInfo) MySimpleBeanInfo(com.twinsoft.convertigo.beans.core.MySimpleBeanInfo) UIControlDirective(com.twinsoft.convertigo.beans.mobile.components.UIControlDirective) UIControlVariable(com.twinsoft.convertigo.beans.mobile.components.UIControlVariable) UISharedComponent(com.twinsoft.convertigo.beans.mobile.components.UISharedComponent) Comparator(java.util.Comparator) DatabaseObject(com.twinsoft.convertigo.beans.core.DatabaseObject) List(java.util.List) ArrayList(java.util.ArrayList) UIActionFailureEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionFailureEvent) UIComponent(com.twinsoft.convertigo.beans.mobile.components.UIComponent) UIAnimation(com.twinsoft.convertigo.beans.mobile.components.UIAnimation) UIFormCustomValidator(com.twinsoft.convertigo.beans.mobile.components.UIFormCustomValidator) InvocationTargetException(java.lang.reflect.InvocationTargetException) UIDynamicMenu(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu) UIStyle(com.twinsoft.convertigo.beans.mobile.components.UIStyle) UIDynamicMenuItem(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenuItem) UIActionElseEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionElseEvent) UIElement(com.twinsoft.convertigo.beans.mobile.components.UIElement) UICustom(com.twinsoft.convertigo.beans.mobile.components.UICustom) UIAppEvent(com.twinsoft.convertigo.beans.mobile.components.UIAppEvent) UITheme(com.twinsoft.convertigo.beans.mobile.components.UITheme) UIActionErrorEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionErrorEvent) UIActionCaseDefaultEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionCaseDefaultEvent) UIForm(com.twinsoft.convertigo.beans.mobile.components.UIForm) UIEventSubscriber(com.twinsoft.convertigo.beans.mobile.components.UIEventSubscriber) UIControlEvent(com.twinsoft.convertigo.beans.mobile.components.UIControlEvent) UIText(com.twinsoft.convertigo.beans.mobile.components.UIText) UIActionLoopEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionLoopEvent) UIComponent(com.twinsoft.convertigo.beans.mobile.components.UIComponent) MobileComponent(com.twinsoft.convertigo.beans.mobile.components.MobileComponent) UISharedComponent(com.twinsoft.convertigo.beans.mobile.components.UISharedComponent) PageComponent(com.twinsoft.convertigo.beans.mobile.components.PageComponent) ApplicationComponent(com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent) UICompVariable(com.twinsoft.convertigo.beans.mobile.components.UICompVariable) PropertyDescriptor(java.beans.PropertyDescriptor) ApplicationComponent(com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent) UIStackVariable(com.twinsoft.convertigo.beans.mobile.components.UIStackVariable) IntrospectionException(java.beans.IntrospectionException) InvocationTargetException(java.lang.reflect.InvocationTargetException) JSONException(org.codehaus.jettison.json.JSONException) UIActionStack(com.twinsoft.convertigo.beans.mobile.components.UIActionStack) UIAttribute(com.twinsoft.convertigo.beans.mobile.components.UIAttribute) UIActionCaseEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionCaseEvent) UIFormControlValidator(com.twinsoft.convertigo.beans.mobile.components.UIFormControlValidator) UIActionFinallyEvent(com.twinsoft.convertigo.beans.mobile.components.UIActionFinallyEvent) UICustomAction(com.twinsoft.convertigo.beans.mobile.components.UICustomAction)

Example 3 with UIDynamicMenu

use of com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu in project convertigo by convertigo.

the class MobilePageComponentTreeObject method getNamedSourceSelector.

@Override
public NamedSourceSelector getNamedSourceSelector() {
    return new NamedSourceSelector() {

        @Override
        Object thisTreeObject() {
            return MobilePageComponentTreeObject.this;
        }

        @Override
        protected List<String> getPropertyNamesForSource(Class<?> c) {
            List<String> list = new ArrayList<String>();
            if (getObject() instanceof PageComponent) {
                if (ProjectTreeObject.class.isAssignableFrom(c) || MobileApplicationTreeObject.class.isAssignableFrom(c) || MobileApplicationComponentTreeObject.class.isAssignableFrom(c) || MobileUIComponentTreeObject.class.isAssignableFrom(c)) {
                    list.add("menu");
                }
            }
            return list;
        }

        @Override
        protected boolean isNamedSource(String propertyName) {
            if (getObject() instanceof PageComponent) {
                return "menu".equals(propertyName);
            }
            return false;
        }

        @Override
        public boolean isSelectable(String propertyName, Object nsObject) {
            if (getObject() instanceof PageComponent) {
                if ("menu".equals(propertyName)) {
                    PageComponent pc = getObject();
                    if (nsObject instanceof UIDynamicMenu) {
                        return (((UIDynamicMenu) nsObject).getProject().equals(pc.getProject()));
                    }
                }
            }
            return false;
        }

        @Override
        protected void handleSourceCleared(String propertyName) {
        // nothing to do
        }

        @Override
        protected void handleSourceRenamed(String propertyName, String oldName, String newName) {
            if (isNamedSource(propertyName)) {
                boolean hasBeenRenamed = false;
                String pValue = (String) getPropertyValue(propertyName);
                if (pValue != null && pValue.startsWith(oldName)) {
                    String _pValue = newName + pValue.substring(oldName.length());
                    if (!pValue.equals(_pValue)) {
                        if (getObject() instanceof PageComponent) {
                            if ("menu".equals(propertyName)) {
                                getObject().setMenu(_pValue);
                                hasBeenRenamed = true;
                            }
                        }
                    }
                }
                if (hasBeenRenamed) {
                    hasBeenModified(true);
                    ConvertigoPlugin.projectManager.getProjectExplorerView().updateTreeObject(MobilePageComponentTreeObject.this);
                    // refresh editors (e.g labels in combobox)
                    getDescriptors();
                    TreeObjectEvent treeObjectEvent = new TreeObjectEvent(MobilePageComponentTreeObject.this, propertyName, "", "");
                    ConvertigoPlugin.projectManager.getProjectExplorerView().fireTreeObjectPropertyChanged(treeObjectEvent);
                }
            }
        }
    };
}
Also used : ArrayList(java.util.ArrayList) PageComponent(com.twinsoft.convertigo.beans.mobile.components.PageComponent) UIDynamicMenu(com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu) TreeObjectEvent(com.twinsoft.convertigo.eclipse.views.projectexplorer.TreeObjectEvent)

Aggregations

UIDynamicMenu (com.twinsoft.convertigo.beans.mobile.components.UIDynamicMenu)3 DatabaseObject (com.twinsoft.convertigo.beans.core.DatabaseObject)2 ApplicationComponent (com.twinsoft.convertigo.beans.mobile.components.ApplicationComponent)2 MobileSmartSourceType (com.twinsoft.convertigo.beans.mobile.components.MobileSmartSourceType)2 PageComponent (com.twinsoft.convertigo.beans.mobile.components.PageComponent)2 UIComponent (com.twinsoft.convertigo.beans.mobile.components.UIComponent)2 ArrayList (java.util.ArrayList)2 MySimpleBeanInfo (com.twinsoft.convertigo.beans.core.MySimpleBeanInfo)1 Project (com.twinsoft.convertigo.beans.core.Project)1 IAction (com.twinsoft.convertigo.beans.mobile.components.IAction)1 MobileComponent (com.twinsoft.convertigo.beans.mobile.components.MobileComponent)1 UIActionCaseDefaultEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionCaseDefaultEvent)1 UIActionCaseEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionCaseEvent)1 UIActionElseEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionElseEvent)1 UIActionErrorEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionErrorEvent)1 UIActionEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionEvent)1 UIActionFailureEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionFailureEvent)1 UIActionFinallyEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionFinallyEvent)1 UIActionLoopEvent (com.twinsoft.convertigo.beans.mobile.components.UIActionLoopEvent)1 UIActionStack (com.twinsoft.convertigo.beans.mobile.components.UIActionStack)1