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
[email protected]
https://lists.sourceforge.net/lists/listinfo/vexi-svn