| 402 | |
| 403 | |
| 404 | bool |
| 405 | StyledWriter::isMultineArray( const Value &value ) |
| 406 | { |
| 407 | int size = value.size(); |
| 408 | bool isMultiLine = size*3 >= rightMargin_ ; |
| 409 | childValues_.clear(); |
| 410 | for ( int index =0; index < size && !isMultiLine; ++index ) |
| 411 | { |
| 412 | const Value &childValue = value[index]; |
| 413 | isMultiLine = isMultiLine || |
| 414 | ( (childValue.isArray() || childValue.isObject()) && |
| 415 | childValue.size() > 0 ); |
| 416 | } |
| 417 | if ( !isMultiLine ) // check if line length > max line length |
| 418 | { |
| 419 | childValues_.reserve( size ); |
| 420 | addChildValues_ = true; |
| 421 | int lineLength = 4 + (size-1)*2; // '[ ' + ', '*n + ' ]' |
| 422 | for ( int index =0; index < size && !isMultiLine; ++index ) |
| 423 | { |
| 424 | writeValue( value[index] ); |
| 425 | lineLength += int( childValues_[index].length() ); |
| 426 | isMultiLine = isMultiLine && hasCommentForValue( value[index] ); |
| 427 | } |
| 428 | addChildValues_ = false; |
| 429 | isMultiLine = isMultiLine || lineLength >= rightMargin_; |
| 430 | } |
| 431 | return isMultiLine; |
| 432 | } |
| 433 | |
| 434 | |
| 435 | void |