selectccosteview.cpp

Go to the documentation of this file.
00001 /***************************************************************************
00002  *   Copyright (C) 2003 by Tomeu Borras                                    *
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 "selectccosteview.h"
00022 #include "empresa.h"
00023 #include "funcaux.h"
00024 
00025 
00027 
00031 SelectCCosteView::SelectCCosteView(Empresa *emp, QWidget *parent)
00032         : QDialog(parent), PEmpresaBase(emp) {
00033     _depura("SelectCCosteView::SelectCCosteView", 0);
00034     setupUi(this);
00035 
00036     numdigitos = ((Empresa *)empresaBase())->numdigitosempresa();
00037 
00038     m_iterador = new QTreeWidgetItemIterator(mui_listCostes);
00039     mui_listCostes->setColumnCount(5);
00040 
00041     QStringList etiquetas;
00042     etiquetas << tr("nom_coste") << tr("desc_coste") << tr("Status") << tr("idc_coste") << tr("Seleccion");
00043     mui_listCostes->setHeaderLabels(etiquetas);
00044     cargacostes();
00045     _depura("END SelectCCosteView::SelectCCosteView", 0);
00046 }
00047 
00048 
00050 
00052 SelectCCosteView::~SelectCCosteView() {
00053     _depura("SelectCCosteView::~SelectCCosteView", 0);
00054     delete m_iterador;
00055     _depura("END SelectCCosteView::~SelectCCosteView", 0);
00056 }
00057 
00058 
00060 
00062 void SelectCCosteView::cargacostes() {
00063     _depura("SelectCCosteView::cargacostes", 0);
00066     fprintf(stderr, "Ahora nos toca rellenar las listas.\n");
00067     QMap <int, QTreeWidgetItem *> Lista;
00068     QTreeWidgetItem *item;
00069     int padre;
00070     int idc_coste = 0;
00071     cursor2 *cursoraux1, *cursoraux2;
00072 
00074     mui_listCostes->clear();
00075     cursoraux1 = empresaBase()->cargacursor("SELECT * FROM c_coste WHERE padre ISNULL ORDER BY idc_coste");
00076     while (!cursoraux1->eof()) {
00077         idc_coste = cursoraux1->valor("idc_coste").toInt();
00078 
00079         item = new QTreeWidgetItem(mui_listCostes);
00080         item->setText(3, cursoraux1->valor("idc_coste"));
00081         item->setText(1, cursoraux1->valor("descripcion"));
00082         item->setText(0, cursoraux1->valor("nombre"));
00083         item->setCheckState(0, Qt::Unchecked);
00084 // descomentarlo si Qt>=4.2        item->setExpanded(TRUE);
00085         Lista[idc_coste] = item;
00086 
00087         cursoraux1->siguienteregistro ();
00088     } // end while
00089     delete cursoraux1;
00093     cursoraux2 = empresaBase()->cargacursor("SELECT * FROM c_coste WHERE padre IS NOT NULL ORDER BY idc_coste");
00094     while (!cursoraux2->eof()) {
00095         padre = cursoraux2->valor("padre").toInt();
00096         idc_coste = cursoraux2->valor("idc_coste").toInt();
00097         fprintf(stderr, "Cuentas de subnivel:%d", padre);
00098 
00099         item = new QTreeWidgetItem(Lista[padre]);
00100         item->setText(3, cursoraux2->valor("idc_coste"));
00101         item->setText(1, cursoraux2->valor("descripcion"));
00102         item->setText(0, cursoraux2->valor("nombre"));
00103         item->setCheckState(0, Qt::Unchecked);
00104 // descomentarlo si Qt>=4.2        item->setExpanded(TRUE);
00105         Lista[idc_coste] = item;
00106 
00107         cursoraux2->siguienteregistro();
00108     } // end while
00109     delete cursoraux2;
00110     _depura("END SelectCCosteView::cargacostes", 0);
00111 }
00112 
00113 
00117 
00120 int SelectCCosteView::firstccoste() {
00121     _depura("SelectCCosteView::firstccoste", 0);
00122     delete m_iterador;
00123     m_iterador = new QTreeWidgetItemIterator(mui_listCostes);
00124     int idccoste = 0;
00125 
00126     while ((**m_iterador) && idccoste == 0) {
00127         if ((**m_iterador)->checkState(0) == Qt::Checked) {
00128             idccoste = (**m_iterador)->text(3).toInt();
00129 //            return idccoste;
00130         } // end if
00131         ++(*m_iterador);
00132     } // end while
00133 
00134     _depura("END SelectCCosteView::firstccoste", 0, QString::number(idccoste));
00135     return idccoste;
00136 }
00137 
00138 
00140 
00143 int SelectCCosteView::nextccoste() {
00144     _depura("SelectCCosteView::nextccoste", 0);
00145     int idccoste = 0;
00146 
00147     while ((**m_iterador) && idccoste == 0) {
00148         if ((**m_iterador)->checkState(0) == Qt::Checked) {
00149             idccoste = (**m_iterador)->text(3).toInt();
00150         } // end if
00151         ++(*m_iterador);
00152     } // end while
00153     _depura("END SelectCCosteView::nextccoste", 0);
00154     return idccoste;
00155 }
00156 
00157 
00160 
00163 QString SelectCCosteView::cadcoste() {
00164     _depura("SelectCCosteView::cadcoste", 0);
00165     int idc_coste;
00166     QString ccostes = "";
00167     idc_coste = firstccoste();
00168     while (idc_coste) {
00169         if (ccostes != "")
00170             ccostes.sprintf("%s, %d", ccostes.toAscii().constData(), idc_coste);
00171         else
00172             ccostes.sprintf("%d", idc_coste);
00173         idc_coste = nextccoste();
00174     } 
00175     _depura("END SelectCCosteView::cadcoste", 0);
00176     return ccostes;
00177 }
00178 
00179 
00182 
00185 QString SelectCCosteView::nomcoste() {
00186     _depura("SelectCCosteView::nomcoste", 0);
00187     QTreeWidgetItemIterator m_iterador(mui_listCostes);
00188 
00189     fprintf(stderr, "nomcoste()\n");
00190 
00191     if ((*m_iterador)->checkState(0) == Qt::Checked) {
00192         fprintf(stderr, "nomcoste: %s\n", (*m_iterador)->text(0).toAscii().constData());
00193         return (*m_iterador)->text(0);
00194     } else {
00195         return "";
00196     } // end if
00197 
00198     delete *m_iterador;
00199     _depura("END SelectCCosteView::nomcoste", 0);
00200     return "";
00201 }
00202 
00203 
00205 
00207 void SelectCCosteView::on_mui_todo_clicked() {
00208     _depura("SelectCCosteView::on_mui_todo_clicked", 0);
00209     QTreeWidgetItemIterator m_iterador(mui_listCostes);
00210 
00211     while (*m_iterador) {
00212         (*m_iterador)->setCheckState(0, Qt::Checked);
00213         ++m_iterador;
00214     } // end while
00215 
00216     delete *m_iterador;
00217     _depura("END SelectCCosteView::on_mui_todo_clicked", 0);
00218 }
00219 
00220 
00222 
00224 void SelectCCosteView::on_mui_nada_clicked() {
00225     _depura("SelectCCosteView::on_mui_nada_clicked", 0);
00226     QTreeWidgetItemIterator m_iterador(mui_listCostes);
00227 
00228     while (*m_iterador) {
00229         (*m_iterador)->setCheckState(0, Qt::Unchecked);
00230         ++m_iterador;
00231     } // end while
00232 
00233     delete *m_iterador;
00234     _depura("END SelectCCosteView::on_mui_nada_clicked", 0);
00235 }
00236 
00237 
00239 
00241 void SelectCCosteView::on_mui_invertir_clicked() {
00242     _depura("SelectCCosteView::on_mui_invertir_clicked", 0);
00243     QTreeWidgetItemIterator m_iterador(mui_listCostes);
00244 
00245     while (*m_iterador) {
00246         if ((*m_iterador)->checkState(0) == Qt::Unchecked) {
00247             (*m_iterador)->setCheckState(0, Qt::Checked);
00248         } else {
00249             (*m_iterador)->setCheckState(0, Qt::Unchecked);
00250         } // end if
00251         ++m_iterador;
00252     } // end while
00253 
00254     delete *m_iterador;
00255     _depura("END SelectCCosteView::on_mui_invertir_clicked", 0);
00256 }
00257 

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