E4Gui/E4Action.py

changeset 55
b5c84934de9c
parent 54
31463df17fd5
child 56
3bd61d38c924
--- a/E4Gui/E4Action.py	Tue Jan 12 18:39:15 2010 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-# -*- coding: utf-8 -*-
-
-# Copyright (c) 2006 - 2010 Detlev Offenbach <detlev@die-offenbachs.de>
-#
-
-"""
-Module implementing an Action class extending QAction.
-
-This extension is necessary in order to support alternate keyboard
-shortcuts.
-"""
-
-from PyQt4.QtGui import QAction, QActionGroup, QIcon, QKeySequence
-from PyQt4.QtCore import QObject
-
-class ArgumentsError(RuntimeError):
-    """
-    Class implementing an exception, which is raised, if the wrong number of arguments
-    are given.
-    """
-    def __init__(self, error):
-        """
-        Constructor
-        """
-        self.errorMessage = str(error)
-        
-    def __repr__(self):
-        """
-        Private method returning a representation of the exception.
-        
-        @return string representing the error message
-        """
-        return str(self.errorMessage)
-        
-    def __str__(self):
-        """
-        Private method returning a string representation of the exception.
-        
-        @return string representing the error message
-        """
-        return str(self.errorMessage)
-
-class E4Action(QAction):
-    """
-    Class implementing an Action class extending QAction.
-    """
-    def __init__(self, *args):
-        """
-        Constructor
-        
-        @param args argument list of the constructor. This list is one of
-            <ul>
-            <li>text (string), icon (QIcon), menu text (string), 
-                accelarator (QKeySequence), alternative accelerator (QKeySequence), 
-                parent (QObject), name (string), toggle (boolean)</li>
-            <li>text (string), icon (QIcon), menu text (string), 
-                accelarator (QKeySequence), alternative accelerator (QKeySequence), 
-                parent (QObject), name (string)</li>
-            <li>text (string), menu text (string), 
-                accelarator (QKeySequence), alternative accelerator (QKeySequence), 
-                parent (QObject), name (string), toggle (boolean)</li>
-            <li>text (string), menu text (string), 
-                accelarator (QKeySequence), alternative accelerator (QKeySequence), 
-                parent (QObject), name (string)</li>
-            </ul>
-        """
-        if isinstance(args[1], QIcon):
-            icon = args[1]
-            incr = 1
-        else:
-            icon = None
-            incr = 0
-        if len(args) < 6+incr:
-            raise ArgumentsError("Not enough arguments, %d expected, got %d" % \
-                                 (6+incr, len(args)))
-        elif len(args) > 7+incr:
-            raise ArgumentsError("Too many arguments, max. %d expected, got %d" % \
-                                 (7+incr, len(args)))
-            
-        parent = args[4+incr]
-        QAction.__init__(self, parent)
-        name = args[5+incr]
-        if name:
-            self.setObjectName(name)
-        
-        if args[1+incr]:
-            self.setText(args[1+incr])
-        
-        if args[0]:
-            self.setIconText(args[0])
-        if args[2+incr]:
-            self.setShortcut(QKeySequence(args[2+incr]))
-        
-        if args[3+incr]:
-            self.setAlternateShortcut(QKeySequence(args[3+incr]))
-        
-        if icon:
-            self.setIcon(icon)
-        
-        if len(args) == 7+incr:
-            self.setCheckable(args[6+incr])
-        
-    def setAlternateShortcut(self, shortcut):
-        """
-        Public slot to set the alternative keyboard shortcut.
-        
-        @param shortcut the alternative accelerator (QKeySequence)
-        """
-        if not shortcut.isEmpty():
-            shortcuts = self.shortcuts()
-            if len(shortcuts) > 0:
-                if len(shortcuts) == 1:
-                    shortcuts.append(shortcut)
-                else:
-                    shortcuts[1] = shortcut
-                self.setShortcuts(shortcuts)
-        
-    def alternateShortcut(self):
-        """
-        Public method to retrieve the alternative keyboard shortcut.
-        
-        @return the alternative accelerator (QKeySequence)
-        """
-        shortcuts = self.shortcuts()
-        if len(shortcuts) < 2:
-            return QKeySequence()
-        else:
-            return shortcuts[1]
-
-def addActions(target, actions):
-    """
-    Module function to add a list of actions to a widget.
-    
-    @param target reference to the target widget (QWidget)
-    @param actions list of actions to be added to the target. A
-        None indicates a separator (list of QActions)
-    """
-    if target is None:
-        return
-    
-    for action in actions:
-        if action is None:
-            target.addSeparator()
-        else:
-            target.addAction(action)
-
-def createActionGroup(parent, name = None, exclusive = False):
-    """
-    Module function to create an action group.
-    
-    @param parent parent object of the action group (QObject)
-    @param name name of the action group object (string)
-    @param exclusive flag indicating an exclusive action group (boolean)
-    @return reference to the created action group (QActionGroup)
-    """
-    actGrp = QActionGroup(parent)
-    if name:
-        actGrp.setObjectName(name)
-    actGrp.setExclusive(exclusive)
-    return actGrp

eric ide

mercurial