use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.DatabaseObjectTreeObject in project convertigo by convertigo.
the class ViewLabelProvider method getFont.
public Font getFont(Object element) {
if (element instanceof DatabaseObjectTreeObject) {
DatabaseObjectTreeObject databaseObjectTreeObject = (DatabaseObjectTreeObject) element;
DatabaseObject databaseObject = databaseObjectTreeObject.getObject();
if (databaseObject.hasChanged)
return fontModifiedDatabaseObject;
if (databaseObjectTreeObject.isDetectedObject)
return fontDetectedDatabaseObject;
}
return fontSystem;
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.DatabaseObjectTreeObject 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.DatabaseObjectTreeObject in project convertigo by convertigo.
the class SourcePickerView method removeSource.
private void removeSource() {
if (selectedDbo != null) {
if (selectedDbo instanceof IStepSourceContainer) {
try {
DatabaseObjectTreeObject dboTreeObject = (DatabaseObjectTreeObject) ConvertigoPlugin.getDefault().getProjectExplorerView().findTreeObjectByUserObject(selectedDbo);
ConvertigoPlugin.getDefault().getProjectExplorerView().setSelectedTreeObject(dboTreeObject);
dboTreeObject.setPropertyValue("sourceDefinition", new XMLVector<String>());
showBtn.setEnabled(false);
showBtn.setSelection(false);
remBtn.setEnabled(false);
} catch (Throwable t) {
}
}
}
}
use of com.twinsoft.convertigo.eclipse.views.projectexplorer.model.DatabaseObjectTreeObject 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.DatabaseObjectTreeObject in project convertigo by convertigo.
the class TreeDropAdapter method dragOver.
/* (non-Javadoc)
* @see org.eclipse.jface.viewers.ViewerDropAdapter#dragOver(org.eclipse.swt.dnd.DropTargetEvent)
*/
@Override
public void dragOver(DropTargetEvent event) {
super.dragOver(event);
// Overrides feedback: by default is DND.FEEDBACK_SELECT
feedback = DND.FEEDBACK_SELECT | DND.FEEDBACK_SCROLL | DND.FEEDBACK_EXPAND;
boolean shouldFeedBack = true;
if (PaletteSourceTransfer.getInstance().isSupportedType(event.currentDataType)) {
int currentLocation = getCurrentLocation();
switch(currentLocation) {
case LOCATION_BEFORE:
feedback = DND.FEEDBACK_INSERT_BEFORE;
break;
case LOCATION_AFTER:
feedback = DND.FEEDBACK_INSERT_AFTER;
break;
case LOCATION_ON:
default:
break;
}
shouldFeedBack = false;
}
// Handles feedback for objects that can be ordered
if (shouldFeedBack && getCurrentOperation() == DND.DROP_MOVE) {
Object targetObject = getCurrentTarget();
Object sourceObject = getSelectedObject();
if ((sourceObject != null) && (targetObject != null)) {
// Source and target objects must be different
if (!sourceObject.equals(targetObject)) {
if ((sourceObject instanceof TreeObject) && (targetObject instanceof TreeObject)) {
// Source and target objects can be ordered
if ((sourceObject instanceof IOrderableTreeObject) && (targetObject instanceof IOrderableTreeObject)) {
// Source and target objects must have the same parent
boolean srcInherited = false;
if (sourceObject instanceof DatabaseObjectTreeObject)
srcInherited = ((DatabaseObjectTreeObject) sourceObject).isInherited;
else if (sourceObject instanceof IPropertyTreeObject)
srcInherited = ((IPropertyTreeObject) sourceObject).isInherited();
// Source object musn't be inherited
if (!srcInherited) {
int currentLocation = getCurrentLocation();
switch(currentLocation) {
case LOCATION_BEFORE:
feedback = DND.FEEDBACK_INSERT_BEFORE;
break;
case LOCATION_AFTER:
feedback = DND.FEEDBACK_INSERT_AFTER;
break;
case LOCATION_ON:
default:
break;
}
}
}
}
}
}
}
// Set feedback
event.feedback = feedback;
}
Aggregations