def load_track_content(self): self.menu_text_obj = None self.hint_text_obj = None reason, message = self.display_menu() if reason == 'error': return reason, message # display menu text if enabled if self.track_params['track-text'] != '': x, y, anchor, justify = calculate_text_position( self.track_params['track-text-x'], self.track_params['track-text-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.track_params['track-text-justify']) self.menu_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=self.track_params['track-text'], fill=self.track_params['track-text-colour'], font=self.track_params['track-text-font']) # display instructions (hint) hint_text = self.track_params['hint-text'] if hint_text != '': x, y, anchor, justify = calculate_text_position( self.track_params['hint-x'], self.track_params['hint-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.track_params['hint-justify']) self.hint_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=hint_text, fill=self.track_params['hint-colour'], font=self.track_params['hint-font']) self.canvas.itemconfig(self.menu_text_obj, state='hidden') self.canvas.itemconfig(self.hint_text_obj, state='hidden') return 'normal', 'menu content loaded'
def do_dwell(self): if self.quit_signal is True: self.mon.log(self,"quit received") if self.finished_callback is not None: self.finished_callback('pause_at_end','user quit or duration exceeded') # use finish so that the show will call close else: if self.paused is False: self.dwell_counter=self.dwell_counter+1 # one time flipping of pause text pause_text= self.track_params['pause-text'] if self.paused is True and self.pause_text_obj is None: x,y,anchor,justify=calculate_text_position(self.track_params['pause-text-x'],self.track_params['pause-text-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.track_params['pause-text-justify']) self.pause_text_obj=self.canvas.create_text(x,y, anchor=anchor,justify=justify, text=pause_text, fill=self.track_params['pause-text-colour'], font=self.track_params['pause-text-font']) self.canvas.update_idletasks( ) if self.paused is False and self.pause_text_obj is not None: self.canvas.delete(self.pause_text_obj) self.pause_text_obj=None self.canvas.update_idletasks( ) if self.dwell != 0 and self.dwell_counter == self.dwell: if self.finished_callback is not None: self.finished_callback('pause_at_end','user quit or duration exceeded') # use finish so that the show will call close else: self.tick_timer=self.canvas.after(self.tick, self.do_dwell)
def load_track_content(self): self.menu_text_obj=None self.hint_text_obj=None reason,message=self.display_menu() if reason=='error': return reason,message # display menu text if enabled if self.track_params['track-text'] != '': x,y,anchor,justify=calculate_text_position(self.track_params['track-text-x'],self.track_params['track-text-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.track_params['track-text-justify']) self.menu_text_obj=self.canvas.create_text(x,y, anchor=anchor, justify=justify, text=self.track_params['track-text'], fill=self.track_params['track-text-colour'], font=self.track_params['track-text-font']) # display instructions (hint) hint_text=self.track_params['hint-text'] if hint_text != '': x,y,anchor,justify=calculate_text_position(self.track_params['hint-x'],self.track_params['hint-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.track_params['hint-justify']) self.hint_text_obj=self.canvas.create_text(x,y, anchor=anchor, justify=justify, text=hint_text, fill=self.track_params['hint-colour'], font=self.track_params['hint-font']) self.canvas.itemconfig(self.menu_text_obj,state='hidden') self.canvas.itemconfig(self.hint_text_obj,state='hidden') return 'normal','menu content loaded'
def display_admin_message(self,text): x,y,anchor,justify=calculate_text_position(self.show_params['admin-x'],self.show_params['admin-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.show_params['admin-justify']) self.admin_message=self.canvas.create_text(x,y, justify=justify, text= text, fill=self.show_params['admin-colour'], font=self.show_params['admin-font'], anchor=anchor) self.canvas.update_idletasks( )
def display_eggtimer(self): text=self.show_params['eggtimer-text'] if text != '': x,y,anchor,justify=calculate_text_position(self.show_params['eggtimer-x'],self.show_params['eggtimer-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.show_params['eggtimer-justify']) self.egg_timer=self.canvas.create_text(x,y, text= text, justify=justify, fill=self.show_params['eggtimer-colour'], font=self.show_params['eggtimer-font'], anchor=anchor) self.canvas.update_idletasks( )
def load_track_content(self): # load message text # print 'show canvas',self.show_canvas_x1,self.show_canvas_y1,self.show_canvas_x2,self.show_canvas_y2 # print 'canvas width/height/centre',self.show_canvas_width,self.show_canvas_height,self.show_canvas_centre_x,self.show_canvas_centre_y # print x,y,anchor,justify=calculate_text_position(self.track_params['message-x'],self.track_params['message-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.track_params['message-justify']) self.track_obj=self.canvas.create_text(x,y, text=self.track.rstrip('\n'), fill=self.track_params['message-colour'], font=self.track_params['message-font'], justify=justify, anchor = anchor) self.canvas.itemconfig(self.track_obj,state='hidden') return 'normal','message loaded'
def load_track_content(self): # load message text # print 'show canvas',self.show_canvas_x1,self.show_canvas_y1,self.show_canvas_x2,self.show_canvas_y2 # print 'canvas width/height/centre',self.show_canvas_width,self.show_canvas_height,self.show_canvas_centre_x,self.show_canvas_centre_y # print x, y, anchor, justify = calculate_text_position( self.track_params['message-x'], self.track_params['message-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.track_params['message-justify']) self.track_obj = self.canvas.create_text( x, y, text=self.track.rstrip('\n'), fill=self.track_params['message-colour'], font=self.track_params['message-font'], justify=justify, anchor=anchor) self.canvas.itemconfig(self.track_obj, state='hidden') return 'normal', 'message loaded'
def load_track_content(self): # load message text # print 'show canvas',self.show_canvas_x1,self.show_canvas_y1,self.show_canvas_x2,self.show_canvas_y2 # print 'canvas width/height/centre',self.show_canvas_width,self.show_canvas_height,self.show_canvas_centre_x,self.show_canvas_centre_y # print self.message_html_background_colour = self.track_params[ 'message-html-background-colour'] if self.track_params['message-html-width'] == '': self.message_html_width = self.show_canvas_x2 - self.show_canvas_x1 else: self.message_html_width = self.track_params['message-html-width'] if self.track_params['message-html-height'] == '': self.message_html_height = self.show_canvas_y2 - self.show_canvas_y1 else: self.message_html_height = self.track_params['message-html-height'] self.message_text_type = self.track_params['message-text-type'] if self.track_params['message-text-location'] != '': text_path = self.complete_path( self.track_params['message-text-location']) if not os.path.exists(text_path): return 'error', "Message Text file not found " + text_path with open(text_path) as f: message_text = f.read() else: message_text = self.track x, y, anchor, justify = calculate_text_position( self.track_params['message-x'], self.track_params['message-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.track_params['message-justify']) if self.message_text_type == 'html': self.html_message_text_obj = HTMLText( self.canvas, background=self.message_html_background_colour, relief=FLAT) # self.html_text.pack(fill="both", expand=True) self.html_message_text_obj.set_html(message_text, self.pp_home, self.pp_profile) # self.html_text.fit_height() self.track_obj = self.canvas.create_window( x, y, window=self.html_message_text_obj, anchor=anchor, width=self.message_html_width, height=self.message_html_height) else: self.track_obj = self.canvas.create_text( x, y, text=message_text.rstrip('\n'), fill=self.track_params['message-colour'], font=self.track_params['message-font'], justify=justify, anchor=anchor) self.canvas.itemconfig(self.track_obj, state='hidden') return 'normal', 'message loaded'
def load_x_content(self, enable_menu): self.mon.trace(self, '') self.background_obj = None self.background = None self.track_text_obj = None self.show_text_obj = None self.hint_obj = None self.track_obj = None # background image if self.background_file != '': background_img_file = self.complete_path(self.background_file) if not os.path.exists(background_img_file): return 'error', "Track background file not found " + background_img_file else: pil_background_img = Image.open(background_img_file) # print 'pil_background_img ',pil_background_img image_width, image_height = pil_background_img.size window_width = self.show_canvas_width window_height = self.show_canvas_height if image_width != window_width or image_height != window_height: pil_background_img = pil_background_img.resize( (window_width, window_height)) self.background = ImageTk.PhotoImage(pil_background_img) del pil_background_img self.background_obj = self.canvas.create_image( self.show_canvas_x1, self.show_canvas_y1, image=self.background, anchor=NW) # print '\nloaded background_obj: ',self.background_obj # load the track content. Dummy function below is overridden in players status, message = self.load_track_content() if status == 'error': return 'error', message # load show text if enabled if self.show_params['show-text'] != '' and self.track_params[ 'display-show-text'] == 'yes': x, y, anchor, justify = calculate_text_position( self.show_params['show-text-x'], self.show_params['show-text-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.show_params['show-text-justify']) self.show_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=self.show_params['show-text'], fill=self.show_params['show-text-colour'], font=self.show_params['show-text-font']) # load track text if enabled if self.track_params['track-text'] != '': x, y, anchor, justify = calculate_text_position( self.track_params['track-text-x'], self.track_params['track-text-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.track_params['track-text-justify']) self.track_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=self.track_params['track-text'], fill=self.track_params['track-text-colour'], font=self.track_params['track-text-font']) # load instructions if enabled if enable_menu is True: x, y, anchor, justify = calculate_text_position( self.show_params['hint-x'], self.show_params['hint-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.show_params['hint-justify']) self.hint_obj = self.canvas.create_text( x, y, justify=justify, text=self.show_params['hint-text'], fill=self.show_params['hint-colour'], font=self.show_params['hint-font'], anchor=anchor) self.display_show_canvas_rectangle() self.pim.draw_plugin() self.canvas.tag_raise('pp-click-area') self.canvas.itemconfig(self.background_obj, state='hidden') self.canvas.itemconfig(self.show_text_obj, state='hidden') self.canvas.itemconfig(self.track_text_obj, state='hidden') self.canvas.itemconfig(self.hint_obj, state='hidden') self.canvas.update_idletasks() return 'normal', 'x-content loaded'
def load_x_content(self,enable_menu): self.mon.trace(self,'') self.background_obj=None self.background=None self.track_text_obj=None self.show_text_obj=None self.hint_obj=None self.track_obj=None # background image if self.background_file != '': background_img_file = self.complete_path(self.background_file) if not os.path.exists(background_img_file): return 'error',"Track background file not found "+ background_img_file else: try: pil_background_img=Image.open(background_img_file) except: pil_background_img=None self.background=None self.background_obj=None return 'error','Track background, not a recognised image format '+ background_img_file # print 'pil_background_img ',pil_background_img image_width,image_height=pil_background_img.size window_width=self.show_canvas_width window_height=self.show_canvas_height if image_width != window_width or image_height != window_height: pil_background_img=pil_background_img.resize((window_width, window_height)) self.background = ImageTk.PhotoImage(pil_background_img) del pil_background_img self.background_obj = self.canvas.create_image(self.show_canvas_x1, self.show_canvas_y1, image=self.background, anchor=NW) # print '\nloaded background_obj: ',self.background_obj # load the track content. Dummy function below is overridden in players status,message=self.load_track_content() if status == 'error': return 'error',message # load show text if enabled if self.show_params['show-text'] != '' and self.track_params['display-show-text'] == 'yes': x,y,anchor,justify=calculate_text_position(self.show_params['show-text-x'],self.show_params['show-text-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.show_params['show-text-justify']) self.show_text_obj=self.canvas.create_text(x,y, anchor=anchor, justify=justify, text=self.show_params['show-text'], fill=self.show_params['show-text-colour'], font=self.show_params['show-text-font']) # load track text if enabled if self.track_params['track-text-x'] =='': track_text_x= self.show_params['track-text-x'] else: track_text_x= self.track_params['track-text-x'] if self.track_params['track-text-y'] =='': track_text_y= self.show_params['track-text-y'] else: track_text_y= self.track_params['track-text-y'] if self.track_params['track-text-justify'] =='': track_text_justify= self.show_params['track-text-justify'] else: track_text_justify= self.track_params['track-text-justify'] if self.track_params['track-text-font'] =='': track_text_font= self.show_params['track-text-font'] else: track_text_font= self.track_params['track-text-font'] if self.track_params['track-text-colour'] =='': track_text_colour= self.show_params['track-text-colour'] else: track_text_colour= self.track_params['track-text-colour'] if self.track_params['track-text'] != '': x,y,anchor,justify=calculate_text_position(track_text_x,track_text_y, self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,track_text_justify) self.track_text_obj=self.canvas.create_text(x,y, anchor=anchor, justify=justify, text=self.track_params['track-text'], fill=track_text_colour, font=track_text_font) # load instructions if enabled if enable_menu is True: x,y,anchor,justify=calculate_text_position(self.show_params['hint-x'],self.show_params['hint-y'], self.show_canvas_x1,self.show_canvas_y1, self.show_canvas_centre_x,self.show_canvas_centre_y, self.show_canvas_x2,self.show_canvas_y2,self.show_params['hint-justify']) self.hint_obj=self.canvas.create_text(x,y, justify=justify, text=self.show_params['hint-text'], fill=self.show_params['hint-colour'], font=self.show_params['hint-font'], anchor=anchor) self.display_show_canvas_rectangle() self.canvas.tag_raise('pp-click-area') self.canvas.itemconfig(self.background_obj,state='hidden') self.canvas.itemconfig(self.show_text_obj,state='hidden') self.canvas.itemconfig(self.track_text_obj,state='hidden') self.canvas.itemconfig(self.hint_obj,state='hidden') self.canvas.update_idletasks( ) return 'normal','x-content loaded'
def load_x_content(self, enable_menu): self.mon.trace(self, '') self.background_obj = None self.background = None self.track_text_obj = None self.show_text_obj = None self.hint_obj = None self.track_obj = None text_type = 'html' # background image if self.background_file != '': background_img_file = self.complete_path(self.background_file) if not os.path.exists(background_img_file): return 'error', "Track background file not found " + background_img_file else: try: pil_background_img = Image.open(background_img_file) except: pil_background_img = None self.background = None self.background_obj = None return 'error', 'Track background, not a recognised image format ' + background_img_file # print 'pil_background_img ',pil_background_img image_width, image_height = pil_background_img.size window_width = self.show_canvas_width window_height = self.show_canvas_height if image_width != window_width or image_height != window_height: pil_background_img = pil_background_img.resize( (window_width, window_height)) self.background = ImageTk.PhotoImage(pil_background_img) del pil_background_img self.background_obj = self.canvas.create_image( self.show_canvas_x1, self.show_canvas_y1, image=self.background, anchor=NW) # print '\nloaded background_obj: ',self.background_obj # load the track content. Dummy function below is overridden in players status, message = self.load_track_content() if status == 'error': return 'error', message self.show_html_background_colour = self.show_params[ 'show-html-background-colour'] if self.show_params['show-html-width'] == '': self.show_html_width = self.show_canvas_x2 - self.show_canvas_x1 else: self.show_html_width = self.show_params['show-html-width'] if self.show_params['show-html-height'] == '': self.show_html_height = self.show_canvas_y2 - self.show_canvas_y1 else: self.show_html_height = self.show_params['show-html-height'] self.show_text_type = self.show_params['show-text-type'] if self.show_params['show-text-location'] != '': text_path = self.complete_path( self.show_params['show-text-location']) if not os.path.exists(text_path): return 'error', "Show Text file not found " + text_path with open(text_path) as f: show_text = f.read() else: show_text = self.show_params['show-text'] # load show text if enabled if show_text != '' and self.track_params['display-show-text'] == 'yes': x, y, anchor, justify = calculate_text_position( self.show_params['show-text-x'], self.show_params['show-text-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.show_params['show-text-justify']) if self.show_text_type == 'html': self.html_show_text_obj = HTMLText( self.canvas, background=self.show_html_background_colour, relief=FLAT) self.html_show_text_obj.set_html(show_text, self.pp_home, self.pp_profile) self.show_text_obj = self.canvas.create_window( x, y, window=self.html_show_text_obj, anchor=anchor, width=self.show_html_width, height=self.show_html_height) else: self.show_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=show_text, fill=self.show_params['show-text-colour'], font=self.show_params['show-text-font']) # load track text if enabled if self.track_params['track-text-x'] == '': track_text_x = self.show_params['track-text-x'] else: track_text_x = self.track_params['track-text-x'] if self.track_params['track-text-y'] == '': track_text_y = self.show_params['track-text-y'] else: track_text_y = self.track_params['track-text-y'] if self.track_params['track-text-justify'] == '': track_text_justify = self.show_params['track-text-justify'] else: track_text_justify = self.track_params['track-text-justify'] if self.track_params['track-text-font'] == '': track_text_font = self.show_params['track-text-font'] else: track_text_font = self.track_params['track-text-font'] if self.track_params['track-text-colour'] == '': track_text_colour = self.show_params['track-text-colour'] else: track_text_colour = self.track_params['track-text-colour'] self.track_html_background_colour = self.track_params[ 'track-html-background-colour'] if self.track_params['track-html-width'] == '': self.track_html_width = self.show_canvas_x2 - self.show_canvas_x1 else: self.track_html_width = self.track_params['track-html-width'] if self.track_params['track-html-height'] == '': self.track_html_height = self.show_canvas_y2 - self.show_canvas_y1 else: self.track_html_height = self.track_params['track-html-height'] self.track_text_type = self.track_params['track-text-type'] if self.track_params['track-text-location'] != '': text_path = self.complete_path( self.track_params['track-text-location']) if not os.path.exists(text_path): return 'error', "Track Text file not found " + text_path with open(text_path) as f: track_text = f.read() else: track_text = self.track_params['track-text'] if track_text != '': x, y, anchor, justify = calculate_text_position( track_text_x, track_text_y, self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, track_text_justify) if self.track_text_type == 'html': self.html_track_text_obj = HTMLText( self.canvas, background=self.track_html_background_colour, relief=FLAT) # self.html_text.pack(fill="both", expand=True) self.html_track_text_obj.set_html(track_text, self.pp_home, self.pp_profile) # self.html_text.fit_height() self.track_text_obj = self.canvas.create_window( x, y, window=self.html_track_text_obj, anchor=anchor, width=self.track_html_width, height=self.track_html_height) else: self.track_text_obj = self.canvas.create_text( x, y, anchor=anchor, justify=justify, text=track_text, fill=track_text_colour, font=track_text_font) # load instructions if enabled if enable_menu is True: x, y, anchor, justify = calculate_text_position( self.show_params['hint-x'], self.show_params['hint-y'], self.show_canvas_x1, self.show_canvas_y1, self.show_canvas_centre_x, self.show_canvas_centre_y, self.show_canvas_x2, self.show_canvas_y2, self.show_params['hint-justify']) self.hint_obj = self.canvas.create_text( x, y, justify=justify, text=self.show_params['hint-text'], fill=self.show_params['hint-colour'], font=self.show_params['hint-font'], anchor=anchor) self.display_show_canvas_rectangle() self.canvas.tag_raise('pp-click-area') self.canvas.itemconfig(self.background_obj, state='hidden') self.canvas.itemconfig(self.show_text_obj, state='hidden') self.canvas.itemconfig(self.track_text_obj, state='hidden') self.canvas.itemconfig(self.hint_obj, state='hidden') self.canvas.update_idletasks() return 'normal', 'x-content loaded'