00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
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
00085 Lista[idc_coste] = item;
00086
00087 cursoraux1->siguienteregistro ();
00088 }
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
00105 Lista[idc_coste] = item;
00106
00107 cursoraux2->siguienteregistro();
00108 }
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
00130 }
00131 ++(*m_iterador);
00132 }
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 }
00151 ++(*m_iterador);
00152 }
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 }
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 }
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 }
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 }
00251 ++m_iterador;
00252 }
00253
00254 delete *m_iterador;
00255 _depura("END SelectCCosteView::on_mui_invertir_clicked", 0);
00256 }
00257