提交 a376f064 编写于 作者: S Serge Rider

OLC columns config


Former-commit-id: 7425b3da
上级 d829082b
...@@ -109,6 +109,35 @@ public class ViewerColumnController { ...@@ -109,6 +109,35 @@ public class ViewerColumnController {
new ColumnInfo(name, description, style, defaultVisible, required, labelProvider, columns.size())); new ColumnInfo(name, description, style, defaultVisible, required, labelProvider, columns.size()));
} }
public void addColumn(Item columnItem, CellLabelProvider labelProvider) {
final ColumnInfo columnInfo;
if (columnItem instanceof TableColumn) {
columnInfo = new ColumnInfo(
columnItem.getText(),
((TableColumn) columnItem).getToolTipText(),
columnItem.getStyle(),
true,
false,
labelProvider,
columns.size());
} else {
columnInfo = new ColumnInfo(
columnItem.getText(),
((TreeColumn) columnItem).getToolTipText(),
columnItem.getStyle(),
true,
false,
labelProvider,
columns.size());
}
columnInfo.column = columnItem;
columns.add(columnInfo);
}
public void clearColumns() {
columns.clear();
}
public void createColumns() public void createColumns()
{ {
try { try {
......
...@@ -45,6 +45,7 @@ import org.jkiss.dbeaver.runtime.properties.*; ...@@ -45,6 +45,7 @@ import org.jkiss.dbeaver.runtime.properties.*;
import org.jkiss.dbeaver.ui.DBeaverIcons; import org.jkiss.dbeaver.ui.DBeaverIcons;
import org.jkiss.dbeaver.ui.LoadingJob; import org.jkiss.dbeaver.ui.LoadingJob;
import org.jkiss.dbeaver.ui.UIUtils; import org.jkiss.dbeaver.ui.UIUtils;
import org.jkiss.dbeaver.ui.ViewerColumnController;
import org.jkiss.dbeaver.ui.controls.ObjectViewerRenderer; import org.jkiss.dbeaver.ui.controls.ObjectViewerRenderer;
import org.jkiss.dbeaver.ui.controls.ProgressPageControl; import org.jkiss.dbeaver.ui.controls.ProgressPageControl;
import org.jkiss.dbeaver.utils.GeneralUtils; import org.jkiss.dbeaver.utils.GeneralUtils;
...@@ -76,6 +77,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -76,6 +77,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
private PropertySourceAbstract listPropertySource; private PropertySourceAbstract listPropertySource;
private ObjectViewerRenderer renderer; private ObjectViewerRenderer renderer;
private ViewerColumnController columnController;
// Sample flag. True only when initial content is packed. Used to provide actual cell data to Tree/Table pack() methods // Sample flag. True only when initial content is packed. Used to provide actual cell data to Tree/Table pack() methods
// After content is loaded is always false (and all hyperlink cells have empty text) // After content is loaded is always false (and all hyperlink cells have empty text)
...@@ -187,6 +189,9 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -187,6 +189,9 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
setInfo(status); setInfo(status);
} }
}); });
// Columns controller
columnController = new ViewerColumnController("NodeList", getItemsViewer());
} }
protected int getDefaultListStyle() { protected int getDefaultListStyle() {
...@@ -349,6 +354,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -349,6 +354,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
if (itemsControl.isDisposed()) { if (itemsControl.isDisposed()) {
return; return;
} }
columnController.clearColumns();
itemsControl.setRedraw(false); itemsControl.setRedraw(false);
try { try {
final boolean reload = !append && (objectList == null) || (columns.isEmpty()); final boolean reload = !append && (objectList == null) || (columns.isEmpty());
...@@ -738,7 +744,8 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -738,7 +744,8 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
newColumn = viewerColumn; newColumn = viewerColumn;
columnItem = viewerColumn.getColumn(); columnItem = viewerColumn.getColumn();
} }
newColumn.setLabelProvider(getColumnLabelProvider(columns.size())); final CellLabelProvider labelProvider = getColumnLabelProvider(columns.size());
newColumn.setLabelProvider(labelProvider);
final EditingSupport editingSupport = makeEditingSupport(newColumn, columns.size()); final EditingSupport editingSupport = makeEditingSupport(newColumn, columns.size());
if (editingSupport != null) { if (editingSupport != null) {
newColumn.setEditingSupport(editingSupport); newColumn.setEditingSupport(editingSupport);
...@@ -747,6 +754,9 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -747,6 +754,9 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
objectColumn.addProperty(propClass, prop); objectColumn.addProperty(propClass, prop);
this.columns.add(objectColumn); this.columns.add(objectColumn);
columnItem.setData(DATA_OBJECT_COLUMN, objectColumn); columnItem.setData(DATA_OBJECT_COLUMN, objectColumn);
// Add column in controller
columnController.addColumn(columnItem, labelProvider);
} else { } else {
objectColumn.addProperty(propClass, prop); objectColumn.addProperty(propClass, prop);
String oldTitle = objectColumn.item.getText(); String oldTitle = objectColumn.item.getText();
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册