ListIvaView Class Reference

#include <listivaview.h>

Inheritance diagram for ListIvaView:

QTableWidget ListIva

Public Slots

virtual void valueBudgetLineChanged (int row, int col)
virtual void contextMenu (int, int, const QPoint &)
virtual void borraIvaAct ()

Public Member Functions

 ListIvaView (QWidget *parent=0)
 ~ListIvaView ()
virtual void pintaListIva ()
virtual void pintaIva (int)
virtual bool eventFilter (QObject *obj, QEvent *ev)
Ivalineaat (int)
Ivalineaact ()
 Devuelve la línea que se esta tratando actualmente.
void guardaconfig ()
void cargaconfig ()

Detailed Description

Definition at line 35 of file listivaview.h.


Constructor & Destructor Documentation

ListIvaView::ListIvaView ( QWidget parent = 0  ) 

Parameters:
parent 

Inicializamos la tabla de lineas de presupuesto

Establecemos el color de fondo de la rejilla. El valor lo tiene la clase configuración que es global.

Definition at line 82 of file listivaview.cpp.

References _depura(), cargaconfig(), COL_BASEIVA, COL_CODIGO, COL_IDCUENTA, COL_IDIVA, COL_IDREGISTROIVA, COL_IDTIPOIVA, COL_IVAIVA, COL_NOMBRETIPOIVA, CONF_BG_LINPRESUPUESTOS, confpr, contextMenu(), configuracion::valor(), and valueBudgetLineChanged().

00082                                          : QTableWidget(parent), ListIva() {
00083     _depura("ListIvaView::ListIvaView", 0);
00085     setColumnCount(8);
00086     setRowCount(0);
00087     QStringList etiquetas;
00088     etiquetas << tr("COL_IDIVA") << tr("COL_IDTIPOIVA") << tr("COL_IDCUENTA") << tr("COL_CODIGO") << tr("COL_NOMBRETIPOIVA") << tr("COL_IDREGISTROIVA") << tr("COL_BASEIVA") << tr("COL_IVAIVA");
00089     setHorizontalHeaderLabels(etiquetas);
00090 
00091     setColumnWidth(COL_IDIVA, 100);
00092     setColumnWidth(COL_IDTIPOIVA, 100);
00093     setColumnWidth(COL_IDCUENTA, 100);
00094     setColumnWidth(COL_CODIGO, 100);
00095     setColumnWidth(COL_NOMBRETIPOIVA, 100);
00096     setColumnWidth(COL_IDREGISTROIVA, 100);
00097     setColumnWidth(COL_BASEIVA, 100);
00098     setColumnWidth(COL_IVAIVA, 74);
00099 
00100     hideColumn(COL_IDIVA);
00101     hideColumn(COL_IDTIPOIVA);
00102     hideColumn(COL_IDCUENTA);
00103     hideColumn(COL_IDREGISTROIVA);
00104 
00105     setSelectionMode(QAbstractItemView::SingleSelection);
00108     QPalette palette;
00109     palette.setColor(this->backgroundRole(), confpr->valor(CONF_BG_LINPRESUPUESTOS));
00110     this->setPalette(palette);
00111 
00112     connect(this, SIGNAL(valueChanged(int, int)), this, SLOT(valueBudgetLineChanged(int, int)));
00113     connect(this, SIGNAL(contextMenuRequested(int, int, const QPoint &)), this, SLOT(contextMenu(int, int, const QPoint &)));
00114     installEventFilter(this);
00115     cargaconfig();
00116     _depura("END ListIvaView::ListIvaView", 0);
00117 }

ListIvaView::~ListIvaView (  ) 

Definition at line 123 of file listivaview.cpp.

References _depura(), and guardaconfig().

00123                           {
00124     _depura("ListIvaView::~ListIvaView()", 0);
00125     guardaconfig();
00126     _depura("END ListIvaView::~ListIvaView()", 0);
00127 }


Member Function Documentation

void ListIvaView::pintaListIva (  )  [virtual]

Reimplemented from ListIva.

Definition at line 133 of file listivaview.cpp.

References _depura(), ListIva::m_lista, and pintaIva().

00133                                {
00134     _depura("ListIvaView::pintaListIva\n", 0);
00135     setRowCount(0);
00136     setRowCount(m_lista.count());
00138     uint i = 0;
00139     Iva *linea;
00140 
00141     QMutableListIterator<Iva*> m_ilista(m_lista);
00143     m_ilista.toFront();
00145     while (m_ilista.hasNext()) {
00147         linea = m_ilista.next();
00148         pintaIva(i);
00149         resizeRowToContents(i);
00150         i++;
00151     } // end while
00152 
00153     _depura("END ListIvaView::pintaListIva\n", 0);
00154 }

void ListIvaView::pintaIva ( int  pos  )  [virtual]

Parameters:
pos 

Definition at line 189 of file listivaview.cpp.

References _depura(), Iva::baseiva(), Iva::codigo(), COL_BASEIVA, COL_CODIGO, COL_IDCUENTA, COL_IDIVA, COL_IDREGISTROIVA, COL_IDTIPOIVA, COL_IVAIVA, COL_NOMBRETIPOIVA, Iva::idcuenta(), Iva::idiva(), Iva::idregistroiva(), Iva::idtipoiva(), Iva::ivaiva(), ListIva::m_lista, and Iva::nombretipoiva().

Referenced by pintaListIva(), and valueBudgetLineChanged().

00189                                   {
00190     _depura("ListIvaView::pintaIva\n", 0);
00191     Iva *linea;
00192     linea = m_lista.at(pos);
00193 
00194     item(pos, COL_IDIVA)->setText(linea->idiva());
00195     item(pos, COL_IDTIPOIVA)->setText(linea->idtipoiva());
00196     item(pos, COL_IDCUENTA)->setText(linea->idcuenta());
00197     item(pos, COL_CODIGO)->setText(linea->codigo());
00198     item(pos, COL_NOMBRETIPOIVA)->setText(linea->nombretipoiva());
00199     item(pos, COL_IDREGISTROIVA)->setText(linea->idregistroiva());
00200     item(pos, COL_BASEIVA)->setText(linea->baseiva());
00201     item(pos, COL_IVAIVA)->setText(linea->ivaiva());
00202     resizeRowToContents(pos);
00203 
00204     _depura("END ListIvaView::pintaIva\n", 0);
00205 }

bool ListIvaView::eventFilter ( QObject obj,
QEvent *  ev 
) [virtual]

Parameters:
obj 
ev 
Returns:

Definition at line 214 of file listivaview.cpp.

References _depura().

00214                                                       {
00215     _depura("ListIvaView::eventFilter()\n", 1);
00216     /*
00217         QString idArticle;
00218         //    linpresupuesto *linea=lineaact();
00219         Iva *linea;//=m_lista.at(currentRow());
00220      
00221         if ( ev->type() == QEvent::KeyRelease ) {
00222             QKeyEvent *k = (QKeyEvent *)ev;
00223             int col=currentColumn();
00224             int row=currentRow();
00225             switch (k->key()) {
00226             case Qt::Key_Plus:
00227                 if (col == COL_DESCLPRESUPUESTO) {
00228                     setText(row,col,editaTexto(text(row,col)));
00229                     valueBudgetLineChanged(row,col);
00230                     return TRUE;
00231                 }// end if
00232                 break;
00233             case Qt::Key_Return:
00234             case Qt::Key_Enter:
00235                 // Esto se hace porque en la ltima linea del qtable tiene un comportamiento raro. Se reportar�como bug a trolltech.
00236                 switch (col) {
00237                 case COL_CODARTICULO:
00238                     setCurrentCell(row, COL_DESCLPRESUPUESTO);
00239                     break;
00240                 case COL_DESCLPRESUPUESTO:
00241                     setCurrentCell(row, COL_CANTLPRESUPUESTO);
00242                     break;
00243                 case COL_CANTLPRESUPUESTO:
00244                     setCurrentCell(row, COL_PVPLPRESUPUESTO);
00245                     break;
00246                 case COL_PVPLPRESUPUESTO:
00247                     setCurrentCell(row+1, COL_CODARTICULO);
00248                     break;
00249                 }// end switch
00250                 return TRUE;
00251                 break;
00252             }// end switch
00253         }// end if
00254     */
00255     return QTableWidget::eventFilter(obj, ev);
00256 }

Iva * ListIvaView::lineaat ( int  row  ) 

Parameters:
row 
Returns:

Definition at line 303 of file listivaview.cpp.

References _depura(), ListIva::companyact, ListIva::m_lista, ListIva::mdb_idregistroiva, and Iva::setidregistroiva().

Referenced by lineaact(), and valueBudgetLineChanged().

00303                                  {
00304     _depura("ListIvaView::lineaat\n", 0);
00305     Iva *linea;
00306     if (row >= 0) {
00307         while (m_lista.at(row) == 0) {
00308             fprintf(stderr, "Creamos la linea\n");
00309             linea = new Iva(companyact);
00310             linea->setidregistroiva(mdb_idregistroiva);
00311             m_lista.append(linea);
00312         } // end while
00313         return(m_lista.at(row));
00314     } else {
00315         _depura("Linea inexistente\n", 0);
00316         return NULL;
00317     }// end if
00318 }

Iva * ListIvaView::lineaact (  ) 

Devuelve la línea que se esta tratando actualmente.

Returns:

Definition at line 291 of file listivaview.cpp.

References _depura(), and lineaat().

00291                            {
00292     _depura("ListIvaView::lineaact()\n", 0);
00293     return lineaat(currentRow());
00294 }

void ListIvaView::guardaconfig (  ) 

Definition at line 43 of file listivaview.cpp.

References _depura(), CONF_DIR_USER, confpr, and configuracion::valor().

Referenced by ~ListIvaView().

00043                                {
00044     _depura("ListIvaView::guardaconfig", 0);
00045     QString aux = "";
00046     QFile file(confpr->valor(CONF_DIR_USER) + "confListIvaView.cfn");
00047     if (file.open(QIODevice::WriteOnly)) {
00048         QTextStream stream(&file);
00049         for (int i = 0; i < columnCount(); i++) {
00050             showColumn(i);
00051             stream << columnWidth(i) << "\n";
00052         } // end for
00053         file.close();
00054     } // end if
00055     _depura("END ListIvaView::guardaconfig", 0);
00056 }

void ListIvaView::cargaconfig (  ) 

Definition at line 62 of file listivaview.cpp.

References _depura(), CONF_DIR_USER, confpr, and configuracion::valor().

Referenced by ListIvaView().

00062                               {
00063     _depura("ListIvaView::cargaconfig", 0);
00064     QFile file( confpr->valor(CONF_DIR_USER) + "confListIvaView.cfn" );
00065     QString line;
00066     if (file.open(QIODevice::ReadOnly)) {
00067         QTextStream stream(&file);
00068         for (int i = 0; i < columnCount(); i++) {
00069             QString linea = stream.readLine();
00070             setColumnWidth(i, linea.toInt());
00071         } // end for
00072         file.close();
00073     } // end if
00074     _depura("END ListIvaView::cargaconfig", 0);
00075 }

void ListIvaView::valueBudgetLineChanged ( int  row,
int  col 
) [virtual, slot]

Parameters:
row 
col 

Definition at line 264 of file listivaview.cpp.

References _depura(), COL_BASEIVA, COL_IVAIVA, lineaat(), pintaIva(), Iva::setbaseiva(), and Iva::setivaiva().

Referenced by ListIvaView().

00264                                                          {
00265     _depura("valueBudgetLineChanged \n", 0);
00266     Iva *linea;
00267     linea = lineaat(row);
00268     if (linea != NULL) {
00269         switch (col) {
00270         case COL_BASEIVA: {
00271                 float baseiva = item(row, COL_BASEIVA)->text().replace(",", ".").toFloat();
00272                 linea->setbaseiva(QString::number(baseiva));
00273                 break;
00274             }
00275         case COL_IVAIVA: {
00276                 float ivaiva = item(row, COL_IVAIVA)->text().replace(",", ".").toFloat();
00277                 linea->setivaiva(QString::number(ivaiva));
00278                 break;
00279             } // end case
00280         } // end switch
00281         pintaIva(row);
00282     } // end if
00283     _depura("END valueBudgetLineChanged \n", 0);
00284 }

void ListIvaView::contextMenu ( int  row,
int  ,
const QPoint &  pos 
) [virtual, slot]

Parameters:
row 
pos 

Definition at line 162 of file listivaview.cpp.

References _depura(), and ListIva::borraIva().

Referenced by ListIvaView().

00162                                                               {
00163     _depura("ListIvaView::contextMenu", 0);
00164     QMenu *popup = new QMenu();
00165     QAction *borrarlinea = popup->addAction(tr("Borrar linea"));
00166     QAction *opcion = popup->exec(pos);
00167     delete popup;
00168     if (opcion == borrarlinea) {
00169         borraIva(row);
00170     } // end if
00171     _depura("END ListIvaView::contextMenu", 0);
00172 }

void ListIvaView::borraIvaAct (  )  [virtual, slot]

Definition at line 178 of file listivaview.cpp.

References _depura(), and ListIva::borraIva().

00178                               {
00179     _depura("ListIvaView::borraIvaAct", 0);
00180     borraIva(currentRow());
00181     _depura("END ListIvaView::borraIvaAct", 0);
00182 }


The documentation for this class was generated from the following files:
Generated on Sat Dec 15 00:01:58 2007 for BulmaGes by  doxygen 1.5.1