- custom owner draw
- tooltips for tree/table-cells
- keyboard editing support for viewers
- ColumnViewer: Provides all things common to Viewers who deal with the concept of columns and rows
- ViewerRow: Represents a row in the column viewer and wraps TableItem and TreeItem from SWT
- ViewerCell: Represents one cell in the table/tree
All the changes mentionned above might not be interesting to you because most of the time you want use them directly so let's take a look at the more interesting things from a user point of view.
The most interesting thing to most of you might be that JFace has now adopted the programming style from SWT and JFace-Coding feels now much more like SWT-Coding. Look at the next few lines and you understand what I mean:
Composite parent = ...;
TableViewer v = new TableViewer(parent);
v.getTable().setLinesVisible(true);
TableViewerColumn vColumn = new TableViewerColumn(v,SWT.NONE);
vColumn.getColumn().setWidth(200);
vColumn.setLabelProvider(new MyLabelProvider());
v.setContentProvider(new MyContentProvider());
v.setInput(model);
9 comments:
I have been studying the idea of providers and model based viewers for things other than Tables / trees / lists, (extending JFace for Info Vis), and I used the concept of a Style provider. I wonder if this would make sense to set styles such as LinesVisible, showHeaders, etc...
I have two questions:
1. Given a ColumnViewer is it possible to get the i-th ViewerColumn?
(In M3: ColumnViewer#getViewerColumn(int) but is now package visible)
2. Given a ViewerColumn is it possible to get its LabelProvider?
(In M3: ViewerColumn#getLabelProvider() but is now package visible)
What I want is given a TableViewer get its i-th CellLabelProvider.
Thanks
The question is why you need to get access to those 2 internal methods. If you can provide a use case please log a request in bugzilla.
We made them package visible because we couldn't think of a use case where one needs to get access to them.
The reason to make ColumnViewer#getViewerColumn(int) package visible was that the result when calling is not the same all the time:
- ViewerColumn for Tables/Trees with no column
- TableViewerColumn/TreeViewerColumn for Table/Trees with one and more columns
The reason to make getLabelProvider() package visible was that we couldn't think of a use case someone want to access it from external. But as said provide a usecase and we can think about it.
StyleProvider seems interesting but I'd prefer having style constants for those features:
- SWT.TITLE => to shown title
- SWT.SEPARATOR => to show lines
Please log a feature request against platform-ui and prefix it with [Viewers] and put me on the cc-list.
https://bugs.eclipse.org/bugs/show_bug.cgi?id=167858
I have the same use case as you have in ToolTipSupport: I want to show a custom tool tip and set its content with the text retrieved from CellLableProvider#getToolTipText.
I have a question regarding complete owner draw of columns. I want one column to draw itself in a SWT.DrawItem manner. Is this still possible with the new ColumnLabelProvider mechanism in place?
Hi,
I want to create my own viewer based on ColumnViewer and I have a problem with implementation of StructuredViewer#doUpdateItem method. AbstractTableViewer uses ColumnViewer#getViewerColumn(int) method, but I can't. I think, I found a solution, but I need to create a new instance of ViewerCell. And the next problem is, the constructor of ViewerCell class is package visible, too. Can I find somethere a right implementation of this method?
Well if you don't have a column based viewer (= I get this from your comment that ColumnViewer#getColumn doesn't work) then you might subclass the class above. You could always file a bug and ask us to open the ViewerCell-API.
This program is perfect because if you want you can try with somebody else faces I've already tried and it is so funny.Generic Viagra Buy Viagra
Post a Comment