private void resizeNameColumn(int diff,boolean resizeStatisticPanels){
  if (diff != 0) {
    if (nameDim == null) {
      nameDim=new Dimension(DIMENSION_HEADER_ATTRIBUTE_NAME.width + diff,DIMENSION_HEADER_ATTRIBUTE_NAME.height);
    }
 else {
      int newWidth=nameDim.width + diff;
      int minWidth=RESIZE_MARGIN_SHRINK;
      int maxWidth=columnHeaderPanel.getWidth() - (DIMENSION_HEADER_MISSINGS.width + DIMENSION_HEADER_TYPE.width + DIMENSION_SEARCH_FIELD.width+ RESIZE_MARGIN_ENLARGE);
      if (newWidth > maxWidth) {
        newWidth=maxWidth;
      }
      if (newWidth < minWidth) {
        newWidth=minWidth;
      }
      nameDim=new Dimension(newWidth,nameDim.height);
    }
    sortingLabelAttName.setMinimumSize(nameDim);
    sortingLabelAttName.setPreferredSize(nameDim);
    columnHeaderPanel.revalidate();
    columnHeaderPanel.repaint();
  }
  if (resizeStatisticPanels) {
    revalidateAttributePanels();
  }
}

private void resizeNameColumn ( int diff , boolean resizeStatisticPanels ) { if ( diff != 0 ) { if ( nameDim == null ) { nameDim = new Dimension ( DIMENSION_HEADER_ATTRIBUTE_NAME . width + diff , DIMENSION_HEADER_ATTRIBUTE_NAME . height ) ; } else { int newWidth = nameDim . width + diff ; int minWidth = RESIZE_MARGIN_SHRINK ; int maxWidth = columnHeaderPanel . getWidth ( ) - ( DIMENSION_HEADER_MISSINGS . width + DIMENSION_HEADER_TYPE . width + DIMENSION_SEARCH_FIELD . width + RESIZE_MARGIN_ENLARGE ) ; if ( newWidth > maxWidth ) { newWidth = maxWidth ; } if ( newWidth < minWidth ) { newWidth = minWidth ; } nameDim = new Dimension ( newWidth , nameDim . height ) ; } sortingLabelAttName . setMinimumSize ( nameDim ) ; sortingLabelAttName . setPreferredSize ( nameDim ) ; columnHeaderPanel . revalidate ( ) ; columnHeaderPanel . repaint ( ) ; } if ( resizeStatisticPanels ) { revalidateAttributePanels ( ) ; } }
called when resizing event occurs to resize the attribute name column . resizing is restricted to a mininmum and a maximum amount depending on the actual size of the header panel .
