use of com.twinsoft.convertigo.beans.mobile.components.MobileComponent in project convertigo by convertigo.
the class MobilePickerContentProvider method getChildren.
@Override
public Object[] getChildren(Object parentElement) {
if (parentElement instanceof TVObject) {
return ((TVObject) parentElement).children.toArray();
} else if (parentElement instanceof MobileComponent) {
MobileComponent mobileComponent = (MobileComponent) parentElement;
Project project = mobileComponent.getProject();
ProjectExplorerView projectExplorerView = ConvertigoPlugin.getDefault().getProjectExplorerView();
List<String> projectNames = Engine.theApp.databaseObjectsManager.getAllProjectNamesList();
Map<String, Set<String>> map = mobileComponent.getApplication().getInfoMap();
TVObject root = new TVObject("root", mobileComponent, null);
if (filter.equals(Filter.Action)) {
TVObject tvi = root.add(new TVObject("actions"));
TVObject tvEvents = tvi.add(new TVObject("events"));
TVObject tvControls = tvi.add(new TVObject("controls"));
addActions(tvi, mobileComponent);
if (tvEvents.isEmpty()) {
tvi.remove(tvEvents);
}
if (tvControls.isEmpty()) {
tvi.remove(tvControls);
}
}
if (filter.equals(Filter.Shared)) {
TVObject tvi = root.add(new TVObject("shared"));
addSharedComponents(tvi, mobileComponent);
}
if (filter.equals(Filter.Sequence)) {
TVObject tvs = root.add(new TVObject("sequences"));
for (String projectName : projectNames) {
try {
Project p = projectExplorerView.getProject(projectName);
boolean isReferenced = !p.getName().equals(project.getName());
addSequences(map, tvs, isReferenced ? p : project, isReferenced);
} catch (Exception e) {
}
}
}
if (filter.equals(Filter.Database)) {
TVObject tvd = root.add(new TVObject("databases"));
for (String projectName : projectNames) {
try {
Project p = projectExplorerView.getProject(projectName);
boolean isReferenced = !p.getName().equals(project.getName());
addFsObjects(map, tvd, isReferenced ? p : project, isReferenced);
} catch (Exception e) {
}
}
}
if (filter.equals(Filter.Iteration)) {
TVObject tvi = root.add(new TVObject("iterations"));
addIterations(tvi, mobileComponent);
}
if (filter.equals(Filter.Form)) {
TVObject tvi = root.add(new TVObject("forms"));
addForms(tvi, mobileComponent);
}
if (filter.equals(Filter.Global)) {
TVObject tvi = root.add(new TVObject("globals"));
addGlobals(tvi, mobileComponent.getApplication());
}
return root.children.toArray();
} else if (parentElement instanceof JSONObject) {
JSONObject jsonObject = (JSONObject) parentElement;
TVObject root = new TVObject("root", jsonObject, null);
addJsonObjects(root);
return root.children.toArray();
}
return new Object[0];
}
Aggregations