Search in sources :

Example 1 with RouteDataActionComponent

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

the class MobileRouteActionComponentTreeObject method getNamedSourceSelector.

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

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

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

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

        @Override
        public boolean isSelectable(String propertyName, Object nsObject) {
            if (getObject() instanceof RouteActionComponent) {
                if ("page".equals(propertyName)) {
                    RouteActionComponent rc = getObject();
                    if (rc instanceof RouteDataActionComponent) {
                        if (nsObject instanceof PageComponent) {
                            return (((PageComponent) nsObject).getProject().equals(rc.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 RouteActionComponent) {
                            if ("page".equals(propertyName)) {
                                getObject().setPage(_pValue);
                                hasBeenRenamed = true;
                            }
                        }
                    }
                }
                if (hasBeenRenamed) {
                    hasBeenModified(true);
                    ConvertigoPlugin.projectManager.getProjectExplorerView().updateTreeObject(MobileRouteActionComponentTreeObject.this);
                    // refresh editors (e.g labels in combobox)
                    getDescriptors();
                    TreeObjectEvent treeObjectEvent = new TreeObjectEvent(MobileRouteActionComponentTreeObject.this, propertyName, "", "");
                    ConvertigoPlugin.projectManager.getProjectExplorerView().fireTreeObjectPropertyChanged(treeObjectEvent);
                }
            }
        }
    };
}
Also used : RouteActionComponent(com.twinsoft.convertigo.beans.mobile.components.RouteActionComponent) ArrayList(java.util.ArrayList) RouteDataActionComponent(com.twinsoft.convertigo.beans.mobile.components.RouteDataActionComponent) PageComponent(com.twinsoft.convertigo.beans.mobile.components.PageComponent) TreeObjectEvent(com.twinsoft.convertigo.eclipse.views.projectexplorer.TreeObjectEvent)

Aggregations

PageComponent (com.twinsoft.convertigo.beans.mobile.components.PageComponent)1 RouteActionComponent (com.twinsoft.convertigo.beans.mobile.components.RouteActionComponent)1 RouteDataActionComponent (com.twinsoft.convertigo.beans.mobile.components.RouteDataActionComponent)1 TreeObjectEvent (com.twinsoft.convertigo.eclipse.views.projectexplorer.TreeObjectEvent)1 ArrayList (java.util.ArrayList)1