use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.FolderTreeObject in project convertigo by convertigo.
the class ViewImageProvider method getImageData.
/**
* Dispose all loaded images
*/
/*public static void dispose() {
String imageName = null;
Image image = null;
for (Enumeration e = imagesCache.keys(); e.hasMoreElements(); ) {
imageName = (String) e.nextElement();
if (imageName != null) {
image = (Image) imagesCache.get(imageName);
imagesCache.put(imageName, null);
}
if (image != null)
image.dispose();
}
}*/
private static ImageData getImageData(Image image, Object object) {
ImageData imageData = image.getImageData();
DatabaseObjectTreeObject databaseObjectTreeObject = null;
if (object instanceof DatabaseObjectTreeObject) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) object;
} else if (object instanceof PropertyTableTreeObject) {
PropertyTableTreeObject table = (PropertyTableTreeObject) object;
if (table != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) table.getTreeObjectOwner();
}
} else if (object instanceof PropertyTableRowTreeObject) {
PropertyTableTreeObject table = ((PropertyTableRowTreeObject) object).getParentTable();
if (table != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) table.getTreeObjectOwner();
}
} else if (object instanceof PropertyTableColumnTreeObject) {
PropertyTableTreeObject table = ((PropertyTableColumnTreeObject) object).getParentTable();
if (table != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) table.getTreeObjectOwner();
}
} else if (object instanceof FolderTreeObject) {
FolderTreeObject t_folder = (FolderTreeObject) object;
if (t_folder.getParent() instanceof DatabaseObjectTreeObject) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) t_folder.getParent();
}
} else if (object instanceof DesignDocumentViewTreeObject) {
DesignDocumentViewTreeObject ddvto = (DesignDocumentViewTreeObject) object;
if (ddvto != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) ddvto.getTreeObjectOwner();
}
} else if (object instanceof DesignDocumentFunctionTreeObject) {
DesignDocumentFunctionTreeObject ddfto = (DesignDocumentFunctionTreeObject) object;
if (ddfto != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) ddfto.getTreeObjectOwner();
}
}
if (databaseObjectTreeObject != null) {
// GIF style
if (imageData.palette.colors != null) {
for (int i = 0; i < imageData.palette.colors.length; i++) {
if (i != imageData.transparentPixel) {
RGB rgb = imageData.palette.colors[i];
imageData.palette.colors[i] = changeHue(rgb, databaseObjectTreeObject);
}
}
} else // PNG style and Linux
{
for (int i = 0; i < imageData.height; i++) {
for (int j = 0; j < imageData.width; j++) {
RGB rgb = imageData.palette.getRGB(imageData.getPixel(j, i));
imageData.setPixel(j, i, imageData.palette.getPixel(changeHue(rgb, databaseObjectTreeObject)));
}
}
}
}
return imageData;
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.FolderTreeObject in project convertigo by convertigo.
the class ViewLabelProvider method getImage.
@Override
public Image getImage(Object obj) {
try {
String iconName = "/com/twinsoft/convertigo/beans/core/images/default_color_16x16.png";
Image image = null;
if (obj instanceof UnloadedProjectTreeObject) {
String imageKey = org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT_CLOSED;
image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
} else if (obj instanceof ResourceTreeObject) {
ILabelProvider workbenchLabelProvider = WorkbenchLabelProvider.getDecoratingWorkbenchLabelProvider();
image = workbenchLabelProvider.getImage(obj);
} else if (obj instanceof FolderTreeObject) {
String imageKey = ISharedImages.IMG_OBJ_FOLDER;
image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
FolderTreeObject t_folder = (FolderTreeObject) obj;
if (t_folder.getParent() instanceof DatabaseObjectTreeObject) {
DatabaseObjectTreeObject parent = (DatabaseObjectTreeObject) t_folder.getParent();
if (!parent.isEnabled())
image = ViewImageProvider.getImageFromCache(imageKey + "_disable", image, obj);
else if (parent.hasAncestorDisabled())
image = ViewImageProvider.getImageFromCache(imageKey + "_unreachable", image, obj);
}
} else if (obj instanceof TemplateTreeObject) {
String imageKey = ISharedImages.IMG_OBJ_FILE;
image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
} else if (obj instanceof HandlersDeclarationTreeObject) {
String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
} else if (obj instanceof TraceTreeObject) {
String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
image = PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
} else if (obj instanceof VariableTreeObject2) {
VariableTreeObject2 variableTreeObject = (VariableTreeObject2) obj;
iconName = MySimpleBeanInfo.getIconName(variableTreeObject.databaseObjectBeanInfo, BeanInfo.ICON_COLOR_16x16);
if (iconName == null) {
iconName = "/com/twinsoft/convertigo/beans/core/images/variable_color_16x16.png";
}
image = ViewImageProvider.getImageFromCache(iconName, variableTreeObject);
} else if (obj instanceof DatabaseObjectTreeObject) {
DatabaseObjectTreeObject databaseObjectTreeObject = (DatabaseObjectTreeObject) obj;
iconName = MySimpleBeanInfo.getIconName(databaseObjectTreeObject.getObject(), BeanInfo.ICON_COLOR_16x16);
image = ViewImageProvider.getImageFromCache(iconName, databaseObjectTreeObject);
} else if (obj instanceof PropertyTableTreeObject) {
iconName = "/com/twinsoft/convertigo/beans/core/images/bean_property_16x16.png";
image = ViewImageProvider.getImageFromCache(iconName, (PropertyTableTreeObject) obj);
} else if (obj instanceof PropertyTableRowTreeObject) {
iconName = "/com/twinsoft/convertigo/beans/core/images/bean_property_16x16.png";
image = ViewImageProvider.getImageFromCache(iconName, (PropertyTableRowTreeObject) obj);
} else if (obj instanceof PropertyTableColumnTreeObject) {
iconName = "/com/twinsoft/convertigo/beans/core/images/bean_property_16x16.png";
image = ViewImageProvider.getImageFromCache(iconName, (PropertyTableColumnTreeObject) obj);
} else if (obj instanceof DesignDocumentViewTreeObject) {
iconName = "/com/twinsoft/convertigo/beans/couchdb/images/view_color_16x16.png";
image = ViewImageProvider.getImageFromCache(iconName, (DesignDocumentViewTreeObject) obj);
} else if (obj instanceof DesignDocumentFunctionTreeObject) {
iconName = "/com/twinsoft/convertigo/beans/couchdb/images/function_color_16x16.png";
image = ViewImageProvider.getImageFromCache(iconName, (DesignDocumentFunctionTreeObject) obj);
} else {
throw new IllegalArgumentException("Unexpected tree item object");
}
return image;
} catch (Exception e) {
String message = "Error while getting tree view item image for object [" + obj.getClass().getName() + "] " + obj.toString();
ConvertigoPlugin.logException(e, message);
String imageKey = ISharedImages.IMG_OBJ_ELEMENT;
if (obj instanceof TreeParent) {
imageKey = ISharedImages.IMG_OBJ_FOLDER;
}
return PlatformUI.getWorkbench().getSharedImages().getImage(imageKey);
}
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.FolderTreeObject in project convertigo by convertigo.
the class ProjectLoadingJob method loadTrace.
public void loadTrace(TreeParent parentTreeObject, File dir) {
FolderTreeObject folderTreeObject = new FolderTreeObject(viewer, "Traces");
parentTreeObject.addChild(folderTreeObject);
/**
* Ticket #689 workaround, until better IRessource integration
*/
try {
String dirp = dir.getPath();
dirp = dirp.replaceFirst(".*/(.*/.*)$", "$1");
IFolder ifolder = parentTreeObject.getProjectTreeObject().getFolder(dirp);
if (!ifolder.exists())
ifolder.create(true, true, null);
} catch (Exception e) {
if (!dir.exists()) {
if (!dir.mkdir())
return;
}
}
File[] files = dir.listFiles(new FilenameFilter() {
public boolean accept(File dir, String name) {
if (new File(dir, name).isFile() && (name.endsWith(".etr")))
return true;
return false;
}
});
if (files == null)
return;
File file;
TraceTreeObject traceTreeObject;
for (int i = 0; i < files.length; i++) {
file = files[i];
traceTreeObject = new TraceTreeObject(viewer, file);
folderTreeObject.addChild(traceTreeObject);
if (file.getName().equals("demo.etr")) {
if (demoTraceTreeObject == null)
demoTraceTreeObject = traceTreeObject;
}
}
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.FolderTreeObject in project convertigo by convertigo.
the class TreeDropAdapter method validateDrop.
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ViewerDropAdapter#validateDrop(java.lang.Object, int, org.eclipse.swt.dnd.TransferData)
*/
@Override
public boolean validateDrop(Object target, int operation, TransferData transferType) {
if (TextTransfer.getInstance().isSupportedType(transferType)) {
if (getCurrentOperation() == DND.DROP_MOVE) {
Object targetObject = getCurrentTarget();
Object sourceObject = getSelectedObject();
if (targetObject != null && targetObject instanceof TreeObject) {
TreeObject targetTreeObject = (TreeObject) targetObject;
if (sourceObject != null && sourceObject instanceof TreeObject) {
TreeObject sourceTreeObject = (TreeObject) sourceObject;
boolean isFocus = sourceTreeObject.viewer.getControl().isFocusControl();
if (isFocus && (sourceObject == targetObject || targetTreeObject.isChildOf(sourceTreeObject))) {
return false;
}
}
if (targetObject instanceof DatabaseObjectTreeObject) {
try {
String xmlData = TextTransfer.getInstance().nativeToJava(transferType).toString();
List<Object> list = ConvertigoPlugin.clipboardManagerDND.read(xmlData);
DatabaseObject databaseObject = (DatabaseObject) list.get(0);
DatabaseObject targetDatabaseObject = ((DatabaseObjectTreeObject) target).getObject();
if (DatabaseObjectsManager.acceptDatabaseObjects(targetDatabaseObject, databaseObject)) {
return true;
}
DatabaseObject parentDatabaseObject = targetDatabaseObject.getParent();
if (parentDatabaseObject != null && DatabaseObjectsManager.acceptDatabaseObjects(parentDatabaseObject, databaseObject)) {
return true;
}
return false;
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
}
return true;
}
if (StepSourceTransfer.getInstance().isSupportedType(transferType)) {
if (target instanceof TreeObject) {
TreeObject targetTreeObject = (TreeObject) target;
// Check for drop to a step which contains a stepSource definition
// if (targetTreeObject.getObject() instanceof IStepSourceContainer) {
Object ob = targetTreeObject.getObject();
if (ob instanceof Step && ((Step) ob).canWorkOnSource() || ob instanceof IStepSourceContainer) {
StepSource stepSource = StepSourceTransfer.getInstance().getStepSource();
if (stepSource != null) {
Step targetStep = (Step) ((ob instanceof StepVariable) ? ((StepVariable) ob).getParent() : ob);
// Check for drop to a step in the same sequence
Long key = Long.valueOf(stepSource.getPriority());
Step sourceStep = targetStep.getSequence().loadedSteps.get(key);
if ((sourceStep != null) && (!targetStep.equals(sourceStep))) {
// Check for drop on a 'following' step
try {
List<TreeObject> siblings = new ArrayList<TreeObject>();
getNextSiblings(siblings, targetTreeObject.getProjectTreeObject(), sourceStep);
// System.out.println("siblings: "+siblings.toString());
return siblings.contains(targetTreeObject);
} catch (Exception e) {
e.printStackTrace(System.out);
}
;
}
}
}
}
}
if (PaletteSourceTransfer.getInstance().isSupportedType(transferType)) {
if (target instanceof TreeObject) {
TreeObject targetTreeObject = (TreeObject) target;
PaletteSource paletteSource = PaletteSourceTransfer.getInstance().getPaletteSource();
if (paletteSource != null) {
try {
String xmlData = paletteSource.getXmlData();
List<Object> list = ConvertigoPlugin.clipboardManagerDND.read(xmlData);
DatabaseObject databaseObject = (DatabaseObject) list.get(0);
if (targetTreeObject instanceof ObjectsFolderTreeObject) {
ObjectsFolderTreeObject folderTreeObject = (ObjectsFolderTreeObject) targetTreeObject;
if (!ProjectExplorerView.folderAcceptMobileComponent(folderTreeObject.folderType, databaseObject)) {
return false;
}
// continue
targetTreeObject = folderTreeObject.getParent();
}
if (targetTreeObject instanceof DatabaseObjectTreeObject) {
DatabaseObject targetDatabaseObject = ((DatabaseObjectTreeObject) targetTreeObject).getObject();
if (targetDatabaseObject != null) {
if (!DatabaseObjectsManager.acceptDatabaseObjects(targetDatabaseObject, databaseObject)) {
return false;
}
if (targetTreeObject instanceof MobileComponentTreeObject) {
if (!com.twinsoft.convertigo.beans.mobile.components.dynamic.ComponentManager.acceptDatabaseObjects(targetDatabaseObject, databaseObject)) {
return false;
}
if (!com.twinsoft.convertigo.beans.mobile.components.dynamic.ComponentManager.isTplCompatible(targetDatabaseObject, databaseObject)) {
return false;
}
}
if (targetTreeObject instanceof NgxComponentTreeObject) {
if (!com.twinsoft.convertigo.beans.ngx.components.dynamic.ComponentManager.acceptDatabaseObjects(targetDatabaseObject, databaseObject)) {
return false;
}
if (!com.twinsoft.convertigo.beans.ngx.components.dynamic.ComponentManager.isTplCompatible(targetDatabaseObject, databaseObject)) {
return false;
}
}
return true;
}
}
} catch (Exception e) {
e.printStackTrace(System.out);
}
}
}
}
if (MobileSourceTransfer.getInstance().isSupportedType(transferType)) {
MobileSource mobileSource = MobileSourceTransfer.getInstance().getMobileSource();
if (mobileSource != null) {
if (target instanceof MobileUIComponentTreeObject) {
MobileUIComponentTreeObject mcto = GenericUtils.cast(target);
com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource mss = com.twinsoft.convertigo.beans.mobile.components.MobileSmartSource.valueOf(mobileSource.getJsonString());
if (mss == null || !mss.isDroppableInto(mcto.getObject())) {
return false;
}
for (IPropertyDescriptor descriptor : mcto.getPropertyDescriptors()) {
if (descriptor instanceof MobileSmartSourcePropertyDescriptor) {
if (!((MobileSmartSourcePropertyDescriptor) descriptor).isReadOnly()) {
return true;
}
}
}
}
if (target instanceof NgxUIComponentTreeObject) {
NgxUIComponentTreeObject mcto = GenericUtils.cast(target);
com.twinsoft.convertigo.beans.ngx.components.MobileSmartSource mss = com.twinsoft.convertigo.beans.ngx.components.MobileSmartSource.valueOf(mobileSource.getJsonString());
if (mss == null || !mss.isDroppableInto(mcto.getObject())) {
return false;
}
for (IPropertyDescriptor descriptor : mcto.getPropertyDescriptors()) {
if (descriptor instanceof NgxSmartSourcePropertyDescriptor) {
if (!((NgxSmartSourcePropertyDescriptor) descriptor).isReadOnly()) {
return true;
}
}
}
}
}
}
return false;
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.FolderTreeObject in project convertigo by convertigo.
the class DatabaseObjectDecreasePriorityAction method decreasePriority.
private void decreasePriority(TreeObject treeObject) throws EngineException {
int count = counter;
if (treeObject instanceof DatabaseObjectTreeObject) {
DatabaseObject databaseObject = (DatabaseObject) treeObject.getObject();
DatabaseObject parent = databaseObject.getParent();
if (parent != null && parent instanceof IContainerOrdered) {
IContainerOrdered containerOrdered = (IContainerOrdered) parent;
while (count-- > 0) {
containerOrdered.decreasePriority(databaseObject);
}
if (parent.hasChanged) {
DatabaseObjectTreeObject parentTreeObject = null;
TreeParent treeParent = treeObject.getParent();
if (treeParent instanceof FolderTreeObject) {
parentTreeObject = (DatabaseObjectTreeObject) treeParent.getParent();
} else {
parentTreeObject = (DatabaseObjectTreeObject) treeParent;
}
if (!treeNodesToUpdate.contains(parentTreeObject)) {
treeNodesToUpdate.add(parentTreeObject);
}
}
}
} else {
DatabaseObjectTreeObject databaseObjectTreeObject = null;
if (treeObject instanceof PropertyTableRowTreeObject) {
PropertyTableTreeObject propertyTableTreeObject = (PropertyTableTreeObject) treeObject.getParent();
while (count-- > 0) {
if ((treeObject = propertyTableTreeObject.moveRow((PropertyTableRowTreeObject) treeObject, false)) != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) propertyTableTreeObject.getParent();
}
}
} else if (treeObject instanceof PropertyTableColumnTreeObject) {
PropertyTableRowTreeObject propertyTableRowTreeObject = (PropertyTableRowTreeObject) treeObject.getParent();
PropertyTableTreeObject propertyTableTreeObject = (PropertyTableTreeObject) propertyTableRowTreeObject.getParent();
while (count-- > 0) {
if ((treeObject = propertyTableRowTreeObject.moveColumn((PropertyTableColumnTreeObject) treeObject, false)) != null) {
databaseObjectTreeObject = (DatabaseObjectTreeObject) propertyTableTreeObject.getParent();
}
}
}
if (databaseObjectTreeObject != null) {
if (databaseObjectTreeObject.hasChanged()) {
DatabaseObjectTreeObject parentTreeObject = null;
TreeParent treeParent = databaseObjectTreeObject.getParent();
if (treeParent instanceof FolderTreeObject)
parentTreeObject = (DatabaseObjectTreeObject) treeParent.getParent();
else
parentTreeObject = (DatabaseObjectTreeObject) treeParent;
if (!treeNodesToUpdate.contains(parentTreeObject)) {
treeNodesToUpdate.add(parentTreeObject);
}
}
}
}
}
Aggregations