#!/usr/bin/python # -*- coding: utf-8 -*- # """ Nome: ItemMenu.py Autor: Alessandro dos Santos Ferreira ( santosferreira.alessandro@gmail.com ) Descricão: TODO """ from abc import ABCMeta, abstractmethod class ItemMenu(object): __metaclass__ = ABCMeta @abstractmethod def render(self, menu): pass @abstractmethod def get_shortcut(self): pass class Command(ItemMenu): label = None action = None shortcut = None def __init__(self, label, action, shortcut = None): self.label = label self.action = action if shortcut is not None: self.shortcut = str(shortcut).upper() def render(self, menu): accelerator = None if self.shortcut is None else "Ctrl+" + str(self.shortcut) underline = None if self.shortcut is None else self.label.upper().find( self.shortcut ) menu.add_command(label=self.label, command=self.action, accelerator=accelerator, underline=underline) return menu def get_shortcut(self): return self.shortcut, self.action class Separator(ItemMenu): def __init__(self): pass def render(self, menu): menu.add_separator() return menu def get_shortcut(self): return None, None