comparison dwtx/jface/viewers/ColumnViewer.d @ 54:a6683645b0d7

Fix ignored labelprovider for TreeViewer (See WrapperViewerLabelProvider.d), removed the debugging prints
author Frank Benoit <benoit@tionex.de>
date Sat, 12 Apr 2008 17:53:06 +0200
parents 28f6c339768e
children 46a6e0e6ccd4
comparison
equal deleted inserted replaced
53:28f6c339768e 54:a6683645b0d7
41 import dwtx.core.runtime.Status; 41 import dwtx.core.runtime.Status;
42 import dwtx.jface.internal.InternalPolicy; 42 import dwtx.jface.internal.InternalPolicy;
43 import dwtx.jface.util.Policy; 43 import dwtx.jface.util.Policy;
44 44
45 import dwt.dwthelper.utils; 45 import dwt.dwthelper.utils;
46 import tango.util.log.Trace;
47 46
48 /** 47 /**
49 * The ColumnViewer is the abstract superclass of viewers that have columns 48 * The ColumnViewer is the abstract superclass of viewers that have columns
50 * (e.g., AbstractTreeViewer and AbstractTableViewer). Concrete subclasses of 49 * (e.g., AbstractTreeViewer and AbstractTableViewer). Concrete subclasses of
51 * {@link ColumnViewer} should implement a matching concrete subclass of 50 * {@link ColumnViewer} should implement a matching concrete subclass of
218 * the column index 217 * the column index
219 * @return the viewer column at the given index, or <code>null</code> if 218 * @return the viewer column at the given index, or <code>null</code> if
220 * there is none for the given index 219 * there is none for the given index
221 */ 220 */
222 /* package */ViewerColumn getViewerColumn(int columnIndex) { 221 /* package */ViewerColumn getViewerColumn(int columnIndex) {
223 // Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ );
224 222
225 ViewerColumn viewer; 223 ViewerColumn viewer;
226 Widget columnOwner = getColumnViewerOwner(columnIndex); 224 Widget columnOwner = getColumnViewerOwner(columnIndex);
227 225
228 if (columnOwner is null) { 226 if (columnOwner is null) {
356 * @param rowItem 354 * @param rowItem
357 * @param column 355 * @param column
358 * @return ViewerCell 356 * @return ViewerCell
359 */ 357 */
360 /* package */ViewerCell updateCell(ViewerRow rowItem, int column, Object element) { 358 /* package */ViewerCell updateCell(ViewerRow rowItem, int column, Object element) {
361 // Trace.formatln( "{} {}: getViewerColumn", __FILE__, __LINE__ );
362 cell.update(rowItem, column, element); 359 cell.update(rowItem, column, element);
363 return cell; 360 return cell;
364 } 361 }
365 362
366 /** 363 /**
403 * provide colors and/or fonts. 400 * provide colors and/or fonts.
404 * </p> 401 * </p>
405 * 402 *
406 */ 403 */
407 public override void setLabelProvider(IBaseLabelProvider labelProvider) { 404 public override void setLabelProvider(IBaseLabelProvider labelProvider) {
408 // Trace.formatln( "{} {}: setLabelProvider", __FILE__, __LINE__ );
409 Assert.isTrue( null !is cast(ITableLabelProvider)labelProvider 405 Assert.isTrue( null !is cast(ITableLabelProvider)labelProvider
410 || null !is cast(ILabelProvider)labelProvider 406 || null !is cast(ILabelProvider)labelProvider
411 || null !is cast(CellLabelProvider)labelProvider ); 407 || null !is cast(CellLabelProvider)labelProvider );
412 updateColumnParts(labelProvider);// Reset the label providers in the 408 updateColumnParts(labelProvider);// Reset the label providers in the
413 // columns 409 // columns
419 */ 415 */
420 private void updateColumnParts(IBaseLabelProvider labelProvider) { 416 private void updateColumnParts(IBaseLabelProvider labelProvider) {
421 ViewerColumn column; 417 ViewerColumn column;
422 int i = 0; 418 int i = 0;
423 419
424 // Trace.formatln( "{} {}: updateColumnParts", __FILE__, __LINE__ );
425 while ((column = getViewerColumn(i++)) !is null) { 420 while ((column = getViewerColumn(i++)) !is null) {
426 // Trace.formatln( "{} {}: updateColumnParts loop", __FILE__, __LINE__ );
427 column.setLabelProvider(CellLabelProvider 421 column.setLabelProvider(CellLabelProvider
428 .createViewerLabelProvider(this, labelProvider), false); 422 .createViewerLabelProvider(this, labelProvider), false);
429 } 423 }
430 } 424 }
431 425
685 * <code>null</code> if no column with this index is known 679 * <code>null</code> if no column with this index is known
686 * 680 *
687 * @since 3.3 681 * @since 3.3
688 */ 682 */
689 public CellLabelProvider getLabelProvider(int columnIndex) { 683 public CellLabelProvider getLabelProvider(int columnIndex) {
690 // Trace.formatln( "{} {}: getLabelProvider", __FILE__, __LINE__ );
691 ViewerColumn column = getViewerColumn(columnIndex); 684 ViewerColumn column = getViewerColumn(columnIndex);
692 if (column !is null) { 685 if (column !is null) {
693 return column.getLabelProvider(); 686 auto res = column.getLabelProvider();
687 return res;
694 } 688 }
695 return null; 689 return null;
696 } 690 }
697 691
698 private void handleMouseDown(MouseEvent e) { 692 private void handleMouseDown(MouseEvent e) {