From: Jaehyun Cho Date: Fri, 25 Mar 2022 01:41:08 +0000 (+0900) Subject: [NUI] Add Tizen.NUI.LayoutSamples X-Git-Tag: accepted/tizen/unified/20231205.024657~1037 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=4854f42f36cc629a0df41b1d6faaa4d0fe9c08fb;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git [NUI] Add Tizen.NUI.LayoutSamples Tizen.NUI.LayoutSamples is added to test Layout behavior. Each class is designed based on LayoutSamplesClassDiagram.png. Tizen.NUI.LayoutSamples is consist of Display Window and Control Window. DisplayWindow.png shows Display Window. ControlWindowLayoutTab.png and ControlWindowViewTab.png show Control Window. Display Window shows each object view on the screen. Control Window sets each object view's layout properties and view properties. If user selects an object view on Display Window by clicking, its layout properties and view properties appear on Control Window. "Add View" button on Control Window adds a child object view to the selected object view. "Remove View" button on Control Window removes the selected object view. --- diff --git a/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples.sln b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples.sln new file mode 100755 index 0000000..f35a807 --- /dev/null +++ b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples.sln @@ -0,0 +1,121 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29613.14 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.LayoutSamples", "Tizen.NUI.LayoutSamples\Tizen.NUI.LayoutSamples.csproj", "{B2EC3963-C77F-4D1A-9387-8BA0DB298266}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen", "..\..\src\Tizen\Tizen.csproj", "{F4ADAF15-01AA-477E-A85A-BEB297E6B07E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.Common", "..\..\src\Tizen.Applications.Common\Tizen.Applications.Common.csproj", "{0B96B17C-DACA-4745-88B1-6CFC1825A510}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Log", "..\..\src\Tizen.Log\Tizen.Log.csproj", "{1E8250DB-92C3-44A5-8D57-3CFDE0C0021D}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI", "..\..\src\Tizen.NUI\Tizen.NUI.csproj", "{29B426DA-FFDE-49D2-BD73-FE155F9502E8}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.Components", "..\..\src\Tizen.NUI.Components\Tizen.NUI.Components.csproj", "{2A669CBF-DFA8-4EA3-852D-3137493DE884}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.SystemSettings", "..\..\src\Tizen.System.SystemSettings\Tizen.System.SystemSettings.csproj", "{EC28F259-C790-4FA3-A834-00795E2A7E2F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ComponentBased", "..\..\src\Tizen.Applications.ComponentBased\Tizen.Applications.ComponentBased.csproj", "{E117D074-C23D-41FD-A77D-2E9E6FF85676}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Multimedia.MediaPlayer", "..\..\src\Tizen.Multimedia.MediaPlayer\Tizen.Multimedia.MediaPlayer.csproj", "{850B0BA6-8C7F-4645-8473-15F378B9A1EB}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Multimedia", "..\..\src\Tizen.Multimedia\Tizen.Multimedia.csproj", "{8C1CA5FE-EEA0-4353-8735-B49347CF1812}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElmSharp", "..\..\src\ElmSharp\ElmSharp.csproj", "{CCDA00F7-7BDE-4913-B9F1-1AEE401EE4AD}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.Information", "..\..\src\Tizen.System.Information\Tizen.System.Information.csproj", "{02BEE3AD-99A6-44A5-89FC-D9F4132D9ECE}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.Wearable", "..\..\src\Tizen.NUI.Wearable\Tizen.NUI.Wearable.csproj", "{A2B607F9-5B9B-43AC-A8CA-E0FDF2A6694E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.System.Feedback", "..\..\src\Tizen.System.Feedback\Tizen.System.Feedback.csproj", "{D422D03E-7E32-4230-8306-B16DFE27E95A}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Multimedia.Camera", "..\..\src\Tizen.Multimedia.Camera\Tizen.Multimedia.Camera.csproj", "{210C3F38-BD17-4583-816D-550C319FC6CF}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.Applications.ThemeManager", "..\..\src\Tizen.Applications.ThemeManager\Tizen.Applications.ThemeManager.csproj", "{FB8B42D6-76CC-4836-8A80-58A816C6A17F}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Tizen.NUI.Extension", "..\..\src\Tizen.NUI.Extension\Tizen.NUI.Extension.csproj", "{47829CA1-0E21-4687-9ABB-0C27E1A67E85}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {B2EC3963-C77F-4D1A-9387-8BA0DB298266}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B2EC3963-C77F-4D1A-9387-8BA0DB298266}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B2EC3963-C77F-4D1A-9387-8BA0DB298266}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B2EC3963-C77F-4D1A-9387-8BA0DB298266}.Release|Any CPU.Build.0 = Release|Any CPU + {F4ADAF15-01AA-477E-A85A-BEB297E6B07E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F4ADAF15-01AA-477E-A85A-BEB297E6B07E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F4ADAF15-01AA-477E-A85A-BEB297E6B07E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F4ADAF15-01AA-477E-A85A-BEB297E6B07E}.Release|Any CPU.Build.0 = Release|Any CPU + {0B96B17C-DACA-4745-88B1-6CFC1825A510}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {0B96B17C-DACA-4745-88B1-6CFC1825A510}.Debug|Any CPU.Build.0 = Debug|Any CPU + {0B96B17C-DACA-4745-88B1-6CFC1825A510}.Release|Any CPU.ActiveCfg = Release|Any CPU + {0B96B17C-DACA-4745-88B1-6CFC1825A510}.Release|Any CPU.Build.0 = Release|Any CPU + {1E8250DB-92C3-44A5-8D57-3CFDE0C0021D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1E8250DB-92C3-44A5-8D57-3CFDE0C0021D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {1E8250DB-92C3-44A5-8D57-3CFDE0C0021D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1E8250DB-92C3-44A5-8D57-3CFDE0C0021D}.Release|Any CPU.Build.0 = Release|Any CPU + {29B426DA-FFDE-49D2-BD73-FE155F9502E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {29B426DA-FFDE-49D2-BD73-FE155F9502E8}.Debug|Any CPU.Build.0 = Debug|Any CPU + {29B426DA-FFDE-49D2-BD73-FE155F9502E8}.Release|Any CPU.ActiveCfg = Release|Any CPU + {29B426DA-FFDE-49D2-BD73-FE155F9502E8}.Release|Any CPU.Build.0 = Release|Any CPU + {2A669CBF-DFA8-4EA3-852D-3137493DE884}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2A669CBF-DFA8-4EA3-852D-3137493DE884}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2A669CBF-DFA8-4EA3-852D-3137493DE884}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2A669CBF-DFA8-4EA3-852D-3137493DE884}.Release|Any CPU.Build.0 = Release|Any CPU + {EC28F259-C790-4FA3-A834-00795E2A7E2F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EC28F259-C790-4FA3-A834-00795E2A7E2F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EC28F259-C790-4FA3-A834-00795E2A7E2F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EC28F259-C790-4FA3-A834-00795E2A7E2F}.Release|Any CPU.Build.0 = Release|Any CPU + {E117D074-C23D-41FD-A77D-2E9E6FF85676}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E117D074-C23D-41FD-A77D-2E9E6FF85676}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E117D074-C23D-41FD-A77D-2E9E6FF85676}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E117D074-C23D-41FD-A77D-2E9E6FF85676}.Release|Any CPU.Build.0 = Release|Any CPU + {850B0BA6-8C7F-4645-8473-15F378B9A1EB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {850B0BA6-8C7F-4645-8473-15F378B9A1EB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {850B0BA6-8C7F-4645-8473-15F378B9A1EB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {850B0BA6-8C7F-4645-8473-15F378B9A1EB}.Release|Any CPU.Build.0 = Release|Any CPU + {8C1CA5FE-EEA0-4353-8735-B49347CF1812}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8C1CA5FE-EEA0-4353-8735-B49347CF1812}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8C1CA5FE-EEA0-4353-8735-B49347CF1812}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8C1CA5FE-EEA0-4353-8735-B49347CF1812}.Release|Any CPU.Build.0 = Release|Any CPU + {CCDA00F7-7BDE-4913-B9F1-1AEE401EE4AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {CCDA00F7-7BDE-4913-B9F1-1AEE401EE4AD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {CCDA00F7-7BDE-4913-B9F1-1AEE401EE4AD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {CCDA00F7-7BDE-4913-B9F1-1AEE401EE4AD}.Release|Any CPU.Build.0 = Release|Any CPU + {02BEE3AD-99A6-44A5-89FC-D9F4132D9ECE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {02BEE3AD-99A6-44A5-89FC-D9F4132D9ECE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {02BEE3AD-99A6-44A5-89FC-D9F4132D9ECE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {02BEE3AD-99A6-44A5-89FC-D9F4132D9ECE}.Release|Any CPU.Build.0 = Release|Any CPU + {A2B607F9-5B9B-43AC-A8CA-E0FDF2A6694E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A2B607F9-5B9B-43AC-A8CA-E0FDF2A6694E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A2B607F9-5B9B-43AC-A8CA-E0FDF2A6694E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A2B607F9-5B9B-43AC-A8CA-E0FDF2A6694E}.Release|Any CPU.Build.0 = Release|Any CPU + {D422D03E-7E32-4230-8306-B16DFE27E95A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D422D03E-7E32-4230-8306-B16DFE27E95A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D422D03E-7E32-4230-8306-B16DFE27E95A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D422D03E-7E32-4230-8306-B16DFE27E95A}.Release|Any CPU.Build.0 = Release|Any CPU + {210C3F38-BD17-4583-816D-550C319FC6CF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {210C3F38-BD17-4583-816D-550C319FC6CF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {210C3F38-BD17-4583-816D-550C319FC6CF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {210C3F38-BD17-4583-816D-550C319FC6CF}.Release|Any CPU.Build.0 = Release|Any CPU + {FB8B42D6-76CC-4836-8A80-58A816C6A17F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FB8B42D6-76CC-4836-8A80-58A816C6A17F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FB8B42D6-76CC-4836-8A80-58A816C6A17F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FB8B42D6-76CC-4836-8A80-58A816C6A17F}.Release|Any CPU.Build.0 = Release|Any CPU + {47829CA1-0E21-4687-9ABB-0C27E1A67E85}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {47829CA1-0E21-4687-9ABB-0C27E1A67E85}.Debug|Any CPU.Build.0 = Debug|Any CPU + {47829CA1-0E21-4687-9ABB-0C27E1A67E85}.Release|Any CPU.ActiveCfg = Release|Any CPU + {47829CA1-0E21-4687-9ABB-0C27E1A67E85}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {118813F7-AD71-497A-B9AB-443A89F48D34} + EndGlobalSection +EndGlobal diff --git a/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml new file mode 100644 index 0000000..37c5827 --- /dev/null +++ b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml.cs b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml.cs new file mode 100644 index 0000000..29e4134 --- /dev/null +++ b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/CellPaddingView.xaml.cs @@ -0,0 +1,100 @@ +/* + * Copyright(c) 2022 Samsung Electronics Co., Ltd. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ +using Tizen.NUI.BaseComponents; + +namespace Tizen.NUI.LayoutSamples +{ + public partial class CellPaddingView : View, ILayoutProperty + { + private Text.InputFilter inputFilter; + private ObjectLinearLayout linearLayout = null; + + public CellPaddingView() + { + InitializeComponent(); + + inputFilter = new Text.InputFilter(); + inputFilter.Accepted = "[0-9]"; + cellPaddingW.SetInputFilter(inputFilter); + cellPaddingH.SetInputFilter(inputFilter); + } + + public Size2D PropertyValue + { + get + { + return (linearLayout != null) ? linearLayout.CellPadding : new Size2D(0, 0); + } + + set + { + if (linearLayout == null) return; + + linearLayout.CellPadding = value; + } + } + + public void SetLayout(IObjectLayout layout) + { + if (!(layout is LinearLayout)) return; + + if (linearLayout == layout as ObjectLinearLayout) return; + + linearLayout = layout as ObjectLinearLayout; + + // CellPadding + cellPaddingW.Text = linearLayout.CellPadding.Width.ToString(); + cellPaddingH.Text = linearLayout.CellPadding.Height.ToString(); + + linearLayout.CellPaddingChanged += (object sender, CellPaddingChangedEventArgs args) => + { + cellPaddingW.Text = args.CellPadding.Width.ToString(); + cellPaddingH.Text = args.CellPadding.Height.ToString(); + + linearLayout.RequestLayout(); + }; + + linearLayout.RequestLayout(); + } + + private void CellPaddingWTextChanged(object sender, TextField.TextChangedEventArgs args) + { + if (linearLayout != null) + { + int changedValue; + if (int.TryParse(args.TextField.Text, out changedValue)) + { + linearLayout.CellPadding = new Size2D(changedValue, linearLayout.CellPadding.Height); + linearLayout.RequestLayout(); + } + } + } + + private void CellPaddingHTextChanged(object sender, TextField.TextChangedEventArgs args) + { + if (linearLayout != null) + { + int changedValue; + if (int.TryParse(args.TextField.Text, out changedValue)) + { + linearLayout.CellPadding = new Size2D(linearLayout.CellPadding.Width, changedValue); + linearLayout.RequestLayout(); + } + } + } + } +} diff --git a/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/ControlView.xaml b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/ControlView.xaml new file mode 100644 index 0000000..4a99e8d --- /dev/null +++ b/test/Tizen.NUI.LayoutSamples/Tizen.NUI.LayoutSamples/ControlView.xaml @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + +