|
CenGen - Генератор ценников
1.1
|
00001 #ifndef MAINTABLEWIDGET_H 00002 #define MAINTABLEWIDGET_H 00003 00004 #include <QTableWidget> 00005 #include <QStandardItemModel> 00006 #include <QHeaderView> 00007 #include <QMap> 00008 #include <QComboBox> 00009 #include "tovar.h" 00010 00011 class MainTableWidget : public QTableWidget { 00012 Q_OBJECT 00013 00014 public: 00015 MainTableWidget(QWidget* pwgt = 0); 00016 ~MainTableWidget(); 00017 00018 void set_add_flag(bool status); 00019 void set_tovar_searched(bool status); 00020 bool is_tovar_searched(); 00021 bool is_editing_price2(); 00022 00023 QList<Tovar> get_tovar_list(QString priznak); 00024 void load_tovar_list_into_table(QList<Tovar> tovarList, bool ToBottom = true); 00025 void load_tovar_list_into_table(QVector<Tovar> tovarList, bool ToBottom = true); 00026 int get_tableTab_width(int col); 00027 void set_tableTab_width(int col, int size); 00028 00029 void set_tableFields(QMap<QString, bool> list); 00030 00031 void set_method_view(int method); 00032 00033 void set_shablon_list(QStringList shablonList); 00034 QStringList get_shablon_list(); 00035 void set_shablon_current(int shablon); 00036 00037 void set_special_shablon_for_zero_price2(int shablon); 00038 00039 void set_focus_on_price2(); 00040 00041 00042 public slots: 00043 void selectAllItems(); 00044 void interchange_prices_in_table(); 00045 void intellect_interchange_prices_in_table(); 00046 void set_editing_price2(bool status = false); 00047 long double sum_of_tovar(); 00048 int kol_of_tovar(); 00049 void remove_zero_quantity(); 00050 void left_items_with_zero_price2(); 00051 00052 private: 00053 QHeaderView* tableHeader; 00054 bool editing_price2; 00055 bool add_flag; 00056 bool tovar_searched; 00057 QMap<QString, bool> fieldList; 00058 00059 QStringList fields; //перечислены те поля, которые используются 00060 int delfield; //поле, нажатие на которое означает удаление 00061 int shField; //поле, в которое (возможно) будет заноситься список шаблонов 00062 int method; //указывает, будет таблица с флагом удаления или с выбором 00063 QString method_symbol; //галочка или крестик 00064 bool itemsToSelectAll; 00065 00066 QStringList shablonList; 00067 int shablonCurrent; 00068 00069 int price1, price2; //порядковые номера, где цена1, где старая цена 00070 int quantity; 00071 00072 00073 private slots: 00074 void init(); 00075 00076 00077 void on_tableWidget_cellClicked(int,int); 00078 void on_tableWidget_cellChanged(int,int); 00079 void delete_line_from_table(int pos); 00080 //void add_table_item(int position, Tovar tovar); 00081 void on_cell_entered (); 00082 00083 00084 signals: 00085 void row_count_changed(); 00086 void data_changed(); 00087 00088 }; 00089 00090 00091 #endif // MAINTABLEWIDGET_H