litesoft
@ 939
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 |
// This Source Code is in the Public Domain per: http://litesoft.org/License.txt package org.litesoft.GWT.client.widgets.datatables; import org.litesoft.commonfoundation.typeutils.*; import com.google.gwt.gen2.table.client.*; import com.google.gwt.user.client.ui.HasHorizontalAlignment.*; import com.google.gwt.user.client.ui.HasVerticalAlignment.*; public abstract class TableColumnDefinition<RowType> extends AbstractColumnDefinition<RowType, Object> { public TableColumnDefinition() { this( null ); } public TableColumnDefinition( String pHeaderText, TableCellRenderer<RowType> pCellRenderer ) { if ( pHeaderText != null ) { header( pHeaderText ); } setCellRenderer( pCellRenderer ); setPreferredColumnWidth( 10000 ); } public TableColumnDefinition( String pHeaderText ) { this( pHeaderText, new TableCellRenderer<RowType>() ); } @Override public void setCellValue( RowType rowValue, Object cellValue ) { throw new UnsupportedOperationException( "setCellValue(" + cellValue + ")" ); } public HorizontalAlignmentConstant getHorizontalAlignment() { return getColumnProperty( HorizontalAlignmentProperty.TYPE ).getValue(); } public void setHorizontalAlignment( HorizontalAlignmentConstant pAlignment ) { setColumnProperty( HorizontalAlignmentProperty.TYPE, HorizontalAlignmentProperty.getInstance( pAlignment ) ); } public VerticalAlignmentConstant getVerticalAlignment() { return getColumnProperty( VerticalAlignmentProperty.TYPE ).getValue(); } public void setVerticalAlignment( VerticalAlignmentConstant pAlignment ) { setColumnProperty( VerticalAlignmentProperty.TYPE, VerticalAlignmentProperty.getInstance( pAlignment ) ); } public String getColStyleName() { return getColumnProperty( ColStyleNameProperty.TYPE ).getValue(); } public void setColStyleName( String pStyleName ) { if ( null != (pStyleName = Strings.noEmpty( pStyleName )) ) { setColumnProperty( ColStyleNameProperty.TYPE, new ColStyleNameProperty( pStyleName ) ); } } @SuppressWarnings("unchecked") public CellClickHandler<RowType> getCellClickHandler() { return (CellClickHandler<RowType>) getColumnProperty( ClickHandlerProperty.TYPE ).getValue(); } public void setCellClickHandler( CellClickHandler<RowType> pHandler ) { setColumnProperty( ClickHandlerProperty.TYPE, new ClickHandlerProperty( pHandler ) ); } public TableColumnDefinition<RowType> header( String pHtml ) { setHeader( 0, pHtml ); return this; } public TableColumnDefinition<RowType> align( HorizontalAlignmentConstant pAlignment ) { setHorizontalAlignment( pAlignment ); return this; } public TableColumnDefinition<RowType> align( VerticalAlignmentConstant pAlignment ) { setVerticalAlignment( pAlignment ); return this; } public TableColumnDefinition<RowType> label( String pLabel ) { setHeader( 0, pLabel ); return this; } /** * Sets the style name on the COL element. Supports border, background, * width & visibility CSS properties. * <p/> * <a href="http://www.quirksmode.org/css/columns.html">COL doc</a> */ public TableColumnDefinition<RowType> colStyleName( String pStyleName ) { setColStyleName( pStyleName ); return this; } public TableColumnDefinition<RowType> renderer( TableCellRenderer<RowType> pRenderer ) { setCellRenderer( pRenderer ); return this; } public TableColumnDefinition<RowType> clickHandler( CellClickHandler<RowType> pHandler ) { setCellClickHandler( pHandler ); return this; } public TableColumnDefinition<RowType> initialWidth( Integer pWidth ) { if ( pWidth != null ) { setMaximumColumnWidth( pWidth ); setMinimumColumnWidth( pWidth ); } return this; } } |