| 608 | |
| 609 | |
| 610 | QString TableField::toString(const TableField &field, QString delimiter){ |
| 611 | QString fieldValues = ""; |
| 612 | if (field.size()== 1){ |
| 613 | if (field.isText()){ |
| 614 | fieldValues = (QString)field; |
| 615 | } |
| 616 | else if (field.isInteger()){ |
| 617 | fieldValues = Isis::toString((int)field); |
| 618 | } |
| 619 | else if (field.isDouble()){ |
| 620 | fieldValues = Isis::toString((double)field); |
| 621 | } |
| 622 | else { //real |
| 623 | fieldValues = Isis::toString((float)field); |
| 624 | } |
| 625 | } |
| 626 | // Otherwise, build a vector to contain the entries |
| 627 | else { |
| 628 | if (field.isText()){ |
| 629 | fieldValues +=(QString)field; |
| 630 | } |
| 631 | else if (field.isInteger()){ |
| 632 | vector< int > currField = field; |
| 633 | for (int i = 0;i <(int)currField.size();i++){ |
| 634 | fieldValues += Isis::toString(currField[i]); |
| 635 | if (i <(int)currField.size()- 1){ |
| 636 | // add delimiter for all but the last element of the field |
| 637 | fieldValues += delimiter; |
| 638 | } |
| 639 | } |
| 640 | } |
| 641 | else if (field.isDouble()){ |
| 642 | vector< double > currField = field; |
| 643 | for (int i = 0;i <(int)currField.size();i++){ |
| 644 | fieldValues += Isis::toString(currField[i]); |
| 645 | if (i <(int)currField.size()- 1){ |
| 646 | fieldValues += delimiter; |
| 647 | } |
| 648 | } |
| 649 | } |
| 650 | else { //if (field.isReal()) { |
| 651 | vector< float > currField = field; |
| 652 | for (int i = 0;i <(int)currField.size();i++){ |
| 653 | fieldValues += Isis::toString(currField[i]); |
| 654 | if (i <(int)currField.size()- 1){ |
| 655 | fieldValues += delimiter; |
| 656 | } |
| 657 | } |
| 658 | } |
| 659 | } |
| 660 | return fieldValues; |
| 661 | } |
| 662 | } // end namespace isis |
| 663 | |