| 7 | #include "Base/StringHelper.h" |
| 8 | |
| 9 | int _NetworkResourceRawTO::compare(NetworkResourceRawTO const& left, NetworkResourceRawTO const& right, std::vector<ImGuiTableColumnSortSpecs> const& sortSpecs) |
| 10 | { |
| 11 | for (auto const& sortSpec : sortSpecs) { |
| 12 | int delta = 0; |
| 13 | switch (sortSpec.ColumnUserID) { |
| 14 | case NetworkResourceColumnId_Timestamp: |
| 15 | delta = left->timestamp.compare(right->timestamp); |
| 16 | break; |
| 17 | case NetworkResourceColumnId_UserName: |
| 18 | delta = left->userName.compare(right->userName); |
| 19 | break; |
| 20 | case NetworkResourceColumnId_SimulationName: |
| 21 | delta = left->resourceName.compare(right->resourceName); |
| 22 | break; |
| 23 | case NetworkResourceColumnId_Description: |
| 24 | delta = left->description.compare(right->description); |
| 25 | break; |
| 26 | case NetworkResourceColumnId_Likes: |
| 27 | delta = left->getTotalLikes() - right->getTotalLikes(); |
| 28 | break; |
| 29 | case NetworkResourceColumnId_NumDownloads: |
| 30 | delta = left->numDownloads - right->numDownloads; |
| 31 | break; |
| 32 | case NetworkResourceColumnId_Width: |
| 33 | delta = left->width - right->width; |
| 34 | break; |
| 35 | case NetworkResourceColumnId_Height: |
| 36 | delta = left->height - right->height; |
| 37 | break; |
| 38 | case NetworkResourceColumnId_Particles: |
| 39 | delta = left->particles - right->particles; |
| 40 | break; |
| 41 | case NetworkResourceColumnId_FileSize: |
| 42 | delta = static_cast<int>(left->contentSize / 1024) - static_cast<int>(right->contentSize / 1024); |
| 43 | break; |
| 44 | case NetworkResourceColumnId_Version: |
| 45 | delta = left->version.compare(right->version); |
| 46 | break; |
| 47 | default: |
| 48 | break; |
| 49 | } |
| 50 | if (delta > 0) { |
| 51 | return (sortSpec.SortDirection == ImGuiSortDirection_Ascending) ? +1 : -1; |
| 52 | } |
| 53 | if (delta < 0) { |
| 54 | return (sortSpec.SortDirection == ImGuiSortDirection_Ascending) ? -1 : +1; |
| 55 | } |
| 56 | } |
| 57 | return 0; |
| 58 | } |
| 59 | |
| 60 | bool _NetworkResourceRawTO::matchWithFilter(std::string const& filter) const |
| 61 | { |
no test coverage detected