Esempio n. 1
0
    def Remplissage(self):
        # Regroupement
        self.Append(wxpg.PropertyCategory(_(u"Regroupement")))

        # Regroupement principal
        liste_regroupements = [
            ("aucun", _(u"Aucun")),
            ("jour", _(u"Jour")),
            ("mois", _(u"Mois")),
            ("annee", _(u"Année")),
            ("activite", _(u"Activité")),
            ("groupe", _(u"Groupe")),
            ("evenement", _(u"Evènement")),
            ("evenement_date", _(u"Evènement (avec date)")),
            ("etiquette", _(u"Etiquette")),
            ("unite_conso", _(u"Unité de consommation")),
            ("categorie_tarif", _(u"Catégorie de tarif")),
            ("ville_residence", _(u"Ville de résidence")),
            ("secteur", _(u"Secteur géographique")),
            ("genre", _(u"Genre (M/F)")),
            ("age", _(u"Age")),
            ("ville_naissance", _(u"Ville de naissance")),
            ("nom_ecole", _(u"Ecole")),
            ("nom_classe", _(u"Classe")),
            ("nom_niveau_scolaire", _(u"Niveau scolaire")),
            ("individu", _(u"Individu")),
            ("famille", _(u"Famille")),
            ("regime", _(u"Régime social")),
            ("caisse", _(u"Caisse d'allocations")),
            ("qf_perso", _(u"Quotient familial (tranches personnalisées)")),
            ("qf_tarifs", _(u"Quotient familial (tranches paramétrées)")),
            ("qf_100", _(u"Quotient familial (tranches de 100)")),
            ("categorie_travail", _(u"Catégorie de travail")),
            ("categorie_travail_pere", _(u"Catégorie de travail du père")),
            ("categorie_travail_mere",
             _(u"Catégorie de travail de la mère")),
        ]

        # Intégration des questionnaires
        q = UTILS_Questionnaires.Questionnaires()
        for public in ("famille", "individu"):
            for dictTemp in q.GetQuestions(public):
                label = _(u"Question %s. : %s") % (public[:3],
                                                   dictTemp["label"])
                code = "question_%s_%d" % (public, dictTemp["IDquestion"])
                liste_regroupements.append((code, label))

        propriete = CTRL_Propertygrid.Propriete_choix(
            label=_(u"Regroupement principal"),
            name="regroupement_principal",
            liste_choix=liste_regroupements,
            valeur="aucun")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(
            _(u"Sélectionnez un niveau de regroupement principal"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Tranches d'âge
        propriete = CTRL_Propertygrid.Propriete_liste(
            label=_(u"Regroupement par tranches d'âge"),
            name="regroupement_age",
            liste_selections=[])
        propriete.SetHelpString(
            _(u"Saisissez les tranches d'âge souhaitées séparées par des virgules. Exemple : '3, 6, 12'"
              ))
        propriete.SetAttribute("obligatoire", False)
        self.Append(propriete)

        # Tranches de QF perso
        propriete = CTRL_Propertygrid.Propriete_liste(
            label=_(u"Regroupement par tranches de QF"),
            name="tranches_qf_perso",
            liste_selections=[])
        propriete.SetHelpString(
            _(u"Attention, à utiliser avec le regroupement principal 'Quotient familial (tranches personnalisées)'. Saisissez les tranches de QF souhaitées séparées par des virgules. Exemple : '650, 800, 1200'"
              ))
        propriete.SetAttribute("obligatoire", False)
        self.Append(propriete)

        # Afficher les périodes détaillées
        propriete = wxpg.BoolProperty(
            label=_(u"Regroupement par périodes détaillées"),
            name="periodes_detaillees",
            value=False)
        propriete.SetHelpString(
            _(u"Cochez cette case pour afficher les périodes détaillées"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Données
        self.Append(wxpg.PropertyCategory(_(u"Données")))

        propriete = CTRL_Propertygrid.Propriete_choix(
            label=_(u"Format des données"),
            name="format_donnees",
            liste_choix=[("horaire", _(u"Horaire")),
                         ("decimal", _(u"Décimal"))],
            valeur="horaire")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(
            _(u"Sélectionnez le format d'affichage des données"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Afficher l'avertissement 'familles sans régime'
        propriete = wxpg.BoolProperty(
            label=_(u"Avertissement si régime famille inconnu"),
            name="afficher_regime_inconnu",
            value=True)
        propriete.SetHelpString(
            _(u"Cochez cette case pour afficher un avertissement si le régime d'une ou plusieurs familles est inconnu"
              ))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Associer régime inconnu
        DB = GestionDB.DB()
        req = """SELECT IDregime, nom FROM regimes ORDER BY nom;"""
        DB.ExecuterReq(req)
        liste_regimes = DB.ResultatReq()
        DB.Close()
        liste_regimes.insert(0, ("non", _(u"Non")))
        propriete = CTRL_Propertygrid.Propriete_choix(
            label=_(u"Associer régime inconnu à un régime"),
            name="associer_regime_inconnu",
            liste_choix=liste_regimes,
            valeur="non")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(
            _(u"Sélectionnez le régime dans lequel vous souhaitez inclure les familles au régime inconnu"
              ))
        propriete.SetAttribute("obligatoire", False)
        self.Append(propriete)

        # Plafond journalier par individu
        propriete = wxpg.IntProperty(
            label=_(u"Plafond journalier par individu (en minutes)"),
            name="plafond_journalier_individu",
            value=0)
        propriete.SetHelpString(
            _(u"Saisissez un plafond journalier (en minutes) par individu, toutes activités confondues (0 = désactivé). Exemple : une valeur de 120 (minutes) plafonnera le temps retenu pour chaque individu à hauteur de 2 heures."
              ))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Filtres
        self.Append(wxpg.PropertyCategory(_(u"Filtres")))

        # Jours hors vacances
        liste_jours = [(0, _(u"Lundi")), (1, _(u"Mardi")), (2, _(u"Mercredi")),
                       (3, _(u"Jeudi")), (4, _(u"Vendredi")),
                       (5, _(u"Samedi")), (6, _(u"Dimanche"))]
        propriete = CTRL_Propertygrid.Propriete_multichoix(
            label=_(u"Jours hors vacances"),
            name="jours_hors_vacances",
            liste_choix=liste_jours,
            liste_selections=[0, 1, 2, 3, 4, 5, 6])
        propriete.SetHelpString(
            _(u"Sélectionnez les jours hors vacances à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection."
              ))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Jours de vacances
        propriete = CTRL_Propertygrid.Propriete_multichoix(
            label=_(u"Jours de vacances"),
            name="jours_vacances",
            liste_choix=liste_jours,
            liste_selections=[0, 1, 2, 3, 4, 5, 6])
        propriete.SetHelpString(
            _(u"Sélectionnez les jours de vacances à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection."
              ))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Etat des consommations
        liste_etats = [("reservation", _(u"Pointage en attente")),
                       ("present", _(u"Présent")),
                       ("absentj", _(u"Absence justifiée")),
                       ("absenti", _(u"Absence injustifiée"))]
        propriete = CTRL_Propertygrid.Propriete_multichoix(
            label=_(u"Etat des consommations"),
            name="etat_consommations",
            liste_choix=liste_etats,
            liste_selections=["reservation", "present", "absentj", "absenti"])
        propriete.SetHelpString(
            _(u"Sélectionnez les états de consommations à inclure dans les calculs. Cliquez sur le bouton à droite du champ de saisie pour accéder à la fenêtre de sélection."
              ))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Affichage
        self.Append(wxpg.PropertyCategory(_(u"Affichage")))

        # Orientation page
        propriete = CTRL_Propertygrid.Propriete_choix(
            label=_(u"Orientation de la page"),
            name="orientation",
            liste_choix=[("portrait", _(u"Portrait")),
                         ("paysage", _(u"Paysage"))],
            valeur="portrait")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur Ligne tranche d'âge
        propriete = wxpg.ColourProperty(
            label=_(u"Couleur de la ligne tranche d'âge"),
            name="couleur_ligne_age",
            value=wx.Colour(192, 192, 192))
        propriete.SetHelpString(
            _(u"Sélectionnez la couleur de la ligne tranche d'âge"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur Ligne total
        propriete = wxpg.ColourProperty(label=_(u"Couleur de la ligne total"),
                                        name="couleur_ligne_total",
                                        value=wx.Colour(234, 234, 234))
        propriete.SetHelpString(
            _(u"Sélectionnez la couleur de la ligne total"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur case regroupement principal
        propriete = wxpg.ColourProperty(
            label=_(u"Couleur de la case regroupement principal"),
            name="couleur_case_regroupement",
            value=wx.Colour(0, 0, 0))
        propriete.SetHelpString(
            _(u"Sélectionnez la couleur de la case regroupement principal"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur texte regroupement principal
        propriete = wxpg.ColourProperty(
            label=_(u"Couleur du texte regroupement principal"),
            name="couleur_texte_regroupement",
            value=wx.Colour(255, 255, 255))
        propriete.SetHelpString(
            _(u"Sélectionnez la couleur du texte regroupement principal"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
    def Remplissage(self):

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Page")))

        # Orientation page
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Orientation de la page"), name="orientation", liste_choix=[("automatique", _(u"Automatique")), ("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)


        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Lignes")))

        # Tri
        liste_choix = [("nom", _(u"Nom")), ("prenom", _(u"Prénom")), ("age", _(u"Âge"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Tri"), name="tri", liste_choix=liste_choix, valeur="nom")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez le tri"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Ordre
        liste_choix = [("croissant", _(u"Croissant")), ("decroissant", _(u"Décroissant"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Ordre"), name="ordre", liste_choix=liste_choix, valeur="croissant")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'ordre"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Afficher lignes vierges
        propriete = wxpg.IntProperty(label=_(u"Lignes vierges"), name="nbre_lignes_vierges", value=3)
        propriete.SetEditor("SpinCtrl")
        propriete.SetHelpString(_(u"Nombre de lignes vierges à afficher en fin de liste"))
        propriete.SetAttribute("obligatoire", True)
        propriete.SetAttribute("Min", 0)
        self.Append(propriete)

        # Afficher tous les inscrits
        propriete = wxpg.BoolProperty(label=_(u"Afficher tous les inscrits"), name="afficher_inscrits", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher tous les inscrits"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Hauteur ligne individu
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 205, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Hauteur de la ligne Individu"), name="hauteur_ligne_individu", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la hauteur de la ligne de l'individu (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur du fond de titre
        propriete = wxpg.ColourProperty(label=_(u"Couleur ligne de titre"), name="couleur_fond_titre", value=wx.Colour(208, 208, 208) )
        propriete.SetHelpString(_(u"Sélectionnez la couleur de fond de la ligne de titre"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur du fond d'entête de colonne
        propriete = wxpg.ColourProperty(label=_(u"Couleur ligne des entêtes"), name="couleur_fond_entetes", value=wx.Colour(240, 240, 240) )
        propriete.SetHelpString(_(u"Sélectionnez la couleur de fond de la ligne des entêtes"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur du fond de total
        propriete = wxpg.ColourProperty(label=_(u"Couleur ligne de total"), name="couleur_fond_total", value=wx.Colour(208, 208, 208) )
        propriete.SetHelpString(_(u"Sélectionnez la couleur de fond de la ligne de total"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Photo")))

        # Afficher les photos
        liste_choix = [("non", _(u"Non")), ("petite", _(u"Petite taille")), ("moyenne", _(u"Moyenne taille")), ("grande", _(u"Grande taille"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Afficher les photos"), name="afficher_photos", liste_choix=liste_choix, valeur="non")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Afficher les photos individuelles"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Individu")))

        # Largeur colonne nom
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 305, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_nom", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Nom de l'individu (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Âge")))

        # Afficher l'âge des individus
        propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_age", value=True)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher de la colonne de l'âge des individus"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Largeur colonne âge
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 305, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_age", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Âge de l'individu (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonnes des unités")))

        # Afficher les étiquettes
        propriete = wxpg.BoolProperty(label=_(u"Afficher les étiquettes"), name="afficher_etiquettes", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher les étiquettes"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Masquer les consommations
        propriete = wxpg.BoolProperty(label=_(u"Masquer les consommations"), name="masquer_consommations", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour masquer les consommations"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Largeur colonne unités
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 105, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_unite", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de chaque colonne unité (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonnes personnalisées")))

        # Largeur colonne unités
        liste_choix = []
        for x in range(5, 105, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur par défaut des colonnes"), name="largeur_colonne_perso", liste_choix=liste_choix, valeur="40")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur par défaut de toutes les colonnes personnalisées (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Informations")))

        # Afficher les informations
        propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_informations", value=True)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher la colonne Informations"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Masquer les informations
        propriete = wxpg.BoolProperty(label=_(u"Masquer les informations"), name="masquer_informations", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour masquer le contenu de la colonne Informations"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Afficher les cotisations manquantes
        propriete = wxpg.BoolProperty(label=_(u"Afficher les cotisations manquantes"), name="afficher_cotisations_manquantes", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher les cotisations manquantes"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Afficher les pièces manquantes
        propriete = wxpg.BoolProperty(label=_(u"Afficher les pièces manquantes"), name="afficher_pieces_manquantes", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher les pièces manquantes"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Largeur colonne informations
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 505, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_informations", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Informations (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
    def __init__(self, parent, ctrl_tableau=None):
        wx.Panel.__init__(self, parent, id=-1, style=wx.TAB_TRAVERSAL)
        self.parent = parent
        self.ctrl_tableau = ctrl_tableau

        # Période
        self.staticBox_periode = wx.StaticBox(self, -1,
                                              _(u"Sélection de la période"))
        self.ctrl_periode = CTRL_Selection_periode_simple.CTRL(
            self, callback=self.OnChangePeriode)

        # Catégories de produits
        self.staticBox_categories = wx.StaticBox(self, -1,
                                                 _(u"Catégories de produits"))
        self.ctrl_categories = CTRL_Categories(self)

        # Options
        self.staticbox_parametres_staticbox = wx.StaticBox(
            self, -1, _(u"Paramètres"))
        self.ctrl_parametres = CTRL_Parametres(self)
        self.ctrl_parametres.SetMinSize((400, 80))
        self.bouton_reinitialisation = CTRL_Propertygrid.Bouton_reinitialisation(
            self, self.ctrl_parametres)
        self.bouton_sauvegarde = CTRL_Propertygrid.Bouton_sauvegarde(
            self, self.ctrl_parametres)

        # Binds
        self.Bind(wx.EVT_CHECKLISTBOX, self.OnCheckCategories,
                  self.ctrl_categories)

        # Layout
        grid_sizer_base = wx.FlexGridSizer(1, 4, 10, 10)

        # Période
        staticBox_periode = wx.StaticBoxSizer(self.staticBox_periode,
                                              wx.HORIZONTAL)
        staticBox_periode.Add(self.ctrl_periode, 1, wx.EXPAND | wx.ALL, 5)
        grid_sizer_base.Add(staticBox_periode, 1, wx.EXPAND, 0)

        # Catégories
        staticBox_categories = wx.StaticBoxSizer(self.staticBox_categories,
                                                 wx.HORIZONTAL)
        staticBox_categories.Add(self.ctrl_categories, 1, wx.EXPAND | wx.ALL,
                                 5)
        grid_sizer_base.Add(staticBox_categories, 1, wx.EXPAND, 0)

        # Paramètres
        box_parametres = wx.StaticBoxSizer(self.staticbox_parametres_staticbox,
                                           wx.VERTICAL)
        grid_sizer_parametres = wx.FlexGridSizer(rows=1,
                                                 cols=2,
                                                 vgap=5,
                                                 hgap=5)
        grid_sizer_parametres.Add(self.ctrl_parametres, 1, wx.EXPAND, 0)

        grid_sizer_boutons = wx.FlexGridSizer(rows=3, cols=1, vgap=5, hgap=5)
        grid_sizer_boutons.Add(self.bouton_reinitialisation, 0, 0, 0)
        grid_sizer_boutons.Add(self.bouton_sauvegarde, 0, 0, 0)

        grid_sizer_parametres.Add(grid_sizer_boutons, 0, 0, 0)
        grid_sizer_parametres.AddGrowableRow(0)
        grid_sizer_parametres.AddGrowableCol(0)
        box_parametres.Add(grid_sizer_parametres, 1, wx.EXPAND | wx.ALL, 5)
        grid_sizer_base.Add(box_parametres, 1, wx.EXPAND | wx.ALL, 0)

        grid_sizer_base.AddGrowableCol(1)
        self.SetSizer(grid_sizer_base)
        self.Layout()

        # Configuration
        dict_parametres = UTILS_Config.GetParametre("dlg_locations_tableau",
                                                    {})
        if dict_parametres.has_key("periode"):
            self.ctrl_periode.SetModePeriode(dict_parametres["periode"])
        if dict_parametres.has_key("case_largeur"):
            self.ctrl_tableau.slider_largeur.SetValue(
                dict_parametres["case_largeur"])
            self.ctrl_tableau.OnSliderLargeur()
    def Remplissage(self):
        # --------------------------- TYPE DE DOCUMENT------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Type de document")) )
    
        # Type
        propriete = wxpg.EnumProperty(label=_(u"Type"), name="type_document", labels=[_(u"Détaillé"), _(u"Simplifié"), (u"Totaux")], values=[0, 1, 2], value=0)
        propriete.SetHelpString(_(u"Sélectionnez un type de document")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # --------------------------- COULEURS DE FOND ------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Couleurs de fond")) )
        
        # Couleur 1
        propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 1"), name="couleur_fond_1", value=wx.Colour(204, 204, 255))
        propriete.SetHelpString(_(u"Sélectionnez une couleur")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur 2
        propriete = wxpg.ColourProperty(label=_(u"Couleur de fond 2"), name="couleur_fond_2", value=wx.Colour(230, 230, 255))
        propriete.SetHelpString(_(u"Sélectionnez une couleur")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        
        # --------------------------- TITRE ------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Titre")) )

        # Texte
        propriete = wxpg.StringProperty(label=_(u"Texte"), name="titre_texte", value=_(u"Récapitulatif des factures"))
        propriete.SetHelpString(_(u"Saisissez un texte"))
        self.Append(propriete)

        # Taille police
        propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="titre_taille_texte", value=16)
        propriete.SetHelpString(_(u"Saisissez une taille de texte (16 par défaut)")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("titre_taille_texte", "SpinCtrl")
        
        # Couleur
##        propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="titre_couleur", value=wx.BLACK)
##        propriete.SetHelpString(_(u"Sélectionnez une couleur")) 
##        propriete.SetAttribute("obligatoire", True)
##        self.Append(propriete)

        # Alignement
        labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")]
        propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="titre_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT)
        propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # --------------------------- FAMILLES ------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Champs personnalisés")) )

        liste_choix = []
        for dictQuestion in self.GetGrandParent().Questionnaires.listeQuestions:
            liste_choix.append(("{QUESTION_%d}" % dictQuestion["IDquestion"], dictQuestion["label"]))

        # Question 1
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 1"), name="question_1", liste_choix=liste_choix, valeur=None)
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez un item du questionnaire famille à inclure dans le document"))
        self.Append(propriete)

        # Question 2
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 2"), name="question_2", liste_choix=liste_choix, valeur=None)
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez un item du questionnaire famille à inclure dans le document"))
        self.Append(propriete)

        # Question 3
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Champ 3"), name="question_3", liste_choix=liste_choix, valeur=None)
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez un item du questionnaire famille à inclure dans le document"))
        self.Append(propriete)

        # --------------------------- INTRODUCTION ------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Introduction")) )

        # Texte
        propriete = wxpg.StringProperty(label=_(u"Texte"), name="intro_texte", value=u"")
        propriete.SetHelpString(_(u"Saisissez un texte"))
        self.Append(propriete)

        # Taille police
        propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="intro_taille_texte", value=7)
        propriete.SetHelpString(_(u"Saisissez une taille de texte (7 par défaut)")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("intro_taille_texte", "SpinCtrl")

        # Style
##        labels = [_(u"Normal"), _(u"Light"), "Gras"]
##        valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD]
##        propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="intro_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_NORMAL)
##        propriete.SetHelpString(_(u"Sélectionnez un style de texte")) 
##        propriete.SetAttribute("obligatoire", True)
##        self.Append(propriete)
        
        # Couleur
##        propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="intro_couleur", value=wx.BLACK)
##        propriete.SetHelpString(_(u"Sélectionnez une couleur")) 
##        propriete.SetAttribute("obligatoire", True)
##        self.Append(propriete)

        # Alignement
        labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")]
        propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="intro_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT)
        propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)


        # --------------------------- CONCLUSION ------------------------------------------
        self.Append( wxpg.PropertyCategory(_(u"Conclusion")) )

        # Texte
        propriete = wxpg.StringProperty(label=_(u"Texte"), name="conclusion_texte", value=_(u"{NBRE_FACTURES} factures | Montant total : {TOTAL_FACTURES}"))
        propriete.SetHelpString(_(u"Saisissez un texte. Vous pouvez utiliser les mots-clés suivants : {NBRE_FACTURES}, {TOTAL_FACTURES}, {NBRE_FACT_PRELEV}, {TOTAL_FACT_PRELEV}"))
        self.Append(propriete)

        # Taille police
        propriete = wxpg.IntProperty(label=_(u"Taille de texte"), name="conclusion_taille_texte", value=7)
        propriete.SetHelpString(_(u"Saisissez une taille de texte (7 par défaut)")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("conclusion_taille_texte", "SpinCtrl")

        # Style
##        labels = [_(u"Normal"), _(u"Light"), "Gras"]
##        valeurs = [wx.FONTWEIGHT_NORMAL, wx.FONTWEIGHT_LIGHT, wx.FONTWEIGHT_BOLD]
##        propriete = wxpg.EnumProperty(label=_(u"Style de texte"), name="conclusion_style", labels=labels, values=valeurs, value=wx.FONTWEIGHT_BOLD)
##        propriete.SetHelpString(_(u"Sélectionnez un style de texte")) 
##        propriete.SetAttribute("obligatoire", True)
##        self.Append(propriete)
        
        # Couleur
##        propriete = wxpg.ColourProperty(label=_(u"Couleur de texte"), name="conclusion_couleur", value=wx.BLACK)
##        propriete.SetHelpString(_(u"Sélectionnez une couleur")) 
##        propriete.SetAttribute("obligatoire", True)
##        self.Append(propriete)

        # Alignement
        labels = [_(u"Gauche"), _(u"Centre"), _(u"Droite")]
        propriete = wxpg.EnumProperty(label=_(u"Alignement du texte"), name="conclusion_alignement", labels=labels, values=[wx.ALIGN_LEFT, wx.ALIGN_CENTER, wx.ALIGN_RIGHT] , value=wx.ALIGN_LEFT)
        propriete.SetHelpString(_(u"Sélectionnez le type d'alignement")) 
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
    def Remplissage(self):

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Données")))

        # Afficher uniquement les individus avec infos
        propriete = wxpg.BoolProperty(label=_(u"Afficher uniquement individus avec infos"), name="individus_avec_infos", value=False)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher uniquement les individus avec infos"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Page")))

        # Orientation page
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Orientation de la page"), name="orientation", liste_choix=[("automatique", _(u"Automatique")), ("portrait", _(u"Portrait")), ("paysage", _(u"Paysage"))], valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Lignes")))

        # Tri
        liste_choix = [("nom", _(u"Nom")), ("prenom", _(u"Prénom")), ("age", _(u"Âge"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Tri"), name="tri", liste_choix=liste_choix, valeur="nom")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez le tri"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Ordre
        liste_choix = [("croissant", _(u"Croissant")), ("decroissant", _(u"Décroissant"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Ordre"), name="ordre", liste_choix=liste_choix, valeur="croissant")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'ordre"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Afficher lignes vierges
        propriete = wxpg.IntProperty(label=_(u"Lignes vierges"), name="nbre_lignes_vierges", value=3)
        propriete.SetEditor("SpinCtrl")
        propriete.SetHelpString(_(u"Nombre de lignes vierges à afficher en fin de liste"))
        propriete.SetAttribute("obligatoire", True)
        propriete.SetAttribute("Min", 0)
        self.Append(propriete)

        # Insérer saut de page après groupe
        propriete = wxpg.BoolProperty(label=_(u"Insérer saut de page après groupe"), name="saut_page_groupe", value=True)
        propriete.SetHelpString(_(u"Cochez cette case pour insérer un saut de page après chaque groupe"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Couleur du fond d'entête de colonne
        propriete = wxpg.ColourProperty(label=_(u"Couleur ligne des entêtes"), name="couleur_fond_entetes", value=wx.Colour(208, 208, 208) )
        propriete.SetHelpString(_(u"Sélectionnez la couleur de fond de la ligne des entêtes"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Photo")))

        # Afficher les photos
        liste_choix = [("non", _(u"Non")), ("petite", _(u"Petite taille")), ("moyenne", _(u"Moyenne taille")), ("grande", _(u"Grande taille"))]
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Afficher les photos"), name="afficher_photos", liste_choix=liste_choix, valeur="non")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Afficher les photos individuelles"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Individu")))

        # Largeur colonne nom
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 305, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_nom", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Nom de l'individu (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Catégorie
        self.Append(wxpg.PropertyCategory(_(u"Colonne Âge")))

        # Afficher l'âge des individus
        propriete = wxpg.BoolProperty(label=_(u"Afficher la colonne"), name="afficher_age", value=True)
        propriete.SetHelpString(_(u"Cochez cette case pour afficher de la colonne de l'âge des individus"))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Largeur colonne âge
        liste_choix = [("automatique", _(u"Automatique")),]
        for x in range(5, 305, 5):
            liste_choix.append((str(x), "%d pixels" % x))
        propriete = CTRL_Propertygrid.Propriete_choix(label=_(u"Largeur de la colonne"), name="largeur_colonne_age", liste_choix=liste_choix, valeur="automatique")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez la largeur de la colonne Âge de l'individu (en pixels)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
Esempio n. 6
0
    def Remplissage(self):
        # Période à afficher
        # date_debut = UTILS_Dates.ConvertDateDTenWX(DICT_INFOS_IMPRESSION["date_debut"])
        # date_fin = UTILS_Dates.ConvertDateDTenWX(DICT_INFOS_IMPRESSION["date_fin"])
        #
        # if date_debut != None and date_fin != None :
        #     # Affichage
        #     self.Append(wxpg.PropertyCategory(_(u"Affichage")))
        #
        #     propriete = wxpg.DateProperty(label=_(u"Date de début"), name="date_debut", value=wx.DateTime_Now())
        #     propriete.SetAttribute(wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN|wx.DP_SHOWCENTURY )
        #     self.Append(propriete)
        #
        #     propriete = wxpg.DateProperty(label=_(u"Date de fin"), name="date_fin", value=wx.DateTime_Now())
        #     propriete.SetAttribute(wxpg.PG_DATE_PICKER_STYLE, wx.DP_DROPDOWN|wx.DP_SHOWCENTURY )
        #     self.Append(propriete)

        # Page
        self.Append(wxpg.PropertyCategory(_(u"Page")))

        # Orientation page
        propriete = CTRL_Propertygrid.Propriete_choix(
            label=_(u"Orientation de la page"),
            name="orientation",
            liste_choix=[("portrait", _(u"Portrait")),
                         ("paysage", _(u"Paysage"))],
            valeur="portrait")
        propriete.SetEditor("EditeurChoix")
        propriete.SetHelpString(_(u"Sélectionnez l'orientation de la page"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        self.Append(wxpg.PropertyCategory(_(u"Couleurs de fond")))

        # Couleur
        propriete = wxpg.ColourProperty(label=_(u"Fond entêtes"),
                                        name="couleur_fond_entetes",
                                        value=wx.Colour(230, 230, 230))
        propriete.SetHelpString(_(u"Sélectionnez une couleur"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        # Couleur
        propriete = wxpg.ColourProperty(label=_(u"Fond colonne total"),
                                        name="couleur_fond_total",
                                        value=wx.Colour(245, 245, 245))
        propriete.SetHelpString(_(u"Sélectionnez une couleur"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)

        self.Append(wxpg.PropertyCategory(_(u"Texte")))

        # Taille police
        propriete = wxpg.IntProperty(label=_(u"Taille de texte"),
                                     name="taille_texte",
                                     value=7)
        propriete.SetHelpString(
            _(u"Saisissez une taille de texte (7 par défaut)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("taille_texte", "SpinCtrl")

        # Taille police
        propriete = wxpg.IntProperty(label=_(u"Taille de texte du titre"),
                                     name="taille_texte_titre",
                                     value=9)
        propriete.SetHelpString(
            _(u"Saisissez une taille de texte (9 par défaut)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("taille_texte", "SpinCtrl")

        self.Append(wxpg.PropertyCategory(_(u"Colonnes")))

        # Largeur automatique
        propriete = wxpg.BoolProperty(label=_(u"Largeur auto ajustée"),
                                      name="largeur_colonnes_auto",
                                      value=True)
        propriete.SetHelpString(
            _(u"Cochez cette case pour laisser Noethys ajuster la largeur des colonnes automatiquement"
              ))
        propriete.SetAttribute("UseCheckbox", True)
        self.Append(propriete)

        # Largeur colonne labels
        propriete = wxpg.IntProperty(label=_(u"Largeur colonne date"),
                                     name="largeur_colonne_date",
                                     value=110)
        propriete.SetHelpString(
            _(u"Saisissez la largeur pour la colonne date (110 par défaut)"))
        propriete.SetAttribute("obligatoire", True)
        self.Append(propriete)
        self.SetPropertyEditor("largeur_colonne_date", "SpinCtrl")
Esempio n. 7
0
    def __init__(self, parent, dictOptions={}):
        wx.Panel.__init__(self, parent, id=-1, style=wx.TAB_TRAVERSAL)
        self.parent = parent

        # Orientation
        self.box_orientation_staticbox = wx.StaticBox(self, -1,
                                                      _(u"Orientation"))
        self.ctrl_radio_portrait = wx.RadioButton(self,
                                                  -1,
                                                  u"",
                                                  style=wx.RB_GROUP)
        self.ctrl_image_portrait = wx.StaticBitmap(
            self, -1,
            wx.Bitmap(
                Chemins.GetStaticPath(
                    u"Images/32x32/Orientation_vertical.png"),
                wx.BITMAP_TYPE_ANY))
        self.ctrl_radio_paysage = wx.RadioButton(self, -1, u"")
        self.ctrl_image_paysage = wx.StaticBitmap(
            self, -1,
            wx.Bitmap(
                Chemins.GetStaticPath(
                    u"Images/32x32/Orientation_horizontal.png"),
                wx.BITMAP_TYPE_ANY))

        # Textes
        self.box_document_staticbox = wx.StaticBox(self, -1, _(u"Document"))
        self.label_titre = wx.StaticText(self, -1, _(u"Titre :"))
        self.ctrl_titre = wx.TextCtrl(self, -1, u"")
        self.label_introduction = wx.StaticText(self, -1, _(u"Introduction :"))
        self.ctrl_introduction = wx.TextCtrl(self, -1, u"")
        self.label_conclusion = wx.StaticText(self, -1, _(u"Conclusion :"))
        self.ctrl_conclusion = wx.TextCtrl(self, -1, u"")

        # Paramètres généraux
        self.box_options_staticbox = wx.StaticBox(self, -1,
                                                  _(u"Options d'impression"))
        self.ctrl_parametres = CTRL_Parametres(self)
        self.ctrl_parametres.Importation()
        self.bouton_reinitialisation = CTRL_Propertygrid.Bouton_reinitialisation(
            self, self.ctrl_parametres)
        self.bouton_sauvegarde = CTRL_Propertygrid.Bouton_sauvegarde(
            self, self.ctrl_parametres)
        self.ctrl_parametres.SetMinSize((440, 120))

        self.__do_layout()

        # Properties
        self.ctrl_radio_portrait.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour sélectionner une orientation portrait")))
        self.ctrl_image_portrait.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour sélectionner une orientation portrait")))
        self.ctrl_radio_paysage.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour sélectionner une orientation paysage")))
        self.ctrl_image_paysage.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour sélectionner une orientation paysage")))
        self.ctrl_titre.SetToolTip(
            wx.ToolTip(_(u"Vous pouvez modifier ici le titre du document")))
        self.ctrl_introduction.SetToolTip(
            wx.ToolTip(
                _(u"Vous pouvez modifier ici l'introduction du document")))
        self.ctrl_conclusion.SetToolTip(
            wx.ToolTip(
                _(u"Vous pouvez modifier ici la conclusion du document")))

        # Bind
        self.ctrl_image_portrait.Bind(wx.EVT_LEFT_DOWN,
                                      self.OnLeftDownPortrait)
        self.ctrl_image_paysage.Bind(wx.EVT_LEFT_DOWN, self.OnLeftDownPaysage)

        # Init contrôle
        if dictOptions.has_key("titre") and dictOptions["titre"] != None:
            self.ctrl_titre.SetValue(dictOptions["titre"])
        if dictOptions.has_key(
                "introduction") and dictOptions["introduction"] != None:
            self.ctrl_introduction.SetValue(dictOptions["introduction"])
        if dictOptions.has_key(
                "conclusion") and dictOptions["conclusion"] != None:
            self.ctrl_conclusion.SetValue(dictOptions["conclusion"])
        if dictOptions.has_key(
                "orientation") and dictOptions["orientation"] != None:
            self.SetOrientation(dictOptions["orientation"])