full rework of the output order

This commit is contained in:
2025-05-17 14:08:30 +03:00
parent 463edd3df9
commit f32da712e8
14 changed files with 407 additions and 372 deletions

View File

@@ -2,48 +2,6 @@
OutputOptions::OutputOptions() {}
void OutputOptions::add_or_update_column(Column &column) {
if (column_exist(column.type)) {
update_column(column, find_column(column.type));
} else {
this->order.push_back(column);
}
}
void OutputOptions::update_column(Column &column, unsigned short index) {
this->order[index] = column;
}
void OutputOptions::remove_column(unsigned short index) {
this->order.erase(this->order.begin() + index);
}
void OutputOptions::remove_column(ColumnType t) {
this->order.erase(this->order.begin() + find_column(t));
}
unsigned short OutputOptions::find_column(ColumnType t) {
for (unsigned short i = 0; i < this->order.size(); i++) {
if (this->order[i].type == t)
return i;
}
return -1;
}
bool OutputOptions::column_exist(ColumnType t) {
for (unsigned short i = 0; i < this->order.size(); i++) {
if (this->order[i].type == t)
return true;
}
return false;
}
Column &OutputOptions::get_column(ColumnType t) {
return this->order[find_column(t)];
}
std::vector<Column> &OutputOptions::get_columns() { return this->order; }
void OutputOptions::set_print_header(bool value) { this->print_header = value; }
bool OutputOptions::get_print_header() { return this->print_header; }
@@ -52,3 +10,4 @@ bool OutputOptions::get_print_total() { return this->print_total; }
void OutputOptions::set_path(std::string path) { this->path = path; }
std::string &OutputOptions::get_path() { return this->path; }