提交 87b89881 编写于 作者: J jurgen

Vertica driver update

Property editor context menu fix

Former-commit-id: 8388660b
上级 ea883b4a
...@@ -94,6 +94,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -94,6 +94,7 @@ public class PropertyTreeViewer extends TreeViewer {
treeControl.addControlListener(new ControlAdapter() { treeControl.addControlListener(new ControlAdapter() {
private boolean packing = false; private boolean packing = false;
@Override @Override
public void controlResized(ControlEvent e) public void controlResized(ControlEvent e)
{ {
...@@ -150,6 +151,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -150,6 +151,7 @@ public class PropertyTreeViewer extends TreeViewer {
return getPropertyValue(node); return getPropertyValue(node);
} }
@Override @Override
public boolean isHyperlink(Object cellValue) public boolean isHyperlink(Object cellValue)
{ {
...@@ -201,10 +203,11 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -201,10 +203,11 @@ public class PropertyTreeViewer extends TreeViewer {
super.expandAll(); super.expandAll();
disposeOldEditor(); disposeOldEditor();
UIUtils.packColumns(getTree(), true, new float[] {0.5f, 0.5f}); UIUtils.packColumns(getTree(), true, new float[]{0.5f, 0.5f});
} }
private Map<String, TreeNode> loadTreeNodes(TreeNode parent, IPropertySource propertySource) { private Map<String, TreeNode> loadTreeNodes(TreeNode parent, IPropertySource propertySource)
{
Map<String, TreeNode> categories = new LinkedHashMap<String, TreeNode>(); Map<String, TreeNode> categories = new LinkedHashMap<String, TreeNode>();
final IPropertyDescriptor[] props = propertySource.getPropertyDescriptors(); final IPropertyDescriptor[] props = propertySource.getPropertyDescriptors();
for (IPropertyDescriptor prop : props) { for (IPropertyDescriptor prop : props) {
...@@ -235,9 +238,9 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -235,9 +238,9 @@ public class PropertyTreeViewer extends TreeViewer {
if (propertyValue != null) { if (propertyValue != null) {
Collection<?> collection; Collection<?> collection;
if (BeanUtils.isArrayType(propType)) { if (BeanUtils.isArrayType(propType)) {
collection = Arrays.asList((Object[])propertyValue); collection = Arrays.asList((Object[]) propertyValue);
} else { } else {
collection = (Collection<?>)propertyValue; collection = (Collection<?>) propertyValue;
} }
PropertySourceCollection psc = new PropertySourceCollection(collection); PropertySourceCollection psc = new PropertySourceCollection(collection);
for (IPropertyDescriptor pd : psc.getPropertyDescriptors()) { for (IPropertyDescriptor pd : psc.getPropertyDescriptors()) {
...@@ -259,7 +262,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -259,7 +262,7 @@ public class PropertyTreeViewer extends TreeViewer {
protected void addProperty(Object node, IPropertyDescriptor property) protected void addProperty(Object node, IPropertyDescriptor property)
{ {
if (node instanceof TreeNode) { if (node instanceof TreeNode) {
TreeNode treeNode = (TreeNode)node; TreeNode treeNode = (TreeNode) node;
while (treeNode.property != null) { while (treeNode.property != null) {
treeNode = treeNode.parent; treeNode = treeNode.parent;
} }
...@@ -271,7 +274,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -271,7 +274,7 @@ public class PropertyTreeViewer extends TreeViewer {
protected void removeProperty(Object node) protected void removeProperty(Object node)
{ {
if (node instanceof TreeNode) { if (node instanceof TreeNode) {
TreeNode treeNode = (TreeNode)node; TreeNode treeNode = (TreeNode) node;
if (treeNode.propertySource instanceof IPropertySourceEx) { if (treeNode.propertySource instanceof IPropertySourceEx) {
((IPropertySourceEx) treeNode.propertySource).resetPropertyValueToDefault(treeNode.property.getId()); ((IPropertySourceEx) treeNode.propertySource).resetPropertyValueToDefault(treeNode.property.getId());
} else { } else {
...@@ -306,7 +309,8 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -306,7 +309,8 @@ public class PropertyTreeViewer extends TreeViewer {
if (oldEditor != null) oldEditor.dispose(); if (oldEditor != null) oldEditor.dispose();
} }
private void registerEditor() { private void registerEditor()
{
// Make an editor // Make an editor
final Tree treeControl = super.getTree(); final Tree treeControl = super.getTree();
treeEditor = new TreeEditor(treeControl); treeEditor = new TreeEditor(treeControl);
...@@ -318,12 +322,14 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -318,12 +322,14 @@ public class PropertyTreeViewer extends TreeViewer {
treeControl.addSelectionListener(new SelectionListener() { treeControl.addSelectionListener(new SelectionListener() {
@Override @Override
public void widgetDefaultSelected(SelectionEvent e) { public void widgetDefaultSelected(SelectionEvent e)
{
showEditor((TreeItem) e.item, true); showEditor((TreeItem) e.item, true);
} }
@Override @Override
public void widgetSelected(SelectionEvent e) { public void widgetSelected(SelectionEvent e)
{
showEditor((TreeItem) e.item, selectedColumn == 1 && (e.stateMask & SWT.BUTTON_MASK) != 0); showEditor((TreeItem) e.item, selectedColumn == 1 && (e.stateMask & SWT.BUTTON_MASK) != 0);
} }
}); });
...@@ -361,7 +367,8 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -361,7 +367,8 @@ public class PropertyTreeViewer extends TreeViewer {
}); });
} }
private void showEditor(final TreeItem item, boolean isDef) { private void showEditor(final TreeItem item, boolean isDef)
{
// Clean up any previous editor control // Clean up any previous editor control
disposeOldEditor(); disposeOldEditor();
if (item == null) { if (item == null) {
...@@ -371,7 +378,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -371,7 +378,7 @@ public class PropertyTreeViewer extends TreeViewer {
// Identify the selected row // Identify the selected row
if (item.getData() instanceof TreeNode) { if (item.getData() instanceof TreeNode) {
final Tree treeControl = super.getTree(); final Tree treeControl = super.getTree();
final TreeNode prop = (TreeNode)item.getData(); final TreeNode prop = (TreeNode) item.getData();
if (prop.property == null || !prop.isEditable()) { if (prop.property == null || !prop.isEditable()) {
return; return;
} }
...@@ -444,41 +451,44 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -444,41 +451,44 @@ public class PropertyTreeViewer extends TreeViewer {
} }
} }
private void registerContextMenu() { private void registerContextMenu()
{
// Register context menu // Register context menu
{ {
MenuManager menuMgr = new MenuManager(); MenuManager menuMgr = new MenuManager();
menuMgr.addMenuListener(new IMenuListener() menuMgr.addMenuListener(new IMenuListener() {
{
@Override @Override
public void menuAboutToShow(final IMenuManager manager) public void menuAboutToShow(final IMenuManager manager)
{ {
final IStructuredSelection selection = (IStructuredSelection)PropertyTreeViewer.this.getSelection(); final IStructuredSelection selection = (IStructuredSelection) PropertyTreeViewer.this.getSelection();
if (selection.isEmpty()) { if (selection.isEmpty()) {
return; return;
} }
final Object object = selection.getFirstElement(); final Object object = selection.getFirstElement();
if (object instanceof TreeNode) { if (object instanceof TreeNode) {
final TreeNode prop = (TreeNode)object; final TreeNode prop = (TreeNode) object;
if (prop.property != null) { if (prop.property != null) {
manager.add(new Action(CoreMessages.ui_properties_tree_viewer_action_copy_value) { final String stringValue = CommonUtils.toString(getPropertyValue(prop));
@Override if (!CommonUtils.isEmpty(stringValue)) {
public void run() { manager.add(new Action(CoreMessages.ui_properties_tree_viewer_action_copy_value) {
UIUtils.setClipboardContents( @Override
Display.getDefault(), public void run()
TextTransfer.getInstance(), {
CommonUtils.toString(getPropertyValue(prop))); UIUtils.setClipboardContents(
} Display.getDefault(),
}); TextTransfer.getInstance(),
stringValue);
}
});
}
if (isPropertyChanged(prop) && prop.isEditable()) { if (isPropertyChanged(prop) && prop.isEditable()) {
if (prop.propertySource instanceof IPropertySource2 && !((IPropertySource2) prop.propertySource).isPropertyResettable(prop.property.getId())) { if (prop.propertySource instanceof IPropertySource2 && !((IPropertySource2) prop.propertySource).isPropertyResettable(prop.property.getId())) {
// it is not resettable // it is not resettable
} else { } else {
manager.add(new ActionResetProperty(prop, false)); manager.add(new ActionResetProperty(prop, false));
if (!isCustomProperty(prop.property) && if (!isCustomProperty(prop.property) &&
prop.propertySource instanceof IPropertySourceEx) prop.propertySource instanceof IPropertySourceEx) {
{
manager.add(new ActionResetProperty(prop, true)); manager.add(new ActionResetProperty(prop, true));
} }
} }
...@@ -544,7 +554,8 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -544,7 +554,8 @@ public class PropertyTreeViewer extends TreeViewer {
getTree().notifyListeners(SWT.Modify, event); getTree().notifyListeners(SWT.Modify, event);
} }
protected void handlePropertyCreate(TreeNode prop) { protected void handlePropertyCreate(TreeNode prop)
{
handlePropertyChange(prop); handlePropertyChange(prop);
super.refresh(prop.parent); super.refresh(prop.parent);
super.expandToLevel(prop.parent, 1); super.expandToLevel(prop.parent, 1);
...@@ -552,7 +563,8 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -552,7 +563,8 @@ public class PropertyTreeViewer extends TreeViewer {
super.setSelection(new StructuredSelection(prop)); super.setSelection(new StructuredSelection(prop));
} }
protected void handlePropertyRemove(TreeNode prop) { protected void handlePropertyRemove(TreeNode prop)
{
handlePropertyChange(prop); handlePropertyChange(prop);
super.refresh(prop.parent); super.refresh(prop.parent);
} }
...@@ -598,15 +610,14 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -598,15 +610,14 @@ public class PropertyTreeViewer extends TreeViewer {
boolean isEditable() boolean isEditable()
{ {
if (property instanceof IPropertyDescriptorEx) { if (property instanceof IPropertyDescriptorEx) {
return ((IPropertyDescriptorEx)property).isEditable(propertySource.getEditableValue()); return ((IPropertyDescriptorEx) property).isEditable(propertySource.getEditableValue());
} else { } else {
return property != null; return property != null;
} }
} }
} }
class PropsContentProvider implements IStructuredContentProvider, ITreeContentProvider class PropsContentProvider implements IStructuredContentProvider, ITreeContentProvider {
{
@Override @Override
public void inputChanged(Viewer v, Object oldInput, Object newInput) public void inputChanged(Viewer v, Object oldInput, Object newInput)
{ {
...@@ -653,9 +664,9 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -653,9 +664,9 @@ public class PropertyTreeViewer extends TreeViewer {
} }
} }
private class PropsLabelProvider extends CellLabelProvider private class PropsLabelProvider extends CellLabelProvider {
{
private final boolean isName; private final boolean isName;
public PropsLabelProvider(boolean isName) public PropsLabelProvider(boolean isName)
{ {
this.isName = isName; this.isName = isName;
...@@ -666,7 +677,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -666,7 +677,7 @@ public class PropertyTreeViewer extends TreeViewer {
if (!(obj instanceof TreeNode)) { if (!(obj instanceof TreeNode)) {
return ""; //$NON-NLS-1$ return ""; //$NON-NLS-1$
} }
TreeNode node = (TreeNode)obj; TreeNode node = (TreeNode) obj;
if (columnIndex == 0) { if (columnIndex == 0) {
if (node.category != null) { if (node.category != null) {
return node.category; return node.category;
...@@ -692,7 +703,7 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -692,7 +703,7 @@ public class PropertyTreeViewer extends TreeViewer {
if (!(obj instanceof TreeNode)) { if (!(obj instanceof TreeNode)) {
return ""; //$NON-NLS-1$ return ""; //$NON-NLS-1$
} }
TreeNode node = (TreeNode)obj; TreeNode node = (TreeNode) obj;
if (node.category != null) { if (node.category != null) {
return node.category; return node.category;
} else { } else {
...@@ -736,17 +747,17 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -736,17 +747,17 @@ public class PropertyTreeViewer extends TreeViewer {
} }
private class SortListener implements Listener private class SortListener implements Listener {
{
int sortDirection = SWT.DOWN; int sortDirection = SWT.DOWN;
TreeColumn prevColumn = null; TreeColumn prevColumn = null;
@Override @Override
public void handleEvent(Event e) { public void handleEvent(Event e)
{
disposeOldEditor(); disposeOldEditor();
Collator collator = Collator.getInstance(Locale.getDefault()); Collator collator = Collator.getInstance(Locale.getDefault());
TreeColumn column = (TreeColumn)e.widget; TreeColumn column = (TreeColumn) e.widget;
Tree tree = getTree(); Tree tree = getTree();
if (prevColumn == column) { if (prevColumn == column) {
// Set reverse order // Set reverse order
...@@ -788,9 +799,10 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -788,9 +799,10 @@ public class PropertyTreeViewer extends TreeViewer {
} }
@Override @Override
public void run() { public void run()
{
if (toDefault && prop.propertySource instanceof IPropertySourceEx) { if (toDefault && prop.propertySource instanceof IPropertySourceEx) {
((IPropertySourceEx)prop.propertySource).resetPropertyValueToDefault(prop.property.getId()); ((IPropertySourceEx) prop.propertySource).resetPropertyValueToDefault(prop.property.getId());
} else { } else {
prop.propertySource.resetPropertyValue(prop.property.getId()); prop.propertySource.resetPropertyValue(prop.property.getId());
} }
...@@ -803,14 +815,15 @@ public class PropertyTreeViewer extends TreeViewer { ...@@ -803,14 +815,15 @@ public class PropertyTreeViewer extends TreeViewer {
class PaintListener implements Listener { class PaintListener implements Listener {
@Override @Override
public void handleEvent(Event event) { public void handleEvent(Event event)
{
if (getTree().isDisposed()) { if (getTree().isDisposed()) {
return; return;
} }
switch(event.type) { switch (event.type) {
case SWT.PaintItem: { case SWT.PaintItem: {
if (event.index == 1) { if (event.index == 1) {
final TreeNode node = (TreeNode)event.item.getData(); final TreeNode node = (TreeNode) event.item.getData();
if (node != null && node.property != null) { if (node != null && node.property != null) {
renderer.paintCell(event, node, event.index, node.isEditable()); renderer.paintCell(event, node, event.index, node.isEditable());
} }
......
...@@ -465,7 +465,7 @@ ...@@ -465,7 +465,7 @@
defaultPort="5433" defaultPort="5433"
webURL="http://www.vertica.com/" webURL="http://www.vertica.com/"
description="Driver for Vertica Database"> description="Driver for Vertica Database">
<file type="jar" path="drivers/vertica/vertica-jdk5-6.0.1-0.jar" url="*"/> <file type="jar" path="drivers/vertica/vertica-jdk5-6.1.2-0.jar" url="*"/>
</driver> </driver>
<driver <driver
id="cassandra_jkiss" id="cassandra_jkiss"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册