commit-gnue
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[gnue] r8479 - trunk/gnue-common/src/logic


From: reinhard
Subject: [gnue] r8479 - trunk/gnue-common/src/logic
Date: Mon, 22 May 2006 08:41:15 -0500 (CDT)

Author: reinhard
Date: 2006-05-22 08:41:14 -0500 (Mon, 22 May 2006)
New Revision: 8479

Modified:
   trunk/gnue-common/src/logic/GTrigger.py
   trunk/gnue-common/src/logic/usercode.py
Log:
Implementation of GCommander base class.


Modified: trunk/gnue-common/src/logic/GTrigger.py
===================================================================
--- trunk/gnue-common/src/logic/GTrigger.py     2006-05-22 12:08:39 UTC (rev 
8478)
+++ trunk/gnue-common/src/logic/GTrigger.py     2006-05-22 13:41:14 UTC (rev 
8479)
@@ -107,7 +107,7 @@
             self._root._triggerDictionary[self.name] = self
 
         if self.src is None:
-            self._compile(['self'])
+            self.compile(['self'])
 
 
     # -------------------------------------------------------------------------
@@ -122,7 +122,7 @@
         if __self.src is not None:
             __self._root._triggerDictionary[__self.src](*args, **params)
         else:
-            __self._run(*args, **params)
+            __self.run(*args, **params)
 
 
     # -------------------------------------------------------------------------

Modified: trunk/gnue-common/src/logic/usercode.py
===================================================================
--- trunk/gnue-common/src/logic/usercode.py     2006-05-22 12:08:39 UTC (rev 
8478)
+++ trunk/gnue-common/src/logic/usercode.py     2006-05-22 13:41:14 UTC (rev 
8479)
@@ -85,7 +85,7 @@
     # Compile program code
     # -------------------------------------------------------------------------
 
-    def _compile(self, parameters):
+    def compile(self, parameters):
         """
         Compile the code.
         """
@@ -107,7 +107,7 @@
     # Run program code
     # -------------------------------------------------------------------------
 
-    def _run(__self, *args, **params):
+    def run(__self, *args, **params):
         """
         Run the code.
         """
@@ -180,7 +180,8 @@
 
     def __initialize(self):
 
-        self._compile([])
+        self._root._actions[self.name] = self
+        self.compile([])
 
 
     # -------------------------------------------------------------------------
@@ -188,7 +189,7 @@
     # -------------------------------------------------------------------------
 
     def __trigger_run(__self, *args, **params):
-        __self._run(*args, **params)
+        __self.run(*args, **params)
 
     # -------------------------------------------------------------------------
 
@@ -232,14 +233,35 @@
         """
         GObjects.GObj.__init__(self, parent, object_type)
 
+        #: L{GAction} object linked to this commander.
+        self.__action = None
+
         # Trigger support
         _triggerProperties = {
                 'enabled': {
                     'get': self.__trigger_get_enabled,
                     'set': self.__trigger_set_enabled}}
 
+        self._inits = [self.__initialize]
 
+
     # -------------------------------------------------------------------------
+    # Phase 1 initialization
+    # -------------------------------------------------------------------------
+
+    def __initialize(self):
+
+        # Link to action object
+        if self.action is not None:
+            # Find the next GRootObj
+            parent = self.getParent()
+            while not isinstance(parent, GRootObj.GRootObj) \
+                    and parent.getParent() is not None:
+                parent = parent.getParent()
+            self.__action = parent._actions[self.action]
+
+
+    # -------------------------------------------------------------------------
     # Trigger functions
     # -------------------------------------------------------------------------
 
@@ -252,6 +274,15 @@
         self.enabled = value
 
 
+    # -------------------------------------------------------------------------
+    # Fire the commander
+    # -------------------------------------------------------------------------
+
+    def fire(self):
+        if self.__action is not None:
+            self.__action.run()
+
+
 # =============================================================================
 # <menu>
 # =============================================================================





reply via email to

[Prev in Thread] Current Thread [Next in Thread]