- Page principale
- Classes
- Fichiers
- Pages associées

# /home/eric/Bureau/MedinTux-V-2.00/Plug/Compta2/compta/ui/acte_selection.ui.h

    00001 /****************************************************************************
    00002 ** ui.h extension file, included from the uic-generated form implementation.
    00003 **
    00004 ** If you want to add, delete, or rename functions or slots, use
    00005 ** Qt Designer to update this file, preserving your code.
    00006 **
    00007 ** You should not define a constructor or destructor in this file.
    00008 ** Instead, write your code in functions called init() and destroy().
    00009 ** These will automatically be called by the form's constructor and
    00010 ** destructor.
    00011 *****************************************************************************/
    00012
    00013
    00014
    00018 void Acte_Selection::init()
    00019 { // Crée la table des honoraires en bas de la fenêtre
    00020   t = new QTable(1, 6, grPaye);
    00021   t->setGeometry( QRect( 20, 30, 350, 50 ) );
    00022   t->horizontalHeader()->setLabel( 0, tr( "Esp" ) );
    00023   t->horizontalHeader()->setLabel( 1, tr( "Chq" ) );
    00024   t->horizontalHeader()->setLabel( 2, tr( "CB" ) );
    00025   t->horizontalHeader()->setLabel( 3, tr( "DAF" ) );
    00026   t->horizontalHeader()->setLabel( 4, tr( "Du" ) );
    00027   t->horizontalHeader()->setLabel( 5, tr( "Autre" ) );
    00028   for (int i = 0; i < 6; i++)
    00029      { t->setColumnWidth ( i, 51 ); }
    00030   // Connecte les signaux de la table avec les slots adéquats
    00031   connect ( t ,     SIGNAL ( clicked(int,int,int,const QPoint&) ) ,
    00032             this,   SLOT     ( paiement(int,int,int) ) );
    00033 }
    00034
    00035 void Acte_Selection::destroy()
    00036 { //if (m_pActesListe) delete m_pActeListe;
    00037   if (t) delete t;
    00038 }
    00039
    00040
    00044 void Acte_Selection::setActesListe( ACTES_LISTE* al)
    00045 { // Charge les valeurs pour le combobox ACTE
    00046   m_pActeListe = al;
    00047   findTypes();
    00048   CmbType_activated( typesActes[0] );
    00049   putActeParams(0);
    00050 }
    00051
    00052
    00056 void Acte_Selection::findTypes()
    00057 { QString tmp = "";
    00058   typesActes.clear();
    00059   ACTES_LISTE::iterator it;
    00060   for (it = m_pActeListe->begin(); it !=  m_pActeListe->end(); ++it )
    00061    { tmp = (*it).getType();
    00062      if (typesActes.isEmpty() )
    00063         { typesActes.append( tmp ); CmbType->insertItem( tmp );  }
    00064      else
    00065       { // Vérifier que le type n'est déjà dans la liste
    00066         if ( typesActes.contains( tmp ) == 0 )
    00067          { typesActes.append ( tmp ); CmbType->insertItem( tmp );  }
    00068        }
    00069    }
    00070 }
    00071
    00072
    00076 void Acte_Selection::putActeParams (int id )
    00077 {ACTES_LISTE::iterator it = actesSelonType.at(id);
    00078   QString descr = "";
    00079   descr = (*it).m_Desc + "<br />" + (*it).m_Type;
    00080   lblDescrActe->setText(descr);
    00081   descr = TR("Montant Total : ") + QString::number((*it).m_Total);
    00082   descr += TR("  ;  Montant du Tiers : ") + QString::number( (*it).m_Tiers ) ;
    00083   lblMontant->setText(descr);
    00084   montantTotal->setText( QString::number( (*it).m_Total ) );
    00085 }
    00086
    00087
    00091 void Acte_Selection::paiement(int r ,int c, int but)
    00092 { if (but == Qt::RightButton)
    00093   { // Mets toutes la ligne à zéro
    00094     for (int i=0; i < 6; i++)
    00095      { t->setText(r,i,QString::null); }
    00096
    00097      // Récupère les données inhérentes à l'acte sélectionné
    00098      ACTES_LISTE::iterator it = actesSelonType.at( CmbActe->currentItem() );
    00099      double total = (*it).m_Total;
    00100      double tiers = (*it).m_Tiers;
    00101
    00102      // Mettre dans la case le montant selon : Montant total et Tiers
    00103      if (chkTiersPayant->isChecked())
    00104       { if (c != 3) // S'assurer que l'utilisateur ne clique pas sur DAF...
    00105         { t->setText(r, c, QString::number(tiers + (montantTotal->text().toDouble() - total) ) );  // A Payer
    00106           t->setText(r, 3, QString::number(total-tiers) );  // DAF
    00107         }
    00108         else // tout mettre en DAF
    00109         { t->setText (r, 3, QString::number(total) );
    00110         }
    00111      }  // Fin tiers cliqué
    00112     else
    00113      { t->setText(r, c, montantTotal->text() );  }
    00114   } // fin Qt::LeftButton
    00115
    00116 }
    00117
    00118 void Acte_Selection::Annule_clicked()
    00119 {  accept();  }
    00120
    00121
    00122 void Acte_Selection::OK_clicked()
    00123 {  QString z = "";
    00124    ACTES_LISTE::iterator it = actesSelonType.at( CmbActe->currentItem() );
    00125    // Emet le signal actePaiementSelectionne( ); avec les données stockées dans une classe Honoraires
    00126     Paiements *p = new Paiements ();
    00127     p->setNom           ( (*it).m_Nom );
    00128     p->setType          ( (*it).m_Type );
    00129     if (chkTiersPayant->isChecked()) p->setTiers(TRUE);
    00130     p->setEspeces       ( t->text (0, 0 ).toDouble() );
    00131     p->setCheque        ( t->text (0, 1 ).toDouble() );
    00132     p->setCB            ( t->text (0, 2 ).toDouble() );
    00133     p->setDAF           ( t->text (0, 3 ).toDouble() );
    00134     p->setAutre         ( t->text (0, 5 ).toDouble() );
    00135     p->setDu            ( t->text (0, 4 ).toDouble() );
    00136     if ( p->total() == 0 )
    00137      { if ( QMessageBox::question(
    00138             this,
    00139             tr("Pas de montant sélectionné."),
    00140             tr("Vous n'avez pas indiqué de montant à l'acte. <br />Souhaitez-vous enregistrer un acte gratuit ?"),
    00141             tr("&Oui"), tr("&Non"),
    00142             QString::null, 0, 1 ) == 0)
    00143         {  emit actePaiementSelectionne( p );  accept();  }
    00144       }
    00145     else {  emit actePaiementSelectionne( p );  accept();  }
    00146 }
    00147
    00148
    00152 void Acte_Selection::CmbType_activated( const QString &str )
    00153 { QString tmp = "";
    00154   actesSelonType.clear();
    00155   ACTES_LISTE::iterator it;
    00156   for (it = m_pActeListe->begin(); it !=  m_pActeListe->end(); ++it )
    00157    { tmp = (*it).m_Type;
    00158      if ( tmp == str )  { actesSelonType.append ( (*it) );  }
    00159    }
    00160   // Met à jour le combo
    00161   updateCmbActe();
    00162 }
    00163
    00164
    00168 void Acte_Selection::updateCmbActe()
    00169 { int i = 0;
    00170   CmbActe->clear();
    00171   ACTES_LISTE::iterator it;
    00172   for (it = actesSelonType.begin(); it !=  actesSelonType.end(); ++it )
    00173    { CmbActe->insertItem( (*it).m_Nom , i);   ++i;  }
    00174   CmbActe->setCurrentItem(0);
    00175   putActeParams(0);
    00176 }
    00177
    00178
    00179 void Acte_Selection::setPaiement(Paiements &p)
    00180 { QString tmp = "";
    00181   int id = 0 ;
    00182   // Trouve les id des : type et acte
    00183   for ( QStringList::Iterator it = typesActes.begin(); it != typesActes.end(); ++it )
    00184      { if ( (*it) == p.m_Type ) { break; }
    00185        id++;
    00186      }
    00187   CmbType->setCurrentItem( id );
    00188   CmbType_activated( CmbType->currentText() );
    00189   id = 0;
    00190   ACTES_LISTE::iterator it;
    00191   for (it = actesSelonType.begin(); it !=  actesSelonType.end(); ++it )
    00192    { tmp = (*it).m_Nom;
    00193      if ( tmp == p.m_Nom )  { break;  }
    00194      id++;
    00195    }
    00196   // Met l'acte à jour
    00197   putActeParams( id );
    00198   CmbActe->setCurrentItem( id );
    00199   if (p.m_Esp > 0)   t->setText(0,0, QString::number ( p.m_Esp) );
    00200   if (p.m_Chq > 0)   t->setText(0,1, QString::number ( p.m_Chq) );
    00201   if (p.m_CB > 0)    t->setText(0,2, QString::number ( p.m_CB) );
    00202   if (p.m_DAF > 0)   t->setText(0,3, QString::number ( p.m_DAF) );
    00203   if (p.m_Autre > 0) t->setText(0,4, QString::number ( p.m_Autre) );
    00204   if (p.m_Du > 0)    t->setText(0,5, QString::number ( p.m_Du) );
    00205   if (p.m_Tiers)     chkTiersPayant->setChecked(TRUE);
    00206 }
    00207
    00208
    00209