Author: reinhard
Date: 2010-11-12 09:49:37 -0600 (Fri, 12 Nov 2010)
New Revision: 10234

Modified:
   trunk/gnue-forms/
   trunk/gnue-forms/src/GFObjects/GFEntry.py
   trunk/gnue-forms/src/GFObjects/GFImage.py
   trunk/gnue-forms/src/GFObjects/GFTabStop.py
   trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
   trunk/gnue-forms/src/uidrivers/wx/widgets/image.py
Log:
Introduced new trigger to be fired when the user clicks on a non-editable entry
in a grid or on an image.



Property changes on: trunk/gnue-forms
___________________________________________________________________
Name: bzr:revision-info
   - timestamp: 2010-11-02 16:55:20.941999912 +0100
committer: Reinhard Müller <reinhard.muel...@bytewise.at>
properties: 
        branch-nick: forms

   + timestamp: 2010-11-12 16:40:24.926000118 +0100
committer: Reinhard Müller <reinhard.muel...@bytewise.at>
properties: 
        branch-nick: forms

Name: bzr:file-ids
   - MANIFEST.in        
3...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:MANIFEST.in
setup.py        
2...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:setup.py

   + src/GFObjects/GFEntry.py   
1...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2FGFObjects%2FGFEntry.py
src/GFObjects/GFImage.py        
3...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2FGFObjects%2FGFImage.py
src/GFObjects/GFTabStop.py      
3...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2FGFObjects%2FGFTabStop.py
src/uidrivers/wx/widgets/entry.py       
10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fentry.py
src/uidrivers/wx/widgets/image.py       
10...@3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:src%2Fuidrivers%2Fwx%2Fwidgets%2Fimage.py

Name: bzr:revision-id:v4
   - 3116 reinhard.muel...@bytewise.at-20100426083500-vtmq0qvd7htz02zx
3117 reinhard.muel...@bytewise.at-20100512151744-2jx8tmtop30kl5n0
3118 reinhard.muel...@bytewise.at-20100705094014-ks9yv7b8gs6ychrb
3119 reinhard.muel...@bytewise.at-20100706085143-hyxadj30ayg28jpx
3120 reinhard.muel...@bytewise.at-20100706140804-sn3npws1ykm81ubx
3121 reinhard.muel...@bytewise.at-20100909134008-5p7jq048nkutldse
3122 reinhard.muel...@bytewise.at-20100923144753-e8hthxho7n5mwg9z
3123 reinhard.muel...@bytewise.at-20100929193018-7r3injoy8g28fwm6
3124 reinhard.muel...@bytewise.at-20100930073631-ilf6smgjt6mfvkpz
3125 reinhard.muel...@bytewise.at-20101011191957-yaj9rkqbervc91ac
3126 reinhard.muel...@bytewise.at-20101020084039-jmfxjbctt6vc2usd
3127 reinhard.muel...@bytewise.at-20101020124425-0dpprxsmanmaenty
3128 reinhard.muel...@bytewise.at-20101020124541-zppkmzww1lnsk8x4
3129 reinhard.muel...@bytewise.at-20101020141905-vjg7r3wihnm7mxam
3130 reinhard.muel...@bytewise.at-20101020143045-pf9ywx1s3hdqbsh7
3131 reinhard.muel...@bytewise.at-20101020143328-ctfmr3fpp5quq1eo
3132 reinhard.muel...@bytewise.at-20101020152139-rlllh9m2qn45atcz
3133 reinhard.muel...@bytewise.at-20101020163022-tgnjcv18nzrc5sfw
3134 reinhard.muel...@bytewise.at-20101020165411-krluvclyw61ef9zp
3135 reinhard.muel...@bytewise.at-20101020185529-pmdkwkm59c1h630f
3136 reinhard.muel...@bytewise.at-20101020195954-1kd9avbmzkrzwzbt
3137 reinhard.muel...@bytewise.at-20101020202048-8q84nx5a54ifxkla
3138 reinhard.muel...@bytewise.at-20101027211256-o7pi879h2x1ceri2
3139 reinhard.muel...@bytewise.at-20101028135833-wftnu2r1cocknxyf
3140 reinhard.muel...@bytewise.at-20101028144709-dbamfa759xoeh127
3141 reinhard.muel...@bytewise.at-20101028145355-uhqftv7n1bcvuz8l
3142 reinhard.muel...@bytewise.at-20101028151042-ueeqwlufysjbke01
3143 reinhard.muel...@bytewise.at-20101028153459-522p7574jw2e11jj
3144 reinhard.muel...@bytewise.at-20101028164956-gua27xm7ad12a218
3145 reinhard.muel...@bytewise.at-20101028181046-hxaehghl84zx9ye0
3146 reinhard.muel...@bytewise.at-20101028194606-598w1lqua0te1m7j
3147 reinhard.muel...@bytewise.at-20101028205855-5k1f08wfdgofenjd
3148 reinhard.muel...@bytewise.at-20101102154340-basdvi9wrxzbx4va
3149 reinhard.muel...@bytewise.at-20101102155520-bbh74pv3qjur1epo

   + 3116 reinhard.muel...@bytewise.at-20100426083500-vtmq0qvd7htz02zx
3117 reinhard.muel...@bytewise.at-20100512151744-2jx8tmtop30kl5n0
3118 reinhard.muel...@bytewise.at-20100705094014-ks9yv7b8gs6ychrb
3119 reinhard.muel...@bytewise.at-20100706085143-hyxadj30ayg28jpx
3120 reinhard.muel...@bytewise.at-20100706140804-sn3npws1ykm81ubx
3121 reinhard.muel...@bytewise.at-20100909134008-5p7jq048nkutldse
3122 reinhard.muel...@bytewise.at-20100923144753-e8hthxho7n5mwg9z
3123 reinhard.muel...@bytewise.at-20100929193018-7r3injoy8g28fwm6
3124 reinhard.muel...@bytewise.at-20100930073631-ilf6smgjt6mfvkpz
3125 reinhard.muel...@bytewise.at-20101011191957-yaj9rkqbervc91ac
3126 reinhard.muel...@bytewise.at-20101020084039-jmfxjbctt6vc2usd
3127 reinhard.muel...@bytewise.at-20101020124425-0dpprxsmanmaenty
3128 reinhard.muel...@bytewise.at-20101020124541-zppkmzww1lnsk8x4
3129 reinhard.muel...@bytewise.at-20101020141905-vjg7r3wihnm7mxam
3130 reinhard.muel...@bytewise.at-20101020143045-pf9ywx1s3hdqbsh7
3131 reinhard.muel...@bytewise.at-20101020143328-ctfmr3fpp5quq1eo
3132 reinhard.muel...@bytewise.at-20101020152139-rlllh9m2qn45atcz
3133 reinhard.muel...@bytewise.at-20101020163022-tgnjcv18nzrc5sfw
3134 reinhard.muel...@bytewise.at-20101020165411-krluvclyw61ef9zp
3135 reinhard.muel...@bytewise.at-20101020185529-pmdkwkm59c1h630f
3136 reinhard.muel...@bytewise.at-20101020195954-1kd9avbmzkrzwzbt
3137 reinhard.muel...@bytewise.at-20101020202048-8q84nx5a54ifxkla
3138 reinhard.muel...@bytewise.at-20101027211256-o7pi879h2x1ceri2
3139 reinhard.muel...@bytewise.at-20101028135833-wftnu2r1cocknxyf
3140 reinhard.muel...@bytewise.at-20101028144709-dbamfa759xoeh127
3141 reinhard.muel...@bytewise.at-20101028145355-uhqftv7n1bcvuz8l
3142 reinhard.muel...@bytewise.at-20101028151042-ueeqwlufysjbke01
3143 reinhard.muel...@bytewise.at-20101028153459-522p7574jw2e11jj
3144 reinhard.muel...@bytewise.at-20101028164956-gua27xm7ad12a218
3145 reinhard.muel...@bytewise.at-20101028181046-hxaehghl84zx9ye0
3146 reinhard.muel...@bytewise.at-20101028194606-598w1lqua0te1m7j
3147 reinhard.muel...@bytewise.at-20101028205855-5k1f08wfdgofenjd
3148 reinhard.muel...@bytewise.at-20101102154340-basdvi9wrxzbx4va
3149 reinhard.muel...@bytewise.at-20101102155520-bbh74pv3qjur1epo
3150 reinhard.muel...@bytewise.at-20101112154024-57tv8mf0wbiycuw1

Name: bzr:text-parents
   - MANIFEST.in        
svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jtcw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:9685
setup.py        
svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jtcw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10078

   + src/GFObjects/GFEntry.py   
svn-v3-single1-dHJ1bmsvZ251ZS1mb3Jtcw..:3a364389-8fce-0310-8f11-cc363fde16c7:trunk%2Fgnue-forms:10149
src/GFObjects/GFImage.py        
reinhard.muel...@bytewise.at-20101020124541-zppkmzww1lnsk8x4
src/GFObjects/GFTabStop.py      
reinhard.muel...@bytewise.at-20101028181046-hxaehghl84zx9ye0
src/uidrivers/wx/widgets/entry.py       
reinhard.muel...@bytewise.at-20101027211256-o7pi879h2x1ceri2
src/uidrivers/wx/widgets/image.py       
reinhard.muel...@bytewise.at-20101020165411-krluvclyw61ef9zp


Modified: trunk/gnue-forms/src/GFObjects/GFEntry.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFEntry.py   2010-11-02 15:58:30 UTC (rev 
10233)
+++ trunk/gnue-forms/src/GFObjects/GFEntry.py   2010-11-12 15:49:37 UTC (rev 
10234)
@@ -51,6 +51,7 @@
             'POST-FOCUSOUT'    : 'Post-FocusOut',
             'PRE-FOCUSIN'      : 'Pre-FocusIn',
             'POST-FOCUSIN'     : 'Post-FocusIn',
+            'ON-CLICK'         : 'On-Click',
             'ON-NEXT-ENTRY'    : 'On-Next-Entry',
             'ON-PREVIOUS-ENTRY': 'On-Previous-Entry'}
 

Modified: trunk/gnue-forms/src/GFObjects/GFImage.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFImage.py   2010-11-02 15:58:30 UTC (rev 
10233)
+++ trunk/gnue-forms/src/GFObjects/GFImage.py   2010-11-12 15:49:37 UTC (rev 
10234)
@@ -45,7 +45,11 @@
         self.type = "URL"
         self.label = None
 
+        # Trigger exposure
+        self._validTriggers = {
+            'ON-CLICK': 'On-Click'}
 
+
     # -------------------------------------------------------------------------
     # Get the current value
     # -------------------------------------------------------------------------
@@ -75,5 +79,3 @@
         return (self.label is not None and self.style != 'checkbox')
 
     has_label = property(__get_has_label)
-
-

Modified: trunk/gnue-forms/src/GFObjects/GFTabStop.py
===================================================================
--- trunk/gnue-forms/src/GFObjects/GFTabStop.py 2010-11-02 15:58:30 UTC (rev 
10233)
+++ trunk/gnue-forms/src/GFObjects/GFTabStop.py 2010-11-12 15:49:37 UTC (rev 
10234)
@@ -198,6 +198,19 @@
 
 
     # -------------------------------------------------------------------------
+
+    def _event_click(self):
+        """
+        The user has clicked on a non-editable entry in a grid or on an image
+        widget.
+
+        The "On-Click" trigger of the element is fired.
+        """
+
+        self.processTrigger("On-Click")
+
+
+    # -------------------------------------------------------------------------
     # Number of rows of this widgets has changed
     # -------------------------------------------------------------------------
 

Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py  2010-11-02 15:58:30 UTC 
(rev 10233)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/entry.py  2010-11-12 15:49:37 UTC 
(rev 10234)
@@ -221,10 +221,10 @@
 
         if self.in_grid:
             label = wx.StaticText(parent, -1)
-            # Bind the LEFT_UP event to both, the panel and the label widget,
+            # Bind the LEFT_DOWN event to both, the panel and the label widget,
             # so clicking an empty cell works too
-            parent.Bind(wx.EVT_LEFT_UP, self.__on_label_click)
-            label.Bind(wx.EVT_LEFT_UP, self.__on_label_click)
+            parent.Bind(wx.EVT_LEFT_DOWN, self.__on_label_click)
+            label.Bind(wx.EVT_LEFT_DOWN, self.__on_label_click)
 
         elif self._gfObject.label:
             # Replace blanks by non-breaking space to avoid random linebreaks
@@ -263,7 +263,8 @@
                     # database cursor to the record behind this entry.
                     self._gfObject._event_jump_records(
                             self.widgets.index(item))
-                return
+                    self._gfObject._event_click()
+                break
 
         event.Skip()
 

Modified: trunk/gnue-forms/src/uidrivers/wx/widgets/image.py
===================================================================
--- trunk/gnue-forms/src/uidrivers/wx/widgets/image.py  2010-11-02 15:58:30 UTC 
(rev 10233)
+++ trunk/gnue-forms/src/uidrivers/wx/widgets/image.py  2010-11-12 15:49:37 UTC 
(rev 10234)
@@ -146,6 +146,7 @@
         self.image_size = self.__get_default_size()
 
         self.widget = ImageViewer(parent, self.image_size, self._gfObject.fit)
+        self.widget.Bind(wx.EVT_LEFT_DOWN, self.__on_click)
 
         if self._gfObject.label:
             # Replace blanks by non-breaking space to avoid random linebreaks
@@ -177,6 +178,16 @@
         return (width, height)
 
 
+    # -------------------------------------------------------------------------
+    # Event handlers
+    # -------------------------------------------------------------------------
+
+    def __on_click(self, event):
+
+        self._gfObject._event_click()
+        event.Skip()
+
+
     # ------------------------------------------------------------------------
     # Set the widget's PIL
     # ------------------------------------------------------------------------


_______________________________________________
commit-gnue mailing list
commit-gnue@gnu.org
http://lists.gnu.org/mailman/listinfo/commit-gnue

Reply via email to