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)
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)
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)
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
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())
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()
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)
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()