CenGen - Генератор ценников  1.1
mainTableWidget.h
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
 Указатель Классы Функции