Source

Fat x Fast / FatxFast / gui / linkwidget.py

Full commit
# This file is part of FatxFast.
#
#    FatxFast is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    FatxFast is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with FatxFast.  If not, see <http://www.gnu.org/licenses/>.

# Versioning based on: 
# http://en.wikipedia.org/wiki/Versioning#Designating_development_stage
__author__ = "dryatu (c) 2013"
__version__ = "1.2.5"


import pygame
from FatxFast.gui import buttonwidget
from FatxFast.resource import get_color

class LinkWidget(buttonwidget.ButtonWidget):
    
    def __init__(self, **kwargs):
        super(LinkWidget, self).__init__(**kwargs)
        self.mask_color = get_color("gold2")

    def key_pressed(self, key, utf, mod):
        if key == pygame.K_RETURN and not mod & pygame.KMOD_LALT:
            if self.get_focus():
                self.click(self.href, **self.properties)

    def set_focus(self, value):
        repaint = self.get_focus() != value
        super(LinkWidget, self).set_focus(value)
        if repaint:
            self.render()

class SceneLinkWidget(LinkWidget):
    pass

class BackLinkWidget(SceneLinkWidget):
    pass