00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef SUBFORM3_H
00023 #define SUBFORM3_H
00024
00025 #include <Qt>
00026 #include <QWidget>
00027 #include <QHeaderView>
00028 #include <QPalette>
00029
00030 #include "ui_subform3base.h"
00031 #include "postgresiface2.h"
00032 #include "funcaux.h"
00033 #include "qtable2.h"
00034 #include "subform.h"
00035 #include "fixed.h"
00036 #include "blwidget.h"
00037 #include "plugins.h"
00038 #include "porcentajecarga.h"
00039
00040
00042
00046 class SubForm3: public BLWidget, public Ui_SubForm3Base {
00047 Q_OBJECT
00048
00049 private:
00050 virtual void cargar(cursor2 *cur);
00051
00052 private:
00053 QString m_query;
00054
00055 protected:
00057 QString m_tablename;
00059 QList<SHeader *> m_lcabecera;
00061 QList<SDBRecord *> m_lista;
00063 QList<SDBRecord *> m_listaborrar;
00065 QString m_fileconfig;
00067 QString m_campoid;
00069 bool m_insercion;
00071 bool m_primero;
00073 bool m_delete;
00075 bool m_sorting;
00077 bool m_orden;
00079 bool m_ordenporquery;
00081 bool m_procesacambios;
00083 QString m_textoceldaParaRowSpan;
00085 QString m_columnaParaRowSpan;
00088 int m_filaInicialRowSpan;
00089 QColor m_colorfondo1;
00090 QColor m_colorfondo2;
00091 void ponItemColorFondo(QTableWidget *twidget, int filainicial, int totalfilas, QColor colorfondo);
00092
00093 public:
00095 int m_prevRow;
00097 int m_prevCol;
00098
00099 protected:
00102 void guardaconfig();
00105 void cargaconfig();
00109 void cargaSpecs();
00112 virtual void pintaCabeceras();
00113
00114 public:
00117 QList<SDBRecord *> *lista();
00119 QList<SHeader *> *cabecera();
00120
00121 public:
00122 SubForm3(QWidget *parent);
00123 virtual ~SubForm3();
00124 virtual void setEmpresaBase(EmpresaBase *);
00125 void setProcesarCambios(bool);
00126 bool procesaCambios();
00128 void setListadoPijama(bool pijama);
00129 bool listadoPijama();
00131 void setHorizontalScrollMode(QAbstractItemView::ScrollMode mode);
00136 void setColorFondo1(QString color);
00137 void setColorFondo2(QString color);
00139 void setSortingEnabled(bool);
00141 bool sortingEnabled();
00145 void setOrdenEnabled(bool);
00146 void setOrdenPorQuery(bool);
00149 bool ordenEnabled();
00154 bool campoCompleto(int row);
00157 void setDelete(bool f);
00160 SDBCampo *item(int row, int col);
00162 void setCurrentItem(int row, int col);
00164 int columnCount();
00166 void showColumn(int i);
00168 int columnWidth(int i);
00170 void setColumnWidth(int i, int j);
00172 void hideColumn(int i);
00174 int currentRow();
00176 int rowCount();
00178 int currentColumn();
00180 void setResizeMode(QHeaderView::ResizeMode modo);
00183 void resizeColumnsToContents();
00186 void resizeRowsToContents();
00188 void resizeColumnToContents(int i);
00190 void resizeRowToContents(int i);
00192 void hideConfig();
00194 void showConfig();
00196 QString imprimir();
00197 void sortItems(int col, Qt::SortOrder orden);
00198 void setinsercion(bool b);
00201 void setColumnToRowSpan(QString campo);
00202 void setDBTableName(QString nom);
00203 QString tableName();
00204 void setFileConfig(QString nom);
00205 void setDBCampoId(QString nom);
00206 void clear();
00207 void setRowCount(int i);
00208 void setColumnCount(int i);
00209 void situarse(unsigned int, unsigned int);
00210 void situarse1(unsigned int, unsigned int);
00211 int addSHeader(QString nom, DBCampo::dbtype typ, int res, int opt, QString nomp);
00212 SDBRecord *newSDBRecord();
00213 virtual void setColumnValue(QString, QString);
00214 QString DBvalue(const QString &campo, int row = -1);
00215 void setDBvalue(const QString &campo, int row, const QString &valor);
00216 SDBRecord *lineaact();
00217 SDBRecord *lineaat(int row);
00218 virtual void imprimirPDF(const QString &);
00219 virtual void nuevoRegistro();
00220 virtual int borrar();
00221 virtual int borrar(int);
00222 virtual int guardar();
00223 virtual void cargar(QString query);
00224 virtual int inicializar();
00225 virtual void pintar();
00226 virtual void creaMenu(QMenu *);
00227 virtual void procesaMenu(QAction *);
00228 virtual Fixed sumarCampo(QString);
00229 bool existsHeader(const QString &);
00230 virtual int cerrarEditor();
00231 virtual void confquery();
00232 QString columnDBfieldName(int columna);
00233
00234 public slots:
00235 virtual void on_mui_list_cellRePosition(int, int);
00236 virtual void on_mui_list_cellChanged(int, int);
00237 virtual void contextMenuEvent(QContextMenuEvent *);
00238 virtual void on_mui_confcol_clicked();
00239 virtual void on_mui_confquery_clicked();
00240 virtual void on_mui_list_pressedSlash(int row, int col);
00241 virtual void on_mui_list_pressedAsterisk(int row, int col);
00242 virtual void on_mui_list_pressedPlus(int row, int col);
00243 virtual void on_mui_list_pressedMinus(int row, int col);
00244 virtual void on_mui_list_ctrlSubir(int row, int col);
00245 virtual void on_mui_list_ctrlBajar(int row, int col);
00246 virtual void on_mui_pagsiguiente_clicked();
00247 virtual void on_mui_paganterior_clicked();
00248 virtual void on_mui_list_itemDoubleClicked(QTableWidgetItem *item);
00249 virtual void on_mui_list_itemClicked(QTableWidgetItem *item);
00250 virtual void on_mui_list_cellDoubleClicked(int row, int col);
00251 virtual void toogleConfig();
00252 virtual void on_mui_botonCerrar_clicked();
00253 virtual void on_mui_list_itemChanged(QTableWidgetItem *it);
00254
00255 signals:
00256 void toogledConfig(bool);
00257 void editFinish(int, int);
00258 void itemDoubleClicked(QTableWidgetItem *);
00259 void itemClicked(QTableWidgetItem *);
00260 void cellDoubleClicked(int row, int col);
00261 void pintaMenu(QMenu *);
00262 void trataMenu(QAction *);
00263 };
00264
00265 #endif
00266