static int getIndent ( PropertySheetTable table , Item item ) { int indent ; if ( item . isProperty ( ) ) { // it is a property, it has no parent or a category, and no child if ( ( item . getParent ( ) == null || ! item . getParent ( ) . isProperty ( ) ) && ! item . hasToggle ( ) ) { indent = table . getWantsExtraIndent ( ) ? HOTSPOT_SIZE : 0 ; } else { // it is a property with children if ( item . hasToggle ( ) ) { indent = item . getDepth ( ) * HOTSPOT_SIZE ; } else { indent = ( item . getDepth ( ) + 1 ) * HOTSPOT_SIZE ; } } if ( table . getSheetModel ( ) . getMode ( ) == PropertySheet . VIEW_AS_CATEGORIES && table . getWantsExtraIndent ( ) ) { indent += HOTSPOT_SIZE ; } } else { // category has no indent indent = 0 ; } return indent ; }
Calculates the required left indent for a given item given its type and its hierarchy level .