[gnue] r10301 - in trunk/gnue-forms: . src/GFObjects
[email protected] Wed, 2 Mar 2011 13:08:41 -0600 (CST)
| Newsgroups | gmane.comp.cms.gnue.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: reinhard Date: 2011-03-02 13:08:41 -0600 (Wed, 02 Mar 2011) New Revision: 10301 Modified: trunk/gnue-forms/ trunk/gnue-forms/src/GFObjects/GFButton.py Log: Disable buttons if attached action is disabled. Property changes on: trunk/gnue-forms ___________________________________________________________________ Name: bzr:revision-info - timestamp: 2011-03-01 14:25:56.476999998 +0100 committer: Reinhard M=C3=BCller <[email protected]> properties:=20 branch-nick: forms + timestamp: 2011-03-02 16:18:27.755000114 +0100 committer: Reinhard M=C3=BCller <[email protected]> properties:=20 branch-nick: forms Name: bzr:file-ids - src/uidrivers/wx/widgets/button.py 10053@3a364389-8fce-0310-8f11-cc3= 63fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fbutton.py + src/GFObjects/GFButton.py 1459@3a364389-8fce-0310-8f11-cc363fde16c7:= trunk%2Fgnue-forms:src%2FGFObjects%2FGFButton.py Name: bzr:revision-id:v4 - 3116 [email protected] 3117 [email protected] 3118 [email protected] 3119 [email protected] 3120 [email protected] 3121 [email protected] 3122 [email protected] 3123 [email protected] 3124 [email protected] 3125 [email protected] 3126 [email protected] 3127 [email protected] 3128 [email protected] 3129 [email protected] 3130 [email protected] 3131 [email protected] 3132 [email protected] 3133 [email protected] 3134 [email protected] 3135 [email protected] 3136 [email protected] 3137 [email protected] 3138 [email protected] 3139 [email protected] 3140 [email protected] 3141 [email protected] 3142 [email protected] 3143 [email protected] 3144 [email protected] 3145 [email protected] 3146 [email protected] 3147 [email protected] 3148 [email protected] 3149 [email protected] 3150 [email protected] 3151 [email protected] 3152 [email protected] 3153 [email protected] 3154 [email protected] 3155 [email protected] 3156 [email protected] 3157 [email protected] 3158 [email protected] 3159 [email protected] 3160 [email protected] 3161 [email protected] 3162 [email protected] 3163 [email protected] 3164 [email protected] 3165 [email protected] 3166 [email protected] 3167 [email protected] 3168 [email protected] 3169 [email protected] 3170 [email protected] 3171 [email protected] 3172 [email protected] 3173 [email protected] 3174 [email protected] 3175 [email protected] 3176 [email protected] 3177 [email protected] 3178 [email protected] 3179 [email protected] 3180 [email protected] 3181 [email protected] 3182 [email protected] 3183 [email protected] 3184 [email protected] 3185 [email protected] 3186 [email protected] 3187 [email protected] 3188 [email protected] 3189 [email protected] 3190 [email protected] 3191 [email protected] 3192 [email protected] + 3116 [email protected] 3117 [email protected] 3118 [email protected] 3119 [email protected] 3120 [email protected] 3121 [email protected] 3122 [email protected] 3123 [email protected] 3124 [email protected] 3125 [email protected] 3126 [email protected] 3127 [email protected] 3128 [email protected] 3129 [email protected] 3130 [email protected] 3131 [email protected] 3132 [email protected] 3133 [email protected] 3134 [email protected] 3135 [email protected] 3136 [email protected] 3137 [email protected] 3138 [email protected] 3139 [email protected] 3140 [email protected] 3141 [email protected] 3142 [email protected] 3143 [email protected] 3144 [email protected] 3145 [email protected] 3146 [email protected] 3147 [email protected] 3148 [email protected] 3149 [email protected] 3150 [email protected] 3151 [email protected] 3152 [email protected] 3153 [email protected] 3154 [email protected] 3155 [email protected] 3156 [email protected] 3157 [email protected] 3158 [email protected] 3159 [email protected] 3160 [email protected] 3161 [email protected] 3162 [email protected] 3163 [email protected] 3164 [email protected] 3165 [email protected] 3166 [email protected] 3167 [email protected] 3168 [email protected] 3169 [email protected] 3170 [email protected] 3171 [email protected] 3172 [email protected] 3173 [email protected] 3174 [email protected] 3175 [email protected] 3176 [email protected] 3177 [email protected] 3178 [email protected] 3179 [email protected] 3180 [email protected] 3181 [email protected] 3182 [email protected] 3183 [email protected] 3184 [email protected] 3185 [email protected] 3186 [email protected] 3187 [email protected] 3188 [email protected] 3189 [email protected] 3190 [email protected] 3191 [email protected] 3192 [email protected] 3193 [email protected] Name: bzr:text-parents - src/uidrivers/wx/widgets/button.py [email protected]= 0226133306-uucifsriyy84iuu7 + src/GFObjects/GFButton.py svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jtcw..:3a= 364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10108 Modified: trunk/gnue-forms/src/GFObjects/GFButton.py =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/gnue-forms/src/GFObjects/GFButton.py 2011-03-01 16:45:39 UTC (r= ev 10300) +++ trunk/gnue-forms/src/GFObjects/GFButton.py 2011-03-02 19:08:41 UTC (r= ev 10301) @@ -45,6 +45,11 @@ self.label =3D "" self.action =3D None =20 + #: L{common.logic.usercode.GAction} object linked to this comman= der. + self.__action =3D None + + self._inits.append(self._phase_2_init_) + self._validTriggers =3D { 'ON-ACTION' : 'On-Action', 'PRE-FOCUSOUT' : 'Pre-FocusOut', @@ -80,6 +85,24 @@ =20 =20 # ------------------------------------------------------------------= ------- + # Phase 2 initialization + # ------------------------------------------------------------------= ------- + + def _phase_2_init_(self): + + # This must run after phase 1 init because the actions register = at the + # form in phase 1 init, and that must be done when this runs. + + # Link to action object + if self.action is not None: + self.__action =3D self._form._actions[self.action] + + # Register ourselves to the action so we get notified of act= ion + # enables/disables + self.__action.register_commander(self) + + + # ------------------------------------------------------------------= ------- # Determine whether this widget is enabled or disabled # ------------------------------------------------------------------= ------- =20 @@ -91,8 +114,12 @@ =20 if not GFTabStop._is_enabled_(self, index): return False + elif self._form.in_filter_mode(): + return False + elif self.__action is not None: + return self.__action.enabled else: - return not self._form.in_filter_mode() + return True =20 =20 # ------------------------------------------------------------------= ------- @@ -113,7 +140,7 @@ self.processTrigger('On-Action', False) =20 # Fire the action - if self.action is not None: - self._form._actions[self.action].run() + if self.__action is not None: + self.__action.run() finally: self._form.event_end()