def __init__(self,
                 parent,
                 delai=60,
                 listeActivites=[],
                 fps=20,
                 ppf=2,
                 couleurFond=None):
        wx.Panel.__init__(self, parent, id=-1)
        self.parent = parent
        self.delai = delai
        self.listeActivites = listeActivites
        if couleurFond != None:
            self.SetBackgroundColour(couleurFond)

        self.timer = wx.Timer(self, -1)

        self.ticker = Ticker(self)
        self.ticker.SetBackgroundColour(self.GetBackgroundColour())
        self.ticker.SetFPS(fps)
        self.ticker.SetPPF(ppf)

        # Layout
        sizer_base = wx.BoxSizer(wx.VERTICAL)
        sizer_base.Add(self.ticker, 1, wx.EXPAND | wx.ALL, 5)
        self.SetSizer(sizer_base)
        sizer_base.Fit(self)

        # Binds
        self.Bind(wx.EVT_TIMER, self.OnTimer, self.timer)
示例#2
0
    def RunComplexDemo(self, tb):

        # This Is The New Call Style: The Call To GetToasterBoxWindow()
        # Is Mandatory, In Order To Create A Custom Parent On ToasterBox.

        tbpanel = tb.GetToasterBoxWindow()
        panel = wx.Panel(tbpanel, -1)

        sizer = wx.BoxSizer(wx.VERTICAL)
        horsizer1 = wx.BoxSizer(wx.HORIZONTAL)

        myimage = wx.Bitmap("andrea.jpeg", wx.BITMAP_TYPE_JPEG)
        stbmp = wx.StaticBitmap(panel, -1, myimage)
        horsizer1.Add(stbmp, 0)

        strs = "This Is Another Example Of ToasterBox, A Complex One. This Kind Of"
        strs = strs + " ToasterBox Can Be Created Using The Style TB_COMPLEX."
        sttext = wx.StaticText(panel, -1, strs)
        sttext.SetFont(
            wx.Font(7, wx.SWISS, wx.NORMAL, wx.NORMAL, False, "Verdana"))
        horsizer1.Add(sttext, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 5)

        hl = hyperlink.HyperLinkCtrl(
            panel,
            -1,
            "My Home Page",
            URL="http://xoomer.virgilio.it/infinity77/")

        sizer.Add((0, 5))
        sizer.Add(horsizer1, 0, wx.EXPAND)

        horsizer2 = wx.BoxSizer(wx.HORIZONTAL)
        horsizer2.Add((5, 0))
        horsizer2.Add(hl, 0, wx.EXPAND | wx.TOP, 10)
        sizer.Add(horsizer2, 0, wx.EXPAND)

        tk = Ticker(panel)
        tk.SetText("Hello From wxPython!")

        horsizer3 = wx.BoxSizer(wx.HORIZONTAL)
        horsizer3.Add((5, 0))
        horsizer3.Add(tk, 1, wx.EXPAND | wx.TOP, 10)
        horsizer3.Add((5, 0))
        sizer.Add(horsizer3, 0, wx.EXPAND)

        sizer.Layout()
        panel.SetSizer(sizer)

        tb.AddPanel(panel)
示例#3
0
    def RunComplexDemo(self, tb):

        # This Is The New Call Style: The Call To GetToasterBoxWindow()
        # Is Mandatory, In Order To Create A Custom Parent On ToasterBox.

        tbpanel = tb.GetToasterBoxWindow()
        panel = wx.Panel(tbpanel, -1)

        sizer = wx.BoxSizer(wx.VERTICAL)
        horsizer1 = wx.BoxSizer(wx.HORIZONTAL)

        myimage = wx.Bitmap(os.path.join(bitmapDir, "sttfont.png"),
                            wx.BITMAP_TYPE_PNG)
        stbmp = wx.StaticBitmap(panel, -1, myimage)
        horsizer1.Add(stbmp, 0)

        strs = "This Is Another Example Of ToasterBox, A Complex One. This Kind Of"
        strs = strs + " ToasterBox Can Be Created Using The Style TB_COMPLEX."
        sttext = wx.StaticText(panel, -1, strs)
        horsizer1.Add(sttext, 1, wx.EXPAND | wx.LEFT | wx.RIGHT, 5)

        hl = wx.adv.HyperlinkCtrl(panel,
                                  -1,
                                  label="My Home Page",
                                  url="http://xoomer.alice.it/infinity77/")

        sizer.Add((0, 5))
        sizer.Add(horsizer1, 0, wx.EXPAND)

        horsizer2 = wx.BoxSizer(wx.HORIZONTAL)
        horsizer2.Add((5, 0))
        horsizer2.Add(hl, 0, wx.EXPAND | wx.TOP, 10)
        sizer.Add(horsizer2, 0, wx.EXPAND)

        tk = Ticker(panel)
        tk.SetText("Hello From wxPython!")

        horsizer3 = wx.BoxSizer(wx.HORIZONTAL)
        horsizer3.Add((5, 0))
        horsizer3.Add(tk, 1, wx.EXPAND | wx.TOP, 10)
        horsizer3.Add((5, 0))
        sizer.Add(horsizer3, 0, wx.EXPAND)

        panel.SetSizer(sizer)
        panel.Layout()

        tb.AddPanel(panel)
示例#4
0
    def DoCreateResource(self):
        t = Ticker(self.GetParentAsWindow(),
                   self.GetID(),
                   pos=self.GetPosition(),
                   size=self.GetSize(),
                   style=self.GetStyle())
        if self.HasParam("text"):
            t.SetText(self.GetText("text"))
        if self.HasParam("start"):
            if self.GetBool("start"):
                t.Start()
            else:
                t.Stop()
        if self.HasParam("ppf"):
            t.SetPPF(self.GetLong("ppf"))
        if self.HasParam("fps"):
            t.SetFPS(self.GetLong("fps"))
        if self.HasParam("direction"):
            t.SetDirection(self.GetText("direction"))

        self.SetupWindow(t)  # handles font, bg/fg color
        return t
示例#5
0
 def __init__(self, parent, log):
     self.log = log
     wx.Panel.__init__(self, parent, -1)
     
     self.ticker = Ticker(self)
     
     #       Controls for ...controlling... the ticker.
     self.txt = wx.TextCtrl(self, value="I am a scrolling ticker!!!!", size=(200,-1))
     wx.CallAfter(self.txt.SetInsertionPoint, 0)
     txtl = wx.StaticText(self, label="Ticker text:")
     fgb = csel.ColourSelect(self, -1, colour=self.ticker.GetForegroundColour())
     fgl = wx.StaticText(self, label="Foreground Color:")
     bgb = csel.ColourSelect(self, -1, colour=self.ticker.GetBackgroundColour())
     bgl = wx.StaticText(self, label="Background Color:")
     fontb = wx.Button(self, label="Change")
     self.fontl = wx.StaticText(self)
     dirb = wx.Button(self, label="Switch")
     self.dirl = wx.StaticText(self)
     fpsl = wx.StaticText(self, label="Frames per Second:")
     fps = wx.Slider(self, value=self.ticker.GetFPS(), minValue=1, maxValue=100,
                     size=(150,-1),
                     style=wx.SL_HORIZONTAL|wx.SL_AUTOTICKS|wx.SL_LABELS)
     fps.SetTickFreq(5)
     ppfl = wx.StaticText(self, label="Pixels per frame:")
     ppf = wx.Slider(self, value=self.ticker.GetPPF(), minValue=1, maxValue=10,
                     size=(150,-1),
                     style=wx.SL_HORIZONTAL|wx.SL_AUTOTICKS|wx.SL_LABELS)
     
     #       Do layout
     sz = wx.FlexGridSizer(cols=2, hgap=4, vgap=4)
     
     sz.Add(txtl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(self.txt, flag=wx.ALIGN_CENTER_VERTICAL)
     
     sz.Add(fgl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(fgb, flag=wx.ALIGN_CENTER_VERTICAL)
     
     sz.Add(bgl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(bgb, flag=wx.ALIGN_CENTER_VERTICAL)
     
     sz.Add(self.fontl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(fontb, flag=wx.ALIGN_CENTER_VERTICAL)
     
     sz.Add(self.dirl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(dirb, flag=wx.ALIGN_CENTER_VERTICAL)
     
     sz.Add(fpsl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(fps, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT)
     
     sz.Add(ppfl, flag=wx.ALIGN_CENTER_VERTICAL)
     sz.Add(ppf, flag=wx.ALIGN_CENTER_VERTICAL|wx.ALIGN_LEFT)
     
     sz2 = wx.BoxSizer(wx.VERTICAL)
     sz2.Add(self.ticker, flag=wx.EXPAND|wx.ALL, border=5)
     sz2.Add(sz, flag=wx.EXPAND|wx.ALL, proportion=1, border=25)
     self.SetSizer(sz2)
     sz2.SetSizeHints(self)
     
     #       Bind events
     self.Bind(wx.EVT_BUTTON, self.OnChangeTickDirection, dirb)
     self.Bind(wx.EVT_BUTTON, self.OnChangeTickFont, fontb)
     self.Bind(wx.EVT_TEXT, self.OnText, self.txt)
     self.Bind(csel.EVT_COLOURSELECT, self.ChangeTickFGColor, fgb)
     self.Bind(csel.EVT_COLOURSELECT, self.ChangeTickBGColor, bgb)
     self.Bind(wx.EVT_SCROLL, self.ChangeFPS, fps)
     self.Bind(wx.EVT_SCROLL, self.ChangePPF, ppf)
     
     #       Set defaults
     self.SetTickDirection("rtl")
     self.SetTickFont(self.ticker.GetFont())
     self.ticker.SetText(self.txt.GetValue())
示例#6
0
    def __init__(self, *args, **kwargs):

        self.stream = kwargs.pop('stream', None)
        self.name_stream = kwargs.pop('name_stream', 'memory_stream')
        self.bass_handle = 0
        self.sound_font = 0

        result = pybass.BASS_Init(-1, 44100, 0, 0, 0)
        if not result:
            bass_error_code = pybass.BASS_ErrorGetCode()
            if bass_error_code != pybass.BASS_ERROR_ALREADY:
                self.slider.Enable(False)
                self.btn_play.Enable(False)
                self.btn_stop.Enable(False)
                print('BASS_Init error %s' %
                      pybass.get_error_description(bass_error_code))
        self.plugins = {}
        self.plugins['aac'] = (pybass.BASS_PluginLoad('bass_aac.dll',
                                                      0), '|AAC|*.aac')
        self.plugins['ac3'] = (pybass.BASS_PluginLoad('bass_ac3.dll',
                                                      0), '|AC3|*.ac3')
        self.plugins['aix'] = (pybass.BASS_PluginLoad('bass_aix.dll',
                                                      0), '|AIX|*.aix')
        self.plugins['ape'] = (pybass.BASS_PluginLoad('bass_ape.dll',
                                                      0), '|APE|*.ape')
        self.plugins['mpc'] = (pybass.BASS_PluginLoad('bass_mpc.dll',
                                                      0), '|MPC|*.mpc')
        self.plugins['ofr'] = (pybass.BASS_PluginLoad('bass_ofr.dll',
                                                      0), '|OFR|*.ofr')
        self.plugins['spx'] = (pybass.BASS_PluginLoad('bass_spx.dll',
                                                      0), '|SPX|*.spx')
        self.plugins['tta'] = (pybass.BASS_PluginLoad('bass_tta.dll',
                                                      0), '|TTA|*.tta')
        self.plugins['cda'] = (pybass.BASS_PluginLoad('basscd.dll',
                                                      0), '|CDA|*.cda')
        self.plugins['flac'] = (pybass.BASS_PluginLoad('bassflac.dll',
                                                       0), '|FLAC|*.flac')
        self.plugins['wma'] = (pybass.BASS_PluginLoad('basswma.dll', 0),
                               '|WMA, WMV|*.wma;*.wmv')
        if pybassmidi:
            sound_font_file_name = 'CT4MGM.SF2'
            self.sound_font = pybassmidi.BASS_MIDI_FontInit(
                sound_font_file_name, 0)
            if self.sound_font == 0:
                print(
                    'BASS_MIDI_FontInit error %s (sound font file must be %s)'
                    % (pybass.get_error_description(
                        pybass.BASS_ErrorGetCode()), sound_font_file_name))
            else:
                self.plugins['midi'] = (pybass.BASS_PluginLoad(
                    'bassmidi.dll', 0), '|MID|*.mid')
        else:
            print('pybassmidi module not accessible')

        wx.Panel.__init__(self, *args, **kwargs)

        sizer_h = wx.BoxSizer(wx.HORIZONTAL)

        self.btn_play = wx.Button(self,
                                  wx.ID_ANY,
                                  _('Play'),
                                  style=wx.NO_BORDER)
        self.btn_play.SetToolTip(_('Play media data'))
        self.Bind(wx.EVT_BUTTON, self.event_play, self.btn_play)
        sizer_h.Add(self.btn_play)

        self.btn_stop = wx.Button(self,
                                  wx.ID_ANY,
                                  _('Stop'),
                                  style=wx.NO_BORDER)
        self.Bind(wx.EVT_BUTTON, self.event_stop, self.btn_stop)
        sizer_h.Add(self.btn_stop)

        self.btn_open = wx.Button(self,
                                  wx.ID_OPEN,
                                  _('Open'),
                                  style=wx.NO_BORDER)
        self.Bind(wx.EVT_BUTTON, self.event_open, self.btn_open)
        sizer_h.Add(self.btn_open)

        sizer_v = wx.BoxSizer(wx.VERTICAL)

        self.status_line = Ticker(self,
                                  fgcolor='#000062',
                                  bgcolor='#7F7F8F',
                                  start=False,
                                  ppf=1,
                                  fps=50,
                                  direction='ltr')
        sizer_v.Add(self.status_line, 0, wx.EXPAND)

        self.slider = slider_ctrl(self, wx.ID_ANY, 0, 0, 1)
        sizer_v.Add(self.slider, 0, wx.EXPAND)

        sizer_v.Add(sizer_h)

        self.SetSizer(sizer_v)
        self.SetAutoLayout(True)

        self.volume_slider = wx.Slider(self, wx.ID_ANY,
                                       pybass.BASS_GetVolume() * 100, 0, 100)
        self.Bind(wx.EVT_SCROLL, self.event_volume_slider, self.volume_slider)
        sizer_h.Add(self.volume_slider, 0, wx.EXPAND)

        self.method_check_controls()
示例#7
0
    def test_lib_ticker(self):
        self.ticker = Ticker(self.frame)

        txt = 'a nice ticker text'
        self.ticker.SetText(txt)
        self.assertEqual(self.ticker.GetText(), txt)
示例#8
0
    def __init__(self, parent, titre=_(u"Fiche individuelle"), IDpersonne=0):
        wx.Dialog.__init__(self,
                           parent,
                           -1,
                           name="FicheIndividuelle",
                           style=wx.DEFAULT_DIALOG_STYLE | wx.RESIZE_BORDER
                           | wx.MAXIMIZE_BOX | wx.MINIMIZE_BOX)
        self.IDpersonne = IDpersonne
        self.contratEnCours = None
        self.AnnulationImpossible = False
        self.barre_problemes = None
        self.photo = None

        import locale
        self.locale = wx.Locale(wx.LANGUAGE_FRENCH)

        try:
            locale.setlocale(locale.LC_ALL, 'FR')
        except:
            pass

        self.panel_1 = wx.Panel(self, -1)
        self.label_hd_CatId = wx.StaticText(self.panel_1, -1, u"")
        self.static_line_1 = wx.StaticLine(self.panel_1, -1)
        self.label_hd_nomPrenom = wx.StaticText(self.panel_1, -1,
                                                _(u"NOM, Prénom"))
        self.label_hd_adresse = wx.StaticText(
            self.panel_1, -1,
            _(u"Résidant 42 rue des oiseaux 29870 LANNILIS"))
        self.label_hd_naiss = wx.StaticText(
            self.panel_1, -1, _(u"Date et lieu de naissance inconnus"))
        self.bitmap_photo = CTRL_Photo.CTRL_Photo(self.panel_1,
                                                  style=wx.SUNKEN_BORDER)
        self.bitmap_photo.SetPhoto(
            IDindividu=None,
            nomFichier=Chemins.GetStaticPath("Images/128x128/Personne.png"),
            taillePhoto=(128, 128),
            qualite=100)

        self.bitmap_button_aide = CTRL_Bouton_image.CTRL(
            self.panel_1,
            texte=_(u"Aide"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Aide.png"))
        self.bitmap_button_Ok = CTRL_Bouton_image.CTRL(
            self.panel_1,
            texte=_(u"Ok"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Valider.png"))
        self.bitmap_button_annuler = CTRL_Bouton_image.CTRL(
            self.panel_1,
            texte=_(u"Annuler"),
            cheminImage=Chemins.GetStaticPath("Images/32x32/Annuler.png"))

        # NoteBook
        self.notebook = Notebook(self.panel_1, IDpersonne=self.IDpersonne)
        if self.nouvelleFiche == True:
            self.notebook.AfficheAutresPages(False)

        # Recherche s'il y a un contrat en cours ou à venir pour savoir s'il faut afficher la barre des problèmes
        if self.IDpersonne in FonctionsPerso.Recherche_ContratsEnCoursOuAVenir(
        ):
            self.barre_problemes = True
        else:
            self.barre_problemes = False

        # Récupération de la liste des problèmes de la personne
        self.bitmap_problemes_G = wx.StaticBitmap(
            self.panel_1, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/Special/Problemes_G.png"),
                      wx.BITMAP_TYPE_PNG))
        self.bitmap_problemes_D = wx.StaticBitmap(
            self.panel_1, -1,
            wx.Bitmap(Chemins.GetStaticPath("Images/Special/Problemes_D.png"),
                      wx.BITMAP_TYPE_PNG))
        self.txtDefilant = Ticker(self.panel_1,
                                  size=(-1, 18),
                                  fgcolor=(255, 255, 255),
                                  bgcolor=(255, 60, 60))
        self.txtPbPersonne = self.Recup_txt_pb_personne()
        self.txtDefilant.SetText(self.txtPbPersonne)

        # Mise à jour des infos du bandeau supérieur de la fiche
        self.MaJ_header()

        self.Bind(wx.EVT_BUTTON, self.OnBoutonAide, self.bitmap_button_aide)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonOk, self.bitmap_button_Ok)
        self.Bind(wx.EVT_BUTTON, self.OnBoutonAnnuler,
                  self.bitmap_button_annuler)
        self.txtDefilant.Bind(wx.EVT_MOTION, self.OnMotionTxtDefilant)
        self.txtDefilant.Bind(wx.EVT_LEAVE_WINDOW, self.OnLeaveTxtDefilant)
        self.Bind(wx.EVT_CLOSE, self.OnClose)

        self.__set_properties()
        self.__do_layout()

        self.Affichage_barre_problemes()