Exemplo n.º 1
0
    def __init__(self, parent, IDtype_piece=None):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.parent = parent
        self.SetTitle(_(u"Saisie d'un type de pièce"))
        self.IDtype_piece = IDtype_piece

        self.sizer_nom_staticbox = wx.StaticBox(self, -1,
                                                _(u"Caractéristiques"))
        self.label_nom = wx.StaticText(self, -1, _(u"Nom :"))
        self.ctrl_nom = wx.TextCtrl(self, -1, "")
        self.label_public = wx.StaticText(self, -1, _(u"Public :"))
        self.ctrl_public = wx.Choice(self,
                                     -1, (100, -1),
                                     choices=("Individu", "Famille"))
        self.ctrl_rattachement = wx.CheckBox(self, -1, u"")
        self.label_rattachement = wx.StaticText(
            self, -1,
            _(u"Cochez cette case si, lorsqu'un individu est rattaché à plusieurs \nfamilles, cette pièce est valable pour toutes les familles rattachées."
              ))

        self.sizer_duree_staticbox = wx.StaticBox(self, -1,
                                                  _(u"Validité par défaut"))

        self.radio_duree_1 = wx.RadioButton(self,
                                            -1,
                                            _(u"Validité illimitée"),
                                            style=wx.RB_GROUP)

        self.radio_duree_2 = wx.RadioButton(self, -1,
                                            _(u"La durée suivante : "))
        self.label_jours = wx.StaticText(self, -1, _(u"Jours :"))
        self.spin_jours = wx.SpinCtrl(self, -1, "", min=0, max=100)
        self.label_mois = wx.StaticText(self, -1, _(u"Mois :"))
        self.spin_mois = wx.SpinCtrl(self, -1, "", min=0, max=100)
        self.label_annees = wx.StaticText(self, -1, _(u"Années :"))
        self.spin_annees = wx.SpinCtrl(self, -1, "", min=0, max=100)

        self.radio_duree_3 = wx.RadioButton(self, -1,
                                            _(u"La date suivante : "))
        self.ctrl_date = CTRL_Saisie_date.Date2(self)

        # Pages capturées
        self.sizer_pages_staticbox = wx.StaticBox(self, -1,
                                                  _(u"Documents associés"))
        self.ctrl_pages = CTRL_Vignettes_documents.CTRL(
            self,
            type_donnee="type_piece",
            IDtype_piece=self.IDtype_piece,
            style=wx.BORDER_SUNKEN)
        self.ctrl_pages.SetMinSize((160, 280))
        self.bouton_ajouter_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_visualiser_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Loupe.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_plus = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_plus.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_moins = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_moins.png"),
                      wx.BITMAP_TYPE_ANY))

        self.bouton_aide = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(
            self,
            id=wx.ID_CANCEL,
            texte=_(u"Annuler"),
            cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_CHOICE, self.OnChoice_public, self.ctrl_public)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDuree, self.radio_duree_1)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDuree, self.radio_duree_2)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDuree, self.radio_duree_3)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.AjouterPage,
                  self.bouton_ajouter_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.SupprimerPage,
                  self.bouton_supprimer_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.VisualiserPage,
                  self.bouton_visualiser_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.ZoomPlus,
                  self.bouton_zoom_plus)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.ZoomMoins,
                  self.bouton_zoom_moins)

        self.OnChoice_public(None)
        self.OnRadioDuree(None)

        # Importation
        if self.IDtype_piece != None:
            self.Importation()
Exemplo n.º 2
0
    def __init__(self,
                 parent,
                 title=_(u"Saisie des pièces"),
                 IDpiece=0,
                 IDpersonne=0,
                 IDtypePiece=None):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.parent = parent
        self.IDpersonne = IDpersonne
        self.IDpiece = IDpiece
        self.selection1 = (
            "NoSelect",
        )  # Pour mémoriser la sélection dans la liste des pièces à fournir
        self.selection2 = (
            "NoSelect",
        )  # Pour mémoriser la sélection dans la liste des autres pièces

        self.panel_base = wx.Panel(self, -1)
        self.sizer_date_debut_staticbox = wx.StaticBox(
            self.panel_base, -1, _(u"2. Saisissez la date de début"))
        self.sizer_date_fin_staticbox = wx.StaticBox(
            self.panel_base, -1, "3. Saisissez la date de fin")
        self.sizer_type_staticbox = wx.StaticBox(
            self.panel_base, -1, _(u"1. Sélectionnez un type de pièce"))
        self.radio_pieces_1 = wx.RadioButton(
            self.panel_base,
            -1,
            _(u"Dans la liste de pièces que la personne doit fournir :"),
            style=wx.RB_GROUP)

        self.list_ctrl_pieces = ListCtrl_Pieces(self.panel_base, -1)

        self.radio_pieces_2 = wx.RadioButton(
            self.panel_base, -1,
            _(u"Dans la liste des autres types de pièces :"))

        # Importe les durées de validité des types de pièces
        self.RemplissageAutresTypes()

        self.combo_box_autres = wx.ComboBox(self.panel_base,
                                            -1,
                                            choices=self.ListeAutresPourCombo,
                                            style=wx.CB_DROPDOWN
                                            | wx.CB_READONLY)
        self.label_date_debut = wx.StaticText(self.panel_base, -1, "Date :")
        self.text_date_debut = masked.TextCtrl(self.panel_base,
                                               -1,
                                               "",
                                               style=wx.TE_CENTRE,
                                               mask="##/##/####")
        self.radio_date_fin_1 = wx.RadioButton(self.panel_base,
                                               -1,
                                               "Date :",
                                               style=wx.RB_GROUP)
        self.text_date_fin = masked.TextCtrl(self.panel_base,
                                             -1,
                                             "",
                                             style=wx.TE_CENTRE,
                                             mask="##/##/####")
        self.radio_date_fin_2 = wx.RadioButton(self.panel_base, -1,
                                               _(u"Validité illimitée"))

        # Pages capturées
        self.sizer_pages_staticbox = wx.StaticBox(self.panel_base, -1,
                                                  _(u"Documents associés"))
        self.ctrl_pages = CTRL_Vignettes_documents.CTRL(self.panel_base,
                                                        IDpiece=self.IDpiece,
                                                        style=wx.BORDER_SUNKEN)
        self.bouton_ajouter_page = wx.BitmapButton(
            self.panel_base, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer_page = wx.BitmapButton(
            self.panel_base, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_visualiser_page = wx.BitmapButton(
            self.panel_base, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Loupe.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_plus = wx.BitmapButton(
            self.panel_base, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_plus.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_moins = wx.BitmapButton(
            self.panel_base, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_moins.png"),
                      wx.BITMAP_TYPE_ANY))

        self.bouton_aide = CTRL_Bouton_image.CTRL(
            self.panel_base,
            texte=_(u"Aide"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Aide.png"))
        self.bouton_ok = CTRL_Bouton_image.CTRL(
            self.panel_base,
            texte=_(u"Ok"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Valider.png"))
        self.bouton_annuler = CTRL_Bouton_image.CTRL(
            self.panel_base,
            texte=_(u"Annuler"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Annuler.png"))

        self.__set_properties()
        self.__do_layout()

        # Désactive le combobox à l'ouverture de la frame
        self.combo_box_autres.Enable(False)

        # Si Modification -> importation des données
        if IDpiece == 0:
            self.SetTitle(_(u"Saisie d'une pièce"))
        else:
            self.SetTitle(_(u"Modification d'une pièce"))
            self.Importation()

        # Binds
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioPieces, self.radio_pieces_1)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioPieces, self.radio_pieces_2)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDateFin,
                  self.radio_date_fin_1)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDateFin,
                  self.radio_date_fin_2)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
        self.Bind(wx.EVT_TEXT, self.OnDateDebut, self.text_date_debut)
        self.Bind(wx.EVT_COMBOBOX, self.OnComboBoxAutres,
                  self.combo_box_autres)

        self.Bind(wx.EVT_BUTTON, self.AjouterPage, self.bouton_ajouter_page)
        self.Bind(wx.EVT_BUTTON, self.SupprimerPage,
                  self.bouton_supprimer_page)
        self.Bind(wx.EVT_BUTTON, self.VisualiserPage,
                  self.bouton_visualiser_page)
        self.Bind(wx.EVT_BUTTON, self.ZoomPlus, self.bouton_zoom_plus)
        self.Bind(wx.EVT_BUTTON, self.ZoomMoins, self.bouton_zoom_moins)

        # Si c'est une saisie de pièce à partir du listeCtrl des pièces à fournir de la fiche individuelle
        if IDtypePiece != None:
            self.list_ctrl_pieces.SetIDtypePieceDefaut(IDtypePiece)
Exemplo n.º 3
0
    def __init__(self,
                 parent,
                 IDpiece=None,
                 IDfamille=None,
                 IDindividu=None,
                 dictFamillesRattachees={}):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           name="DLG_Saisie_piece",
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX
                           | wx.THICK_FRAME)
        self.parent = parent
        self.IDpiece = IDpiece
        self.IDfamille = IDfamille
        self.IDindividu = IDindividu
        self.dictFamillesRattachees = dictFamillesRattachees

        # Récupère les types de pièces existants
        self.dictTypesPieces = self.Importation_types_pieces()

        # Liste des pièces
        self.sizer_type_staticbox = wx.StaticBox(self, -1,
                                                 _(u"Type de pièce"))
        if IDfamille != None:
            texte = _(u"la famille")
        else:
            texte = _(u"l'individu")
        self.radio_pieces_1 = wx.RadioButton(
            self,
            -1,
            _(u"Dans la liste des pièces que %s doit fournir :") % texte,
            style=wx.RB_GROUP)
        self.ctrl_pieces_obligatoires = CTRL_Pieces_obligatoires.CTRL(
            self,
            IDfamille=IDfamille,
            IDindividu=IDindividu,
            dictFamillesRattachees=dictFamillesRattachees,
            size=(-1, 200))
        self.ctrl_pieces_obligatoires.SetMinSize((-1, 90))
        self.ctrl_pieces_obligatoires.MAJ()
        self.listePiecesObligatoires = self.ctrl_pieces_obligatoires.GetlistePiecesObligatoires(
        )

        # Types de pièces autres
        self.radio_pieces_2 = wx.RadioButton(
            self, -1, _(u"Dans la liste des autres types de pièces :"))
        self.ctrl_pieces_autres = Choix_Piece_autre(
            self, self.listePiecesObligatoires, self.dictTypesPieces)

        # Date de début
        self.sizer_date_debut_staticbox = wx.StaticBox(self, -1,
                                                       _(u"Date de début"))
        self.label_date_debut = wx.StaticText(self, -1, "Date :")
        self.ctrl_date_debut = CTRL_Saisie_date.Date(self)

        # Date de fin
        self.sizer_date_fin_staticbox = wx.StaticBox(self, -1,
                                                     _(u"Date de fin"))
        self.radio_date_fin_1 = wx.RadioButton(self,
                                               -1,
                                               _(u"Date :"),
                                               style=wx.RB_GROUP)
        self.radio_date_fin_2 = wx.RadioButton(self, -1,
                                               _(u"Validité illimitée"))
        self.ctrl_date_fin = CTRL_Saisie_date.Date(self)

        # Pages capturées
        self.sizer_pages_staticbox = wx.StaticBox(self, -1,
                                                  _(u"Documents associés"))
        self.ctrl_pages = CTRL_Vignettes_documents.CTRL(self,
                                                        type_donnee="piece",
                                                        IDpiece=self.IDpiece,
                                                        style=wx.BORDER_SUNKEN)
        self.bouton_ajouter_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_visualiser_page = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Loupe.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_plus = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_plus.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_zoom_moins = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/16x16/zoom_moins.png"),
                      wx.BITMAP_TYPE_ANY))

        # Commandes
        self.bouton_aide = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_ok = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(
            self,
            id=wx.ID_CANCEL,
            texte=_(u"Annuler"),
            cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()

        # Init contrôles
        self.ctrl_pieces_autres.Enable(False)

        # Si Modification -> importation des données
        if IDpiece == None:
            self.SetTitle(_(u"Saisie d'une pièce"))
            self.ctrl_date_debut.SetDate(datetime.date.today())
        else:
            self.SetTitle(_(u"Modification d'une pièce"))
            self.Importation()

        # Binds
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioPieces, self.radio_pieces_1)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioPieces, self.radio_pieces_2)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDateFin,
                  self.radio_date_fin_1)
        self.Bind(wx.EVT_RADIOBUTTON, self.OnRadioDateFin,
                  self.radio_date_fin_2)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_TEXT, self.OnDateDebut, self.ctrl_date_debut)
        self.Bind(wx.EVT_CHOICE, self.OnChoixAutres, self.ctrl_pieces_autres)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.AjouterPage,
                  self.bouton_ajouter_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.SupprimerPage,
                  self.bouton_supprimer_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.VisualiserPage,
                  self.bouton_visualiser_page)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.ZoomPlus,
                  self.bouton_zoom_plus)
        self.Bind(wx.EVT_BUTTON, self.ctrl_pages.ZoomMoins,
                  self.bouton_zoom_moins)