Example #1
0
    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'
Example #4
0
    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( )
Example #5
0
    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'
Example #8
0
    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'
Example #9
0
    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'
Example #10
0
    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'
Example #11
0
    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'