comparticulolistview.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2005 by Tomeu Borras Riera                              *
00003  *   tborras@conetxia.com                                                  *
00004  *                                                                         *
00005  *   This program is free software; you can redistribute it and/or modify  *
00006  *   it under the terms of the GNU General Public License as published by  *
00007  *   the Free Software Foundation; either version 2 of the License, or     *
00008  *   (at your option) any later version.                                   *
00009  *                                                                         *
00010  *   This program is distributed in the hope that it will be useful,       *
00011  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00012  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
00013  *   GNU General Public License for more details.                          *
00014  *                                                                         *
00015  *   You should have received a copy of the GNU General Public License     *
00016  *   along with this program; if not, write to the                         *
00017  *   Free Software Foundation, Inc.,                                       *
00018  *   59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
00019  ***************************************************************************/
00020 
00021 #include <QMessageBox>
00022 #include <QMenu>
00023 #include <QKeyEvent>
00024 #include <QEvent>
00025 
00026 #include "articulolist.h"
00027 #include "comparticulolistview.h"
00028 #include "funcaux.h"
00029 
00030 
00036 ListCompArticuloView::ListCompArticuloView(QWidget *parent, const char *)
00037         : SubForm2Bf(parent) {
00038     _depura("ListCompArticuloView::ListCompArticuloView", 0);
00039     setDBTableName("comparticulo");
00040     setDBCampoId("idcomponente");
00041     addSHeader("codigocompletoarticulo", DBCampo::DBvarchar, DBCampo::DBNoSave | DBCampo::DBNotNull, SHeader::DBNone, tr("Codigo completo del articulo"));
00042     addSHeader("nomarticulo", DBCampo::DBvarchar, DBCampo::DBNoSave, SHeader::DBNoWrite, tr("Nombre del articulo"));
00043     addSHeader("cantcomparticulo", DBCampo::DBnumeric, DBCampo::DBNotNull, SHeader::DBNone, tr("Cantidad de componente de articulo"));
00044     addSHeader("idcomponente", DBCampo::DBint, DBCampo::DBPrimaryKey | DBCampo::DBNotNull, SHeader::DBNoWrite, tr("ID componente"));
00045     addSHeader("idarticulo", DBCampo::DBint, DBCampo::DBPrimaryKey | DBCampo::DBNotNull, SHeader::DBNoView | SHeader::DBNoWrite, tr("ID articulo"));
00046     setinsercion(TRUE);
00047     setOrdenEnabled(FALSE);
00048     _depura("END ListCompArticuloView::ListCompArticuloView", 0);
00049 }
00050 
00051 
00060 void ListCompArticuloView::pressedAsterisk(int row, int col) {
00061     _depura("ListCompArticuloView::pressedAsterisk", 0);
00062     SDBRecord *rec = lineaat(row);
00063     SDBCampo *camp = (SDBCampo *) item(row,col);
00064     if (camp->nomcampo() != "codigocompletoarticulo")
00065         return;
00066     _depura("ListCompArticuloView::searchArticle", 0);
00067     ArticuloList *artlist = new ArticuloList((Company *)empresaBase(), NULL, 0, ArticuloList::SelectMode);
00069     this->setEnabled(false);
00070     artlist->show();
00071     while(!artlist->isHidden())
00072         theApp->processEvents();
00073     this->setEnabled(true);
00074     QString idArticle = artlist->idarticulo();
00075     delete artlist;
00076     cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM articulo WHERE idarticulo=" + idArticle);
00077     if (!cur->eof() ) {
00078         rec->setDBvalue("idcomponente", idArticle);
00079         rec->setDBvalue("codigocompletoarticulo", cur->valor("codigocompletoarticulo"));
00080         rec->setDBvalue("nomarticulo", cur->valor("nomarticulo"));
00081     } // end if
00082     _depura("END ListCompArticuloView::pressedAsterisk", 0);
00083 }
00084 
00085 
00093 void ListCompArticuloView::editFinished(int row, int col) {
00094     _depura("ListCompArticuloView::editFinished", 0);
00095     SDBRecord *rec = lineaat(row);
00096     SDBCampo *camp = (SDBCampo *) item(row, col);
00097     camp->refresh();
00098     if (camp->nomcampo() == "codigocompletoarticulo") {
00099         cursor2 *cur = empresaBase()->cargacursor("SELECT * FROM articulo WHERE codigocompletoarticulo='" + camp->text() + "'");
00100         if (!cur->eof() ) {
00101             rec->setDBvalue("idcomponente", cur->valor("idarticulo"));
00102             rec->setDBvalue("codigocompletoarticulo", cur->valor("codigocompletoarticulo"));
00103             rec->setDBvalue("nomarticulo", cur->valor("nomarticulo"));
00104         } // end if
00105     } // end if
00106     _depura("END ListCompArticuloView::editFinished", 0);
00107 }
00108 
00109 
00114 ListCompArticuloView::~ListCompArticuloView() {
00115         _depura("ListCompArticuloView::~ListCompArticuloView", 0);
00116         _depura("END ListCompArticuloView::~ListCompArticuloView", 0);
00117 }
00118 
00119 
00125 void ListCompArticuloView::cargar(QString idarticulo) {
00126         _depura("ListCompActiculo::cargar", 0);
00127         mdb_idarticulo = idarticulo;
00128         SubForm3::cargar("SELECT * FROM comparticulo, articulo WHERE comparticulo.idarticulo=" + mdb_idarticulo + " AND articulo.idarticulo = comparticulo.idcomponente");
00129         _depura("END ListCompActiculo::cargar", 0);
00130 }
00131 
00132 

Generated on Sat Dec 15 00:01:12 2007 for BulmaGes by  doxygen 1.5.1