public void TestSciterValue() { //string[] arr = new string[] { "A", "B", "C" }; int[] arr = new int[] { 1, 2, 3 }; //SciterValue res = SciterValue.FromList(arr); SciterValue res = new SciterValue(); res.Append(new SciterValue(1)); res.Append(new SciterValue(1)); res.Append(new SciterValue(1)); string r = res.ToString(); string r2 = res.ToString(); string r3 = res.ToJSONString(SciterSharp.Interop.SciterXValue.VALUE_STRING_CVT_TYPE.CVT_JSON_LITERAL); { // http://sciter.com/forums/topic/erasing-sequence-elements-with-scitervalue/ SciterValue sv = SciterValue.FromJSONString("[1,2,3,4,5])"); sv[0] = SciterValue.Undefined; sv[2] = SciterValue.Undefined; SciterValue sv2 = SciterValue.FromJSONString("{one: 1, two: 2, three: 3}"); sv2["one"] = SciterValue.Undefined; } // Datetime { SciterValue sv = new SciterValue(DateTime.Now); } }
public void OnNotify_LOG_ARRIVED() { Utils.Assert_UIThread(); Debug.Assert(_logs.Count != 0); SciterValue data = new SciterValue(); foreach (var item in _logs) { SciterValue logval = new SciterValue(); logval.SetItem(0, new SciterValue((int)item.subsystem)); logval.SetItem(1, new SciterValue((int)item.severity)); logval.SetItem(2, new SciterValue(item.text)); data.Append(logval); Console.WriteLine(item.text); } _in_output = true; App.AppHost.CallFunction("Extern_ConsoleAppendLines", data); _in_output = false; _logs.Clear(); _pending_output = false; }
public void InternalOutput(string text, bool post = false) // generates output by internal call { Utils.Assert_UIThread(); Debug.Assert(!_in_output); Debug.WriteLine(text); Console.WriteLine(text); if (post) { _logs.Add(new LogItem { subsystem = SciterXDef.OUTPUT_SUBSYTEM.OT_DOM, severity = SciterXDef.OUTPUT_SEVERITY.OS_INFO, text = text }); if (_pending_output == false) { _pending_output = true; App.AppHost.Notify(Host.NOTIFICATION.LOG_ARRIVED); } } else { SciterValue logval = new SciterValue(); logval[0] = new SciterValue((int)SciterXDef.OUTPUT_SUBSYTEM.OT_DOM); logval[1] = new SciterValue((int)SciterXDef.OUTPUT_SEVERITY.OS_INFO); logval[2] = new SciterValue(text); SciterValue data = new SciterValue(); data.Append(data); App.AppHost.CallFunction("Extern_ConsoleAppendLines", data); } }
public bool Host_IconStoreList(SciterElement el, SciterValue[] args, out SciterValue result) { result = new SciterValue(); foreach (var pack in Store._store_packs) { result.Append(pack.sv); } return(true); }
public void TestSciterValue() { //string[] arr = new string[] { "A", "B", "C" }; int[] arr = new int[] { 1, 2, 3 }; //SciterValue res = SciterValue.FromList(arr); SciterValue res = new SciterValue(); res.Append(new SciterValue(1)); res.Append(new SciterValue(1)); res.Append(new SciterValue(1)); string r = res.ToString(); string r2 = res.ToString(); string r3 = res.ToJSONString(SciterXValue.VALUE_STRING_CVT_TYPE.CVT_JSON_LITERAL); { // http://sciter.com/forums/topic/erasing-sequence-elements-with-scitervalue/ SciterValue sv = SciterValue.FromJSONString("[1,2,3,4,5])"); sv[0] = SciterValue.Undefined; sv[2] = SciterValue.Undefined; SciterValue sv2 = SciterValue.FromJSONString("{one: 1, two: 2, three: 3}"); sv2["one"] = SciterValue.Undefined; Assert.IsTrue(sv2["two"].Get(0) == 2); } // Datetime { var now = DateTime.Now; SciterValue sv = new SciterValue(now); Assert.IsTrue(sv.GetDate() == now); } // SciterValue.AsDictionary { SciterValue sv = SciterValue.FromJSONString("{ a: 1, b: true }"); var dic = sv.AsDictionary(); Assert.IsTrue(dic.Count == 2); } }