提交 17a10e36 编写于 作者: S Serge Rider

OLC redesign - use ViewerColumnController


Former-commit-id: fea7bbc2
上级 d847a884
...@@ -147,42 +147,47 @@ public class ViewerColumnController { ...@@ -147,42 +147,47 @@ public class ViewerColumnController {
private void recreateColumns() private void recreateColumns()
{ {
boolean needRefresh = false; final Control control = viewer.getControl();
for (ColumnInfo columnInfo : columns) { control.setRedraw(false);
if (columnInfo.column != null) { try {
columnInfo.column.dispose(); boolean needRefresh = false;
columnInfo.column = null; for (ColumnInfo columnInfo : columns) {
needRefresh = true; if (columnInfo.column != null) {
} columnInfo.column.dispose();
} columnInfo.column = null;
createVisibleColumns(); needRefresh = true;
boolean allSized = true;
for (ColumnInfo columnInfo : getVisibleColumns()) {
if (columnInfo.width <= 0) {
allSized = false;
break;
}
}
if (!allSized) {
repackColumns();
viewer.getControl().addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e)
{
viewer.getControl().removeControlListener(this);
repackColumns();
} }
}); }
} createVisibleColumns();
if (needRefresh) { boolean allSized = true;
viewer.refresh();
for (ColumnInfo columnInfo : getVisibleColumns()) { for (ColumnInfo columnInfo : getVisibleColumns()) {
if (columnInfo.column instanceof TreeColumn) { if (columnInfo.width <= 0) {
((TreeColumn) columnInfo.column).pack(); allSized = false;
} else { break;
((TableColumn) columnInfo.column).pack(); }
}
if (!allSized) {
repackColumns();
control.addControlListener(new ControlAdapter() {
@Override
public void controlResized(ControlEvent e) {
control.removeControlListener(this);
repackColumns();
}
});
}
if (needRefresh) {
viewer.refresh();
for (ColumnInfo columnInfo : getVisibleColumns()) {
if (columnInfo.column instanceof TreeColumn) {
((TreeColumn) columnInfo.column).pack();
} else {
((TableColumn) columnInfo.column).pack();
}
} }
} }
} finally {
control.setRedraw(true);
} }
} }
......
...@@ -929,7 +929,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl ...@@ -929,7 +929,7 @@ public abstract class ObjectListControl<OBJECT_TYPE> extends ProgressPageControl
if (prop != null) { if (prop != null) {
return ObjectViewerRenderer.getCellString(cellValue, prop.isNameProperty()); return ObjectViewerRenderer.getCellString(cellValue, prop.isNameProperty());
} else { } else {
return "?"; return "";
} }
} }
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册