Revision: 4846
          http://sourceforge.net/p/vexi/code/4846
Author:   mkpg2
Date:     2016-03-16 15:27:46 +0000 (Wed, 16 Mar 2016)
Log Message:
-----------
Improve/fix. Datetime entry. Typing dates was not working properly in datetime. 
After pressing enter it would always revert to the default value when not yet 
set.
Improve/Fix. Timefield. Was possible to hours >24.

Modified Paths:
--------------
    branches/vexi3/org.vexi-library.value/src/main/java/org/vexi/value/Date.java
    
branches/vexi3/org.vexi-library.value/src/test/java/org/vexi/value/TestDate.java
    
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t
    
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datetime.t
    
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/timefield.t

Modified: 
branches/vexi3/org.vexi-library.value/src/main/java/org/vexi/value/Date.java
===================================================================
--- 
branches/vexi3/org.vexi-library.value/src/main/java/org/vexi/value/Date.java    
    2016-02-21 17:28:51 UTC (rev 4845)
+++ 
branches/vexi3/org.vexi-library.value/src/main/java/org/vexi/value/Date.java    
    2016-03-16 15:27:46 UTC (rev 4846)
@@ -211,7 +211,8 @@
            public Date tryParseString(String s){
                String s1 = s.replaceAll("[^\\d]+", "/");
                String[] partStrs = s1.split("/");
-               if(partStrs.length<1) return null;
+               if(partStrs.length!=partIds.length) return null;
+               
                int[] parts = new int[partIds.length];
                for(int i=0; i<partIds.length; i++){
                        int partId = partIds[i];

Modified: 
branches/vexi3/org.vexi-library.value/src/test/java/org/vexi/value/TestDate.java
===================================================================
--- 
branches/vexi3/org.vexi-library.value/src/test/java/org/vexi/value/TestDate.java
    2016-02-21 17:28:51 UTC (rev 4845)
+++ 
branches/vexi3/org.vexi-library.value/src/test/java/org/vexi/value/TestDate.java
    2016-03-16 15:27:46 UTC (rev 4846)
@@ -11,15 +11,24 @@
         assertEquals(expected, d.format());
     }
     
+    
     public void testParse() throws ValueException {
+        assertParse("2016-02-22", "2016-02-22"); 
+
         assertParse("2004-4-3","2004-04-03");
         assertParse("2001-01");
         assertParse("2002-2","2002-02");
         assertParse("2003q1");
         assertParse("2003wk50");
+        
     }
 
     
+    public void testTryParse() throws ValueException {
+       assertNull(Date.getScheme("YW").tryParseString("2016-02-22"));
+        assertEquals("2016-02-22", 
""+Date.getScheme("YMD").tryParseString("2016-02-22")); 
+    }
+    
     public void testWithAndAs() throws ValueException {
         Date d = Date.newY(2000);
         assertEquals("2000", d.format());

Modified: 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t
===================================================================
--- 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t
    2016-02-21 17:28:51 UTC (rev 4845)
+++ 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datefield.t
    2016-03-16 15:27:46 UTC (rev 4846)
@@ -49,6 +49,7 @@
         thisbox.yearview  = $year;
         thisbox.sep1      = $sep1;
         thisbox.sep2      = $sep2;
+        thisbox.editbox   = $edit.v_edit;
         
         thisbox.valuetype = "string";
         

Modified: 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datetime.t
===================================================================
--- 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datetime.t 
    2016-02-21 17:28:51 UTC (rev 4845)
+++ 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/datetime.t 
    2016-03-16 15:27:46 UTC (rev 4846)
@@ -48,20 +48,23 @@
                switch(v){
                case "enter":
                        if(value==null){
-                               if($date.value!=null){
-                                       $time.setDefault();
-                               }else if($time.value!=null){
-                                       $date.setDefault();
-                               }else{
-                                       thisbox.value = 
castValue(thisbox["default"]); 
-                               }
+                               var td = $date.editbox.text;
+                               var tt = $time.editbox.text;
+                               if(!$date.value and !$time.value and !td and 
!tt){
+                                       thisbox.value = 
castValue(thisbox["default"]);
+                               }else{
+                                       $date.editbox.KeyPressed = "enter";
+                                       $time.editbox.KeyPressed = "enter";     
                
+                               }
                                return;
                        }
                        break;
                case "back_space":
                case "delete":
                        $date.value = null;
+                       $date.editbox.text = null;                      
                        $time.value = null;
+                       $time.editbox.text = null;
                    return;        
                }
                

Modified: 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/timefield.t
===================================================================
--- 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/timefield.t
    2016-02-21 17:28:51 UTC (rev 4845)
+++ 
branches/vexi3/org.vexi-vexi.widgets/src_main/org/vexi/theme/classic/timefield.t
    2016-03-16 15:27:46 UTC (rev 4846)
@@ -1,3 +1,4 @@
+
 <!-- Copyright 2013 - see COPYING for details [LGPL] -->
 
 <vexi xmlns:ui="vexi://ui"
@@ -35,6 +36,7 @@
         </ui:box>
         
         thisbox.v_init    = static.init;
+        thisbox.editbox   = $edit.v_edit;
         thisbox.v_textbox = false;
         
         thisbox.format = (conf.settings..time_use24hours==false)?"12":"24";
@@ -208,25 +210,22 @@
                    } else {
                        h = vexi.string.parseInt(s0, 10);
                        m = vexi.string.parseInt(s1, 10);
+                   }
+                while(m>60){ m-=60; h+=1; }
+                while(h>24){ h-=24; }
                        
-                       while(m>60){ m-=60; h+=1; }
-                       while(h>24){ h-=24; }
-                       
-                       //var s = vexi.string.parseInt(s2, 10);
-                       // sanitize values
-                       if (h==24 or 0>h) h = 0;
-                       if (h>23) h = 23;
-                       if (m>59) m = 59;
-                       if (0>m)  m = 0;
-                       //if (s>59) s = 59;
-                       //if (0>s)  s = 0;
-                       // assign
-                       //trapee.secs = s;
-                   }
-                   
+                   // sanitize values
+                if (h==24 or 0>h) h = 0;
+                if (h>23) h = 23;
+                if (m>59) m = 59;
+                if (0>m)  m = 0;
+         
+               
                 if (12> h and pm) {
                     h += 12;
                 }
+                
+                
                    _hours = h;
                 _mins = m;
             

This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
_______________________________________________
Vexi-svn mailing list
Vexi-svn@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/vexi-svn

Reply via email to