| 110 | } |
| 111 | |
| 112 | wxString TableInterface::SuggestGroupName(std::vector<wxString> cols) const |
| 113 | { |
| 114 | wxString nm(GenUtils::FindLongestSubString(cols)); |
| 115 | // remove trailing and leading whitespace, underscores and numbers |
| 116 | bool done=false; |
| 117 | while (!done && !nm.IsEmpty()) { |
| 118 | int len = nm.length(); |
| 119 | if (nm.length() > 0 && |
| 120 | (nm.find("_") == 0 || nm.find("0") == 0 || nm.find("1") == 0 || |
| 121 | nm.find("2") == 0 || nm.find("3") == 0 || nm.find("4") == 0 || |
| 122 | nm.find("5") == 0 || nm.find("6") == 0 || nm.find("7") == 0 || |
| 123 | nm.find("8") == 0 || nm.find("9") == 0)) { |
| 124 | nm = nm.substr(1, nm.length()-1); |
| 125 | } |
| 126 | int lp = nm.length()-1; |
| 127 | if (nm.length() > 0 && |
| 128 | (nm.find("_") == lp || nm.find("0") == lp || nm.find("1") == lp || |
| 129 | nm.find("2") == lp || nm.find("3") == lp || nm.find("4") == lp || |
| 130 | nm.find("5") == lp || nm.find("6") == lp || nm.find("7") == lp || |
| 131 | nm.find("8") == lp || nm.find("9") == lp)) { |
| 132 | nm = nm.substr(lp, nm.length()-1); |
| 133 | } |
| 134 | nm.Trim(true); |
| 135 | nm.Trim(false); |
| 136 | if (nm.length() == len) done = true; |
| 137 | } |
| 138 | return GetUniqueGroupName(nm); |
| 139 | } |
| 140 | |
| 141 | std::vector<wxString> TableInterface::SuggestDBColNames(wxString new_grp_name, |
| 142 | wxString prefix, int n) const |
no test coverage detected