Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tools.py
diff options
context:
space:
mode:
authorAlex Levenson <alexlevenson@laptop.org>2008-07-16 18:59:44 (GMT)
committer Alex Levenson <alexlevenson@laptop.org>2008-07-16 18:59:44 (GMT)
commit6279e36ec3ffa5415287c79f3ba6a45aaf70f76c (patch)
tree0e6bba074c371472fd8bad03891b289810d41a49 /tools.py
parentf5a0989c9088be56c9384c2e896a0d2c184065ac (diff)
Fixed toolbar automation for good! Yayaya!
Diffstat (limited to 'tools.py')
-rw-r--r--tools.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/tools.py b/tools.py
index 6df93c7..38b3cd6 100644
--- a/tools.py
+++ b/tools.py
@@ -6,6 +6,7 @@
import pygame
from pygame.locals import *
from helpers import *
+from inspect import getmro
# tools that can be used superlcass
class Tool(object):
name = "Tool"
@@ -394,9 +395,13 @@ class JoystickTool(Tool):
self.vertices = None
-def list_local_classes():
+def getAllTools():
this_mod = __import__(__name__)
- return [val for val in this_mod.__dict__.values()
- if isinstance(val, type)]
+ all = [val for val in this_mod.__dict__.values() if isinstance(val, type)]
+ allTools = []
+ for a in all:
+ if getmro(a).__contains__(Tool) and a!= Tool: allTools.append(a)
+ return allTools
+
-local_classes = list_local_classes()
+allTools = getAllTools()