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

OLC redesign - use ViewerColumnController


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