コード例 #1
0
    def __init__(self, parent, listeColonnes=[], listeValeurs=[], type=None):
        wx.Dialog.__init__(self, parent, -1, title=_(u"Sélection d'éléments"), size=(800, 460))
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.type = type
        self.listeColonnes = listeColonnes
        self.listeValeurs = listeValeurs
        
        self.label_intro = wx.StaticText(self, -1, _(u"Veuillez sélectionner les éléments de votre choix :"))
        
        # ListCtrl
        self.listCtrl = ListCtrl(self, self.listeColonnes, self.listeValeurs)
        
        # Hyperlinks
        self.hyperlink_select = self.Build_Hyperlink_select()
        self.label_separation = wx.StaticText(self, -1, u"|")
        self.hyperlink_deselect = self.Build_Hyperlink_deselect()

        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_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
コード例 #2
0
    def __init__(self, parent, id=wx.ID_ANY, listeTypes=("famille", "individu"), pos=wx.DefaultPosition, size=wx.DefaultSize, style= wx.BK_DEFAULT):
        wx.Treebook.__init__(self, parent, id, pos, size, style)
        self.parent = parent
        self.listeTypes = listeTypes
        
        self.dictControles = self.GetDictControles() 
        
        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création de l'ImageList
        self.dictImages = {}
        self.il = wx.ImageList(32, 32)
        for controle in LISTE_CONTROLES :
            self.dictImages[controle["code"]] = {"ID":self.il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/32x32/%s" % controle["image"]), wx.BITMAP_TYPE_ANY)), "nom":controle["image"]}

        for code, label, fichier_image in LISTE_CATEGORIES :
            self.dictImages[code] = {"ID":self.il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/32x32/%s" % fichier_image), wx.BITMAP_TYPE_ANY)), "nom":fichier_image}

        self.AssignImageList(self.il)
        
        # Binds
        self.Bind(wx.EVT_TREEBOOK_PAGE_CHANGED, self.OnPageChanged)
        
        self.MAJ() 
コード例 #3
0
    def __init__(self, parent, IDfamille=None, IDindividu=None, dictFamillesRattachees={}, size=(-1, -1), largeurColonne=270 ): 
        HTL.HyperTreeList.__init__(self, parent, -1, size=size)
        self.parent = parent
        self.IDfamille = IDfamille
        self.IDindividu = IDindividu
        self.dictFamillesRattachees = dictFamillesRattachees

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.listePiecesObligatoires = []
        self.dictItems = {}

        # Création des colonnes
        self.AddColumn(_(u"Pièces à fournir"))
        self.SetColumnWidth(0, largeurColonne)
        self.SetColumnAlignment(0, wx.ALIGN_LEFT)
                
        # ImageList
        il = wx.ImageList(16, 16)
        self.img_ok = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ok.png"), wx.BITMAP_TYPE_PNG))
        self.img_attention = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Attention.png"), wx.BITMAP_TYPE_PNG))
        self.img_pasok = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Interdit.png"), wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)
                    
        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT | wx.TR_NO_BUTTONS | wx.TR_HAS_VARIABLE_ROW_HEIGHT | HTL.TR_NO_HEADER)
        self.SetBackgroundColour(wx.WHITE)
        
        # Binds
        self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelection)
        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnDoubleClick)
コード例 #4
0
    def __init__(self, parent):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent
        self.listeImpression = []

        # Récupère les noms et adresses de tous les titulaires
        self.dictTitulaires = UTILS_Titulaires.GetTitulaires()

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création des colonnes
        listeColonnes = [
            (_(u"Famille/Individu/Prestations"), 250, wx.ALIGN_LEFT),
            (_(u"Détail"), 250, wx.ALIGN_LEFT),
            (_(u"Montant"), 70, wx.ALIGN_RIGHT),
            (_(u"Qté"), 60, wx.ALIGN_CENTER),
        ]
        numColonne = 0
        for label, largeur, alignement in listeColonnes:
            self.AddColumn(label)
            self.SetColumnWidth(numColonne, largeur)
            self.SetColumnAlignment(numColonne, alignement)
            numColonne += 1

        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(
            wx.TR_HIDE_ROOT | wx.TR_COLUMN_LINES
            | wx.TR_HAS_VARIABLE_ROW_HEIGHT
            | wx.TR_FULL_ROW_HIGHLIGHT)  # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)

        # Binds
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)
コード例 #5
0
    def __init__(self, parent, listeIDconso=[]):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.listeIDconso = listeIDconso
        self.listeImpression = []

        # Création des colonnes
        listeColonnes = [
            (_(u"Date/Groupe/Individu"), 250, wx.ALIGN_LEFT),
            (_(u"Consommations réservées"), 240, wx.ALIGN_LEFT),
            (_(u"Date de la réservation"), 200, wx.ALIGN_LEFT),
        ]
        numColonne = 0
        for label, largeur, alignement in listeColonnes:
            self.AddColumn(label)
            self.SetColumnWidth(numColonne, largeur)
            self.SetColumnAlignment(numColonne, alignement)
            numColonne += 1

        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(
            wx.TR_HIDE_ROOT | wx.TR_HAS_VARIABLE_ROW_HEIGHT
            | wx.TR_FULL_ROW_HIGHLIGHT)  # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)

        # Binds
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)

        # Init
        self.MAJ()
コード例 #6
0
    def __init__(self, parent): 
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent
        self.dictImpression = {}
        self.dictIndexColonnes = {}
        
        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création de l'ImageList
        self.dictImages = {
            "ligne" : {"img" : wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Ligne.png'), wx.BITMAP_TYPE_PNG), "index" : None, "nomFichier":"Ligne"},
            "arret" : {"img" : wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Drapeau.png'), wx.BITMAP_TYPE_PNG), "index" : None, "nomFichier":"Drapeau"},
            }
        for code, valeurs in DICT_CATEGORIES.items() :
            self.dictImages[code] = {"img" : wx.Bitmap(Chemins.GetStaticPath('Images/16x16/%s.png' % valeurs["image"]), wx.BITMAP_TYPE_PNG), "index" : None, "nomFichier":valeurs["image"]}
        
        il = wx.ImageList(16, 16)
        index =0
        for code, dictImage in self.dictImages.items() :
            il.Add(dictImage["img"])
            dictImage["index"] = index
            index += 1
        self.AssignImageList(il)
        
        # Style
        self.SetBackgroundColour(wx.WHITE)
        if 'phoenix' in wx.PlatformInfo:
            TR_COLUMN_LINES = HTL.TR_COLUMN_LINES
        else :
            TR_COLUMN_LINES = wx.TR_COLUMN_LINES
        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT  | TR_COLUMN_LINES |wx.TR_HAS_VARIABLE_ROW_HEIGHT | wx.TR_FULL_ROW_HIGHLIGHT ) # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)
コード例 #7
0
    def __init__(self,
                 parent,
                 dictIndividus={},
                 dictActivites={},
                 dictGroupes={},
                 listeSelectionIndividus=[]):
        ULC.UltimateListCtrl.__init__(self,
                                      parent,
                                      -1,
                                      agwStyle=wx.LC_REPORT | wx.LC_VRULES
                                      | wx.LC_HRULES
                                      | ULC.ULC_HAS_VARIABLE_ROW_HEIGHT)
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.dictIndividus = dictIndividus
        self.dictActivites = dictActivites
        self.dictGroupes = dictGroupes
        self.listeSelectionIndividus = listeSelectionIndividus
        self.listeActivites = []
        self.dictControles = {}
        self.dictInscriptions = {}
        # Binds
        self.Bind(ULC.EVT_LIST_ITEM_CHECKED, self.OnCheck)
コード例 #8
0
    def __init__(self, parent, IDactivite=None, IDtarif=None):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent
        self.IDactivite = IDactivite
        self.IDtarif = IDtarif

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)
                
        # Création des colonnes
        listeColonnes = [
            ( _(u"Groupe/Date"), 200, wx.ALIGN_LEFT),
            ( _(u"Combinaisons d'unités"), 280, wx.ALIGN_LEFT),
            ]
        numColonne = 0
        for label, largeur, alignement in listeColonnes :
            self.AddColumn(label)
            self.SetColumnWidth(numColonne, largeur)
            self.SetColumnAlignment(numColonne, alignement)
            numColonne += 1
                
        # wx.TR_COLUMN_LINES |  | wx.TR_HAS_BUTTONS
        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT  | wx.TR_COLUMN_LINES | wx.TR_HAS_VARIABLE_ROW_HEIGHT | wx.TR_FULL_ROW_HIGHLIGHT ) # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)
        
        # Init contrôle
        self.ImportationInitiale() 
        self.MAJ() 
コード例 #9
0
    def __init__(self, parent, listePrestations=[]):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.SetAGWWindowStyleFlag(wx.TR_COLUMN_LINES | HTL.TR_NO_HEADER
                                   | wx.TR_HIDE_ROOT
                                   | wx.TR_FULL_ROW_HIGHLIGHT)
        self.parent = parent

        self.SetBackgroundColour(wx.WHITE)

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.Initialisation()

        # ImageList
        il = wx.ImageList(16, 16)
        self.img_vert = il.Add(
            wx.Bitmap(
                Chemins.GetStaticPath("Images/16x16/Ventilation_vert.png"),
                wx.BITMAP_TYPE_PNG))
        self.img_orange = il.Add(
            wx.Bitmap(
                Chemins.GetStaticPath("Images/16x16/Ventilation_orange.png"),
                wx.BITMAP_TYPE_PNG))
        self.img_rouge = il.Add(
            wx.Bitmap(
                Chemins.GetStaticPath("Images/16x16/Ventilation_rouge.png"),
                wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)
コード例 #10
0
    def __init__(self, parent): 
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)
                
        # Création des colonnes
        listeColonnes = [
            ( _(u"Individu/Date"), 230, wx.ALIGN_LEFT),
            ( _(u"Unité"), 170, wx.ALIGN_LEFT),
            ( _(u"Activité"), 170, wx.ALIGN_LEFT),
            ( _(u"Etat"), 90, wx.ALIGN_LEFT),
            ]
        numColonne = 0
        for label, largeur, alignement in listeColonnes :
            self.AddColumn(label)
            self.SetColumnWidth(numColonne, largeur)
            self.SetColumnAlignment(numColonne, alignement)
            numColonne += 1
        
        self.SetBackgroundColour(wx.WHITE)
        if 'phoenix' in wx.PlatformInfo:
            TR_COLUMN_LINES = HTL.TR_COLUMN_LINES
        else :
            TR_COLUMN_LINES = wx.TR_COLUMN_LINES
        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT | wx.TR_HAS_VARIABLE_ROW_HEIGHT | TR_COLUMN_LINES | wx.TR_FULL_ROW_HIGHLIGHT ) # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)

        # Binds 
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)
        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnDoubleClick)
コード例 #11
0
    def __init__(self,
                 parent,
                 IDactivite=None,
                 IDindividu=None,
                 listeGroupes=[],
                 IDdefaut=None):
        """ typeIndividu = "A" ou "E" (adulte ou enfant) """
        """ sexeIndividu = "M" ou "F" (masculin ou féminin) """
        """ Lien = ID type lien par défaut """
        wx.Choice.__init__(self,
                           parent,
                           id=-1,
                           size=(LARGEUR_COLONNE_GROUPE - 2, -1))
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.IDactivite = IDactivite
        self.IDindividu = IDindividu
        self.listeGroupes = listeGroupes
        self.IDdefaut = IDdefaut
        self.MAJ()
        self.Bind(wx.EVT_CHOICE, self.OnChoice)
        self.SetToolTip(
            wx.ToolTip(u"""Le groupe par défaut est signalé par une *.\n 
Vous pouvez sélectionner ponctuellement 
un autre groupe dans la liste. Le groupe par 
défaut n'en sera pas pour autant modifié."""))
コード例 #12
0
ファイル: CTRL_Attente.py プロジェクト: athimel/Noethys
    def __init__(self,
                 parent,
                 dictDonnees={},
                 dictEtatPlaces={},
                 dictUnitesRemplissage={},
                 mode="attente"):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.parent = parent
        self.mode = mode

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.dictDonnees = dictDonnees
        self.dictEtatPlaces = dictEtatPlaces  # copy.deepcopy(dictEtatPlaces)
        self.dictUnitesRemplissage = dictUnitesRemplissage
        self.listeTracks = []
        self.listePeriodes = []
        self.listeActivites = []
        self.listeImpression = []

        # Création des colonnes
        listeColonnes = [
            (_(u"Date/Groupe/Individu"), 250, wx.ALIGN_LEFT),
            (_(u"Consommations réservées"), 240, wx.ALIGN_LEFT),
            (_(u"Date de la réservation"), 200, wx.ALIGN_LEFT),
        ]
        numColonne = 0
        for label, largeur, alignement in listeColonnes:
            self.AddColumn(label)
            self.SetColumnWidth(numColonne, largeur)
            self.SetColumnAlignment(numColonne, alignement)
            numColonne += 1

        # Création de l'ImageList
        il = wx.ImageList(16, 16)
        self.img_ok = il.Add(
            wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Ok.png'),
                      wx.BITMAP_TYPE_PNG))
        self.img_pasok = il.Add(
            wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Interdit.png'),
                      wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)

        # wx.TR_COLUMN_LINES |  | wx.TR_HAS_BUTTONS
        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(
            wx.TR_HIDE_ROOT | wx.TR_HAS_VARIABLE_ROW_HEIGHT
            | wx.TR_FULL_ROW_HIGHLIGHT)  # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)

        # Binds
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)

        if len(dictDonnees) > 0:
            self.SetDictDonnees(dictDonnees)
コード例 #13
0
    def __init__(
        self,
        parent,
        id=wx.ID_ANY,
        pos=wx.DefaultPosition,
        size=wx.DefaultSize,
        style=wx.TR_HIDE_ROOT | wx.TR_HAS_BUTTONS
        | wx.TR_HAS_VARIABLE_ROW_HEIGHT,
        modeSelection=False,
    ):
        HTL.HyperTreeList.__init__(self, parent, id, pos, size, style)
        self.parent = parent
        self.modeSelection = modeSelection
        self.IDecole = None

        self.SetBackgroundColour(wx.WHITE)

        self.dictNiveaux = self.ImportationNiveaux()

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création de l'ImageList
        il = wx.ImageList(16, 16)
        self.img_ecole = il.Add(
            wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Ecole.png'),
                      wx.BITMAP_TYPE_PNG))
        self.img_classe = il.Add(
            wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Classe.png'),
                      wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)

        # Creation des colonnes
        self.AddColumn(_(u"Saison / Classe"))
        self.SetColumnWidth(0, 370)
        self.AddColumn(_(u"Niveaux scolaires"))
        self.SetColumnWidth(1, 120)
        self.SetMainColumn(0)

        # Création des branches
        self.root = self.AddRoot(_(u"Classes"))
        self.SetPyData(self.root, {"type": "root", "ID": None})
        if 'phoenix' in wx.PlatformInfo:
            TR_COLUMN_LINES = HTL.TR_COLUMN_LINES
        else:
            TR_COLUMN_LINES = wx.TR_COLUMN_LINES
        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT | TR_COLUMN_LINES
                                   | wx.TR_HAS_BUTTONS)

        # Binds
        if self.modeSelection == False:
            self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)
            self.GetMainWindow().Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
        else:
            self.Bind(wx.EVT_TREE_SEL_CHANGED, self.OnSelectItem)
コード例 #14
0
    def __init__(self, parent):
        CT.CustomTreeCtrl.__init__(self, parent, -1, style=wx.SUNKEN_BORDER)
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # wx.TR_COLUMN_LINES |  | wx.TR_HAS_BUTTONS
        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(
            wx.TR_HAS_BUTTONS | wx.TR_HAS_VARIABLE_ROW_HEIGHT
            | wx.TR_FULL_ROW_HIGHLIGHT
            | CT.TR_AUTO_CHECK_CHILD)  # HTL.TR_NO_HEADER
        self.EnableSelectionVista(True)
コード例 #15
0
    def __init__(self, parent, id=wx.ID_ANY, pos=wx.DefaultPosition,
                 size=wx.DefaultSize,
                 style= wx.TR_HIDE_ROOT | wx.TR_HAS_BUTTONS | wx.TR_HAS_VARIABLE_ROW_HEIGHT,
                 IDactivite=None,
                 ):
        HTL.HyperTreeList.__init__(self, parent, id, pos, size, style)
        self.parent = parent
        self.IDactivite = IDactivite
        
        self.SetBackgroundColour(wx.WHITE)

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création de l'ImageList
        il = wx.ImageList(16, 16)
        self.img_categorie = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Dossier.png'), wx.BITMAP_TYPE_PNG))
        self.img_categorie_gris = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Dossier_gris.png'), wx.BITMAP_TYPE_PNG))
        self.img_nom = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Etiquette.png'), wx.BITMAP_TYPE_PNG))
        self.img_nom_gris = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Etiquette_gris.png'), wx.BITMAP_TYPE_PNG))
        self.img_tarif = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Euro.png'), wx.BITMAP_TYPE_PNG))
        self.img_tarif_gris = il.Add(wx.Bitmap(Chemins.GetStaticPath('Images/16x16/Euro_gris.png'), wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)
        
        # Creation des colonnes
        self.AddColumn(_(u"Prestations / Tarifs"))
        self.SetColumnWidth(0, 250)
        self.AddColumn(_(u"Description du tarif"))
        self.SetColumnWidth(1, 230)
        self.AddColumn(_(u"Catégories de tarifs"))
        self.SetColumnWidth(2, 180)
        self.AddColumn(_(u"Méthode de calcul"))
        self.SetColumnWidth(3, 230)
        self.SetMainColumn(0)
                                
        # Création des branches
        self.root = self.AddRoot(_(u"Tarifs"))
        self.SetPyData(self.root, {"type" : "root", "ID" : None} )
        if 'phoenix' in wx.PlatformInfo:
            TR_COLUMN_LINES = HTL.TR_COLUMN_LINES
        else :
            TR_COLUMN_LINES = wx.TR_COLUMN_LINES
        self.SetAGWWindowStyleFlag(TR_COLUMN_LINES)
        
        # Binds
        self.Bind(wx.EVT_TREE_ITEM_RIGHT_CLICK, self.OnContextMenu)
        self.GetMainWindow().Bind(wx.EVT_LEFT_DCLICK, self.OnLeftDClick)
コード例 #16
0
    def __init__(self, parent, grille=None):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.SetAGWWindowStyleFlag(wx.TR_COLUMN_LINES | HTL.TR_NO_HEADER
                                   | wx.TR_HIDE_ROOT
                                   | wx.TR_FULL_ROW_HIGHLIGHT)
        self.parent = parent
        self.grille = grille
        self.IDfamille = None
        self.date = None
        self.dictBranches = {}

        self.SetBackgroundColour(wx.WHITE)

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)
コード例 #17
0
    def __init__(self, parent):
        ULC.UltimateListCtrl.__init__(self,
                                      parent,
                                      -1,
                                      agwStyle=wx.LC_REPORT
                                      | ULC.ULC_HAS_VARIABLE_ROW_HEIGHT
                                      | wx.LC_NO_HEADER)
        self.parent = parent
        self.IDindividu = None

        self.EnableSelectionVista()

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Binds
        self.Bind(ULC.EVT_LIST_ITEM_CHECKED, self.OnCheck)
コード例 #18
0
    def __init__(self, parent, IDactivite=None):
        HTL.HyperTreeList.__init__(self, parent, -1, style=wx.TR_DEFAULT_STYLE)
        self.IDactivite = IDactivite

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Création de la colonne principale
        self.AddColumn(_(u"Périodes / Groupes"))
        self.SetMainColumn(0)
        self.SetColumnWidth(0, 190)

        # wx.TR_COLUMN_LINES |  | wx.TR_HAS_BUTTONS
        self.SetBackgroundColour(wx.WHITE)
        self.SetAGWWindowStyleFlag(
            wx.TR_HIDE_ROOT | wx.TR_COLUMN_LINES | wx.TR_HAS_BUTTONS
            | wx.TR_HAS_VARIABLE_ROW_HEIGHT
            | wx.TR_FULL_ROW_HIGHLIGHT)  # HTL.TR_NO_HEADER
コード例 #19
0
    def __init__(self, parent, grille=None, listePrestations=[]):
        HTL.HyperTreeList.__init__(self, parent, -1)
        self.SetAGWWindowStyleFlag(HTL.TR_NO_HEADER | wx.TR_HIDE_ROOT
                                   | wx.TR_FULL_ROW_HIGHLIGHT)
        self.parent = parent
        self.grille = grille
        self.dictForfaits = {}
        self.listeSelectionIndividus = []
        self.dictActivites = {}

        self.SetBackgroundColour(wx.WHITE)

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Binds
        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.Modifier)
        self.GetMainWindow().Bind(wx.EVT_RIGHT_UP, self.OnContextMenu)
コード例 #20
0
    def __init__(self, parent): 
        wx.TreeCtrl.__init__(self, parent, -1, style=wx.SUNKEN_BORDER | wx.TR_HIDE_ROOT | wx.TR_NO_BUTTONS)
        self.parent = parent

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)
        
        # Binds
        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnDoubleClick)
        
        # Données
        self.listeElements = [
            {"code" : "elements_speciaux", "label" : _(u"Eléments spéciaux"), "elements" : [
                {"code" : "|", "infobulle" : u"<Séparateur>", "image" : "Images/16x16/Barreoutils_separator.png"},
                {"code" : "-", "infobulle" : u"<Espace>", "image" : "Images/16x16/Barreoutils_spacer.png"},
                ]},
            {"code" : "elements_menus", "label" : _(u"Eléments du menu"), "elements" : 
                GetListeItemsMenu()
                },
            ]
        
        # Création de l'ImageList
        il = wx.ImageList(16, 16)
        self.dictImages = {}
        
        # Image catégorie
        self.dictImages["categorie"] = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Dossier.png"), wx.BITMAP_TYPE_PNG))
        
        # Images des éléments
        for dictCategorie in self.listeElements :
            for dictItem in dictCategorie["elements"] :
                if dictItem.has_key("image") :
                    self.dictImages[dictItem["code"]] = il.Add(wx.Bitmap(Chemins.GetStaticPath(dictItem["image"]), wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)

        # Création de la racine
        self.root = self.AddRoot("Racine")
コード例 #21
0
ファイル: CTRL_Informations.py プロジェクト: CugeDe/Noethys
    def __init__(self, parent, IDfamille=None, IDindividu=None, dictFamillesRattachees={}, size=(-1, -1) ): 
        wx.TreeCtrl.__init__(self, parent, -1, size=size, style=wx.TR_HIDE_ROOT | wx.TR_NO_BUTTONS)
        self.parent = parent
        self.IDfamille = IDfamille
        self.IDindividu = IDindividu
        self.dictFamillesRattachees = dictFamillesRattachees
        
        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        couleur_fond = UTILS_Interface.GetValeur("couleur_tres_claire", wx.Colour(240, 251, 237))
        self.SetBackgroundColour(couleur_fond)
        
        self.listePiecesObligatoires = []
        self.dictItems = {}

        # Création des colonnes
##        self.AddColumn(_(u"Informations"))
##        self.SetColumnWidth(0, 270)
##        self.SetColumnAlignment(0, wx.ALIGN_LEFT)
                
        # ImageList
        il = wx.ImageList(16, 16)
        self.img_messages = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Mail.png"), wx.BITMAP_TYPE_PNG))
        self.img_pieces = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Dupliquer.png"), wx.BITMAP_TYPE_PNG))
        self.img_renseignements = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Identite.png"), wx.BITMAP_TYPE_PNG))
        self.img_vaccins = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Seringue.png"), wx.BITMAP_TYPE_PNG))
        self.img_attention = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Attention.png"), wx.BITMAP_TYPE_PNG))
        self.img_pasok = il.Add(wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Interdit.png"), wx.BITMAP_TYPE_PNG))
        self.AssignImageList(il)
                    
##        self.SetAGWWindowStyleFlag(wx.TR_HIDE_ROOT | wx.TR_NO_BUTTONS | wx.TR_HAS_VARIABLE_ROW_HEIGHT | HTL.TR_NO_HEADER)
        
        # Binds
        self.Bind(wx.EVT_TREE_ITEM_ACTIVATED, self.OnDoubleClick)
        self.Bind(wx.EVT_RIGHT_DOWN, self.OnContextMenu)
コード例 #22
0
    def __init__(self, parent, IDfamille=None):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           name="DLG_Rattachement",
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.IDfamille = IDfamille
        self.mode = None

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        self.nbreTitulaires = self.GetNbreTitulairesFamille()

        # Bandeau
        titre = _(u"Rattachement d'un individu")
        intro = _(
            u"Commencez par sélectionner une catégorie de rattachement puis saisissez son nom et son prénom. Si l'individu apparait dans la liste, sélectionnez-le. Sinon créez une nouvelle fiche individuelle."
        )
        self.ctrl_bandeau = CTRL_Bandeau.Bandeau(
            self,
            titre=titre,
            texte=intro,
            hauteurHtml=30,
            nomImage="Images/32x32/Famille.png")

        # Categorie
        self.staticbox_categorie_staticbox = wx.StaticBox(
            self, -1, _(u"1. Sélection de la catégorie de rattachement"))
        self.bouton_categorie_1 = wx.ToggleButton(self, 1, _(u"Représentant"))
        self.bouton_categorie_2 = wx.ToggleButton(self, 2, _(u"Enfant"))
        self.bouton_categorie_3 = wx.ToggleButton(self, 3, _(u"Contact"))
        self.ctrl_titulaire = wx.CheckBox(self, -1,
                                          _(u"Titulaire du dossier famille"))
        self.selection_categorie = None

        if self.nbreTitulaires == 0:
            self.bouton_categorie_2.Enable(False)
            self.bouton_categorie_3.Enable(False)

        # Sélection individu
        self.staticbox_selection_staticbox = wx.StaticBox(
            self, -1, _(u"2. Saisie du nom de l'individu"))
        self.ctrl_propositions = OL_Individus.ListView(
            self,
            id=-1,
            style=wx.LC_REPORT | wx.SUNKEN_BORDER | wx.LC_SINGLE_SEL
            | wx.LC_HRULES | wx.LC_VRULES)
        self.ctrl_propositions.dictParametres["archives"] = True
        self.label_nom = wx.StaticText(self, -1, _(u"Nom :"))
        self.ctrl_nom = CtrlRecherche(self, numColonne=1)
        self.label_prenom = wx.StaticText(self, -1, _(u"Prénom :"))
        self.ctrl_prenom = wx.TextCtrl(self, -1,
                                       "")  #CtrlRecherche(self, numColonne=2)

        # Txt remarque
        txtRemarque = u"""
        <IMG SRC="Static/Images/16x16/Attention2.png">
        <FONT SIZE=-1>
        Si l'individu à rattacher n'apparaît pas dans cette liste, 
        vous devez cliquez sur ce bouton 
        <A HREF="Saisie">Saisir un nouvel individu</A>
        pour créer une nouvelle fiche individuelle.
        </FONT>
        """
        self.ctrl_html = MyHtml(self, texte=txtRemarque, hauteur=31)

        # Boutons
        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_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_TOGGLEBUTTON, self.OnToggle, self.bouton_categorie_1)
        self.Bind(wx.EVT_TOGGLEBUTTON, self.OnToggle, self.bouton_categorie_2)
        self.Bind(wx.EVT_TOGGLEBUTTON, self.OnToggle, self.bouton_categorie_3)

        self.ActiveControles(False)
        self.ctrl_titulaire.Enable(False)
コード例 #23
0
    def __init__(self, parent, IDfamille=None, selectionIndividus=[], selectionTous=False):
        wx.Dialog.__init__(self, parent, -1, name="grille", style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX)
        self.parent = parent
        self.IDfamille = IDfamille
        
        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)
        
        self._mgr = aui.AuiManager()
        self._mgr.SetManagedWindow(self)
        self.SetTitle(_(u"Grille des consommations"))
        
        # Récupère les perspectives
        cfg = UTILS_Config.FichierConfig()
        self.userConfig = cfg.GetDictConfig()
        if self.userConfig.has_key("grille_perspectives") == True :
            self.perspectives = self.userConfig["grille_perspectives"]
        else:
            self.perspectives = []
        if self.userConfig.has_key("grille_perspective_active") == True :
            self.perspective_active = self.userConfig["grille_perspective_active"]
        else:
            self.perspective_active = None
                
        # Création du notebook
        self.panel_grille = PanelGrille(self, "individu", self.IDfamille)
        self.dictActivites = self.panel_grille.grille.dictActivites
        self.dictIndividus = self.panel_grille.grille.dictIndividus
        self.dictGroupes = self.panel_grille.grille.dictGroupes
        self.listeSelectionIndividus = self.panel_grille.grille.listeSelectionIndividus
                        
        # Création des panels amovibles
        self.panel_periode = CTRL_Grille_periode.CTRL(self)
        dictDonnees = UTILS_Config.GetParametre("dict_selection_periodes_activites")
        self.panel_periode.SetDictDonnees(dictDonnees)
        self._mgr.AddPane(self.panel_periode, aui.AuiPaneInfo().
                          Name("periode").Caption(_(u"Sélection de la période")).
                          Top().Layer(1).BestSize(wx.Size(230,144)).Position(1).CloseButton(False).Fixed().MaximizeButton(False))
        
        self.panel_individus = CTRL_Grille_individus.CTRL(self, self.IDfamille, self.dictIndividus, selectionIndividus, selectionTous)
        self._mgr.AddPane(self.panel_individus, aui.AuiPaneInfo().
                          Name("individus").Caption(_(u"Sélection des individus")).
                          Top().Layer(1).BestSize(wx.Size(180,140)).Position(2).CloseButton(False).MaximizeButton(False).MinSize((10, 100)))
                        
        self.panel_activites = CTRL_Grille_activite2.CTRL(self, self.dictIndividus, self.dictActivites, self.dictGroupes, self.listeSelectionIndividus)
        self._mgr.AddPane(self.panel_activites, aui.AuiPaneInfo().
                          Name("activites").Caption(_(u"Sélection des activités")).
                          Top().Layer(1).Position(3).CloseButton(False).MaximizeButton(False).MinSize((160, 100)))
        
        self.panel_facturation = CTRL_Grille_facturation.CTRL(self)
        self._mgr.AddPane(self.panel_facturation, aui.AuiPaneInfo().
                          Name("facturation").Caption(_(u"Facturation")).
                          Right().Layer(0).BestSize(wx.Size(275,140)).Position(3).CloseButton(False).MaximizeButton(False).MinSize((275, 100)))

        self.panel_etiquettes = CTRL_Etiquettes.CTRL(self, activeMenu=False, onCheck=self.panel_grille.grille.MAJ_affichage)
        self._mgr.AddPane(self.panel_etiquettes, aui.AuiPaneInfo().
                          Name("etiquettes").Caption(_(u"Etiquettes")).
                          Right().Layer(0).Position(3).CloseButton(False).BestSize(wx.Size(275, 100)).MaximizeButton(False).MinSize((275, 100)))    

        self.panel_forfaits = CTRL_Grille_forfaits.CTRL(self, grille=self.panel_grille.grille)
        self._mgr.AddPane(self.panel_forfaits, aui.AuiPaneInfo().
                          Name("forfaits").Caption(_(u"Forfaits crédits")).
                          Right().Layer(0).Position(4).BestSize(wx.Size(275,140)).CloseButton(False).MaximizeButton(False).MinSize((275, 100)))
        self._mgr.GetPane("forfaits").dock_proportion = 50000
        
        self.panel_commandes = Commandes(self)
        self._mgr.AddPane(self.panel_commandes, aui.AuiPaneInfo().
                          Name("commandes").Caption(_(u"Commandes")).
                          Bottom().Layer(0).CaptionVisible(False).CloseButton(False).MaximizeButton(False).MinSize((-1, 50)))

        self.panel_legende = OL_Legende_grille.ListView(self, id=-1, name="OL_legende", style=wx.LC_REPORT|wx.LC_NO_HEADER | wx.SUNKEN_BORDER|wx.LC_SINGLE_SEL)
        self._mgr.AddPane(self.panel_legende, aui.AuiPaneInfo().
                          Name("legende").Caption(_(u"Légende")).
                          Left().Layer(0).Position(2).CloseButton(False).BestSize(wx.Size(170, 100)).MaximizeButton(False).MinSize((170, 100)))    
        self._mgr.GetPane("legende").dock_proportion = 60000
        
        self.panel_raccourcis = OL_Raccourcis_grille.ListView(self, id=-1, name="OL_raccourcis", style=wx.LC_REPORT|wx.LC_NO_HEADER | wx.SUNKEN_BORDER|wx.LC_SINGLE_SEL)
        self._mgr.AddPane(self.panel_raccourcis, aui.AuiPaneInfo().
                          Name("raccourcis").Caption(_(u"Touches raccourcis")).
                          Left().Layer(0).Position(2).CloseButton(False).BestSize(wx.Size(170, 100)).MaximizeButton(False).MinSize((170, 100)))    
        self._mgr.GetPane("raccourcis").dock_proportion = 30000
        
        
        # Création du panel central
        self._mgr.AddPane(self.panel_grille, aui.AuiPaneInfo().Name("grille").
                          CenterPane())
                
        self._mgr.GetPane("grille").Show()

        # Sauvegarde de la perspective par défaut
        self.perspective_defaut = self._mgr.SavePerspective()

        # Récupération de la perspective chargée
        if self.perspective_active != None :
            self._mgr.LoadPerspective(self.perspectives[self.perspective_active]["perspective"])
        else:
            self._mgr.LoadPerspective(self.perspective_defaut)

        self._mgr.Update()
        
        self.Bind(wx.EVT_CLOSE, self.OnClose)
        
        # Détermine la taille de la fenêtre
        self.SetMinSize((600, 670))
        taille_fenetre = UTILS_Config.GetParametre("taille_fenetre_grille")
        if taille_fenetre == None :
            self.SetSize((900, 670))
        if taille_fenetre == (0, 0) :
            self.Maximize(True)
        else:
            self.SetSize(taille_fenetre)
        self.CenterOnScreen()
        
        # Initialisation des contrôles
        self.panel_periode.SetVisibleSelection()
        self.SetListesPeriodes(self.panel_periode.GetDatesSelections())
        self.SetListeSelectionIndividus(self.panel_individus.GetSelections())
        self.SetListeSelectionActivites(self.panel_activites.ctrl_activites.GetIDcoches())
        self.MAJ_grille()
        
        # Affichage du panneau du panneau Forfait Credits
        if self.panel_grille.grille.tarifsForfaitsCreditsPresents == True :
            self._mgr.GetPane("forfaits").Show()
        else:
            self._mgr.GetPane("forfaits").Hide()
        
        # Affichage du panneau du panneau Etiquettes
        if self.panel_grille.grille.afficherListeEtiquettes == True :
            self._mgr.GetPane("etiquettes").Show()
        else:
            self._mgr.GetPane("etiquettes").Hide()
        
        # Contre le bug de maximize
        wx.CallAfter(self._mgr.Update)
        wx.CallAfter(self.panel_grille.grille.SetFocus)
コード例 #24
0
    def __init__(self, parent, IDfamille=None, AfficherMessagesOuverture=True):
        wx.Dialog.__init__(self, parent, id=-1, name="fiche_famille", style=wx.DEFAULT_DIALOG_STYLE|wx.RESIZE_BORDER|wx.MAXIMIZE_BOX|wx.MINIMIZE_BOX)
        self.parent = parent
        self.IDfamille = IDfamille
        
        self.nouvelleFiche = False
        if IDfamille == None :
            self.CreateIDfamille()
            self.nouvelleFiche = True

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        # Composition
        self.sizer_composition_staticbox = wx.StaticBox(self, -1, _(u"Composition de la famille"))
        self.ctrl_composition = CTRL_Composition.Notebook(self, IDfamille=self.IDfamille)
        self.bouton_ajouter = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Ajouter.png"), wx.BITMAP_TYPE_ANY))
        self.bouton_modifier = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Modifier.png"), wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Supprimer.png"), wx.BITMAP_TYPE_ANY))
        self.bouton_calendrier = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Calendrier.png"), wx.BITMAP_TYPE_ANY))
        self.bouton_liens_famille = wx.BitmapButton(self, -1, wx.Bitmap(Chemins.GetStaticPath("Images/16x16/Composition.png"), wx.BITMAP_TYPE_ANY))
        
        # Notebook
        self.notebook = Notebook(self, IDfamille=self.IDfamille)
        
        # Boutons de commande
        self.bouton_aide = CTRL_Bouton_image.CTRL(self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")
        self.bouton_options = CTRL_Bouton_image.CTRL(self, texte=_(u"Options"), cheminImage="Images/32x32/Configuration2.png")
        self.bouton_outils = CTRL_Bouton_image.CTRL(self, texte=_(u"Outils"), cheminImage="Images/32x32/Configuration.png")
        self.bouton_consommations = CTRL_Bouton_image.CTRL(self, texte=_(u"Consommations"), cheminImage="Images/32x32/Calendrier.png")
        self.bouton_saisie_reglement = CTRL_Bouton_image.CTRL(self, texte=_(u"Saisir un règlement"), cheminImage="Images/32x32/Reglement.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, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")

        self.__set_properties()
        self.__do_layout()
        
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAjouterIndividu, self.bouton_ajouter)

        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOptions, self.bouton_options)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOutils, self.bouton_outils)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonLiens, self.bouton_liens_famille)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonCalendrier, self.bouton_calendrier)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonConsommations, self.bouton_consommations)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonSaisieReglement, self.bouton_saisie_reglement)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
        self.Bind(wx.EVT_CLOSE, self.OnClose)
        
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAjouter, self.bouton_ajouter)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonModifier, self.bouton_modifier)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonSupprimer, self.bouton_supprimer)
        
        self.notebook.SetFocus() 
        
        # Si c'est une nouvelle fiche, on propose immédiatement la création d'un individu
        if self.nouvelleFiche == True :
            wx.CallAfter(self.CreerPremierIndividu)

        # Cache le bouton de saisie d'un règlement si l'onglet Règlements est caché
        if ("reglements" in self.notebook.dictPages) == False :
            self.bouton_saisie_reglement.Show(False)

        # MAJ de l'onglet Informations
        self.notebook.GetPageAvecCode("informations").MAJ() 
        
        # MAJ CTRL composition
        code = UTILS_Config.GetParametre("affichage_composition_famille", defaut="graphique")
        self.ctrl_composition.AffichePage(code)
        self.ctrl_composition.MAJ()

        # Affiche les messages à l'ouverture de la fiche famille
        if AfficherMessagesOuverture == True :
            self.AfficheMessagesOuverture()
コード例 #25
0
    def __init__(self, parent, IDindividu=None, dictInfosNouveau={}):
        wx.Dialog.__init__(self,
                           parent,
                           id=-1,
                           name="fiche_individu",
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.IDindividu = IDindividu
        self.dictInfosNouveau = dictInfosNouveau
        self.nouvelleFiche = False

        # Adapte taille Police pour Linux
        from Utils import UTILS_Linux
        UTILS_Linux.AdaptePolice(self)

        if IDindividu == None and len(self.dictInfosNouveau) > 0:
            self.nouvelleFiche = True
            # Création de l'IDindividu
            self.CreateIDindividu()
            # Création du rattachement à la famille
            self.RattacherIndividu(self.dictInfosNouveau["IDfamille"],
                                   self.dictInfosNouveau["IDcategorie"],
                                   self.dictInfosNouveau["titulaire"])

        # Recherche des familles rattachées
        if self.IDindividu != None:
            self.dictFamillesRattachees = self.GetFamillesRattachees()
        else:
            self.dictFamillesRattachees = {}

        self.ctrl_ID = wx.StaticText(
            self, -1,
            _(u"Rattaché à aucune famille | ID : %d") % self.IDindividu)
        self.ctrl_ligne = wx.StaticLine(self, -1)
        self.ctrl_nom = wx.StaticText(self, -1, _(u"NOM, Prénom"))
        self.ctrl_datenaiss = wx.StaticText(self, -1,
                                            _(u"Date de naissance inconnue"))
        self.ctrl_adresse = wx.StaticText(self, -1,
                                          _(u"Lieu de résidence inconnu"))
        couleurFond = self.ctrl_adresse.GetBackgroundColour(
        )  #wx.SystemSettings.GetColour(30)
        self.ctrl_liens = CTRL_header_rattachement(
            self, couleurFond=couleurFond
        )  #wx.StaticText(self, -1, _(u"Aucun rattachement"))
        self.ctrl_photo = CTRL_Photo.CTRL_Photo(self, style=wx.SUNKEN_BORDER)
        self.ctrl_photo.SetPhoto(
            IDindividu=None,
            nomFichier=Chemins.GetStaticPath("Images/128x128/Personne.png"),
            taillePhoto=(128, 128),
            qualite=100)
        self.ctrl_notebook = Notebook(
            self,
            IDindividu=self.IDindividu,
            dictFamillesRattachees=self.dictFamillesRattachees)

        self.bouton_ok = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Ok"), cheminImage="Images/32x32/Valider.png")
        self.bouton_annuler = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Annuler"), cheminImage="Images/32x32/Annuler.png")
        self.bouton_options = CTRL_Bouton_image.CTRL(
            self,
            texte=_(u"Options"),
            cheminImage="Images/32x32/Configuration2.png")
        self.bouton_outils = CTRL_Bouton_image.CTRL(
            self,
            texte=_(u"Outils"),
            cheminImage="Images/32x32/Configuration.png")
        self.bouton_aide = CTRL_Bouton_image.CTRL(
            self, texte=_(u"Aide"), cheminImage="Images/32x32/Aide.png")

        self.__set_properties()
        self.__do_layout()

        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bouton_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOptions, self.bouton_options)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOutils, self.bouton_outils)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bouton_ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler, self.bouton_annuler)
        self.Bind(wx.EVT_CLOSE, self.OnClose)

        # Importation des données
        ##        if self.nouvelleFiche == False :
        ##            listePages = ("identite", "coords")
        ##            for codePage in listePages :
        ##                self.ctrl_notebook.GetPage(codePage).MAJ()

        self.ctrl_notebook.GetPageAvecCode("identite").MAJ()
        self.ctrl_notebook.GetPageAvecCode("coords").MAJ()

        # Saisie des infos par défaut pour la nouvelle fiche
        if self.nouvelleFiche == True:
            pageIdentite = self.ctrl_notebook.GetPageAvecCode("identite")
            pageIdentite.SetValeursDefaut(
                self.dictInfosNouveau["nom"],
                self.dictInfosNouveau["prenom"],
                self.dictInfosNouveau["IDcategorie"],
            )
            pageIdentite.majEffectuee = True
            # Si c'est un nouveau contact, on se met sur adresse manuelle
            if self.dictInfosNouveau["IDcategorie"] == 3:
                pageCoords = self.ctrl_notebook.GetPageAvecCode("coords")
                pageCoords.radio_adresse_manuelle.SetValue(True)
                pageCoords.OnRadioAdresse(None)
            # On met à jour les pages spéciales autre que "Identité"


##            listePages = ("liens", "coords")
##            for codePage in listePages :
##                page = self.ctrl_notebook.GetPageAvecCode(codePage)
##                page.MAJ()
##                page.majEffectuee = True

# Mise à jour du header
        self.MAJtexteRattachementHeader()

        # MAJ de l'onglet Informations
        self.ctrl_notebook.GetPageAvecCode("informations").MAJ()
コード例 #26
0
    def __init__(self, parent, IDfamille=None):
        wx.Panel.__init__(self,
                          parent,
                          id=-1,
                          name="panel_informations",
                          style=wx.TAB_TRAVERSAL)
        self.parent = parent
        self.IDfamille = IDfamille

        # Informations
        self.staticbox_infos = wx.StaticBox(self, -1, _(u"Messages"))
        self.ctrl_infos = CTRL_Informations.CTRL(self,
                                                 IDfamille=self.IDfamille)
        self.bouton_ajouter = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Ajouter.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_modifier = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Modifier.png"),
                      wx.BITMAP_TYPE_ANY))
        self.bouton_supprimer = wx.BitmapButton(
            self, -1,
            wx.Bitmap(Chemins.GetStaticPath(u"Images/16x16/Supprimer.png"),
                      wx.BITMAP_TYPE_ANY))

        # Etat de la facturation
        self.staticbox_facturation = wx.StaticBox(self, -1,
                                                  _(u"Etat du compte"))
        self.ctrl_facturation = OL_Etat_compte.ListView(
            self,
            id=-1,
            IDfamille=self.IDfamille,
            name="OL_Etat_compte",
            style=wx.LC_REPORT | wx.LC_NO_HEADER | wx.SUNKEN_BORDER
            | wx.LC_SINGLE_SEL | wx.LC_HRULES | wx.LC_VRULES)
        self.ctrl_facturation.SetMinSize((220, 20))

        if "linux" in sys.platform:
            UTILS_Linux.AdaptePolice(self.ctrl_facturation)

        # Solde du compte
        self.staticbox_solde = wx.StaticBox(self, -1, _(u"Solde du compte"))
        self.ctrl_solde = CTRL_Solde(self)

        # Binds
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAjouter, self.bouton_ajouter)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonModifier, self.bouton_modifier)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonSupprimer, self.bouton_supprimer)

        # Propriétés
        self.bouton_ajouter.SetToolTip(
            wx.ToolTip(_(u"Cliquez ici pour saisir un mémo familial")))
        self.bouton_modifier.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour modifier le mémo familial sélectionné")
            ))
        self.bouton_supprimer.SetToolTip(
            wx.ToolTip(
                _(u"Cliquez ici pour supprimer le mémo familial sélectionné"
                  )))

        # Layout
        grid_sizer_base = wx.FlexGridSizer(rows=1, cols=2, vgap=5, hgap=5)

        # Infos
        staticbox_infos = wx.StaticBoxSizer(self.staticbox_infos, wx.VERTICAL)
        grid_sizer_infos = wx.FlexGridSizer(rows=2, cols=2, vgap=5, hgap=5)

        grid_sizer_infos.Add(self.ctrl_infos, 1, wx.EXPAND, 0)

        grid_sizer_boutons = wx.FlexGridSizer(rows=6, cols=1, vgap=5, hgap=5)
        grid_sizer_boutons.Add(self.bouton_ajouter, 0, wx.ALL, 0)
        grid_sizer_boutons.Add(self.bouton_modifier, 0, wx.ALL, 0)
        grid_sizer_boutons.Add(self.bouton_supprimer, 0, wx.ALL, 0)
        grid_sizer_infos.Add(grid_sizer_boutons, 1, wx.ALL, 0)

        grid_sizer_infos.AddGrowableCol(0)
        grid_sizer_infos.AddGrowableRow(0)
        staticbox_infos.Add(grid_sizer_infos, 1, wx.EXPAND | wx.ALL, 5)

        grid_sizer_base.Add(staticbox_infos, 1, wx.EXPAND | wx.ALL, 5)

        grid_sizer_compte = wx.FlexGridSizer(rows=2, cols=1, vgap=0, hgap=0)

        # Facturation
        staticbox_facturation = wx.StaticBoxSizer(self.staticbox_facturation,
                                                  wx.VERTICAL)
        grid_sizer_facturation = wx.FlexGridSizer(rows=2,
                                                  cols=1,
                                                  vgap=5,
                                                  hgap=5)
        grid_sizer_facturation.Add(self.ctrl_facturation, 1, wx.EXPAND, 0)
        grid_sizer_facturation.AddGrowableCol(0)
        grid_sizer_facturation.AddGrowableRow(0)
        staticbox_facturation.Add(grid_sizer_facturation, 1,
                                  wx.EXPAND | wx.ALL, 5)

        grid_sizer_compte.Add(staticbox_facturation, 1, wx.EXPAND | wx.ALL, 5)

        # Solde
        staticbox_solde = wx.StaticBoxSizer(self.staticbox_solde, wx.VERTICAL)
        grid_sizer_solde = wx.FlexGridSizer(rows=2, cols=1, vgap=5, hgap=5)
        grid_sizer_solde.Add(self.ctrl_solde, 1, wx.EXPAND, 0)
        grid_sizer_solde.AddGrowableCol(0)
        grid_sizer_solde.AddGrowableRow(0)
        staticbox_solde.Add(grid_sizer_solde, 1, wx.EXPAND | wx.ALL, 5)

        grid_sizer_compte.Add(staticbox_solde, 1, wx.EXPAND | wx.ALL, 5)
        grid_sizer_compte.AddGrowableCol(0)
        grid_sizer_compte.AddGrowableRow(0)

        grid_sizer_base.Add(grid_sizer_compte, 1, wx.EXPAND, 0)

        self.SetSizer(grid_sizer_base)
        grid_sizer_base.Fit(self)
        grid_sizer_base.AddGrowableCol(0)
        grid_sizer_base.AddGrowableRow(0)