Esempio n. 1
0
 def SetProperties(self):
     " Setup the buttonpanel colours, borders etc."
     bpArt = self.GetBPArt()
     bpArt.SetGradientType(bp.BP_GRADIENT_VERTICAL)        
     bpArt.SetColor(bp.BP_GRADIENT_COLOUR_FROM, wx.Colour(119, 136, 153)) #light slate
     bpArt.SetColor(bp.BP_GRADIENT_COLOUR_TO, wx.Colour(245, 245, 245))   # white smoke
     bpArt.SetColor(bp.BP_BORDER_COLOUR, wx.Colour(119, 136, 153))
     bpArt.SetColor(bp.BP_BUTTONTEXT_COLOUR, wx.Colour(0,0,0))            # not used
     bpArt.SetColor(bp.BP_SEPARATOR_COLOUR,
                    bp.BrightenColour(wx.Colour(60, 11, 112), 0.85))
     bpArt.SetColor(bp.BP_SELECTION_BRUSH_COLOUR, wx.Colour(225, 225, 255))    # used?
     bpArt.SetColor(bp.BP_SELECTION_PEN_COLOUR,
                            wx.SystemSettings.GetColour(wx.SYS_COLOUR_ACTIVECAPTION))
Esempio n. 2
0
    def __init__(self, parent):
        bp.ButtonPanel.__init__(self,
                                parent,
                                wx.ID_ANY,
                                text="",
                                agwStyle=bp.BP_USE_GRADIENT,
                                alignment=bp.BP_ALIGN_LEFT)
        self.controls = []

        self.Freeze()
        # Bouton partie précédente
        self.btn_precedente = ButtonInfo(
            self,
            id=wx.ID_ANY,
            bmp=images.bitmap('precedent.png'),
            kind=wx.ITEM_NORMAL,
            shortHelp="Précédente",
            longHelp="Afficher les données de la partie précédente.")

        self.btn_precedente.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_precedente)
        self.controls.append(self.btn_precedente)

        # Partie affichée
        self.txt_partie = wx.StaticText(self,
                                        id=wx.ID_ANY,
                                        label="0",
                                        size=(50, -1),
                                        style=wx.ALIGN_CENTER)
        self.txt_partie.SetToolTipString("Partie affichée")
        font = wx.Font(35, wx.SWISS, wx.NORMAL, wx.BOLD, False, "Impact")

        self.txt_partie.SetFont(font)
        self.txt_partie.SetForegroundColour(wx.Colour(144, 65, 21))
        self.AddControl(self.txt_partie)

        # Bouton partie suivante
        self.btn_suivante = ButtonInfo(
            self,
            id=wx.ID_ANY,
            bmp=images.bitmap('suivant.png'),
            kind=wx.ITEM_NORMAL,
            shortHelp="Suivante",
            longHelp="Afficher les données de la partie suivante.")

        self.btn_suivante.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_suivante)
        self.controls.append(self.btn_suivante)

        # Ajouter un espace
        self.AddSpacer((100, 0), 0, wx.ALIGN_RIGHT)

        # Bouton inscription
        self.btn_equipe = ButtonInfo(
            self,
            id=ID_NOUVELLE_E,
            bmp=images.bitmap('equipe.png'),
            kind=wx.ITEM_NORMAL,
            shortHelp="Inscription",
            longHelp="Inscrire des équipes au tournoi.")

        self.btn_equipe.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_equipe)
        self.controls.append(self.btn_equipe)

        # Bouton ajouter partie
        self.btn_partie = ButtonInfo(self,
                                     id=ID_NOUVELLE_P,
                                     bmp=images.bitmap('partie.png'),
                                     kind=wx.ITEM_NORMAL,
                                     shortHelp="Nouvelle partie",
                                     longHelp="Démarrer une nouvelle partie.")

        self.btn_partie.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_partie)
        self.controls.append(self.btn_partie)

        # Bouton resultats
        self.btn_resultats = ButtonInfo(
            self,
            id=ID_RESULTATS,
            bmp=images.bitmap('resultats.png'),
            kind=wx.ITEM_NORMAL,
            shortHelp="Résultats",
            longHelp="Enregistrer le résultat d'une manche.")

        self.btn_resultats.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_resultats)
        self.controls.append(self.btn_resultats)

        # Ajouter un espace
        self.AddSpacer((50, 0), 1, wx.ALL)

        # Bouton afficher informations
        self.btn_info = ButtonInfo(
            self,
            id=ID_INFO,
            bmp=images.bitmap('info.png'),
            kind=wx.ITEM_CHECK,
            shortHelp="Informations",
            longHelp=
            "Afficher les informations relatives au tournoi en fonction de son statut."
        )

        self.btn_info.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(self.btn_info)
        self.controls.append(self.btn_info)

        # Chercher
        self.box_chercher = wx.SearchCtrl(self,
                                          wx.ID_FIND,
                                          size=(200, -1),
                                          style=wx.TE_PROCESS_ENTER)

        menu = wx.Menu()
        titres = [t[0] for t in grl.TITRES['partie'] if t[0] != u""] + [
            t[0] for t in grl.TITRES['statistiques'] if t[0] != u""
        ]
        for texte in titres:
            menu.Append(wx.ID_ANY, texte, "", wx.ITEM_RADIO)
        self.box_chercher.SetMenu(menu)
        self.box_chercher.ShowCancelButton(True)

        self.AddControl(self.box_chercher, 0, wx.ALIGN_CENTER_VERTICAL)
        self.controls.append(self.box_chercher)

        # Ajouter un separateur
        self.AddSeparator()

        # Bouton Enregistrer
        btn = ButtonInfo(self,
                         id=wx.ID_SAVE,
                         bmp=images.bitmap('enregistrer.png'),
                         kind=wx.ITEM_NORMAL,
                         shortHelp="Enregistrer",
                         longHelp="Enregistrer le tournoi en cours.")

        btn.SetTextAlignment(bp.BP_BUTTONTEXT_ALIGN_RIGHT)
        self.AddButton(btn)
        self.controls.append(btn)

        # Propiétés
        bpArt = self.GetBPArt()
        self.SetAlignment(bp.BP_ALIGN_RIGHT)

        bpArt.SetMetric(bp.BP_SEPARATOR_SIZE, 10)
        bpArt.SetMetric(bp.BP_MARGINS_SIZE, wx.Size(10, 3))
        bpArt.SetMetric(bp.BP_PADDING_SIZE, wx.Size(3, 0))
        bpArt.SetMetric(bp.BP_BORDER_SIZE, 2)

        bpArt.SetColour(bp.BP_TEXT_COLOUR, images.couleur('texte'))
        bpArt.SetColour(bp.BP_BORDER_COLOUR, images.couleur('bordure'))
        bpArt.SetColour(bp.BP_GRADIENT_COLOUR_FROM,
                        images.couleur('gradient1'))
        bpArt.SetColour(bp.BP_GRADIENT_COLOUR_TO, images.couleur('gradient2'))
        bpArt.SetColour(bp.BP_BUTTONTEXT_COLOUR,
                        images.couleur('texte_bouton'))
        bpArt.SetColour(bp.BP_SEPARATOR_COLOUR,
                        bp.BrightenColour(images.couleur('separateur'), 0.85))
        bpArt.SetColour(bp.BP_SELECTION_BRUSH_COLOUR,
                        images.couleur('selection'))
        bpArt.SetColour(
            bp.BP_SELECTION_PEN_COLOUR,
            wx.SystemSettings_GetColour(wx.SYS_COLOUR_ACTIVECAPTION))

        self.Thaw()
        self.DoLayout()

        self.box_chercher.Bind(wx.EVT_MENU, self._menu_recherche)
        self.Bind(wx.EVT_SEARCHCTRL_CANCEL_BTN, self._effacer_recherche)
        self.Bind(wx.EVT_SIZE, self._force_layout)