[KSS-checkins] r50890 - kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo

jone at codespeak.net jone at codespeak.net
Tue Jan 22 20:33:50 CET 2008


Author: jone
Date: Tue Jan 22 20:33:49 2008
New Revision: 50890

Modified:
   kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.css
   kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.kss
   kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.pt
   kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.py
   kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.zcml
Log:
typewriter demo: added mouse support

Modified: kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.css
==============================================================================
--- kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.css	(original)
+++ kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.css	Tue Jan 22 20:33:49 2008
@@ -4,6 +4,7 @@
     padding: 10px;
     width: 15px;
     text-align: center;
+    cursor: pointer;
 }
 
 div.key.active {
@@ -18,6 +19,7 @@
 input#field {
     border: 1px solid #FF4916;
     width: 100%;
+    font-size: x-large;
 }
 
 div.keyrow {
@@ -26,6 +28,7 @@
 
 div#pattern {
     border: 1px solid #FF4916;
+    font-size: x-large;
 }
 
 hr {

Modified: kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.kss
==============================================================================
--- kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.kss	(original)
+++ kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.kss	Tue Jan 22 20:33:49 2008
@@ -10,6 +10,16 @@
     typewriter_keydown-keycode: pass(keycode);
 }
 
+div.key:mousedown {
+    action-server:                  typewriter_mousedown;
+    typewriter_mousedown-content:   nodeContent();
+}
+
+div.key:mouseup {
+    action-server:                  typewriter_mouseup;
+    typewriter_mouseup-content:     nodeContent();
+}
+
 body:load {
     action-client: executeCommand;
     executeCommand-name: focus;

Modified: kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.pt
==============================================================================
--- kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.pt	(original)
+++ kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.pt	Tue Jan 22 20:33:49 2008
@@ -51,6 +51,11 @@
             </div>
             <br />
         </tal:block>
+        <div class="keyrow">
+            <div class="key" id="key_16">
+                Shift
+            </div>
+        </div>
     </div>
 
   </body>

Modified: kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.py
==============================================================================
--- kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.py	(original)
+++ kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.py	Tue Jan 22 20:33:49 2008
@@ -65,6 +65,7 @@
         if keycode == 16:
             for key in range(97, 97+26):
                 self.getCommandSet('core').replaceInnerHTML('div#key_%s' % key, chr(key).upper())
+                self.getCommandSet('core').addClass('div#key_16', 'active')
         elif keycode in range(97, 97+26) + range(65, 65+26) + [32]:
             smallKeycode = keycode
             if keycode in range(65, 65+26):
@@ -85,9 +86,35 @@
         if keycode == 16:
             for key in range(97, 97+26):
                 self.getCommandSet('core').replaceInnerHTML('div#key_%s' % key, chr(key))
+                self.getCommandSet('core').removeClass('div#key_16', 'active')
         elif keycode in range(97, 97+26) + range(65, 65+26) + [32]:
             smallKeycode = keycode
             if keycode in range(65, 65+26):
                 smallKeycode += 32
             self.getCommandSet('core').removeClass('div#key_%s' % smallKeycode, 'active')
         return self.render()
+
+    def mousedown(self, content):
+        if content.strip()=='Shift':
+            if self.request.SESSION.get('typewriter_shift', False):
+                self.request.SESSION['typewriter_shift'] = False
+                return self.keyup(16)
+            else:
+                self.request.SESSION['typewriter_shift'] = True
+                return self.keydown(16)
+        try:
+            keycode = ord(content.strip())
+        except:
+            keycode = 32
+        return self.keydown(keycode)
+
+    def mouseup(self, content):
+        if content.strip()=='Shift':
+            return self.render()
+        try:
+            keycode = ord(content.strip())
+        except:
+            keycode = 32
+        if self.request.SESSION.get('typewriter_shift', False):
+            self.keyup(16)
+        return self.keyup(keycode)

Modified: kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.zcml
==============================================================================
--- kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.zcml	(original)
+++ kukit/kss.core/branch/improve-demos/kss/core/plugins/core/demo/typewriter.zcml	Tue Jan 22 20:33:49 2008
@@ -43,6 +43,22 @@
     <browser:page
         for="kss.demo.interfaces.ISimpleContent"
         class=".typewriter.KSSTypewriterDemo"
+        attribute="mouseup"
+        name="typewriter_mouseup"
+        permission="zope.View"
+        />
+
+    <browser:page
+        for="kss.demo.interfaces.ISimpleContent"
+        class=".typewriter.KSSTypewriterDemo"
+        attribute="mousedown"
+        name="typewriter_mousedown"
+        permission="zope.View"
+        />
+
+    <browser:page
+        for="kss.demo.interfaces.ISimpleContent"
+        class=".typewriter.KSSTypewriterDemo"
         attribute="setCurrentLesson"
         name="setCurrentLesson"
         permission="zope.View"


More information about the Kukit-checkins mailing list