2 * Copyright(c) 2021 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
18 using System.Collections.Generic;
20 using Tizen.NUI.Binding;
21 using Tizen.NUI.Binding.Internals;
23 namespace Tizen.NUI.EXaml
25 internal class OtherActions : Action
27 internal OtherActions(GlobalDataList globalDataList, Action parent)
30 this.globalDataList = globalDataList;
33 private Action parent;
34 private GlobalDataList globalDataList;
36 public Action DealChar(char c)
50 getValues = new GetValueListAction(')', this);
62 public void OnActive()
64 if (null != getValues)
66 int index = (int)getValues.ValueList[0];
72 int typeIndex = (int)getValues.ValueList[1];
73 var items = getValues.ValueList[2] as List<object>;
74 var createArrayInstanceOp = new CreateArrayInstance(globalDataList, typeIndex, items);
75 globalDataList.Operations.Add(createArrayInstanceOp);
81 int typeIndex = (int)getValues.ValueList[1];
82 int startIndex = (int)getValues.ValueList[2];
83 int endIndex = (int)getValues.ValueList[3];
84 var createDataTemplateOp = new CreateDataTemplate(globalDataList, typeIndex, (startIndex, endIndex));
85 globalDataList.Operations.Add(createDataTemplateOp);
91 int instanceIndex = (getValues.ValueList[1] as Instance).Index;
92 var value = getValues.ValueList[2];
93 globalDataList.Operations.Add(new AddToCollectionInstance(globalDataList, instanceIndex, value));
105 private GetValueListAction getValues;