From: Lynettejin90 <33114201+Lynettejin90@users.noreply.github.com>
Date: Fri, 9 Aug 2019 08:27:04 +0000 (+0800)
Subject: [NUI] Change the name of Tizen.NUI.CommonUI as Tizen.NUI.Components (#958)
X-Git-Tag: submit/tizen/20190810.005213~1^2
X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7f61d3290a0b8faa77a3d37e45943bf1d3f01231;p=platform%2Fcore%2Fcsapi%2Ftizenfx.git
[NUI] Change the name of Tizen.NUI.CommonUI as Tizen.NUI.Components (#958)
* Change the name of Tizen.NUI.CommonUI as Tizen.NUI.Components
* Change Tizen.NUI.CommonUI to Tizen.NUI.Components in file list
---
diff --git a/packaging/PlatformFileList.txt b/packaging/PlatformFileList.txt
index e9935ea65..6115aad0e 100755
--- a/packaging/PlatformFileList.txt
+++ b/packaging/PlatformFileList.txt
@@ -62,7 +62,7 @@ Tizen.Network.WiFi.dll #common #mobile #mobile-emul
Tizen.Network.WiFiDirect.dll #common #mobile #tv #ivi
Tizen.Nlp.dll #mobile #mobile-emul
Tizen.NUI.dll #common #mobile #mobile-emul #tv #wearable
-Tizen.NUI.CommonUI.dll #common #mobile #mobile-emul #tv #wearable
+Tizen.NUI.Components.dll #common #mobile #mobile-emul #tv #wearable
Tizen.NUI.Wearable.dll #wearable
Tizen.PhonenumberUtils.dll #mobile #mobile-emul #wearable
Tizen.Pims.Calendar.dll #common #mobile #mobile-emul #tv #wearable
diff --git a/src/Tizen.NUI.CommonUI/Attributes/Attributes.cs b/src/Tizen.NUI.CommonUI/Attributes/Attributes.cs
deleted file mode 100755
index d19f0569e..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/Attributes.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Base attributes.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract class Attributes
- {
- ///
- /// Clone the Attributes, each derived class need to override this method.
- ///
- /// Return the attributes clone.
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract Attributes Clone();
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ButtonAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ButtonAttributes.cs
deleted file mode 100755
index 17fa1e77e..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ButtonAttributes.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// ButtonAttributes is a class which saves Button's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ButtonAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a ButtonAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ButtonAttributes() : base() { }
- ///
- /// Creates a new instance of a ButtonAttributes with attributes.
- ///
- /// Create ButtonAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ButtonAttributes(ButtonAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
-
- IsSelectable = attributes.IsSelectable;
- IconRelativeOrientation = attributes.IconRelativeOrientation;
-
- if (attributes.ShadowImageAttributes != null)
- {
- ShadowImageAttributes = attributes.ShadowImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.BackgroundImageAttributes != null)
- {
- BackgroundImageAttributes = attributes.BackgroundImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.OverlayImageAttributes != null)
- {
- OverlayImageAttributes = attributes.OverlayImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.TextAttributes != null)
- {
- TextAttributes = attributes.TextAttributes.Clone() as TextAttributes;
- }
-
- if (attributes.IconAttributes != null)
- {
- IconAttributes = attributes.IconAttributes.Clone() as ImageAttributes;
- }
- }
- ///
- /// Shadow image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ShadowImageAttributes
- {
- get;
- set;
- }
- ///
- /// Background image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BackgroundImageAttributes
- {
- get;
- set;
- }
- ///
- /// Overlay image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes OverlayImageAttributes
- {
- get;
- set;
- }
- ///
- /// Text's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes TextAttributes
- {
- get;
- set;
- }
- ///
- /// Icon's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes IconAttributes
- {
- get;
- set;
- }
- ///
- /// Flag to decide button can be selected or not.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? IsSelectable
- {
- get;
- set;
- }
- ///
- /// Icon relative orientation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Button.IconOrientation? IconRelativeOrientation
- {
- get;
- set;
- }
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ButtonAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/DropDownAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/DropDownAttributes.cs
deleted file mode 100755
index b0f20dcbd..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/DropDownAttributes.cs
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// DropDownAttributes is a class which saves DropDown's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class DropDownAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a DropDownAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownAttributes() : base()
- {
- SpaceBetweenButtonTextAndIcon = 0;
- Space = new Vector4(0, 0, 0, 0);
- ListRelativeOrientation = DropDown.ListOrientation.Left;
- ListMargin = new Vector4(0, 0, 0, 0);
- FocusedItemIndex = 0;
- }
- ///
- /// Creates a new instance of a DropDownAttributes with attributes.
- ///
- /// Create DropDownAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownAttributes(DropDownAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
-
- if (attributes.ButtonAttributes != null)
- {
- ButtonAttributes = attributes.ButtonAttributes.Clone() as ButtonAttributes;
- }
-
- if (attributes.HeaderTextAttributes != null)
- {
- HeaderTextAttributes = attributes.HeaderTextAttributes.Clone() as TextAttributes;
- }
-
- if (attributes.ListBackgroundImageAttributes != null)
- {
- ListBackgroundImageAttributes = attributes.ListBackgroundImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.Space != null)
- {
- Space = new Vector4(attributes.Space.X, attributes.Space.Y, attributes.Space.Z, attributes.Space.W);
- }
-
- if (attributes.ListMargin != null)
- {
- ListMargin = new Vector4(attributes.ListMargin.X, attributes.ListMargin.Y, attributes.ListMargin.Z, attributes.ListMargin.W);
- }
-
- if (attributes.ListSize2D != null)
- {
- ListSize2D = new Size2D(attributes.ListSize2D.Width, attributes.ListSize2D.Height);
- }
-
- if (attributes.ListPadding != null)
- {
- ListPadding = attributes.ListPadding;
- }
-
- SpaceBetweenButtonTextAndIcon = attributes.SpaceBetweenButtonTextAndIcon;
- ListRelativeOrientation = attributes.ListRelativeOrientation;
- FocusedItemIndex = attributes.FocusedItemIndex;
- }
-
- ///
- /// DropDown button's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ButtonAttributes ButtonAttributes
- {
- get;
- set;
- }
-
- ///
- /// Header text's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes HeaderTextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Space between button text and button icon.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int SpaceBetweenButtonTextAndIcon
- {
- get;
- set;
- }
-
- ///
- /// List background image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ListBackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Space in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector4 Space
- {
- get;
- set;
- }
-
- ///
- /// List relative orientation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDown.ListOrientation ListRelativeOrientation
- {
- get;
- set;
- }
-
- ///
- /// List margin.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector4 ListMargin
- {
- get;
- set;
- }
-
- ///
- /// Focused item index.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FocusedItemIndex
- {
- get;
- set;
- }
-
- ///
- /// List size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D ListSize2D
- {
- get;
- set;
- }
-
- ///
- /// List padding.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Extents ListPadding
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new DropDownAttributes(this);
- }
- }
-
- ///
- /// DropDownItemAttributes is a class which saves DropDownItem's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class DropDownItemAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a DropDownItemAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemAttributes() : base() { }
- ///
- /// Creates a new instance of a DropDownItemAttributes with attributes.
- ///
- /// Create DropDownItemAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemAttributes(DropDownItemAttributes attributes) : base(attributes)
- {
- if (attributes.TextAttributes != null)
- {
- TextAttributes = attributes.TextAttributes.Clone() as TextAttributes;
- }
-
- if (attributes.IconAttributes != null)
- {
- IconAttributes = attributes.IconAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.CheckImageAttributes != null)
- {
- CheckImageAttributes = attributes.CheckImageAttributes.Clone() as ImageAttributes;
- }
-
- CheckImageRightSpace = attributes.CheckImageRightSpace;
- IsSelected = attributes.IsSelected;
- }
-
- ///
- /// Text's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes TextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Icon's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes IconAttributes
- {
- get;
- set;
- }
-
- ///
- /// Check image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes CheckImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Right space from check image.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int CheckImageRightSpace
- {
- get;
- set;
- }
-
- ///
- /// Flag to decide item is selected or not.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsSelected
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new DropDownItemAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ImageAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ImageAttributes.cs
deleted file mode 100755
index 8f30230e6..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ImageAttributes.cs
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The image view attributes class.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ImageAttributes : ViewAttributes
- {
- ///
- /// Construct ImageAttributes.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes() : base() { }
- ///
- /// Construct with specified attribute.
- ///
- /// The specified ImageAttributes.
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes(ImageAttributes attributes) : base(attributes)
- {
- if (attributes == null)
- {
- return;
- }
-
- if (attributes.ResourceURL != null)
- {
- ResourceURL = attributes.ResourceURL.Clone() as StringSelector;
- }
-
- if (attributes.Border != null)
- {
- Border = attributes.Border.Clone() as RectangleSelector;
- }
- }
- ///
- /// Image URL.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector ResourceURL
- {
- get;
- set;
- }
- ///
- /// Image border.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public RectangleSelector Border
- {
- get;
- set;
- }
- ///
- /// Attributes's clone function.
- ///
- /// Return the attributes clone.
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ImageAttributes(this);
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/InputFieldAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/InputFieldAttributes.cs
deleted file mode 100755
index 6e8e2e0ef..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/InputFieldAttributes.cs
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// InputFieldAttributes is a class which saves InputField's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class InputFieldAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a InputFieldAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public InputFieldAttributes() : base() { }
-
- ///
- /// Creates a new instance of a InputFieldAttributes with attributes.
- ///
- /// Create InputFieldAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public InputFieldAttributes(InputFieldAttributes attrs) : base(attrs)
- {
- if (null == attrs)
- {
- return;
- }
- if (null != attrs.BackgroundImageAttributes)
- {
- BackgroundImageAttributes = attrs.BackgroundImageAttributes.Clone() as ImageAttributes;
- }
- if (null != attrs.InputBoxAttributes)
- {
- InputBoxAttributes = attrs.InputBoxAttributes.Clone() as TextFieldAttributes;
- }
- if (null != attrs.Space)
- {
- Space = attrs.Space;
- }
- }
-
- ///
- /// Gets or sets background image attributes of input field.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets input box attributes of input field.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextFieldAttributes InputBoxAttributes
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets space.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int? Space
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new InputFieldAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/LoadingAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/LoadingAttributes.cs
deleted file mode 100755
index 31998e25c..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/LoadingAttributes.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// LoadingAttributes is a class which saves Loading's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class LoadingAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a LoadingAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public LoadingAttributes() : base() { }
-
- ///
- /// Creates a new instance of a LoadingAttributes with attributes.
- ///
- /// Create LoadingAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public LoadingAttributes(LoadingAttributes attributes) : base(attributes)
- {
- if(null == attributes)
- {
- return;
- }
-
- if (null != attributes.FPS)
- {
- FPS = attributes.FPS.Clone() as IntSelector;
- }
- if (null != attributes.LoadingSize)
- {
- LoadingSize = attributes.LoadingSize;
- }
- if (null != attributes.ImageArray)
- {
- ImageArray = attributes.ImageArray;
- }
- }
-
- ///
- /// Gets or sets loading image resource array.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string[] ImageArray
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets loading image size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D LoadingSize
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets loading frame per second.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public IntSelector FPS
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new LoadingAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/PaginationAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/PaginationAttributes.cs
deleted file mode 100755
index b329e03c5..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/PaginationAttributes.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// PaginationAttributes used to config the pagination represent.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class PaginationAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a PaginationAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public PaginationAttributes() : base() { }
- ///
- /// Creates a new instance of a PaginationAttributes using attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public PaginationAttributes(PaginationAttributes attributes) : base(attributes)
- {
- if (attributes == null)
- {
- return;
- }
-
- if (attributes.IndicatorSize != null)
- {
- IndicatorSize = new Size2D(attributes.IndicatorSize.Width, attributes.IndicatorSize.Height);
- }
- if (attributes.IndicatorBackgroundURL != null)
- {
- IndicatorBackgroundURL = attributes.IndicatorBackgroundURL.Clone() as string;
- }
- if (attributes.IndicatorSelectURL != null)
- {
- IndicatorSelectURL = attributes.IndicatorSelectURL.Clone() as string;
- }
- IndicatorSpacing = attributes.IndicatorSpacing;
- }
-
- ///
- /// Gets or sets the size of the indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D IndicatorSize
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets the background resource of indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IndicatorBackgroundURL
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets the resource of the select indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IndicatorSelectURL
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets the space of the indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IndicatorSpacing
- {
- get;
- set;
- }
-
-
- ///
- /// Retrieves a copy of PaginationAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new PaginationAttributes(this);
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/PopupAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/PopupAttributes.cs
deleted file mode 100755
index 99547884f..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/PopupAttributes.cs
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// PopupAttributes is a class which saves Popup's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class PopupAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a PopupAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public PopupAttributes() : base() { }
- ///
- /// Creates a new instance of a PopupAttributes with attributes.
- ///
- /// Create PopupAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public PopupAttributes(PopupAttributes attributes) : base(attributes)
- {
- if (attributes.ShadowImageAttributes != null)
- {
- ShadowImageAttributes = attributes.ShadowImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.BackgroundImageAttributes != null)
- {
- BackgroundImageAttributes = attributes.BackgroundImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.TitleTextAttributes != null)
- {
- TitleTextAttributes = attributes.TitleTextAttributes.Clone() as TextAttributes;
- }
-
- if (attributes.ButtonAttributes != null)
- {
- ButtonAttributes = attributes.ButtonAttributes.Clone() as ButtonAttributes;
- }
-
- if(attributes.ShadowOffset != null)
- {
- ShadowOffset = new Vector4(attributes.ShadowOffset.W, attributes.ShadowOffset.X, attributes.ShadowOffset.Y, attributes.ShadowOffset.Z);
- }
-
- }
-
- ///
- /// Shadow image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ShadowImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Background image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Title Text's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes TitleTextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Shadow offset.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector4 ShadowOffset
- {
- get;
- set;
- }
-
- ///
- /// Popup button's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ButtonAttributes ButtonAttributes
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new PopupAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ProgressAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ProgressAttributes.cs
deleted file mode 100755
index 908e743e4..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ProgressAttributes.cs
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// ProgressAttributes is a class which saves Progress's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ProgressAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a ProgressAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ProgressAttributes() : base() { }
-
- ///
- /// Creates a new instance of a ProgressAttributes with attributes.
- ///
- /// Create ProgressAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ProgressAttributes(ProgressAttributes attributes) : base(attributes)
- {
- if (null == attributes)
- {
- return;
- }
-
- if (null != attributes.TrackImageAttributes)
- {
- TrackImageAttributes = attributes.TrackImageAttributes.Clone() as ImageAttributes;
- }
-
- if (null != attributes.ProgressImageAttributes)
- {
- ProgressImageAttributes = attributes.ProgressImageAttributes.Clone() as ImageAttributes;
- }
-
- if (null != attributes.BufferImageAttributes)
- {
- BufferImageAttributes = attributes.BufferImageAttributes.Clone() as ImageAttributes;
- }
-
- if (null != attributes.LoadingImageAttributes)
- {
- LoadingImageAttributes = attributes.LoadingImageAttributes.Clone() as ImageAttributes;
- }
- }
-
- ///
- /// Get or set Track Image Attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes TrackImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set Progress Image Attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ProgressImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set Buffer Image Attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BufferImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set LoadingImageAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes LoadingImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ProgressAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ScrollbarAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ScrollbarAttributes.cs
deleted file mode 100755
index 2094c5e59..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ScrollbarAttributes.cs
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// ScrollBarAttributes is a class which saves Scrollbar's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ScrollBarAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a ScrollBarAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ScrollBarAttributes() : base()
- {
- Direction = ScrollBar.DirectionType.Horizontal;
- }
-
- ///
- /// Creates a new instance of a ScrollBarAttributes with attributes.
- ///
- /// Create ScrollBarAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ScrollBarAttributes(ScrollBarAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
-
- if (attributes.TrackImageAttributes != null)
- {
- TrackImageAttributes = attributes.TrackImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.ThumbImageAttributes != null)
- {
- ThumbImageAttributes = attributes.ThumbImageAttributes.Clone() as ImageAttributes;
- }
-
- Direction = attributes.Direction;
- Duration = attributes.Duration;
- }
-
- ///
- /// Get or set track image attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes TrackImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set thumb image attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ThumbImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set direction type
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ScrollBar.DirectionType? Direction
- {
- get;
- set;
- }
-
- ///
- /// Get or set duration
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint Duration
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ScrollBarAttributes(this);
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/SelectButtonAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/SelectButtonAttributes.cs
deleted file mode 100755
index 432489fdd..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/SelectButtonAttributes.cs
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// SelectButtonAttributes is a class which saves SelectButton's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class SelectButtonAttributes : ButtonAttributes
- {
- ///
- /// Creates a new instance of a SelectButtonAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SelectButtonAttributes() : base() { }
- ///
- /// Creates a new instance of a SelectButtonAttributes with attributes.
- ///
- /// Create SelectButtonAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SelectButtonAttributes(SelectButtonAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
- if (attributes.CheckImageAttributes != null)
- {
- CheckImageAttributes = attributes.CheckImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.CheckBackgroundImageAttributes != null)
- {
- CheckBackgroundImageAttributes = attributes.CheckBackgroundImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.CheckShadowImageAttributes != null)
- {
- CheckShadowImageAttributes = attributes.CheckShadowImageAttributes.Clone() as ImageAttributes;
- }
- }
-
- ///
- /// Check image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes CheckImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Background image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes CheckBackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Shadow image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes CheckShadowImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new SelectButtonAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/SliderAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/SliderAttributes.cs
deleted file mode 100755
index e282968fa..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/SliderAttributes.cs
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// SliderAttributes is a class which saves Slider's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class SliderAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a SliderAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SliderAttributes() : base()
- {
- IndicatorType = Slider.IndicatorType.None;
- }
-
- ///
- /// Creates a new instance of a SliderAttributes with attributes.
- ///
- /// Create SliderAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SliderAttributes(SliderAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
- if (attributes.BackgroundTrackAttributes != null)
- {
- BackgroundTrackAttributes = attributes.BackgroundTrackAttributes.Clone() as ImageAttributes;
- }
- if (attributes.SlidedTrackAttributes != null)
- {
- SlidedTrackAttributes = attributes.SlidedTrackAttributes.Clone() as ImageAttributes;
- }
- if (attributes.ThumbBackgroundAttributes != null)
- {
- ThumbBackgroundAttributes = attributes.ThumbBackgroundAttributes.Clone() as ImageAttributes;
- }
- if (attributes.ThumbAttributes != null)
- {
- ThumbAttributes = attributes.ThumbAttributes.Clone() as ImageAttributes;
- }
- if (attributes.LowIndicatorImageAttributes != null)
- {
- LowIndicatorImageAttributes = attributes.LowIndicatorImageAttributes.Clone() as ImageAttributes;
- }
- if (attributes.HighIndicatorImageAttributes != null)
- {
- HighIndicatorImageAttributes = attributes.HighIndicatorImageAttributes.Clone() as ImageAttributes;
- }
- if (attributes.LowIndicatorTextAttributes != null)
- {
- LowIndicatorTextAttributes = attributes.LowIndicatorTextAttributes.Clone() as TextAttributes;
- }
- if (attributes.HighIndicatorTextAttributes != null)
- {
- HighIndicatorTextAttributes = attributes.HighIndicatorTextAttributes.Clone() as TextAttributes;
- }
- if (attributes.TrackThickness != null)
- {
- TrackThickness = attributes.TrackThickness;
- }
- if (attributes.SpaceBetweenTrackAndIndicator != null)
- {
- SpaceBetweenTrackAndIndicator = attributes.SpaceBetweenTrackAndIndicator;
- }
- IndicatorType = attributes.IndicatorType;
- }
-
- ///
- /// Get or set background track attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BackgroundTrackAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set slided track attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes SlidedTrackAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set thumb attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ThumbAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set thumb background attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes ThumbBackgroundAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set low indicator image attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes LowIndicatorImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set high indicator image attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes HighIndicatorImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or low indicator text attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes LowIndicatorTextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set high indicator text attributes
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes HighIndicatorTextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Get or set track thickness
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint? TrackThickness
- {
- get;
- set;
- }
-
- ///
- /// Get or set space between track and indicator
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint? SpaceBetweenTrackAndIndicator
- {
- get;
- set;
- }
-
- ///
- /// Get or set Indicator type
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Slider.IndicatorType IndicatorType
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new SliderAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/SwitchAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/SwitchAttributes.cs
deleted file mode 100755
index 2090f25f8..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/SwitchAttributes.cs
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// SwitchAttributes is a class which saves Switch's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class SwitchAttributes : ButtonAttributes
- {
- ///
- /// Creates a new instance of a SwitchAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SwitchAttributes() : base() { }
- ///
- /// Creates a new instance of a SwitchAttributes with attributes.
- ///
- /// Create SwitchAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public SwitchAttributes(SwitchAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
- if (attributes.SwitchHandlerImageAttributes != null)
- {
- SwitchHandlerImageAttributes = attributes.SwitchHandlerImageAttributes.Clone() as ImageAttributes;
- }
-
- if (attributes.SwitchBackgroundImageAttributes != null)
- {
- SwitchBackgroundImageAttributes = attributes.SwitchBackgroundImageAttributes.Clone() as ImageAttributes;
- }
- }
-
- ///
- /// Handler image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes SwitchHandlerImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Background image's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes SwitchBackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new SwitchAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/TabAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/TabAttributes.cs
deleted file mode 100755
index 57f3b82d6..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/TabAttributes.cs
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// TabAttributes is a class which saves Tab's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class TabAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a TabAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TabAttributes() : base()
- {
- Space = new Vector4(0, 0, 0, 0);
- IsNatureTextWidth = false;
- ItemGap = 0;
- }
-
- ///
- /// Creates a new instance of a TabAttributes with attributes.
- ///
- /// Create TabAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TabAttributes(TabAttributes attributes) : base(attributes)
- {
- if (null == attributes)
- {
- return;
- }
-
- if (attributes.UnderLineAttributes != null)
- {
- UnderLineAttributes = attributes.UnderLineAttributes.Clone() as ViewAttributes;
- }
-
- if (attributes.TextAttributes != null)
- {
- TextAttributes = attributes.TextAttributes.Clone() as TextAttributes;
- }
-
- if (attributes.Space != null)
- {
- Space = new Vector4(attributes.Space.X, attributes.Space.Y, attributes.Space.Z, attributes.Space.W);
- }
- else
- {
- Space = new Vector4(0, 0, 0, 0);
- }
- ItemGap = attributes.ItemGap;
- IsNatureTextWidth = attributes.IsNatureTextWidth;
- }
-
- ///
- /// UnderLine's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewAttributes UnderLineAttributes
- {
- get;
- set;
- }
-
- ///
- /// Text's attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes TextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Flag to decide if item is fill with item text's natural width.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsNatureTextWidth
- {
- get;
- set;
- }
-
- ///
- /// Gap between items.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ItemGap
- {
- get;
- set;
- }
-
- ///
- /// Space in Tab.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector4 Space
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new TabAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/TextAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/TextAttributes.cs
deleted file mode 100755
index bf083fabd..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/TextAttributes.cs
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The Text Attributes class.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class TextAttributes : ViewAttributes
- {
- ///
- /// Construct TextAttributes.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes() : base() { }
- ///
- /// Construct with specified attribute.
- ///
- /// The specified TextAttributes.
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes(TextAttributes attributes) : base(attributes)
- {
- if(attributes == null)
- {
- return;
- }
- if (attributes.Text != null)
- {
- Text = attributes.Text.Clone() as StringSelector;
- }
-
- if (attributes.TranslatableText != null)
- {
- TranslatableText = attributes.TranslatableText.Clone() as StringSelector;
- }
-
- if (attributes.MultiLine != null)
- {
- MultiLine = attributes.MultiLine;
- }
-
- if (attributes.HorizontalAlignment != null)
- {
- HorizontalAlignment = attributes.HorizontalAlignment;
- }
-
- if (attributes.VerticalAlignment != null)
- {
- VerticalAlignment = attributes.VerticalAlignment;
- }
-
- if (attributes.EnableMarkup != null)
- {
- EnableMarkup = attributes.EnableMarkup;
- }
-
- if (attributes.EnableAutoScroll != null)
- {
- EnableAutoScroll = attributes.EnableAutoScroll;
- }
-
- if (attributes.AutoScrollSpeed != null)
- {
- AutoScrollSpeed = attributes.AutoScrollSpeed;
- }
-
- if (attributes.AutoScrollLoopCount != null)
- {
- AutoScrollLoopCount = attributes.AutoScrollLoopCount;
- }
-
- if (attributes.AutoScrollGap != null)
- {
- AutoScrollGap = attributes.AutoScrollGap;
- }
-
- if (attributes.AutoScrollLoopDelay != null)
- {
- AutoScrollLoopDelay = attributes.AutoScrollLoopDelay;
- }
-
- if (attributes.AutoScrollStopMode != null)
- {
- AutoScrollStopMode = attributes.AutoScrollStopMode;
- }
-
- if (attributes.LineSpacing != null)
- {
- LineSpacing = attributes.LineSpacing;
- }
-
- if (attributes.TextColor != null)
- {
- TextColor = attributes.TextColor.Clone() as ColorSelector;
- }
-
- if (attributes.FontFamily != null)
- {
- FontFamily = attributes.FontFamily;
- }
-
- if (attributes.PointSize != null)
- {
- PointSize = attributes.PointSize.Clone() as FloatSelector;
- }
-
- if (attributes.ShadowOffset != null)
- {
- ShadowOffset = attributes.ShadowOffset.Clone() as Vector2Selector;
- }
-
- if (attributes.ShadowColor != null)
- {
- ShadowColor = attributes.ShadowColor.Clone() as ColorSelector;
- }
-
- if (attributes.OutstrokeColor != null)
- {
- OutstrokeColor = attributes.OutstrokeColor.Clone() as ColorSelector;
- }
- if (attributes.OutstrokeThickness != null)
- {
- OutstrokeThickness = attributes.OutstrokeThickness.Clone() as IntSelector;
- }
- }
- ///
- /// TextLabel Text
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector Text
- {
- get;
- set;
- }
- ///
- /// The TranslatableText property
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector TranslatableText
- {
- get;
- set;
- }
- ///
- /// TextLabel MultiLine
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? MultiLine
- {
- get;
- set;
- }
- ///
- /// TextLabel HorizontalAlignment
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public HorizontalAlignment? HorizontalAlignment
- {
- get;
- set;
- }
- ///
- /// TextLabel VerticalAlignment
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public VerticalAlignment? VerticalAlignment
- {
- get;
- set;
- }
- ///
- /// TextLabel EnableMarkup
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableMarkup
- {
- get;
- set;
- }
- ///
- /// TextLabel EnableAutoScroll
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableAutoScroll
- {
- get;
- set;
- }
- ///
- /// TextLabel AutoScrollSpeed
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int? AutoScrollSpeed
- {
- get;
- set;
- }
- ///
- /// TextLabel AutoScrollLoopCount
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int? AutoScrollLoopCount
-{
- get;
- set;
- }
- ///
- /// TextLabel AutoScrollGap
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float? AutoScrollGap
- {
- get;
- set;
- }
- ///
- /// TextLabel AutoScrollLoopDelay
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float? AutoScrollLoopDelay
- {
- get;
- set;
- }
- ///
- /// TextLabel AutoScrollStopMode
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public AutoScrollStopMode? AutoScrollStopMode
- {
- get;
- set;
- }
- ///
- /// TextLabel LineSpacing
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float? LineSpacing
- {
- get;
- set;
- }
- ///
- /// TextLabel TextColor
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector TextColor
- {
- get;
- set;
- }
- ///
- /// TextLabel FontFamily
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get;
- set;
- }
- ///
- /// TextLabel PointSize
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public FloatSelector PointSize
- {
- get;
- set;
- }
- ///
- /// TextLabel ShadowOffset
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector2Selector ShadowOffset
- {
- get;
- set;
- }
- ///
- /// TextLabel ShadowColor
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector ShadowColor
- {
- get;
- set;
- }
- ///
- /// TextLabel OutstrokeColor
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector OutstrokeColor
- {
- get;
- set;
- }
- ///
- /// TextLabel OutstrokeThickness
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public IntSelector OutstrokeThickness
- {
- get;
- set;
- }
- ///
- /// Attributes's clone function.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new TextAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/TextFieldAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/TextFieldAttributes.cs
deleted file mode 100755
index 6e775b619..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/TextFieldAttributes.cs
+++ /dev/null
@@ -1,319 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// TextFieldAttributes is a class which saves TextField's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class TextFieldAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a TextField.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextFieldAttributes() : base() { }
-
- ///
- /// Creates a new instance of a TextField with style.
- ///
- /// Create TextField by special style defined in UX.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextFieldAttributes(TextFieldAttributes attributes) : base(attributes)
- {
- if(null == attributes)
- {
- return;
- }
- if (null != attributes.Text)
- {
- Text = attributes.Text.Clone() as StringSelector;
- }
- if (null != attributes.PlaceholderText)
- {
- PlaceholderText = attributes.PlaceholderText.Clone() as StringSelector;
- }
- if (null != attributes.TranslatablePlaceholderText)
- {
- TranslatablePlaceholderText = attributes.TranslatablePlaceholderText.Clone() as StringSelector;
- }
- if (null != attributes.HorizontalAlignment)
- {
- HorizontalAlignment = attributes.HorizontalAlignment;
- }
- if (null != attributes.VerticalAlignment)
- {
- VerticalAlignment = attributes.VerticalAlignment;
- }
- if (null != attributes.EnableMarkup)
- {
- EnableMarkup = attributes.EnableMarkup;
- }
- if (null != attributes.TextColor)
- {
- TextColor = attributes.TextColor.Clone() as ColorSelector;
- }
- if (null != attributes.PlaceholderTextColor)
- {
- PlaceholderTextColor = attributes.PlaceholderTextColor.Clone() as ColorSelector;
- }
- if (null != attributes.PrimaryCursorColor)
- {
- PrimaryCursorColor = attributes.PrimaryCursorColor.Clone() as ColorSelector;
- }
- if (null != attributes.SecondaryCursorColor)
- {
- SecondaryCursorColor = attributes.SecondaryCursorColor.Clone() as ColorSelector;
- }
- if (null != attributes.FontFamily)
- {
- FontFamily = attributes.FontFamily;
- }
- if (null != attributes.PointSize)
- {
- PointSize = attributes.PointSize.Clone() as FloatSelector;
- }
- if (null != attributes.EnableCursorBlink)
- {
- EnableCursorBlink = attributes.EnableCursorBlink;
- }
- if (null != attributes.EnableSelection)
- {
- EnableSelection = attributes.EnableSelection;
- }
- if (null != attributes.CursorWidth)
- {
- CursorWidth = attributes.CursorWidth;
- }
- if (null != attributes.EnableEllipsis)
- {
- EnableEllipsis = attributes.EnableEllipsis;
- }
- }
-
- ///
- /// Gets or sets text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector Text
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets place holder text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector PlaceholderText
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets translatable place holder text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector TranslatablePlaceholderText
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets horizontal alignment of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public HorizontalAlignment? HorizontalAlignment
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets vertical alignment of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public VerticalAlignment? VerticalAlignment
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets enable mark up.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableMarkup
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets text color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector TextColor
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets place holder text color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector PlaceholderTextColor
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets primary cursor color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector PrimaryCursorColor
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets secondary cursor color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector SecondaryCursorColor
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets font family of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets point size of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public FloatSelector PointSize
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets enable cursor blink.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableCursorBlink
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets enable selection.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableSelection
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets cursor width.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int? CursorWidth
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets if enable ellipsis.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? EnableEllipsis
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new TextFieldAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ToastAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ToastAttributes.cs
deleted file mode 100755
index a9880f199..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ToastAttributes.cs
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// ToastAttributes is a class which saves Toast's ux data.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ToastAttributes : ViewAttributes
- {
- ///
- /// Creates a new instance of a ToastAttributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ToastAttributes() : base() { }
-
- ///
- /// Creates a new instance of a ToastAttributes with attributes.
- ///
- /// Create ToastAttributes by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ToastAttributes(ToastAttributes attributes) : base(attributes)
- {
- if(null == attributes)
- {
- return;
- }
- if(null != attributes.BackgroundImageAttributes)
- {
- BackgroundImageAttributes = attributes.BackgroundImageAttributes.Clone() as ImageAttributes;
- }
- if(null != attributes.TextAttributes)
- {
- TextAttributes = attributes.TextAttributes.Clone() as TextAttributes;
- }
- TextLineHeight = attributes.TextLineHeight;
- TextLineSpace = attributes.TextLineSpace;
- Duration = attributes.Duration;
- }
-
- ///
- /// Gets or sets background image attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ImageAttributes BackgroundImageAttributes
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets text attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public TextAttributes TextAttributes
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets toast text line height.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint? TextLineHeight
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets toast text line space.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint? TextLineSpace
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets toast show duration time.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public uint? Duration
- {
- get;
- set;
- }
-
- ///
- /// Attributes's clone function.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ToastAttributes(this);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Attributes/ViewAttributes.cs b/src/Tizen.NUI.CommonUI/Attributes/ViewAttributes.cs
deleted file mode 100755
index c73e86bd0..000000000
--- a/src/Tizen.NUI.CommonUI/Attributes/ViewAttributes.cs
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The base class for Children attributes in Components.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ViewAttributes : Attributes
- {
- ///
- /// Construct ViewAttributes.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewAttributes() : base() { }
- ///
- /// Constructs a ViewAttributes that is a copy of attrs.
- ///
- /// Construct Attributes
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewAttributes(ViewAttributes attributes)
- {
- if (attributes == null)
- {
- return;
- }
-
- if (attributes.Position2D != null)
- {
- Position2D = new Position2D(attributes.Position2D.X, attributes.Position2D.Y);
- }
-
- if (attributes.Size2D != null)
- {
- Size2D = new Size2D(attributes.Size2D.Width, attributes.Size2D.Height);
- }
-
- if (attributes.BackgroundColor != null)
- {
- BackgroundColor = attributes.BackgroundColor.Clone() as ColorSelector;
- }
-
- if (attributes.PositionUsesPivotPoint != null)
- {
- PositionUsesPivotPoint = attributes.PositionUsesPivotPoint;
- }
-
- if (attributes.ParentOrigin != null)
- {
- ParentOrigin = new Position(attributes.ParentOrigin.X, attributes.ParentOrigin.Y, attributes.ParentOrigin.Z);
- }
-
- if (attributes.PivotPoint != null)
- {
- PivotPoint = new Position(attributes.PivotPoint.X, attributes.PivotPoint.Y, attributes.PivotPoint.Z);
- }
-
- if (attributes.WidthResizePolicy != null)
- {
- WidthResizePolicy = attributes.WidthResizePolicy;
- }
-
- if (attributes.HeightResizePolicy != null)
- {
- HeightResizePolicy = attributes.HeightResizePolicy;
- }
-
- if (attributes.MinimumSize != null)
- {
- MinimumSize = new Size2D(attributes.MinimumSize.Width, attributes.MinimumSize.Height);
- }
-
- if (attributes.SizeModeFactor != null)
- {
- SizeModeFactor = new Vector3(attributes.SizeModeFactor.X, attributes.SizeModeFactor.Y, attributes.SizeModeFactor.Z);
- }
-
- if (attributes.Opacity != null)
- {
- Opacity = attributes.Opacity.Clone() as FloatSelector;
- }
-
- PaddingLeft = attributes.PaddingLeft;
- PaddingRight = attributes.PaddingRight;
- PaddingTop = attributes.PaddingTop;
- PaddingBottom = attributes.PaddingBottom;
- }
- ///
- /// View Position
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D Position2D
- {
- get;
- set;
- }
- ///
- /// View Size
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D Size2D
- {
- get;
- set;
- }
- ///
- /// View BackgroundColor
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector BackgroundColor
- {
- get;
- set;
- }
- ///
- /// View PositionUsesPivotPoint
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool? PositionUsesPivotPoint
- {
- get;
- set;
- }
- ///
- /// View ParentOrigin
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position ParentOrigin
- {
- get;
- set;
- }
- ///
- /// View PivotPoint
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position PivotPoint
- {
- get;
- set;
- }
- ///
- /// View WidthResizePolicy
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ResizePolicyType? WidthResizePolicy
- {
- get;
- set;
- }
- ///
- /// View HeightResizePolicy
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ResizePolicyType? HeightResizePolicy
- {
- get;
- set;
- }
- ///
- /// View MinimumSize
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D MinimumSize
- {
- get;
- set;
- }
- ///
- /// View SizeModeFactor
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Vector3 SizeModeFactor
- {
- get;
- set;
- }
- ///
- /// View Opacity
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public FloatSelector Opacity
- {
- get;
- set;
- }
- ///
- /// View left padding
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int PaddingLeft
- {
- get;
- set;
- }
- ///
- /// View right padding
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int PaddingRight
- {
- get;
- set;
- }
- ///
- /// View top padding
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int PaddingTop
- {
- get;
- set;
- }
- ///
- /// View bottom padding
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int PaddingBottom
- {
- get;
- set;
- }
- ///
- /// Attributes's clone function.
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override Attributes Clone()
- {
- return new ViewAttributes(this);
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/Button.cs b/src/Tizen.NUI.CommonUI/Controls/Button.cs
deleted file mode 100755
index 704da8d87..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/Button.cs
+++ /dev/null
@@ -1,1503 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.ComponentModel;
-using Tizen.NUI.BaseComponents;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Button is one kind of common component, a button clearly describes what action will occur when the user selects it.
- /// Button may contain text or an icon.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class Button : Control
- {
- private ImageView backgroundImage;
- private ImageView shadowImage;
- private ImageView overlayImage;
-
- private TextLabel buttonText;
- private ImageView buttonIcon;
-
- private ButtonAttributes buttonAttributes;
- private EventHandler stateChangeHander;
-
- private bool isSelected = false;
- private bool isEnabled = true;
- private bool isPressed = false;
- ///
- /// Creates a new instance of a Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Button() : base()
- {
- Initialize();
- }
- ///
- /// Creates a new instance of a Button with style.
- ///
- /// Create Button by special style defined in UX.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Button(string style) : base(style)
- {
- Initialize();
- }
- ///
- /// Creates a new instance of a Button with attributes.
- ///
- /// Create Button by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Button(ButtonAttributes attributes) : base(attributes)
- {
- Initialize();
- }
- ///
- /// An event for the button clicked signal which can be used to subscribe or unsubscribe the event handler provided by the user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler ClickEvent;
- ///
- /// An event for the button state changed signal which can be used to subscribe or unsubscribe the event handler provided by the user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler StateChangedEvent
- {
- add
- {
- stateChangeHander += value;
- }
- remove
- {
- stateChangeHander -= value;
- }
- }
- ///
- /// Icon orientation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public enum IconOrientation
- {
- ///
- /// Top.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Top,
- ///
- /// Bottom.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Bottom,
- ///
- /// Left.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Left,
- ///
- /// Right.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Right,
- }
- ///
- /// Flag to decide Button can be selected or not.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsSelectable
- {
- get
- {
- return buttonAttributes?.IsSelectable ?? false;
- }
- set
- {
- buttonAttributes.IsSelectable = value;
- }
- }
- ///
- /// Background image's resource url in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string BackgroundImageURL
- {
- get
- {
- return buttonAttributes?.BackgroundImageAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- if (buttonAttributes.BackgroundImageAttributes.ResourceURL == null)
- {
- buttonAttributes.BackgroundImageAttributes.ResourceURL = new StringSelector();
- }
- buttonAttributes.BackgroundImageAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Background image's border in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Rectangle BackgroundImageBorder
- {
- get
- {
- return buttonAttributes?.BackgroundImageAttributes?.Border?.All;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- if (buttonAttributes.BackgroundImageAttributes.Border == null)
- {
- buttonAttributes.BackgroundImageAttributes.Border = new RectangleSelector();
- }
- buttonAttributes.BackgroundImageAttributes.Border.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Shadow image's resource url in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ShadowImageURL
- {
- get
- {
- return buttonAttributes?.ShadowImageAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateShadowAttributes();
- if (buttonAttributes.ShadowImageAttributes.ResourceURL == null)
- {
- buttonAttributes.ShadowImageAttributes.ResourceURL = new StringSelector();
- }
- buttonAttributes.ShadowImageAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Shadow image's border in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Rectangle ShadowImageBorder
- {
- get
- {
- return buttonAttributes?.ShadowImageAttributes?.Border?.All;
- }
- set
- {
- if (value != null)
- {
- CreateShadowAttributes();
- if (buttonAttributes.ShadowImageAttributes.Border == null)
- {
- buttonAttributes.ShadowImageAttributes.Border = new RectangleSelector();
- }
- buttonAttributes.ShadowImageAttributes.Border.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Overlay image's resource url in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string OverlayImageURL
- {
- get
- {
- return buttonAttributes?.OverlayImageAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateOverlayAttributes();
- if (buttonAttributes.OverlayImageAttributes.ResourceURL == null)
- {
- buttonAttributes.OverlayImageAttributes.ResourceURL = new StringSelector();
- }
- buttonAttributes.OverlayImageAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Overlay image's border in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Rectangle OverlayImageBorder
- {
- get
- {
- return buttonAttributes?.OverlayImageAttributes?.Border?.All;
- }
- set
- {
- if (value != null)
- {
- CreateOverlayAttributes();
- if (buttonAttributes.OverlayImageAttributes.Border == null)
- {
- buttonAttributes.OverlayImageAttributes.Border = new RectangleSelector();
- }
- buttonAttributes.OverlayImageAttributes.Border.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Text string in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string Text
- {
- get
- {
- return buttonAttributes?.TextAttributes?.Text?.All;
- }
- set
- {
- if (value != null)
- {
- CreateTextAttributes();
- if(buttonAttributes.TextAttributes.Text == null)
- {
- buttonAttributes.TextAttributes.Text = new StringSelector();
- }
- buttonAttributes.TextAttributes.Text.All = value;
-
- RelayoutRequest();
- }
- }
- }
- ///
- /// Translate text string in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string TranslatableText
- {
- get
- {
- return buttonAttributes?.TextAttributes?.TranslatableText?.All;
- }
- set
- {
- if (value != null)
- {
- CreateTextAttributes();
- if (buttonAttributes.TextAttributes.TranslatableText == null)
- {
- buttonAttributes.TextAttributes.TranslatableText = new StringSelector();
- }
- buttonAttributes.TextAttributes.TranslatableText.All = value;
-
- RelayoutRequest();
- }
- }
- }
- ///
- /// Text point size in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float PointSize
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PointSize?.All ?? 0;
- }
- set
- {
- CreateTextAttributes();
- if (buttonAttributes.TextAttributes.PointSize == null)
- {
- buttonAttributes.TextAttributes.PointSize = new FloatSelector();
- }
- buttonAttributes.TextAttributes.PointSize.All = value;
- RelayoutRequest();
- }
- }
- ///
- /// Text font family in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get
- {
- return buttonAttributes?.TextAttributes?.FontFamily;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.FontFamily = value;
- RelayoutRequest();
- }
- }
- ///
- /// Text color in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color TextColor
- {
- get
- {
- return buttonAttributes?.TextAttributes?.TextColor?.All;
- }
- set
- {
- CreateTextAttributes();
- if (buttonAttributes.TextAttributes.TextColor == null)
- {
- buttonAttributes.TextAttributes.TextColor = new ColorSelector();
- }
- buttonAttributes.TextAttributes.TextColor.All = value;
- RelayoutRequest();
- }
- }
- ///
- /// Text horizontal alignment in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public HorizontalAlignment TextAlignment
- {
- get
- {
- return buttonAttributes?.TextAttributes?.HorizontalAlignment ?? HorizontalAlignment.Center;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.HorizontalAlignment = value;
- RelayoutRequest();
- }
- }
- ///
- /// Icon image's resource url in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IconURL
- {
- get
- {
- return buttonAttributes?.IconAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateIconAttributes();
- if (buttonAttributes.IconAttributes.ResourceURL == null)
- {
- buttonAttributes.IconAttributes.ResourceURL = new StringSelector();
- }
- buttonAttributes.IconAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Text string selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector TextSelector
- {
- get
- {
- return buttonAttributes?.TextAttributes?.Text;
- }
- set
- {
- if (value != null)
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.Text = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Translateable text string selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector TranslatableTextSelector
- {
- get
- {
- return buttonAttributes?.TextAttributes?.TranslatableText;
- }
- set
- {
- if (value != null)
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.TranslatableText = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Text color selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector TextColorSelector
- {
- get
- {
- return buttonAttributes?.TextAttributes?.TextColor;
- }
- set
- {
- if(value != null)
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.TextColor = value.Clone() as ColorSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Text font size selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public FloatSelector PointSizeSelector
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PointSize;
- }
- set
- {
- if (value != null)
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.PointSize = value.Clone() as FloatSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Icon image's resource url selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector IconURLSelector
- {
- get
- {
- return buttonAttributes?.IconAttributes?.ResourceURL;
- }
- set
- {
- if (value != null)
- {
- CreateIconAttributes();
- buttonAttributes.IconAttributes.ResourceURL = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Background image's resource url selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector BackgroundImageURLSelector
- {
- get
- {
- return buttonAttributes?.BackgroundImageAttributes?.ResourceURL;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- buttonAttributes.BackgroundImageAttributes.ResourceURL = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Background image's border selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public RectangleSelector BackgroundImageBorderSelector
- {
- get
- {
- return buttonAttributes?.BackgroundImageAttributes?.Border;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- buttonAttributes.BackgroundImageAttributes.Border = value.Clone() as RectangleSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Shadow image's resource url selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector ShadowImageURLSelector
- {
- get
- {
- return buttonAttributes?.ShadowImageAttributes?.ResourceURL;
- }
- set
- {
- if (value != null)
- {
- CreateShadowAttributes();
- buttonAttributes.ShadowImageAttributes.ResourceURL = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Shadow image's border selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public RectangleSelector ShadowImageBorderSelector
- {
- get
- {
- return buttonAttributes?.ShadowImageAttributes?.Border;
- }
- set
- {
- if (value != null)
- {
- CreateShadowAttributes();
- buttonAttributes.ShadowImageAttributes.Border = value.Clone() as RectangleSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Overlay image's resource url selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public StringSelector OverlayImageURLSelector
- {
- get
- {
- return buttonAttributes?.OverlayImageAttributes?.ResourceURL;
- }
- set
- {
- if (value != null)
- {
- CreateOverlayAttributes();
- buttonAttributes.OverlayImageAttributes.ResourceURL = value.Clone() as StringSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Overlay image's border selector in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public RectangleSelector OverlayImageBorderSelector
- {
- get
- {
- return buttonAttributes?.OverlayImageAttributes?.Border;
- }
- set
- {
- if (value != null)
- {
- CreateOverlayAttributes();
- buttonAttributes.OverlayImageAttributes.Border = value.Clone() as RectangleSelector;
- RelayoutRequest();
- }
- }
- }
- ///
- /// Flag to decide selected state in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsSelected
- {
- get
- {
- return isSelected;
- }
- set
- {
- isSelected = value;
- UpdateState();
- }
- }
- ///
- /// Flag to decide enable or disable in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsEnabled
- {
- get
- {
- return isEnabled;
- }
- set
- {
- isEnabled = value;
- UpdateState();
- }
- }
-
- ///
- /// Icon relative orientation in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public IconOrientation? IconRelativeOrientation
- {
- get
- {
- return buttonAttributes?.IconRelativeOrientation;
- }
- set
- {
- if(buttonAttributes != null && buttonAttributes.IconRelativeOrientation != value)
- {
- buttonAttributes.IconRelativeOrientation = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Icon left padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IconPaddingLeft
- {
- get
- {
- return buttonAttributes?.IconAttributes?.PaddingLeft ?? 0;
- }
- set
- {
- CreateIconAttributes();
- buttonAttributes.IconAttributes.PaddingLeft = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Icon right padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IconPaddingRight
- {
- get
- {
- return buttonAttributes?.IconAttributes?.PaddingRight ?? 0;
- }
- set
- {
- CreateIconAttributes();
- buttonAttributes.IconAttributes.PaddingRight = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Icon top padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IconPaddingTop
- {
- get
- {
- return buttonAttributes?.IconAttributes?.PaddingTop ?? 0;
- }
- set
- {
- CreateIconAttributes();
- buttonAttributes.IconAttributes.PaddingTop = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Icon bottom padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IconPaddingBottom
- {
- get
- {
- return buttonAttributes?.IconAttributes?.PaddingBottom ?? 0;
- }
- set
- {
- CreateIconAttributes();
- buttonAttributes.IconAttributes.PaddingBottom = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Text left padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int TextPaddingLeft
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PaddingLeft ?? 0;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.PaddingLeft = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Text right padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int TextPaddingRight
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PaddingRight ?? 0;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.PaddingRight = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Text top padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int TextPaddingTop
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PaddingTop ?? 0;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.PaddingTop = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Text bottom padding in Button, work only when show icon and text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int TextPaddingBottom
- {
- get
- {
- return buttonAttributes?.TextAttributes?.PaddingBottom ?? 0;
- }
- set
- {
- CreateTextAttributes();
- buttonAttributes.TextAttributes.PaddingBottom = value;
- RelayoutRequest();
- }
- }
- ///
- /// Dispose Button and all children on it.
- ///
- /// Dispose type.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- if (buttonIcon != null)
- {
- buttonIcon.Relayout -= OnIconRelayout;
- Utility.Dispose(buttonIcon);
- }
- if (buttonText != null)
- {
- Utility.Dispose(buttonText);
- }
- if (overlayImage != null)
- {
- Utility.Dispose(overlayImage);
- }
- if (backgroundImage != null)
- {
- Utility.Dispose(backgroundImage);
- }
- if (shadowImage != null)
- {
- Utility.Dispose(shadowImage);
- }
- }
-
- base.Dispose(type);
- }
- ///
- /// Called after a key event is received by the view that has had its focus set.
- ///
- /// The key event.
- /// True if the key event should be consumed.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool OnKey(Key key)
- {
- if (key.State == Key.StateType.Down)
- {
- if (key.KeyPressedName == "Return")
- {
- isPressed = true;
- UpdateState();
- if(isEnabled)
- {
- ClickEventArgs eventArgs = new ClickEventArgs();
- OnClick(eventArgs);
- }
- }
- }
- else if (key.State == Key.StateType.Up)
- {
- if (key.KeyPressedName == "Return")
- {
- isPressed = false;
- if (buttonAttributes.IsSelectable != null && buttonAttributes.IsSelectable == true)
- {
- isSelected = !isSelected;
- }
- UpdateState();
- }
- }
- return base.OnKey(key);
- }
- ///
- /// Called when the control gain key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is gained.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnFocusGained()
- {
- base.OnFocusGained();
- UpdateState();
- }
- ///
- /// Called when the control loses key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is lost.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnFocusLost()
- {
- base.OnFocusLost();
- UpdateState();
- }
- ///
- /// Tap gesture event callback.
- ///
- /// Source which recieved touch event.
- /// Tap gesture event argument.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnTapGestureDetected(object source, TapGestureDetector.DetectedEventArgs e)
- {
- if (isEnabled)
- {
- ClickEventArgs eventArgs = new ClickEventArgs();
- OnClick(eventArgs);
- base.OnTapGestureDetected(source, e);
- }
- }
-
- ///
- /// Called after a touch event is received by the owning view.
- /// CustomViewBehaviour.REQUIRES_TOUCH_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
- ///
- /// The touch event.
- /// True if the event should be consumed.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool OnTouch(Touch touch)
- {
- PointStateType state = touch.GetState(0);
-
- switch(state)
- {
- case PointStateType.Down:
- isPressed = true;
- UpdateState();
- return true;
- case PointStateType.Interrupted:
- isPressed = false;
- UpdateState();
- return true;
- case PointStateType.Up:
- isPressed = false;
- if (buttonAttributes.IsSelectable != null && buttonAttributes.IsSelectable == true)
- {
- isSelected = !isSelected;
- }
- UpdateState();
- return true;
- default:
- break;
- }
- return base.OnTouch(touch);
- }
- ///
- /// Get Button attribues.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return new ButtonAttributes();
- }
- ///
- /// Update Button by attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnUpdate()
- {
- if (buttonAttributes.ShadowImageAttributes != null)
- {
- if(shadowImage == null)
- {
- shadowImage = new ImageView()
- {
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- this.Add(shadowImage);
- }
- ApplyAttributes(shadowImage, buttonAttributes.ShadowImageAttributes);
- }
-
- if (buttonAttributes.BackgroundImageAttributes != null)
- {
- if(backgroundImage == null)
- {
- backgroundImage = new ImageView()
- {
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- this.Add(backgroundImage);
- }
- ApplyAttributes(backgroundImage, buttonAttributes.BackgroundImageAttributes);
- }
-
- if (buttonAttributes.OverlayImageAttributes != null)
- {
- if(overlayImage == null)
- {
- overlayImage = new ImageView()
- {
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- this.Add(overlayImage);
- }
- ApplyAttributes(overlayImage, buttonAttributes.OverlayImageAttributes);
- }
-
- if (buttonAttributes.TextAttributes != null)
- {
- if(buttonText == null)
- {
- buttonText = new TextLabel();
- this.Add(buttonText);
- }
- ApplyAttributes(buttonText, buttonAttributes.TextAttributes);
- }
-
- if (buttonAttributes.IconAttributes != null)
- {
- if(buttonIcon == null)
- {
- buttonIcon = new ImageView();
- buttonIcon.Relayout += OnIconRelayout;
- this.Add(buttonIcon);
- }
- ApplyAttributes(buttonIcon, buttonAttributes.IconAttributes);
- }
-
- MeasureText();
- LayoutChild();
-
- Sensitive = isEnabled ? true : false;
- }
-
- ///
- /// Update Button State.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void UpdateState()
- {
- ControlStates sourceState = State;
- ControlStates targetState;
-
- if(isEnabled)
- {
- targetState = isPressed ? ControlStates.Pressed : (IsFocused ? (IsSelected ? ControlStates.SelectedFocused : ControlStates.Focused) : (IsSelected ? ControlStates.Selected : ControlStates.Normal));
- }
- else
- {
- targetState = IsSelected ? ControlStates.DisabledSelected : (IsFocused ? ControlStates.DisabledFocused : ControlStates.Disabled);
- }
- if(sourceState != targetState)
- {
- State = targetState;
-
- OnUpdate();
-
- StateChangeEventArgs e = new StateChangeEventArgs
- {
- PreviousState = sourceState,
- CurrentState = targetState
- };
- stateChangeHander?.Invoke(this, e);
- }
- }
- ///
- /// It is hijack by using protected, attributes copy problem when class inherited from Button.
- ///
- /// 6
- private void Initialize()
- {
- buttonAttributes = attributes as ButtonAttributes;
- if (buttonAttributes == null)
- {
- throw new Exception("Button attribute parse error.");
- }
-
- ApplyAttributes(this, buttonAttributes);
- LayoutDirectionChanged += OnLayoutDirectionChanged;
- }
-
- ///
- /// Measure text, it can be override.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void MeasureText()
- {
- if (buttonAttributes.IconRelativeOrientation == null || buttonIcon == null || buttonText == null)
- {
- return;
- }
- buttonText.WidthResizePolicy = ResizePolicyType.Fixed;
- buttonText.HeightResizePolicy = ResizePolicyType.Fixed;
- int textPaddingLeft = buttonAttributes.TextAttributes.PaddingLeft;
- int textPaddingRight = buttonAttributes.TextAttributes.PaddingRight;
- int textPaddingTop = buttonAttributes.TextAttributes.PaddingTop;
- int textPaddingBottom = buttonAttributes.TextAttributes.PaddingBottom;
-
- int iconPaddingLeft = buttonAttributes.IconAttributes.PaddingLeft;
- int iconPaddingRight = buttonAttributes.IconAttributes.PaddingRight;
- int iconPaddingTop = buttonAttributes.IconAttributes.PaddingTop;
- int iconPaddingBottom = buttonAttributes.IconAttributes.PaddingBottom;
-
- if (IconRelativeOrientation == IconOrientation.Top || IconRelativeOrientation == IconOrientation.Bottom)
- {
- buttonText.SizeWidth = SizeWidth - textPaddingLeft - textPaddingRight;
- buttonText.SizeHeight = SizeHeight - textPaddingTop - textPaddingBottom - iconPaddingTop - iconPaddingBottom - buttonIcon.SizeHeight;
- }
- else
- {
- buttonText.SizeWidth = SizeWidth - textPaddingLeft - textPaddingRight - iconPaddingLeft - iconPaddingRight - buttonIcon.SizeWidth;
- buttonText.SizeHeight = SizeHeight - textPaddingTop - textPaddingBottom;
- }
- }
- ///
- /// Layout child, it can be override.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void LayoutChild()
- {
- if (buttonAttributes.IconRelativeOrientation == null || buttonIcon == null || buttonText == null)
- {
- return;
- }
-
- int textPaddingLeft = buttonAttributes.TextAttributes.PaddingLeft;
- int textPaddingRight = buttonAttributes.TextAttributes.PaddingRight;
- int textPaddingTop = buttonAttributes.TextAttributes.PaddingTop;
- int textPaddingBottom = buttonAttributes.TextAttributes.PaddingBottom;
-
- int iconPaddingLeft = buttonAttributes.IconAttributes.PaddingLeft;
- int iconPaddingRight = buttonAttributes.IconAttributes.PaddingRight;
- int iconPaddingTop = buttonAttributes.IconAttributes.PaddingTop;
- int iconPaddingBottom = buttonAttributes.IconAttributes.PaddingBottom;
-
- switch (IconRelativeOrientation)
- {
- case IconOrientation.Top:
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.TopCenter;
- buttonIcon.PivotPoint = NUI.PivotPoint.TopCenter;
- buttonIcon.Position2D = new Position2D(0, iconPaddingTop);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.BottomCenter;
- buttonText.PivotPoint = NUI.PivotPoint.BottomCenter;
- buttonText.Position2D = new Position2D(0, -textPaddingBottom);
- break;
- case IconOrientation.Bottom:
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.BottomCenter;
- buttonIcon.PivotPoint = NUI.PivotPoint.BottomCenter;
- buttonIcon.Position2D = new Position2D(0, -iconPaddingBottom);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.TopCenter;
- buttonText.PivotPoint = NUI.PivotPoint.TopCenter;
- buttonText.Position2D = new Position2D(0, textPaddingTop);
- break;
- case IconOrientation.Left:
- if (LayoutDirection == ViewLayoutDirectionType.LTR)
- {
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.CenterLeft;
- buttonIcon.PivotPoint = NUI.PivotPoint.CenterLeft;
- buttonIcon.Position2D = new Position2D(iconPaddingLeft, 0);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.CenterRight;
- buttonText.PivotPoint = NUI.PivotPoint.CenterRight;
- buttonText.Position2D = new Position2D(-textPaddingRight, 0);
- }
- else
- {
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.CenterRight;
- buttonIcon.PivotPoint = NUI.PivotPoint.CenterRight;
- buttonIcon.Position2D = new Position2D(-iconPaddingLeft, 0);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.CenterLeft;
- buttonText.PivotPoint = NUI.PivotPoint.CenterLeft;
- buttonText.Position2D = new Position2D(textPaddingRight, 0);
- }
-
- break;
- case IconOrientation.Right:
- if (LayoutDirection == ViewLayoutDirectionType.RTL)
- {
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.CenterLeft;
- buttonIcon.PivotPoint = NUI.PivotPoint.CenterLeft;
- buttonIcon.Position2D = new Position2D(iconPaddingRight, 0);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.CenterRight;
- buttonText.PivotPoint = NUI.PivotPoint.CenterRight;
- buttonText.Position2D = new Position2D(-textPaddingLeft, 0);
- }
- else
- {
- buttonIcon.PositionUsesPivotPoint = true;
- buttonIcon.ParentOrigin = NUI.ParentOrigin.CenterRight;
- buttonIcon.PivotPoint = NUI.PivotPoint.CenterRight;
- buttonIcon.Position2D = new Position2D(-iconPaddingRight, 0);
-
- buttonText.PositionUsesPivotPoint = true;
- buttonText.ParentOrigin = NUI.ParentOrigin.CenterLeft;
- buttonText.PivotPoint = NUI.PivotPoint.CenterLeft;
- buttonText.Position2D = new Position2D(textPaddingLeft, 0);
- }
- break;
- default:
- break;
- }
- }
- ///
- /// Theme change callback when theme is changed, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnThemeChangedEvent(object sender, StyleManager.ThemeChangeEventArgs e)
- {
- ButtonAttributes tempAttributes = StyleManager.Instance.GetAttributes(style) as ButtonAttributes;
- if(tempAttributes != null)
- {
- attributes = buttonAttributes = tempAttributes;
- RelayoutRequest();
- }
- }
-
- private void OnLayoutDirectionChanged(object sender, LayoutDirectionChangedEventArgs e)
- {
- MeasureText();
- LayoutChild();
- }
-
- private void OnClick(ClickEventArgs eventArgs)
- {
- ClickEvent?.Invoke(this, eventArgs);
- }
-
- private void OnIconRelayout(object sender, EventArgs e)
- {
- MeasureText();
- LayoutChild();
- }
-
- private void CreateBackgroundAttributes()
- {
- if (buttonAttributes.BackgroundImageAttributes == null)
- {
- buttonAttributes.BackgroundImageAttributes = new ImageAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.Center,
- PivotPoint = Tizen.NUI.PivotPoint.Center,
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- }
- }
-
- private void CreateShadowAttributes()
- {
- if (buttonAttributes.ShadowImageAttributes == null)
- {
- buttonAttributes.ShadowImageAttributes = new ImageAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.Center,
- PivotPoint = Tizen.NUI.PivotPoint.Center,
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- }
- }
-
- private void CreateOverlayAttributes()
- {
- if (buttonAttributes.OverlayImageAttributes == null)
- {
- buttonAttributes.OverlayImageAttributes = new ImageAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.Center,
- PivotPoint = Tizen.NUI.PivotPoint.Center,
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent
- };
- }
- }
-
- private void CreateTextAttributes()
- {
- if (buttonAttributes.TextAttributes == null)
- {
- buttonAttributes.TextAttributes = new TextAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.Center,
- PivotPoint = Tizen.NUI.PivotPoint.Center,
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- HorizontalAlignment = HorizontalAlignment.Center,
- VerticalAlignment = VerticalAlignment.Center
- };
- }
- }
-
- private void CreateIconAttributes()
- {
- if (buttonAttributes.IconAttributes == null)
- {
- buttonAttributes.IconAttributes = new ImageAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.Center,
- PivotPoint = Tizen.NUI.PivotPoint.Center,
- WidthResizePolicy = ResizePolicyType.UseNaturalSize,
- HeightResizePolicy = ResizePolicyType.UseNaturalSize,
- };
- }
- }
- ///
- /// ClickEventArgs is a class to record button click event arguments which will sent to user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ClickEventArgs : EventArgs
- {
- }
- ///
- /// StateChangeEventArgs is a class to record button state change event arguments which will sent to user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class StateChangeEventArgs : EventArgs
- {
- /// previous state of Button
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ControlStates PreviousState;
- /// current state of Button
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ControlStates CurrentState;
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/CheckBox.cs b/src/Tizen.NUI.CommonUI/Controls/CheckBox.cs
deleted file mode 100755
index 1b1b10887..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/CheckBox.cs
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class CheckBox : SelectButton
- {
- ///
- /// Creates a new instance of a CheckBox.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBox() : base() { }
- ///
- /// Creates a new instance of a CheckBox with style.
- ///
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBox(string style) : base(style) { }
- ///
- /// Creates a new instance of a CheckBox with attributes.
- ///
- ///
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBox(SelectButtonAttributes attrs) : base(attrs) { }
-
- ///
- /// Get CheckBoxGroup to which this CheckBox belong.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBoxGroup ItemGroup
- {
- get
- {
- return itemGroup as CheckBoxGroup;
- }
- internal set
- {
- itemGroup = value;
- }
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/CheckBoxGroup.cs b/src/Tizen.NUI.CommonUI/Controls/CheckBoxGroup.cs
deleted file mode 100755
index f9b5cf739..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/CheckBoxGroup.cs
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-using System.Collections.Generic;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The CheckboxGroup class is used to group together a set of CheckBox control
- ///
- ///
- /// CheckBoxGroup checkGroup = new CheckBoxGroup();
- /// CheckBox check1 = new CheckBox();
- /// CheckBox check2 = new CheckBox();
- /// checkGroup.Add(check1);
- /// checkGroup.Add(check2);
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class CheckBoxGroup : SelectGroup
- {
- ///
- /// Construct CheckBoxGroup
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBoxGroup() : base()
- {
-
- }
-
- ///
- /// Add CheckBox to the end of CheckBoxGroup.
- ///
- /// The CheckBox to be added to the CheckBoxGroup
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void Add(CheckBox check)
- {
- base.AddSelection(check);
- check.ItemGroup = this;
- }
-
- ///
- /// Remove CheckBox from the CheckBoxGroup.
- ///
- /// The CheckBox to remove from the CheckBoxGroup
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void Remove(CheckBox check)
- {
- base.RemoveSelection(check);
- check.ItemGroup = null;
- }
-
- ///
- /// Get the CheckBox object at the specified index.
- ///
- /// The item index
- /// CheckBox
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBox GetItemByIndex(int index)
- {
- return itemGroup[index] as CheckBox;
- }
-
- ///
- /// Get the index array of checked items.
- ///
- /// The array of index
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int[] GetCheckedIndexArray()
- {
- List selectedItemsList = new List();
- for (int i = 0; i < itemGroup.Count; i++)
- {
- if (itemGroup[i].IsSelected)
- {
- selectedItemsList.Add(i);
- }
- }
-
- return selectedItemsList.ToArray();
- }
-
-
- ///
- /// Get the CheckBox array of checked items.
- ///
- /// The array of CheckBox
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public CheckBox[] GetCheckedItemArray()
- {
- List selectedList = new List();
-
- foreach (CheckBox check in itemGroup)
- {
- if (check.IsSelected)
- {
- selectedList.Add(check);
- }
- }
-
- return selectedList.ToArray();
- }
-
- ///
- /// Determines whether every checkboxes in the CheckBoxGroup are checked
- ///
- /// If all of CheckBoxes are checked, return true. otherwise false
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsCheckedAll()
- {
- foreach (CheckBox cb in itemGroup)
- {
- if (!cb.IsSelected)
- {
- return false;
- }
- }
- return true;
- }
-
- ///
- /// Check or Uncheck all of child checkboxes by the specified value
- ///
- /// The boolean state of the check box
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void CheckingAll(bool state)
- {
- foreach (CheckBox cb in itemGroup)
- {
- cb.IsSelected = state;
- }
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/Control.cs b/src/Tizen.NUI.CommonUI/Controls/Control.cs
deleted file mode 100755
index 66e2f4300..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/Control.cs
+++ /dev/null
@@ -1,497 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using Tizen.NUI.BaseComponents;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The control component is base class of tv nui components. It's abstract class, so cann't instantiate and can only be inherited.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract class Control : VisualView
- {
- ///
- /// Control style.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected string style;
- ///
- /// Control attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected Attributes attributes;
-
- private TapGestureDetector tapGestureDetector = new TapGestureDetector();
- private bool isFocused = false;
-
- ///
- /// Construct an empty Control.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Control() : base()
- {
- Initialize(null);
- }
-
- ///
- /// Construct with attributes
- ///
- /// Create attributes customized by user
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Control(Attributes attributes) : base()
- {
- Initialize(null);
- this.attributes = attributes.Clone();
- }
-
- ///
- /// Construct with style
- ///
- /// Style to be applied
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Control(string style) : base()
- {
- Initialize(style);
- }
-
- ///
- /// Get/Set the control state.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public new ControlStates State
- {
- get;
- set;
- }
- ///
- /// Whether focusable when touch
- ///
- /// 6
- internal bool StateFocusableOnTouchMode
- {
- get;
- set;
- }
-
- internal bool IsFocused
- {
- get
- {
- return isFocused || HasFocus();
- }
- }
- ///
- /// Apply attributes for View, Image or TextLabel.
- ///
- /// View which will be applied attrs
- /// Attributes for View, Image or TextLabel
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void ApplyAttributes(View view, ViewAttributes attrs)
- {
- if (view == null || attrs == null)
- {
- return;
- }
-
- if (attrs.Position2D != null)
- {
- view.Position2D = attrs.Position2D;
- }
- if (attrs.Size2D != null)
- {
- view.Size2D = attrs.Size2D;
- }
- if (attrs.MinimumSize != null)
- {
- view.MinimumSize = attrs.MinimumSize;
- }
- if (attrs.BackgroundColor?.GetValue(State) != null)
- {
- view.BackgroundColor = attrs.BackgroundColor.GetValue(State);
- }
- if (attrs.PositionUsesPivotPoint != null)
- {
- view.PositionUsesPivotPoint = attrs.PositionUsesPivotPoint.Value;
- }
- if (attrs.ParentOrigin != null)
- {
- view.ParentOrigin = attrs.ParentOrigin;
- }
- if (attrs.PivotPoint != null)
- {
- view.PivotPoint = attrs.PivotPoint;
- }
- if (attrs.WidthResizePolicy!= null)
- {
- view.WidthResizePolicy = attrs.WidthResizePolicy.Value;
- }
- if (attrs.HeightResizePolicy != null)
- {
- view.HeightResizePolicy = attrs.HeightResizePolicy.Value;
- }
- if (attrs.SizeModeFactor != null)
- {
- view.SizeModeFactor = attrs.SizeModeFactor;
- }
- if (attrs.Opacity?.GetValue(State) != null)
- {
- view.Opacity = attrs.Opacity.GetValue(State).Value;
- }
-
- ImageView image = view as ImageView;
- ImageAttributes imageAttrs = attrs as ImageAttributes;
- if (image != null && imageAttrs != null)
- {
- if (imageAttrs.ResourceURL?.GetValue(State) != null)
- {
- image.ResourceUrl = imageAttrs.ResourceURL.GetValue(State);
- }
- if (imageAttrs.Border?.GetValue(State) != null)
- {
- image.Border = imageAttrs.Border.GetValue(State);
- }
-
- }
-
- TextLabel text = view as TextLabel;
- TextAttributes textAttrs = attrs as TextAttributes;
- if (text != null && textAttrs != null)
- {
- if (textAttrs.Text?.GetValue(State) != null )
- {
- text.Text = textAttrs.Text.GetValue(State);
- }
- if (textAttrs.TranslatableText?.GetValue(State) != null)
- {
- text.TranslatableText = textAttrs.TranslatableText.GetValue(State);
- }
- if (textAttrs.MultiLine != null)
- {
- text.MultiLine = textAttrs.MultiLine.Value;
- }
- if (textAttrs.HorizontalAlignment != null)
- {
- text.HorizontalAlignment = textAttrs.HorizontalAlignment.Value;
- }
- if (textAttrs.VerticalAlignment != null)
- {
- text.VerticalAlignment = textAttrs.VerticalAlignment.Value;
- }
- if (textAttrs.EnableMarkup != null)
- {
- text.EnableMarkup = textAttrs.EnableMarkup.Value;
- }
- if (textAttrs.AutoScrollLoopCount != null)
- {
- text.AutoScrollLoopCount = textAttrs.AutoScrollLoopCount.Value;
- }
- if (textAttrs.AutoScrollSpeed != null)
- {
- text.AutoScrollSpeed = textAttrs.AutoScrollSpeed.Value;
- }
- if (textAttrs.AutoScrollGap != null)
- {
- text.AutoScrollGap = textAttrs.AutoScrollGap.Value;
- }
- if (textAttrs.AutoScrollLoopDelay != null)
- {
- text.AutoScrollLoopDelay = textAttrs.AutoScrollLoopDelay.Value;
- }
- if (textAttrs.AutoScrollStopMode != null)
- {
- text.AutoScrollStopMode = textAttrs.AutoScrollStopMode.Value;
- }
- if (textAttrs.LineSpacing != null)
- {
- text.LineSpacing = textAttrs.LineSpacing.Value;
- }
- if (textAttrs.TextColor?.GetValue(State) != null)
- {
- text.TextColor = textAttrs.TextColor.GetValue(State);
- }
- if (textAttrs.FontFamily != null)
- {
- text.FontFamily = textAttrs.FontFamily;
- }
- if (textAttrs.PointSize?.GetValue(State) != null)
- {
- text.PointSize = textAttrs.PointSize.GetValue(State).Value;
- }
-
- int thickness = 0;
-
- if (textAttrs.OutstrokeThickness?.GetValue(State) != null)
- {
- thickness = textAttrs.OutstrokeThickness.GetValue(State).Value;
- }
- if (textAttrs.OutstrokeColor?.GetValue(State) != null)
- {
- Color outstrokeColor = textAttrs.OutstrokeColor.GetValue(State);
- PropertyMap outlineMap = new PropertyMap();
- outlineMap.Add("color", new PropertyValue(new Color(outstrokeColor.R, outstrokeColor.G, outstrokeColor.B, outstrokeColor.A)));
- outlineMap.Add("width", new PropertyValue(thickness));
- text.Outline = outlineMap;
- }
- else
- {
- text.Outline = new PropertyMap();
- }
- }
-
- TextField textField = view as TextField;
- TextFieldAttributes textFieldAttrs = attrs as TextFieldAttributes;
- if (textField != null && textFieldAttrs != null)
- {
- if (textFieldAttrs.Text?.GetValue(State) != null)
- {
- textField.Text = textFieldAttrs.Text.GetValue(State);
- }
- if (textFieldAttrs.PlaceholderText?.GetValue(State) != null)
- {
- textField.PlaceholderText = textFieldAttrs.PlaceholderText.GetValue(State);
- }
- if (textFieldAttrs.TranslatablePlaceholderText?.GetValue(State) != null)
- {
- textField.TranslatablePlaceholderText = textFieldAttrs.TranslatablePlaceholderText.GetValue(State);
- }
- if (textFieldAttrs.HorizontalAlignment != null)
- {
- textField.HorizontalAlignment = textFieldAttrs.HorizontalAlignment.Value;
- }
- if (textFieldAttrs.VerticalAlignment != null)
- {
- textField.VerticalAlignment = textFieldAttrs.VerticalAlignment.Value;
- }
- if (textFieldAttrs.EnableMarkup != null)
- {
- textField.EnableMarkup = textFieldAttrs.EnableMarkup.Value;
- }
- if (textFieldAttrs.TextColor?.GetValue(State) != null)
- {
- textField.TextColor = textFieldAttrs.TextColor.GetValue(State);
- }
- if (textFieldAttrs.PlaceholderTextColor?.GetValue(State) != null)
- {
- textField.PlaceholderTextColor = textFieldAttrs.PlaceholderTextColor.GetValue(State);
- }
- if (textFieldAttrs.PrimaryCursorColor?.GetValue(State) != null)
- {
- textField.PrimaryCursorColor = textFieldAttrs.PrimaryCursorColor.GetValue(State);
- }
- if (textFieldAttrs.SecondaryCursorColor?.GetValue(State) != null)
- {
- textField.SecondaryCursorColor = textFieldAttrs.SecondaryCursorColor.GetValue(State);
- }
- if (textFieldAttrs.FontFamily != null)
- {
- textField.FontFamily = textFieldAttrs.FontFamily;
- }
- if (textFieldAttrs.PointSize?.GetValue(State) != null)
- {
- textField.PointSize = textFieldAttrs.PointSize.GetValue(State).Value;
- }
- if (textFieldAttrs.EnableCursorBlink != null)
- {
- textField.EnableCursorBlink = textFieldAttrs.EnableCursorBlink.Value;
- }
- if (textFieldAttrs.EnableSelection != null)
- {
- textField.EnableSelection = textFieldAttrs.EnableSelection.Value;
- }
- if (textFieldAttrs.CursorWidth != null)
- {
- textField.CursorWidth = textFieldAttrs.CursorWidth.Value;
- }
- if (textFieldAttrs.EnableEllipsis != null)
- {
- textField.Ellipsis = textFieldAttrs.EnableEllipsis.Value;
- }
- }
- }
- ///
- /// Dispose Control and all children on it.
- ///
- /// Dispose type.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- StyleManager.Instance.ThemeChangedEvent -= OnThemeChangedEvent;
- tapGestureDetector.Detected -= OnTapGestureDetected;
- tapGestureDetector.Detach(this);
- }
- base.Dispose(type);
- }
- ///
- /// Get attribues, it is abstract function and must be override.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected abstract Attributes GetAttributes();
- ///
- /// Called after a key event is received by the view that has had its focus set.
- ///
- /// The key event.
- /// True if the key event should be consumed.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool OnKey(Key key)
- {
- return false;
- }
-
- ///
- /// Called after the size negotiation has been finished for this control.
- /// The control is expected to assign this given size to itself or its children.
- /// Should be overridden by derived classes if they need to layout views differently after certain operations like add or remove views, resize, or after changing specific properties.
- /// As this function is called from inside the size negotiation algorithm, you cannot call RequestRelayout (the call would just be ignored).
- ///
- /// The allocated size.
- /// The control should add views to this container that it is not able to allocate a size for.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnRelayout(Vector2 size, RelayoutContainer container)
- {
- OnUpdate();
- }
-
- ///
- /// Called when the control gain key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is gained.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnFocusGained()
- {
- isFocused = true;
- }
-
- ///
- /// Called when the control loses key input focus. Should be overridden by derived classes if they need to customize what happens when the focus is lost.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnFocusLost()
- {
- isFocused = false;
- }
-
- ///
- /// Tap gesture callback.
- ///
- /// The sender
- /// The tap gesture event data
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnTapGestureDetected(object source, TapGestureDetector.DetectedEventArgs e)
- {
- }
- ///
- /// Called after a touch event is received by the owning view.
- /// CustomViewBehaviour.REQUIRES_TOUCH_EVENTS must be enabled during construction. See CustomView(ViewWrapperImpl.CustomViewBehaviour behaviour).
- ///
- /// The touch event.
- /// True if the event should be consumed.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool OnTouch(Touch touch)
- {
- return false;
- }
-
- ///
- /// Update by attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnUpdate()
- {
- }
- ///
- /// Theme change callback when theme is changed, this callback will be trigger.
- ///
- /// The sender
- /// The event data
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnThemeChangedEvent(object sender, StyleManager.ThemeChangeEventArgs e)
- {
- }
-
- private void Initialize(string style)
- {
- attributes = (style == null) ? GetAttributes() : GetAttributes(style);
- State = ControlStates.Normal;
-
- LeaveRequired = true;
-
- StateFocusableOnTouchMode = false;
-
- tapGestureDetector.Attach(this);
- tapGestureDetector.Detected += OnTapGestureDetected;
-
- StyleManager.Instance.ThemeChangedEvent += OnThemeChangedEvent;
- }
-
- private Attributes GetAttributes(string style)
- {
- Attributes attributes = StyleManager.Instance.GetAttributes(style);
- if(attributes == null)
- {
- throw new InvalidOperationException($"There is no style {style}");
- }
- this.style = style;
- return attributes;
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/DropDown.cs b/src/Tizen.NUI.CommonUI/Controls/DropDown.cs
deleted file mode 100755
index e5c038257..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/DropDown.cs
+++ /dev/null
@@ -1,2072 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.Collections.Generic;
-using Tizen.NUI.BaseComponents;
-using System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// DropDown is one kind of common component, a dropdown allows the user click dropdown button to choose one value from a list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class DropDown : Control
- {
- #region DropDown
- private Button button = null;
- private TextLabel headerText = null;
- private TextLabel buttonText = null;
- private ImageView listBackgroundImage = null;
- private FlexibleView list = null;
- private DropDownListBridge adapter = new DropDownListBridge();
- private DropDownAttributes dropDownAttributes = null;
- private DropDownItemView touchedView = null;
- private int selectedItemIndex = -1;
-
- ///
- /// Creates a new instance of a DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDown() : base()
- {
- Initialize();
- }
- ///
- /// Creates a new instance of a DropDown with style.
- ///
- /// Create DropDown by special style defined in UX.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDown(string style) : base(style)
- {
- Initialize();
- }
- ///
- /// Creates a new instance of a DropDown with attributes.
- ///
- /// Create DropDown by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDown(DropDownAttributes attributes) : base(attributes)
- {
- Initialize();
- }
-
- ///
- /// An event for the button clicked signal which can be used to subscribe or unsubscribe the event handler provided by the user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public delegate void ClickEventHandler(object sender, ClickEventArgs e);
-
- ///
- /// An event for the item clicked signal which can be used to subscribe or unsubscribe the event handler provided by the user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event ClickEventHandler ItemClickEvent;
-
- ///
- /// List orientation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public enum ListOrientation
- {
- ///
- /// Left.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Left,
- ///
- /// Right.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- Right,
- }
-
- ///
- /// Header text string in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string HeaderText
- {
- get
- {
- return dropDownAttributes.HeaderTextAttributes?.Text.All;
- }
- set
- {
- if (value != null)
- {
- CreateHeaderTextAttributes();
- if (dropDownAttributes.HeaderTextAttributes.Text == null)
- {
- dropDownAttributes.HeaderTextAttributes.Text = new StringSelector();
- }
- dropDownAttributes.HeaderTextAttributes.Text.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Header text point size in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float HeaderTextPointSize
- {
- get
- {
- return dropDownAttributes.HeaderTextAttributes?.PointSize?.All ?? 0;
- }
- set
- {
- CreateHeaderTextAttributes();
- if (dropDownAttributes.HeaderTextAttributes.PointSize == null)
- {
- dropDownAttributes.HeaderTextAttributes.PointSize = new FloatSelector();
- }
- dropDownAttributes.HeaderTextAttributes.PointSize.All = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Header text font family in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string HeaderTextFontFamily
- {
- get
- {
- return dropDownAttributes.HeaderTextAttributes?.FontFamily;
- }
- set
- {
- CreateHeaderTextAttributes();
- dropDownAttributes.HeaderTextAttributes.FontFamily = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Header text color in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color HeaderTextColor
- {
- get
- {
- return dropDownAttributes.HeaderTextAttributes?.TextColor?.All;
- }
- set
- {
- CreateHeaderTextAttributes();
- if (dropDownAttributes.HeaderTextAttributes.TextColor == null)
- {
- dropDownAttributes.HeaderTextAttributes.TextColor = new ColorSelector();
- }
- dropDownAttributes.HeaderTextAttributes.TextColor.All = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Header text color selector in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector HeaderTextColorSelector
- {
- get
- {
- return dropDownAttributes.HeaderTextAttributes?.TextColor;
- }
- set
- {
- CreateHeaderTextAttributes();
- if (value != null)
- {
- dropDownAttributes.HeaderTextAttributes.TextColor = value.Clone() as ColorSelector;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Button text string in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ButtonText
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.TextAttributes?.Text.All;
- }
- set
- {
- if (value != null)
- {
- CreateButtonTextAttributes();
- if (dropDownAttributes.ButtonAttributes.TextAttributes.Text == null)
- {
- dropDownAttributes.ButtonAttributes.TextAttributes.Text = new StringSelector();
- }
- dropDownAttributes.ButtonAttributes.TextAttributes.Text.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Button text point size in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float ButtonTextPointSize
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.TextAttributes?.PointSize?.All ?? 0;
- }
- set
- {
- CreateButtonTextAttributes();
- if (dropDownAttributes.ButtonAttributes.TextAttributes.PointSize == null)
- {
- dropDownAttributes.ButtonAttributes.TextAttributes.PointSize = new FloatSelector();
- }
- dropDownAttributes.ButtonAttributes.TextAttributes.PointSize.All = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Button text font family in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ButtonTextFontFamily
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.TextAttributes?.FontFamily;
- }
- set
- {
- CreateButtonTextAttributes();
- dropDownAttributes.ButtonAttributes.TextAttributes.FontFamily = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Button text color in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color ButtonTextColor
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.TextAttributes?.TextColor?.All;
- }
- set
- {
- CreateButtonTextAttributes();
- if (dropDownAttributes.ButtonAttributes.TextAttributes.TextColor == null)
- {
- dropDownAttributes.ButtonAttributes.TextAttributes.TextColor = new ColorSelector();
- }
- dropDownAttributes.ButtonAttributes.TextAttributes.TextColor.All = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Button text color selector in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector ButtonTextColorSelector
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.TextAttributes?.TextColor;
- }
- set
- {
- CreateButtonTextAttributes();
- if (value != null)
- {
- dropDownAttributes.ButtonAttributes.TextAttributes.TextColor = value.Clone() as ColorSelector;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Button icon image's resource url in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ButtonIconImageURL
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.IconAttributes?.ResourceURL.All;
- }
- set
- {
- if (value != null)
- {
- CreateButtonIconAttributes();
- if (dropDownAttributes.ButtonAttributes.IconAttributes.ResourceURL == null)
- {
- dropDownAttributes.ButtonAttributes.IconAttributes.ResourceURL = new StringSelector();
- }
- dropDownAttributes.ButtonAttributes.IconAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Button icon image's size in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D ButtonIconSize2D
- {
- get
- {
- return dropDownAttributes.ButtonAttributes?.IconAttributes?.Size2D;
- }
- set
- {
- if (value != null)
- {
- CreateButtonIconAttributes();
- dropDownAttributes.ButtonAttributes.IconAttributes.Size2D = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Space between button text and button icon in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int SpaceBetweenButtonTextAndIcon
- {
- get
- {
- return dropDownAttributes.SpaceBetweenButtonTextAndIcon;
- }
- set
- {
- dropDownAttributes.SpaceBetweenButtonTextAndIcon = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Left space in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int LeftSpace
- {
- get
- {
- return (int)dropDownAttributes.Space.X;
- }
- set
- {
- dropDownAttributes.Space.X = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Right space in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int RightSpace
- {
- get
- {
- return (int)dropDownAttributes.Space.Y;
- }
- set
- {
- dropDownAttributes.Space.Y = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// List background image's resource url in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string ListBackgroundImageURL
- {
- get
- {
- return dropDownAttributes.ListBackgroundImageAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateListBackgroundAttributes();
- if (dropDownAttributes.ListBackgroundImageAttributes.ResourceURL == null)
- {
- dropDownAttributes.ListBackgroundImageAttributes.ResourceURL = new StringSelector();
- }
- dropDownAttributes.ListBackgroundImageAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// List background image's border in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Rectangle ListBackgroundImageBorder
- {
- get
- {
- return dropDownAttributes.ListBackgroundImageAttributes?.Border?.All;
- }
- set
- {
- if (value != null)
- {
- CreateListBackgroundAttributes();
- if (dropDownAttributes.ListBackgroundImageAttributes.Border == null)
- {
- dropDownAttributes.ListBackgroundImageAttributes.Border = new RectangleSelector();
- }
- dropDownAttributes.ListBackgroundImageAttributes.Border.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// List relative orientation in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ListOrientation ListRelativeOrientation
- {
- get
- {
- return dropDownAttributes.ListRelativeOrientation;
- }
- set
- {
- dropDownAttributes.ListRelativeOrientation = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Left space in list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ListLeftMargin
- {
- get
- {
- return (int)dropDownAttributes.ListMargin.X;
- }
- set
- {
- dropDownAttributes.ListMargin.X = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Right space in list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ListRigthMargin
- {
- get
- {
- return (int)dropDownAttributes.ListMargin.Y;
- }
- set
- {
- dropDownAttributes.ListMargin.Y = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Top space in list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ListTopMargin
- {
- get
- {
- return (int)dropDownAttributes.ListMargin.Z;
- }
- set
- {
- dropDownAttributes.ListMargin.Z = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Focused item index in list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FocusedItemIndex
- {
- get
- {
- return dropDownAttributes.FocusedItemIndex;
- }
- set
- {
- dropDownAttributes.FocusedItemIndex = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Selected item index in list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int SelectedItemIndex
- {
- get
- {
- return selectedItemIndex;
- }
- set
- {
- if (value == selectedItemIndex || adapter == null || value >= adapter.GetItemCount())
- {
- return;
- }
- UpdateSelectedItem(value);
- }
- }
-
- ///
- /// List size in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D ListSize2D
- {
- get
- {
- return dropDownAttributes.ListSize2D;
- }
- set
- {
- dropDownAttributes.ListSize2D = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// List padding in DropDown.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Extents ListPadding
- {
- get
- {
- return dropDownAttributes.ListPadding;
- }
- set
- {
- dropDownAttributes.ListPadding = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Add list item by item data. The added item will be added to end of all items automatically.
- ///
- /// Item data which will apply to tab item view.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void AddItem(DropDownItemData itemData)
- {
- adapter.InsertData(-1, itemData);
- }
-
- ///
- /// Delete list item by index.
- ///
- /// Position index where will be deleted.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void DeleteItem(int index)
- {
- if(index < 0 || index >= adapter.GetItemCount())
- {
- return;
- }
-
- if (selectedItemIndex == index)
- {
- selectedItemIndex = -1;
- }
- else if(selectedItemIndex > index)
- {
- selectedItemIndex--;
- }
-
- adapter.RemoveData(index);
- }
-
- ///
- /// Insert list item by item data. The inserted item will be added to the special position by index automatically.
- ///
- /// Item data which will apply to tab item view.
- /// Position index where will be inserted.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void InsertItem(DropDownItemData item, int index)
- {
- if (index < 0 || index >= adapter.GetItemCount())
- {
- return;
- }
-
- if (selectedItemIndex >= index)
- {
- selectedItemIndex++;
- }
-
- adapter.InsertData(index, item);
- }
-
- ///
- /// Add scroll bar to list.
- ///
- /// Scroll bar defined by user which will be added to list.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void AttachScrollBar(ScrollBar scrollBar)
- {
- if (list == null)
- {
- return;
- }
- list.AttachScrollBar(scrollBar);
- }
-
- ///
- /// Detach scroll bar to list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void DetachScrollBar()
- {
- if (list == null)
- {
- return;
- }
- list.DetachScrollBar();
- }
-
- ///
- /// Update DropDown by attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnUpdate()
- {
- if (dropDownAttributes.HeaderTextAttributes != null)
- {
- if (headerText == null)
- {
- CreateHeaderText();
- }
- ApplyAttributes(headerText, dropDownAttributes.HeaderTextAttributes);
- }
-
-
- if (dropDownAttributes.ButtonAttributes != null)
- {
- if (button == null)
- {
- CreateButton();
- }
- if (dropDownAttributes.Space != null)
- {
- button.Position2D.X = (int)dropDownAttributes.Space.X;
- }
-
- if (dropDownAttributes.ButtonAttributes.TextAttributes != null)
- {
- ApplyAttributes(buttonText, dropDownAttributes.ButtonAttributes.TextAttributes);
- button.TextSelector = dropDownAttributes.ButtonAttributes.TextAttributes.Text;
- if (dropDownAttributes.ButtonAttributes.TextAttributes.PointSize != null)
- {
- button.PointSize = dropDownAttributes.ButtonAttributes.TextAttributes.PointSize.All.Value;
- }
- button.FontFamily = dropDownAttributes.ButtonAttributes.TextAttributes.FontFamily;
- button.TextColorSelector = dropDownAttributes.ButtonAttributes.TextAttributes.TextColor;
- }
- if (dropDownAttributes.ButtonAttributes.IconAttributes != null)
- {
- button.IconURLSelector = dropDownAttributes.ButtonAttributes.IconAttributes.ResourceURL;
- int iconWidth = 0;
- int buttonTextWidth = 0;
- if (dropDownAttributes.ButtonAttributes.IconAttributes.Size2D != null)
- {
- iconWidth = dropDownAttributes.ButtonAttributes.IconAttributes.Size2D.Width;
- }
- if (buttonText.NaturalSize2D != null)
- {
- buttonTextWidth = buttonText.NaturalSize2D.Width;
- }
- button.SizeWidth = iconWidth + dropDownAttributes.SpaceBetweenButtonTextAndIcon + buttonTextWidth;
- }
- }
-
- if (dropDownAttributes.ListBackgroundImageAttributes != null)
- {
- if (listBackgroundImage == null)
- {
- CreateListBackgroundImage();
- CreateList();
- }
- ApplyAttributes(listBackgroundImage, dropDownAttributes.ListBackgroundImageAttributes);
- list.FocusedItemIndex = dropDownAttributes.FocusedItemIndex;
- list.Size2D = dropDownAttributes.ListSize2D;
- list.Padding = dropDownAttributes.ListPadding;
-
- int listBackgroundImageX = 0;
- int listBackgroundImageY = 0;
- if (dropDownAttributes.ListRelativeOrientation == ListOrientation.Left)
- {
- if (dropDownAttributes.ListMargin != null)
- {
- listBackgroundImageX = (int)dropDownAttributes.ListMargin.X;
- listBackgroundImageY = (int)dropDownAttributes.ListMargin.Z;
- }
- }
- else if (dropDownAttributes.ListRelativeOrientation == ListOrientation.Right)
- {
- if (dropDownAttributes.ListMargin != null)
- {
- int listWidth = 0;
- if (list.Size2D != null)
- {
- listWidth = list.Size2D.Width;
- }
- listBackgroundImageX = Size2D.Width - listWidth - (int)dropDownAttributes.ListMargin.Y;
- listBackgroundImageY = (int)dropDownAttributes.ListMargin.Z;
- }
- }
- listBackgroundImage.Position2D = new Position2D(listBackgroundImageX, listBackgroundImageY);
- }
- }
-
- ///
- /// Dispose DropDown and all children on it.
- ///
- /// Dispose type.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- if (headerText != null)
- {
- Utility.Dispose(headerText);
- }
-
- if (buttonText != null)
- {
- Utility.Dispose(buttonText);
- }
-
- if (button != null)
- {
- Utility.Dispose(button);
- }
-
- if (list != null)
- {
- if (listBackgroundImage != null)
- {
- Utility.Dispose(listBackgroundImage);
- }
-
- Utility.Dispose(list);
- }
- }
-
- base.Dispose(type);
- }
-
- ///
- /// Get DropDown attribues.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return new DropDownAttributes();
- }
-
- private void Initialize()
- {
- dropDownAttributes = attributes as DropDownAttributes;
- if (dropDownAttributes == null)
- {
- throw new Exception("DropDown attribute parse error.");
- }
- ApplyAttributes(this, dropDownAttributes);
- }
-
- private void OnClickEvent(object sender, ItemClickEventArgs e)
- {
- ItemClickEvent?.Invoke(sender, e);
- }
-
- private void CreateHeaderText()
- {
- headerText = new TextLabel();
- headerText.Name = "DropDownHeaderText";
- Add(headerText);
- }
-
- private void CreateButton()
- {
- button = new Button()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- IconRelativeOrientation = Button.IconOrientation.Right,
- };
- button.Name = "DropDownButton";
- button.ClickEvent += ButtonClickEvent;
- Add(button);
-
- buttonText = new TextLabel()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.UseNaturalSize,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- };
- buttonText.Name = "DropDownButtonText";
- Add(buttonText);
- buttonText.Hide();
- }
-
- private void CreateList()
- {
- list = new FlexibleView();
- list.Name = "DropDownList";
- LinearLayoutManager layoutManager = new LinearLayoutManager(LinearLayoutManager.VERTICAL);
- list.SetLayoutManager(layoutManager);
- list.SetAdapter(adapter);
- list.Focusable = true;
- list.ItemTouchEvent += ListItemTouchEvent;
- list.ItemClickEvent += ListItemClickEvent;
- listBackgroundImage.Add(list);
- listBackgroundImage.Hide();
- }
-
- private void ListItemClickEvent(object sender, FlexibleView.ItemClickEventArgs e)
- {
- if (e.ClickedView != null)
- {
- UpdateSelectedItem(e.ClickedView.AdapterPosition);
-
- ItemClickEventArgs args = new ItemClickEventArgs();
- args.Index = e.ClickedView.AdapterPosition;
- args.Text = (e.ClickedView.ItemView as DropDownItemView)?.Text;
- OnClickEvent(this, args);
- }
-
- listBackgroundImage.Hide();
- }
-
- private void ListItemTouchEvent(object sender, FlexibleView.ItemTouchEventArgs e)
- {
- PointStateType state = e.Touch.GetState(0);
- switch (state)
- {
- case PointStateType.Down:
- if (e.TouchedView != null)
- {
- touchedView = e.TouchedView.ItemView as DropDownItemView;
- if (touchedView != null && touchedView.BackgroundColorSelector != null)
- {
- touchedView.BackgroundColor = touchedView.BackgroundColorSelector.GetValue(ControlStates.Pressed);
- }
- }
- break;
- case PointStateType.Motion:
- if (touchedView != null && touchedView.BackgroundColorSelector != null)
- {
- touchedView.BackgroundColor = touchedView.BackgroundColorSelector.GetValue(ControlStates.Normal);
- }
- break;
- case PointStateType.Up:
- if (touchedView != null && touchedView.BackgroundColorSelector != null)
- {
- touchedView.BackgroundColor = touchedView.BackgroundColorSelector.GetValue(ControlStates.Selected);
- }
- break;
- default:
- break;
- }
- }
-
- private void UpdateSelectedItem(int index)
- {
- if (selectedItemIndex != -1)
- {
- DropDownItemData data = adapter.GetData(selectedItemIndex);
- if(data != null)
- {
- data.IsSelected = false;
- }
- DropDownItemView view = list?.FindViewHolderForAdapterPosition(selectedItemIndex)?.ItemView as DropDownItemView;
- if (view != null)
- {
- view.IsSelected = false;
- }
- }
-
- if (index != -1)
- {
- DropDownItemData data = adapter.GetData(index);
- if (data != null)
- {
- data.IsSelected = true;
- }
- DropDownItemView view = list?.FindViewHolderForAdapterPosition(index)?.ItemView as DropDownItemView;
- if (view != null)
- {
- view.IsSelected = true;
- button.Text = view.Text;
- }
- }
-
- selectedItemIndex = index;
- }
-
- private void CreateListBackgroundImage()
- {
- listBackgroundImage = new ImageView
- {
- Name = "ListBackgroundImage",
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.FitToChildren,
- HeightResizePolicy = ResizePolicyType.FitToChildren,
- };
- Add(listBackgroundImage);
- }
-
- private void ButtonClickEvent(object sender, Button.ClickEventArgs e)
- {
- listBackgroundImage.Show();
- }
-
- private void CreateHeaderTextAttributes()
- {
- if (dropDownAttributes.HeaderTextAttributes == null)
- {
- dropDownAttributes.HeaderTextAttributes = new TextAttributes()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.FillToParent,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- HorizontalAlignment = HorizontalAlignment.Center,
- VerticalAlignment = VerticalAlignment.Center,
- };
- }
- }
-
- private void CreateButtonAttributes()
- {
- if (dropDownAttributes.ButtonAttributes == null)
- {
- dropDownAttributes.ButtonAttributes = new ButtonAttributes();
- }
- }
-
- private void CreateButtonTextAttributes()
- {
- CreateButtonAttributes();
-
- if (dropDownAttributes.ButtonAttributes.TextAttributes == null)
- {
- dropDownAttributes.ButtonAttributes.TextAttributes = new TextAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.UseNaturalSize,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- Position2D = new Position2D(0, 0),
- HorizontalAlignment = HorizontalAlignment.Begin,
- VerticalAlignment = VerticalAlignment.Center,
- };
- }
- }
-
- private void CreateButtonIconAttributes()
- {
- CreateButtonAttributes();
-
- if (dropDownAttributes.ButtonAttributes.IconAttributes == null)
- {
- dropDownAttributes.ButtonAttributes.IconAttributes = new ImageAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.CenterRight,
- PivotPoint = Tizen.NUI.PivotPoint.CenterRight,
- };
- }
- }
-
- private void CreateListBackgroundAttributes()
- {
- if (dropDownAttributes.ListBackgroundImageAttributes == null)
- {
- dropDownAttributes.ListBackgroundImageAttributes = new ImageAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- };
- }
- }
- #endregion
-
- #region ItemClickEventArgs
- ///
- /// ItemClickEventArgs is a class to record item click event arguments which will sent to user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ItemClickEventArgs : EventArgs
- {
- /// Clicked item index of DropDown's list
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int Index;
- /// Clicked item text string of DropDown's list
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string Text;
- }
- #endregion
-
- #region DropDownItemData
- ///
- /// DropDownItemData is a class to record all data which will be applied to DropDown item.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class DropDownItemData
- {
- private DropDownItemAttributes itemDataAttributes = new DropDownItemAttributes();
-
- ///
- /// Creates a new instance of a DropDownItemData.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemData()
- {
- Initalize();
- }
-
- ///
- /// Creates a new instance of a DropDownItemData with style.
- ///
- /// Create DropDownItemData by special style defined in UX.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemData(string style)
- {
- if(style != null)
- {
- Attributes attributes = StyleManager.Instance.GetAttributes(style);
- if(attributes == null)
- {
- throw new InvalidOperationException($"There is no style {style}");
- }
- itemDataAttributes = attributes as DropDownItemAttributes;
- }
- Initalize();
- }
-
- ///
- /// Creates a new instance of a DropDownItemData with attributes.
- ///
- /// Create DropDownItemData by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemData(DropDownItemAttributes attributes)
- {
- itemDataAttributes = attributes.Clone() as DropDownItemAttributes;
- Initalize();
- }
-
- ///
- /// DropDown item size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D Size2D
- {
- get
- {
- return itemDataAttributes.Size2D;
- }
- set
- {
- itemDataAttributes.Size2D = value;
- }
- }
-
- ///
- /// DropDown item background color selector.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector BackgroundColorSelector
- {
- get
- {
- return itemDataAttributes.BackgroundColor;
- }
- set
- {
- if (itemDataAttributes.BackgroundColor == null)
- {
- itemDataAttributes.BackgroundColor = value.Clone() as ColorSelector;
- }
- else
- {
- itemDataAttributes.BackgroundColor = value.Clone();
- }
-
- }
- }
-
- ///
- /// DropDown item text string.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string Text
- {
- get
- {
- return itemDataAttributes.TextAttributes?.Text?.All;
- }
- set
- {
- CreateTextAttributes();
- if (itemDataAttributes.TextAttributes.Text == null)
- {
- itemDataAttributes.TextAttributes.Text = new StringSelector { All = value };
- }
- else
- {
- itemDataAttributes.TextAttributes.Text.All = value;
- }
- }
- }
-
- ///
- /// DropDown item text's point size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float PointSize
- {
- get
- {
- return itemDataAttributes.TextAttributes?.PointSize?.All ?? 0;
- }
- set
- {
- CreateTextAttributes();
- if (itemDataAttributes.TextAttributes.PointSize == null)
- {
- itemDataAttributes.TextAttributes.PointSize = new FloatSelector { All = value };
- }
- else
- {
- itemDataAttributes.TextAttributes.PointSize.All = value;
- }
- }
- }
-
- ///
- /// DropDown item text's font family.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get
- {
- return itemDataAttributes.TextAttributes?.FontFamily;
- }
- set
- {
- CreateTextAttributes();
- itemDataAttributes.TextAttributes.FontFamily = value;
- }
- }
-
- ///
- /// DropDown item text's position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D TextPosition2D
- {
- get
- {
- return itemDataAttributes.TextAttributes?.Position2D;
- }
- set
- {
- CreateTextAttributes();
- itemDataAttributes.TextAttributes.Position2D = value;
- }
- }
-
- ///
- /// DropDown item's icon's resource url.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IconResourceUrl
- {
- get
- {
- return itemDataAttributes.IconAttributes?.ResourceURL?.All;
- }
- set
- {
- CreateIconAttributes();
- if (itemDataAttributes.IconAttributes.ResourceURL == null)
- {
- itemDataAttributes.IconAttributes.ResourceURL = new StringSelector { All = value };
- }
- else
- {
- itemDataAttributes.IconAttributes.ResourceURL.All = value;
- }
- }
- }
-
- ///
- /// DropDown item's icon's size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D IconSize2D
- {
- get
- {
- return itemDataAttributes.IconAttributes?.Size2D;
- }
- set
- {
- CreateIconAttributes();
- itemDataAttributes.IconAttributes.Size2D = value;
- }
- }
-
- ///
- /// DropDown item's icon's position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D IconPosition2D
- {
- get
- {
- return itemDataAttributes.IconAttributes.Position2D;
- }
- set
- {
- CreateIconAttributes();
- itemDataAttributes.IconAttributes.Position2D = value;
- }
- }
-
- ///
- /// DropDown item's check image's resource url.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string CheckImageResourceUrl
- {
- get
- {
- return itemDataAttributes.CheckImageAttributes?.ResourceURL?.All;
- }
- set
- {
- CreateCheckImageAttributes();
- if (itemDataAttributes.CheckImageAttributes.ResourceURL == null)
- {
- itemDataAttributes.CheckImageAttributes.ResourceURL = new StringSelector { All = value };
- }
- else
- {
- itemDataAttributes.CheckImageAttributes.ResourceURL.All = value;
- }
- }
- }
-
- ///
- /// DropDown item's check image's size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D CheckImageSize2D
- {
- get
- {
- return itemDataAttributes.CheckImageAttributes?.Size2D;
- }
- set
- {
- CreateCheckImageAttributes();
- itemDataAttributes.CheckImageAttributes.Size2D = value;
- }
- }
-
- ///
- /// DropDown item's check image's right space.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int CheckImageRightSpace
- {
- get
- {
- return itemDataAttributes.CheckImageRightSpace;
- }
- set
- {
- itemDataAttributes.CheckImageRightSpace = value;
- }
- }
-
- ///
- /// Flag to decide DropDown item is selected or not.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsSelected
- {
- get
- {
- return itemDataAttributes.IsSelected;
- }
- set
- {
- itemDataAttributes.IsSelected = value;
- }
- }
-
- private void Initalize()
- {
- if (itemDataAttributes == null)
- {
- throw new Exception("Button attribute parse error.");
- }
- }
-
- private void CreateTextAttributes()
- {
- if(itemDataAttributes.TextAttributes == null)
- {
- itemDataAttributes.TextAttributes = new TextAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.UseNaturalSize,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- VerticalAlignment = VerticalAlignment.Center,
- HorizontalAlignment = HorizontalAlignment.Begin,
- };
- }
- }
-
- private void CreateIconAttributes()
- {
- if (itemDataAttributes.IconAttributes == null)
- {
- itemDataAttributes.IconAttributes = new ImageAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- };
- }
- }
-
- private void CreateCheckImageAttributes()
- {
- if (itemDataAttributes.CheckImageAttributes == null)
- {
- itemDataAttributes.CheckImageAttributes = new ImageAttributes
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- };
- }
- }
- }
- #endregion
-
- #region DropDownItemView
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- internal class DropDownItemView : Control
- {
- private TextLabel mText = null;
- private ImageView mIcon = null;
- private ImageView mCheck = null;
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemView() : base()
- {
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ColorSelector BackgroundColorSelector
- {
- get;
- set;
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string Text
- {
- get
- {
- if(mText == null)
- {
- return null;
- }
- return mText.Text;
- }
- set
- {
- CreateText();
- mText.Text = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get
- {
- if (mText == null)
- {
- return null;
- }
- return mText.FontFamily;
- }
- set
- {
- CreateText();
- mText.FontFamily = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float PointSize
- {
- get
- {
- if (mText == null)
- {
- return 0;
- }
- return mText.PointSize;
- }
- set
- {
- CreateText();
- mText.PointSize = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color TextColor
- {
- get
- {
- if (mText == null)
- {
- return null;
- }
- return mText.TextColor;
- }
- set
- {
- CreateText();
- mText.TextColor = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D TextPosition2D
- {
- get
- {
- if (mText == null)
- {
- return null;
- }
- return mText.Position2D;
- }
- set
- {
- CreateText();
- mText.Position2D = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IconResourceUrl
- {
- get
- {
- if (mIcon == null)
- {
- return null;
- }
- return mIcon.ResourceUrl;
- }
- set
- {
- CreateIcon();
- mIcon.ResourceUrl = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D IconSize2D
- {
- get
- {
- if (mIcon == null)
- {
- return null;
- }
- return mIcon.Size2D;
- }
- set
- {
- CreateIcon();
- mIcon.Size2D = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D IconPosition2D
- {
- get
- {
- if (mIcon == null)
- {
- return null;
- }
- return mIcon.Position2D;
- }
- set
- {
- CreateIcon();
- mIcon.Position2D = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string CheckResourceUrl
- {
- get
- {
- if (mCheck == null)
- {
- return null;
- }
- return mCheck.ResourceUrl;
- }
- set
- {
- CreateCheckImage();
- mCheck.ResourceUrl = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D CheckPosition2D
- {
- get
- {
- if (mCheck == null)
- {
- return null;
- }
- return mCheck.Position2D;
- }
- set
- {
- CreateCheckImage();
- mCheck.Position2D = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D CheckImageSize2D
- {
- get
- {
- if (mCheck == null)
- {
- return null;
- }
- return mCheck.Size2D;
- }
- set
- {
- CreateCheckImage();
- mCheck.Size2D = value;
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool IsSelected
- {
- get
- {
- if (mCheck == null)
- {
- return false;
- }
- return mCheck.Visibility;
- }
- set
- {
- CreateCheckImage();
- if(value)
- {
- mCheck.Show();
- }
- else
- {
- mCheck.Hide();
- }
- }
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- if (mText != null)
- {
- Remove(mText);
- mText.Dispose();
- mText = null;
- }
-
- if (mIcon != null)
- {
- Remove(mIcon);
- mIcon.Dispose();
- mIcon = null;
- }
-
- if (mCheck != null)
- {
- Remove(mCheck);
- mCheck.Dispose();
- mCheck = null;
- }
- }
- base.Dispose(type);
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return null;
- }
-
- private void CreateIcon()
- {
- if(mIcon == null)
- {
- mIcon = new ImageView()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- };
- Add(mIcon);
- }
- }
-
- private void CreateText()
- {
- if (mText == null)
- {
- mText = new TextLabel()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- WidthResizePolicy = ResizePolicyType.UseNaturalSize,
- HeightResizePolicy = ResizePolicyType.FillToParent,
- VerticalAlignment = VerticalAlignment.Center,
- HorizontalAlignment = HorizontalAlignment.Begin,
- };
- Add(mText);
- }
- }
-
- private void CreateCheckImage()
- {
- if (mCheck == null)
- {
- mCheck = new ImageView()
- {
- PositionUsesPivotPoint = true,
- ParentOrigin = Tizen.NUI.ParentOrigin.TopLeft,
- PivotPoint = Tizen.NUI.PivotPoint.TopLeft,
- };
- Add(mCheck);
- }
- mCheck.Hide();
- }
- }
- #endregion
-
- #region DropDownListBridge
-
- ///
- /// DropDownListBridge is bridge to contact item data and item view.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class DropDownListBridge : FlexibleView.Adapter
- {
- private List mDatas = new List();
-
- ///
- /// Creates a new instance of a DropDownListBridge.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownListBridge()
- {
- }
-
- ///
- /// Insert data. The inserted data will be added to the special position by index automatically.
- ///
- /// Position index where will be inserted.
- /// Item data which will apply to tab item view.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void InsertData(int position, DropDownItemData data)
- {
- if(position == -1)
- {
- position = mDatas.Count;
- }
- mDatas.Insert(position, data);
- NotifyItemInserted(position);
- }
-
- ///
- /// Remove data by position.
- ///
- /// Position index where will be removed.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void RemoveData(int position)
- {
- mDatas.RemoveAt(position);
- NotifyItemRemoved(position);
- }
-
- ///
- /// Get data by position.
- ///
- /// Position index where will be gotten.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public DropDownItemData GetData(int position)
- {
- return mDatas[position];
- }
-
- ///
- /// Get view holder by view type.
- ///
- /// Create item view.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override FlexibleView.ViewHolder OnCreateViewHolder(int viewType)
- {
- FlexibleView.ViewHolder viewHolder = new FlexibleView.ViewHolder(new DropDownItemView());
-
- return viewHolder;
- }
-
- ///
- /// Binder view holder, it can be override.
- ///
- /// View holder.
- /// Position index where will be gotten.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnBindViewHolder(FlexibleView.ViewHolder holder, int position)
- {
- DropDownItemData listItemData = mDatas[position];
- if(listItemData == null)
- {
- return;
- }
- DropDownItemView listItemView = holder.ItemView as DropDownItemView;
- listItemView.Name = "Item" + position;
- if (listItemData.Size2D != null)
- {
- holder.ItemView.Size2D = listItemData.Size2D;
- }
-
- if (listItemView != null)
- {
- listItemView.BackgroundColorSelector = listItemData.BackgroundColorSelector;
- if (listItemData.Text != null)
- {
- listItemView.Text = listItemData.Text;
- listItemView.PointSize = listItemData.PointSize;
- listItemView.FontFamily = listItemData.FontFamily;
- listItemView.TextPosition2D = listItemData.TextPosition2D;
- }
-
- if (listItemData.IconResourceUrl != null)
- {
- listItemView.IconResourceUrl = listItemData.IconResourceUrl;
- listItemView.IconSize2D = listItemData.IconSize2D;
- if (listItemView.IconSize2D != null)
- {
- listItemView.IconPosition2D = new Position2D(listItemData.IconPosition2D.X, (listItemView.Size2D.Height - listItemView.IconSize2D.Height) / 2);
- }
- }
-
- if (listItemData.CheckImageResourceUrl != null)
- {
- listItemView.CheckResourceUrl = listItemData.CheckImageResourceUrl;
- listItemView.CheckImageSize2D = listItemData.CheckImageSize2D;
- if (listItemView.CheckImageSize2D != null)
- {
- listItemView.CheckPosition2D = new Position2D(listItemView.Size2D.Width - listItemData.CheckImageRightSpace - listItemView.CheckImageSize2D.Width, (listItemView.Size2D.Height - listItemView.CheckImageSize2D.Height) / 2);
- }
- }
-
- listItemView.IsSelected = listItemData.IsSelected;
- }
- }
-
- ///
- /// Destroy view holder, it can be override.
- ///
- /// View holder.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnDestroyViewHolder(FlexibleView.ViewHolder holder)
- {
- if (holder.ItemView != null)
- {
- holder.ItemView.Dispose();
- }
- }
-
- ///
- /// Get item count, it can be override.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override int GetItemCount()
- {
- return mDatas.Count;
- }
- }
- #endregion
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/FlexibleView.cs b/src/Tizen.NUI.CommonUI/Controls/FlexibleView/FlexibleView.cs
deleted file mode 100755
index d0960c6ea..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/FlexibleView.cs
+++ /dev/null
@@ -1,2579 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.ComponentModel;
-using System.Collections.Generic;
-using Tizen.NUI.BaseComponents;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// A flexible view for providing a limited window into a large data set.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class FlexibleView : Control
- {
- ///
- /// Constant value: -1.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int NO_POSITION = -1;
- ///
- /// Constant value: -1.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int INVALID_TYPE = -1;
-
- private Adapter mAdapter;
- private LayoutManager mLayout;
- private Recycler mRecycler;
- private RecycledViewPool mRecyclerPool;
- private ChildHelper mChildHelper;
-
- private PanGestureDetector mPanGestureDetector;
-
- private int mFocusedItemIndex = NO_POSITION;
-
- private AdapterHelper mAdapteHelper;
-
- private ScrollBar mScrollBar = null;
- private Timer mScrollBarShowTimer = null;
-
- private EventHandler clickEventHandlers;
- private EventHandler touchEventHandlers;
- private EventHandler styleChangedEventHandlers;
-
- ///
- /// Creates a FlexibleView instance.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public FlexibleView()
- {
- mRecyclerPool = new RecycledViewPool(this);
-
- mRecycler = new Recycler(this);
- mRecycler.SetRecycledViewPool(mRecyclerPool);
-
- mChildHelper = new ChildHelper(this);
-
- mPanGestureDetector = new PanGestureDetector();
- mPanGestureDetector.Attach(this);
- mPanGestureDetector.Detected += OnPanGestureDetected;
-
- mAdapteHelper = new AdapterHelper(this);
-
- ClippingMode = ClippingModeType.ClipToBoundingBox;
- }
-
- ///
- /// Item click event.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler ItemClickEvent
- {
- add
- {
- clickEventHandlers += value;
- }
-
- remove
- {
- clickEventHandlers -= value;
- }
- }
-
-
- ///
- /// Item touch event.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler ItemTouchEvent
- {
- add
- {
- touchEventHandlers += value;
- }
-
- remove
- {
- touchEventHandlers -= value;
- }
- }
-
- ///
- /// Style changed, for example default font size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public event EventHandler StyleChanged
- {
- add
- {
- styleChangedEventHandlers += value;
- }
-
- remove
- {
- styleChangedEventHandlers -= value;
- }
- }
-
- ///
- /// overwrite the Padding.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public new Extents Padding
- {
- get;
- set;
- }
-
- ///
- /// Gets or sets the focused item index(adapter position).
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FocusedItemIndex
- {
- get
- {
- return mFocusedItemIndex;
- }
- set
- {
- if (value == mFocusedItemIndex)
- {
- return;
- }
-
- if (mAdapter == null)
- {
- return;
- }
-
- if (mLayout == null)
- {
- return;
- }
-
- ViewHolder nextFocusView = FindViewHolderForAdapterPosition(value);
- if (nextFocusView == null)
- {
- mLayout.ScrollToPosition(value);
- }
- else
- {
- mLayout.RequestChildRectangleOnScreen(this, nextFocusView, mRecycler, true);
- DispatchFocusChanged(value);
- }
- }
- }
-
- ///
- /// Set a new adapter to provide child views on demand.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void SetAdapter(Adapter adapter)
- {
- if (adapter == null)
- {
- return;
- }
- mAdapter = adapter;
-
- mAdapter.ItemEvent += OnItemEvent;
- }
-
- ///
- /// Retrieves the previously set adapter or null if no adapter is set.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Adapter GetAdapter()
- {
- return mAdapter;
- }
-
- ///
- /// Set the FlexibleView.LayoutManager that this FlexibleView will use.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void SetLayoutManager(LayoutManager layoutManager)
- {
- mLayout = layoutManager;
-
- mLayout.SetRecyclerView(this);
-
- if (mLayout.CanScrollHorizontally())
- {
- mPanGestureDetector.AddDirection(PanGestureDetector.DirectionHorizontal);
- }
- else if (mLayout.CanScrollVertically())
- {
- mPanGestureDetector.AddDirection(PanGestureDetector.DirectionVertical);
- }
- }
-
- ///
- /// Return the FlexibleView.LayoutManager currently responsible for layout policy for this FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public LayoutManager GetLayoutManager()
- {
- return mLayout;
- }
-
-
- ///
- /// Convenience method to scroll to a certain position
- ///
- /// Adapter position
- /// The distance (in pixels) between the start edge of the item view and start edge of the FlexibleView.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void ScrollToPositionWithOffset(int position, int offset)
- {
- mLayout.ScrollToPositionWithOffset(position, offset);
- }
-
- ///
- /// Move focus by direction.
- ///
- /// Direction. Should be "Left", "Right", "Up" or "Down"
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void MoveFocus(FlexibleView.LayoutManager.Direction direction)
- {
- mLayout.MoveFocus(direction, mRecycler);
- }
-
- ///
- /// Attach a scrollbar to this FlexibleView.
- ///
- /// ScrollBar
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void AttachScrollBar(ScrollBar scrollBar)
- {
- if (scrollBar == null)
- {
- return;
- }
- mScrollBar = scrollBar;
- Add(mScrollBar);
- }
-
- ///
- /// Detach the scrollbar from this FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void DetachScrollBar()
- {
- if (mScrollBar == null)
- {
- return;
- }
- Remove(mScrollBar);
- mScrollBar = null;
- }
-
- ///
- /// Return the ViewHolder for the item in the given position of the data set as of the latest layout pass.
- /// This method checks only the children of RecyclerView. If the item at the given position is not laid out, it will not create a new one.
- ///
- /// The position of the item in the data set of the adapter
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder FindViewHolderForLayoutPosition(int position)
- {
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- if (mChildHelper.GetChildAt(i) is ViewHolder holder)
- {
- if (holder.LayoutPosition == position)
- {
- return holder;
- }
- }
- }
-
- return null;
- }
-
- ///
- /// Return the ViewHolder for the item in the given position of the data set.
- /// This method checks only the children of RecyclerView. If the item at the given position is not laid out, it will not create a new one.
- ///
- /// The position of the item in the data set of the adapter
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder FindViewHolderForAdapterPosition(int position)
- {
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- if (mChildHelper.GetChildAt(i) is ViewHolder holder)
- {
- if (holder.AdapterPosition == position)
- {
- return holder;
- }
- }
- }
-
- return null;
- }
-
- ///
- /// Return the recycler instance.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Recycler GetRecycler()
- {
- return mRecycler;
- }
-
- ///
- /// you can override it to clean-up your own resources.
- ///
- /// DisposeTypes
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- mLayout.StopScroll();
-
- if (mAdapter != null)
- {
- mAdapter.ItemEvent -= OnItemEvent;
- }
-
- if (mPanGestureDetector != null)
- {
- mPanGestureDetector.Detected -= OnPanGestureDetected;
- mPanGestureDetector.Dispose();
- mPanGestureDetector = null;
- }
-
- if (mScrollBarShowTimer != null)
- {
- mScrollBarShowTimer.Tick -= OnShowTimerTick;
- mScrollBarShowTimer.Stop();
- mScrollBarShowTimer.Dispose();
- mScrollBarShowTimer = null;
- }
-
- if (mRecyclerPool != null)
- {
- mRecyclerPool.Clear();
- mRecyclerPool = null;
- }
-
- if (mChildHelper != null)
- {
- mChildHelper.Clear();
- mChildHelper = null;
- }
- }
- base.Dispose(type);
- }
-
- ///
- /// you can override it to create your own default attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return null;
- }
-
- ///
- /// you can override it to relayout elements.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnRelayout(Vector2 size, RelayoutContainer container)
- {
- if (mAdapter == null)
- {
- return;
- }
-
- if (mLayout == null)
- {
- return;
- }
-
- DispatchLayoutStep1();
-
- mLayout.OnLayoutChildren(mRecycler);
-
- RemoveAndRecycleScrapInt();
- }
-
- ///
- /// you can override it to do something for style change.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnStyleChange(NUI.StyleManager styleManager, StyleChangeType change)
- {
- if (change == StyleChangeType.DefaultFontSizeChange)
- {
- NUI.StyleManager.StyleChangedEventArgs args = new NUI.StyleManager.StyleChangedEventArgs();
- args.StyleManager = styleManager;
- args.StyleChange = change;
-
- styleChangedEventHandlers?.Invoke(this, args);
-
- RelayoutRequest();
- }
- }
-
- private void DispatchLayoutStep1()
- {
- ProcessAdapterUpdates();
- SaveOldPositions();
- ClearOldPositions();
- }
-
- private void ProcessAdapterUpdates()
- {
- mAdapteHelper.PreProcess();
- }
-
- private void OffsetPositionRecordsForInsert(int positionStart, int itemCount)
- {
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- ViewHolder holder = mChildHelper.GetChildAt(i);
- if (holder != null && holder.AdapterPosition >= positionStart)
- {
- holder.OffsetPosition(itemCount, false);
- }
- }
-
- if (positionStart <= mFocusedItemIndex)
- {
- mFocusedItemIndex += itemCount;
- }
- }
-
- private void OffsetPositionRecordsForRemove(int positionStart, int itemCount, bool applyToPreLayout)
- {
- int positionEnd = positionStart + itemCount;
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- ViewHolder holder = mChildHelper.GetChildAt(i);
- if (holder != null)
- {
- if (holder.AdapterPosition >= positionEnd)
- {
- holder.OffsetPosition(-itemCount, applyToPreLayout);
- }
- else if (holder.AdapterPosition >= positionStart)
- {
- holder.FlagRemovedAndOffsetPosition(positionStart - 1, -itemCount, applyToPreLayout);
- }
- }
- }
-
- if (positionEnd <= mFocusedItemIndex)
- {
- mFocusedItemIndex -= itemCount;
- }
- else if (positionStart <= mFocusedItemIndex)
- {
- mFocusedItemIndex = positionStart;
- if (mFocusedItemIndex >= mAdapter.GetItemCount())
- {
- mFocusedItemIndex = mAdapter.GetItemCount() - 1;
- }
- }
- }
-
- private void SaveOldPositions()
- {
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- ViewHolder holder = mChildHelper.GetChildAt(i);
- holder.SaveOldPosition();
- }
- }
-
- private void ClearOldPositions()
- {
- int childCount = mChildHelper.GetChildCount();
- for (int i = 0; i < childCount; i++)
- {
- ViewHolder holder = mChildHelper.GetChildAt(i);
- holder.ClearOldPosition();
- }
- }
-
- private void RemoveAndRecycleScrapInt()
- {
- int scrapCount = mRecycler.GetScrapCount();
- for (int i = 0; i < scrapCount; i++)
- {
- ViewHolder scrap = mRecycler.GetScrapViewAt(i);
- mChildHelper.RemoveView(scrap);
- mRecycler.RecycleView(scrap);
- }
- mRecycler.Clear();
- }
-
- private void ShowScrollBar(uint millisecond = 700, bool flagAni = false)
- {
- if (mScrollBar == null || mLayout == null)
- {
- return;
- }
-
- float extent = mLayout.ComputeScrollExtent();
- float range = mLayout.ComputeScrollRange();
- if(range == 0)
- {
- return;
- }
- float offset = mLayout.ComputeScrollOffset();
-
- float size = mScrollBar.Direction == ScrollBar.DirectionType.Vertical ? mScrollBar.SizeHeight : mScrollBar.SizeWidth;
- float thickness = mScrollBar.Direction == ScrollBar.DirectionType.Vertical ? mScrollBar.SizeWidth : mScrollBar.SizeHeight;
- float length = (float)Math.Round(size * extent / range);
-
- // avoid the tiny thumb
- float minLength = thickness * 2;
- if (length < minLength)
- {
- length = minLength;
- }
- // avoid the too-big thumb
- if (offset > range - extent)
- {
- offset = range - extent;
- }
- if (mScrollBar.Direction == ScrollBar.DirectionType.Vertical)
- {
- mScrollBar.ThumbSize = new Size2D((int)thickness, (int)length);
- }
- else
- {
- mScrollBar.ThumbSize = new Size2D((int)length, (int)thickness);
- }
- mScrollBar.MinValue = 0;
- mScrollBar.MaxValue = (int)(range - extent);
- mScrollBar.SetCurrentValue((int)offset, flagAni);
- mScrollBar.Show();
- if (mScrollBarShowTimer == null)
- {
- mScrollBarShowTimer = new Timer(millisecond);
- mScrollBarShowTimer.Tick += OnShowTimerTick;
- }
- else
- {
- mScrollBarShowTimer.Interval = millisecond;
- }
- mScrollBarShowTimer.Start();
- }
-
- private bool OnShowTimerTick(object source, EventArgs e)
- {
- if (mScrollBar != null)
- {
- mScrollBar.Hide();
- }
-
- return false;
- }
-
- private void DispatchFocusChanged(int nextFocusPosition)
- {
- mAdapter.OnFocusChange(this, mFocusedItemIndex, nextFocusPosition);
-
- mFocusedItemIndex = nextFocusPosition;
-
- ShowScrollBar();
- }
-
- private void DispatchChildAttached(ViewHolder holder)
- {
- if (mAdapter != null && holder != null)
- {
- mAdapter.OnViewAttachedToWindow(holder);
- }
- }
-
- private void DispatchChildDetached(ViewHolder holder)
- {
- if (mAdapter != null && holder != null)
- {
- mAdapter.OnViewDetachedFromWindow(holder);
- }
- }
-
- private void DispatchChildDestroyed(ViewHolder holder)
- {
- if (mAdapter != null && holder != null)
- {
- mAdapter.OnDestroyViewHolder(holder);
- }
- }
-
- private void DispatchItemClicked(ViewHolder clickedHolder)
- {
- ItemClickEventArgs args = new ItemClickEventArgs();
- args.ClickedView = clickedHolder;
- OnClickEvent(this, args);
- }
-
- private void DispatchItemTouched(ViewHolder touchedHolder, Touch touchEvent)
- {
- ItemTouchEventArgs args = new ItemTouchEventArgs();
- args.TouchedView = touchedHolder;
- args.Touch = touchEvent;
- OnTouchEvent(this, args);
- }
-
- private void OnPanGestureDetected(object source, PanGestureDetector.DetectedEventArgs e)
- {
- if (e.PanGesture.State == Gesture.StateType.Started)
- {
- mLayout.StopScroll();
- }
- else if (e.PanGesture.State == Gesture.StateType.Continuing)
- {
- if (mLayout.CanScrollVertically())
- {
- mLayout.ScrollVerticallyBy(e.PanGesture.Displacement.Y, mRecycler, true);
- }
- else if (mLayout.CanScrollHorizontally())
- {
- mLayout.ScrollHorizontallyBy(e.PanGesture.Displacement.X, mRecycler, true);
- }
-
- ShowScrollBar();
- }
- else if (e.PanGesture.State == Gesture.StateType.Finished)
- {
- if (mLayout.CanScrollVertically())
- {
- mLayout.ScrollVerticallyBy(e.PanGesture.Velocity.Y * 600, mRecycler, false);
- }
- else if (mLayout.CanScrollHorizontally())
- {
- mLayout.ScrollHorizontallyBy(e.PanGesture.Velocity.X * 600, mRecycler, false);
- }
- ShowScrollBar(1200, true);
- }
- }
-
-
- private void OnItemEvent(object sender, Adapter.ItemEventArgs e)
- {
- switch (e.EventType)
- {
- case Adapter.ItemEventType.Insert:
- mAdapteHelper.OnItemRangeInserted(e.param[0], e.param[1]);
- ShowScrollBar();
- break;
- case Adapter.ItemEventType.Remove:
- mAdapteHelper.OnItemRangeRemoved(e.param[0], e.param[1]);
- ShowScrollBar();
- break;
- case Adapter.ItemEventType.Move:
- break;
- case Adapter.ItemEventType.Change:
- break;
- default:
- return;
- }
- RelayoutRequest();
- }
-
-
- private void OnClickEvent(object sender, ItemClickEventArgs e)
- {
- clickEventHandlers?.Invoke(sender, e);
- }
-
- private void OnTouchEvent(object sender, ItemTouchEventArgs e)
- {
- touchEventHandlers?.Invoke(sender, e);
- }
-
- ///
- /// ItemClick Event Arguments.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ItemClickEventArgs : EventArgs
- {
- ///
- /// The clicked ViewHolder.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder ClickedView;
- }
-
- ///
- /// ItemTouch Event Arguments.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ItemTouchEventArgs : TouchEventArgs
- {
- ///
- /// The touched ViewHolder.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder TouchedView;
- }
-
- ///
- /// Adapters provide a binding from an app-specific data set to views that are displayed within a FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract class Adapter
- {
- private EventHandler itemEventHandlers;
-
- internal event EventHandler ItemEvent
- {
- add
- {
- itemEventHandlers += value;
- }
-
- remove
- {
- itemEventHandlers -= value;
- }
- }
-
- internal enum ItemEventType
- {
- Insert = 0,
- Remove,
- Move,
- Change
- }
-
- ///
- /// Called when FlexibleView needs a new FlexibleView.ViewHolder of the given type to represent an item.
- ///
- /// The view type of the new View
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract ViewHolder OnCreateViewHolder(int viewType);
-
- ///
- /// Called by FlexibleView to display the data at the specified position.
- ///
- /// The ViewHolder which should be updated to represent the contents of the item at the given position in the data set.
- /// The position of the item within the adapter's data set.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract void OnBindViewHolder(ViewHolder holder, int position);
-
- ///
- /// Called when a ViewHolder is never used.
- ///
- /// The ViewHolder which need to be disposed
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract void OnDestroyViewHolder(ViewHolder holder);
-
- ///
- /// Returns the total number of items in the data set held by the adapter.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract int GetItemCount();
-
- ///
- /// Return the view type of the item at position for the purposes of view recycling.
- ///
- /// The position of the item within the adapter's data set.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual int GetItemViewType(int position)
- {
- return 0;
- }
-
- ///
- /// Called by FlexibleView when it starts observing this Adapter.
- /// Keep in mind that same adapter may be observed by multiple FlexibleView.
- ///
- /// The FlexibleView instance which started observing this adapter.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnAttachedToRecyclerView(FlexibleView flexibleView)
- {
- }
-
- ///
- /// Called by FlexibleView when it stops observing this Adapter.
- ///
- /// The FlexibleView instance which stopped observing this adapter.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnDetachedFromRecyclerView(FlexibleView flexibleView)
- {
- }
-
- ///
- /// Called when FlexibleView focus changed.
- ///
- /// The FlexibleView into which the focus ViewHolder changed.
- /// The position of previous focus
- /// The position of current focus
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnFocusChange(FlexibleView flexibleView, int previousFocus, int currentFocus)
- {
- }
-
- ///
- /// Called when a view created by this adapter has been recycled.
- /// If an item view has large or expensive data bound to it such as large bitmaps, this may be a good place to release those resources
- ///
- /// The ViewHolder will be recycled.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnViewRecycled(ViewHolder holder)
- {
- }
-
- ///
- /// Called when a view created by this adapter has been attached to a window.
- /// This can be used as a reasonable signal that the view is about to be seen by the user.
- ///
- /// Holder of the view being attached.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnViewAttachedToWindow(ViewHolder holder)
- {
- }
-
- ///
- /// Called when a view created by this adapter has been detached from its window.
- ///
- /// Holder of the view being detached.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnViewDetachedFromWindow(ViewHolder holder)
- {
- }
-
- ///
- /// Notify any registered observers that the data set has changed.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyDataSetChanged()
- {
- }
-
- ///
- /// Notify any registered observers that the data set has changed.
- /// It indicates that any reflection of the data at position is out of date and should be updated.
- ///
- /// Position of the item that has changed
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemChanged(int position)
- {
- ItemEventArgs args = new ItemEventArgs
- {
- EventType = ItemEventType.Change,
- };
- args.param[0] = position;
- args.param[1] = 1;
- OnItemEvent(this, args);
- }
-
- ///
- /// Notify any registered observers that the itemCount items starting at position positionStart have changed.
- /// An optional payload can be passed to each changed item.
- ///
- /// Position of the first item that has changed
- /// Number of items that have changed
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemRangeChanged(int positionStart, int itemCount)
- {
- }
-
- ///
- /// Notify any registered observers that the data set has been newly inserted.
- /// It indicates that any reflection of the data at position is out of date and should be updated.
- ///
- /// Position of the item that has been newly inserted
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemInserted(int position)
- {
- NotifyItemRangeInserted(position, 1);
- }
-
- ///
- /// Notify any registered observers that the itemCount items starting at position positionStart have been newly inserted.
- ///
- /// Position of the first item that was inserted
- /// Number of items inserted
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemRangeInserted(int positionStart, int itemCount)
- {
- ItemEventArgs args = new ItemEventArgs
- {
- EventType = ItemEventType.Insert,
- };
- args.param[0] = positionStart;
- args.param[1] = itemCount;
- OnItemEvent(this, args);
- }
-
- ///
- /// Notify any registered observers that the item previously located at position has been removed from the data set.
- ///
- /// Previous position of the first item that was removed
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemRemoved(int position)
- {
- NotifyItemRangeRemoved(position, 1);
- }
-
- ///
- /// Notify any registered observers that the itemCount items previously located at positionStart have been removed from the data set.
- ///
- /// Previous position of the first item that was removed
- /// Number of items removed from the data set
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemRangeRemoved(int positionStart, int itemCount)
- {
- ItemEventArgs args = new ItemEventArgs
- {
- EventType = ItemEventType.Remove,
- };
- args.param[0] = positionStart;
- args.param[1] = itemCount;
- OnItemEvent(this, args);
- }
-
- ///
- /// Notify any registered observers that the item reflected at fromPosition has been moved to toPosition.
- ///
- /// Previous position of the item
- /// New position of the item.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void NotifyItemMoved(int fromPosition, int toPosition)
- {
-
- }
-
- private void OnItemEvent(object sender, ItemEventArgs e)
- {
- itemEventHandlers?.Invoke(sender, e);
- }
-
- internal class ItemEventArgs : EventArgs
- {
-
- ///
- /// Data change event parameters.
- ///
- public int[] param = new int[4];
-
- ///
- /// Data changed event type.
- ///
- public ItemEventType EventType
- {
- get;
- set;
- }
- }
- }
-
- ///
- /// A LayoutManager is responsible for measuring and positioning item views within a FlexibleView
- /// as well as determining the policy for when to recycle item views that are no longer visible to the user.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract class LayoutManager
- {
- ///
- /// Direction
- ///
- public enum Direction
- {
- ///
- /// Left
- ///
- Left,
-
- ///
- /// Right
- ///
- Right,
-
- ///
- /// Up
- ///
- Up,
-
- ///
- /// Down
- ///
- Down
- }
-
- private FlexibleView mFlexibleView;
- private ChildHelper mChildHelper;
-
- private List mPendingRecycleViews = new List();
-
- private Animation mScrollAni;
-
- ///
- /// Layout all relevant child views from the given adapter.
- ///
- /// Recycler to use for fetching potentially cached views for a position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public abstract void OnLayoutChildren(Recycler recycler);
-
- ///
- /// Called after a full layout calculation is finished.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void OnLayoutCompleted()
- {
- }
-
-
- ///
- /// Gets the current focus position in adapter.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FocusPosition
- {
- get
- {
- return mFlexibleView.mFocusedItemIndex;
- }
- }
-
- ///
- /// Gets the datas count in data sets.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ItemCount
- {
- get
- {
- Adapter b = mFlexibleView != null ? mFlexibleView.mAdapter : null;
-
- return b != null ? b.GetItemCount() : 0;
- }
- }
-
- ///
- /// Query if horizontal scrolling is currently supported. The default implementation returns false.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual bool CanScrollHorizontally()
- {
- return false;
- }
-
- ///
- /// Query if vertical scrolling is currently supported. The default implementation returns false.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual bool CanScrollVertically()
- {
- return false;
- }
-
- ///
- /// Scroll horizontally by dy pixels in screen coordinates.
- ///
- /// distance to scroll in pixels. Y increases as scroll position approaches the top.
- /// Recycler to use for fetching potentially cached views for a position
- /// Specify if the scroll need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual float ScrollHorizontallyBy(float dy, Recycler recycler, bool immediate)
- {
- return 0;
- }
-
- ///
- /// Scroll vertically by dy pixels in screen coordinates.
- ///
- /// distance to scroll in pixels. Y increases as scroll position approaches the top.
- /// Recycler to use for fetching potentially cached views for a position
- /// Specify if the scroll need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual float ScrollVerticallyBy(float dy, Recycler recycler, bool immediate)
- {
- return 0;
- }
-
- ///
- /// Compute the extent of the scrollbar's thumb within the range.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual float ComputeScrollExtent()
- {
- return 0;
- }
-
- ///
- /// Compute the offset of the scrollbar's thumb within the range.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual float ComputeScrollOffset()
- {
- return 0;
- }
-
- ///
- /// Compute the range that the scrollbar represents.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual float ComputeScrollRange()
- {
- return 0;
- }
-
- ///
- /// Scroll the FlexibleView to make the position visible.
- ///
- /// Scroll to this adapter position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void ScrollToPosition(int position)
- {
-
- }
-
- ///
- /// Scroll to the specified adapter position with the given offset from resolved layout start.
- ///
- /// Scroll to this adapter position
- /// The distance (in pixels) between the start edge of the item view and start edge of the FlexibleView.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public virtual void ScrollToPositionWithOffset(int position, int offset)
- {
-
- }
-
- internal void MoveFocus(FlexibleView.LayoutManager.Direction direction, Recycler recycler)
- {
- int prevFocusPosition = FocusPosition;
- int nextFocusPosition = GetNextPosition(FocusPosition, direction);
- if (nextFocusPosition == NO_POSITION)
- {
- return;
- }
-
- FlexibleView.ViewHolder nextFocusChild = FindItemViewByPosition(nextFocusPosition);
- if (nextFocusChild == null)
- {
- nextFocusChild = OnFocusSearchFailed(null, direction, recycler);
- }
-
- if (nextFocusChild != null)
- {
- RequestChildRectangleOnScreen(mFlexibleView, nextFocusChild, recycler, false);
-
- ChangeFocus(nextFocusPosition);
- }
- }
-
- /**
- * Requests that the given child of the RecyclerView be positioned onto the screen. This
- * method can be called for both unfocusable and focusable child views. For unfocusable
- * child views, focusedChildVisible is typically true in which case, layout manager
- * makes the child view visible only if the currently focused child stays in-bounds of RV.
- * @param parent The parent RecyclerView.
- * @param child The direct child making the request.
- * @param rect The rectangle in the child's coordinates the child
- * wishes to be on the screen.
- * @param immediate True to forbid animated or delayed scrolling,
- * false otherwise
- * @param focusedChildVisible Whether the currently focused view must stay visible.
- * @return Whether the group scrolled to handle the operation
- */
- internal bool RequestChildRectangleOnScreen(FlexibleView parent, FlexibleView.ViewHolder child, Recycler recycler, bool immediate)
- {
- Vector2 scrollAmount = GetChildRectangleOnScreenScrollAmount(parent, child);
- float dx = scrollAmount[0];
- float dy = scrollAmount[1];
- if (dx != 0 || dy != 0)
- {
- if (dx != 0 && CanScrollHorizontally())
- {
- ScrollHorizontallyBy(dx, recycler, immediate);
- }
- else if (dy != 0 && CanScrollVertically())
- {
- ScrollVerticallyBy(dy, recycler, immediate);
- }
- return true;
- }
- return false;
- }
-
- ///
- /// Calls {@code FlexibleView#RelayoutRequest} on the underlying FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void RelayoutRequest()
- {
- if (mFlexibleView != null)
- {
- mFlexibleView.RelayoutRequest();
- }
- }
-
- ///
- /// Lay out the given child view within the FlexibleView using coordinates that include view margins.
- ///
- /// Child to lay out
- /// Left edge, with item view left margin included
- /// Top edge, with item view top margin included
- /// Width, with item view left and right margin included
- /// Height, with item view top and bottom margin included
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void LayoutChild(ViewHolder child, float left, float top, float width, float height)
- {
- View itemView = child.ItemView;
- itemView.SizeWidth = width - itemView.Margin.Start - itemView.Margin.End;
- itemView.SizeHeight = height - itemView.Margin.Top - itemView.Margin.Bottom;
- itemView.PositionX = left + itemView.Margin.Start;
- itemView.PositionY = top + itemView.Margin.Top;
- }
-
- ///
- /// Change the ViewHolder with focusPosition to focus.
- ///
- /// the newly focus position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void ChangeFocus(int focusPosition)
- {
- if (mFlexibleView != null)
- {
- mFlexibleView.DispatchFocusChanged(focusPosition);
- }
- }
-
- ///
- /// Return the current number of child views attached to the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetChildCount()
- {
- return mChildHelper != null ? mChildHelper.GetChildCount() : 0;
- }
-
- ///
- /// Return the child view at the given index.
- ///
- /// child index
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder GetChildAt(int index)
- {
- return mChildHelper != null ? mChildHelper.GetChildAt(index) : null;
- }
-
- ///
- /// Finds the view which represents the given adapter position.
- ///
- /// adapter position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder FindItemViewByPosition(int position)
- {
- return mFlexibleView.FindViewHolderForLayoutPosition(position);
- }
-
- ///
- /// Offset all child views attached to the parent FlexibleView by dx pixels along the horizontal axis.
- ///
- /// Pixels to offset by
- /// specify if the offset need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void OffsetChildrenHorizontal(float dx, bool immediate)
- {
- if (mChildHelper == null)
- {
- return;
- }
-
- if (mScrollAni == null)
- {
- mScrollAni = new Animation();
- mScrollAni.Finished += OnScrollAnimationFinished;
- }
- else if (mScrollAni.State == Animation.States.Playing)
- {
- //StopScroll();
- mScrollAni.Stop(Animation.EndActions.StopFinal);
- }
- mScrollAni.Duration = 500;
- mScrollAni.DefaultAlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSquare);
-
- mScrollAni.Clear();
-
- int childCount = mChildHelper.GetChildCount();
- if (immediate == true)
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- v.ItemView.PositionX += dx;
- }
- }
- else
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- mScrollAni.AnimateTo(v.ItemView, "PositionX", v.ItemView.PositionX + dx);
- }
- mScrollAni.Play();
- }
- }
-
- ///
- /// Offset all child views attached to the parent FlexibleView by dy pixels along the vertical axis.
- ///
- /// Pixels to offset by
- /// specify if the offset need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void OffsetChildrenVertical(float dy, bool immediate)
- {
- if (mChildHelper == null)
- {
- return;
- }
-
- if (mScrollAni == null)
- {
- mScrollAni = new Animation();
- mScrollAni.Finished += OnScrollAnimationFinished;
- }
- else if (mScrollAni.State == Animation.States.Playing)
- {
- //StopScroll();
- mScrollAni.Stop(Animation.EndActions.StopFinal);
- }
- mScrollAni.Duration = 500;
- mScrollAni.DefaultAlphaFunction = new AlphaFunction(AlphaFunction.BuiltinFunctions.EaseOutSquare);
-
- mScrollAni.Clear();
-
- int childCount = mChildHelper.GetChildCount();
- if (immediate == true)
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- v.ItemView.PositionY += dy;
- }
- }
- else
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- mScrollAni.AnimateTo(v.ItemView, "PositionY", v.ItemView.PositionY + dy);
- }
- mScrollAni.Play();
- }
- }
-
- ///
- /// Return the width of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float GetWidth()
- {
- return mFlexibleView != null ? mFlexibleView.SizeWidth : 0;
- }
-
- ///
- /// Return the height of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float GetHeight()
- {
- return mFlexibleView != null ? mFlexibleView.SizeHeight : 0;
- }
-
- ///
- /// Return the left padding of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetPaddingLeft()
- {
- return mFlexibleView != null ? mFlexibleView.Padding.Start : 0;
- }
-
- ///
- /// Return the top padding of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetPaddingTop()
- {
- return mFlexibleView != null ? mFlexibleView.Padding.Top : 0;
- }
-
- ///
- /// Return the right padding of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetPaddingRight()
- {
- return mFlexibleView != null ? mFlexibleView.Padding.End : 0;
- }
-
- ///
- /// Return the bottom padding of the parent FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetPaddingBottom()
- {
- return mFlexibleView != null ? mFlexibleView.Padding.Bottom : 0;
- }
-
- ///
- /// Add a view to the currently attached FlexibleView if needed.
- /// LayoutManagers should use this method to add views obtained from a FlexibleView.Recycler using getViewForPosition(int).
- ///
- /// view to add
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void AddView(ViewHolder holder)
- {
- AddView(holder, -1);
- }
-
- ///
- /// Add a view to the currently attached FlexibleView if needed.
- /// LayoutManagers should use this method to add views obtained from a FlexibleView.Recycler using getViewForPosition(int).
- ///
- /// view to add
- /// index to add child at
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void AddView(ViewHolder holder, int index)
- {
- AddViewInternal(holder, index, false);
- }
-
- ///
- /// Temporarily detach and scrap all currently attached child views.
- /// Views will be scrapped into the given Recycler.
- /// The Recycler may prefer to reuse scrap views before other views that were previously recycled.
- ///
- /// Recycler to scrap views into
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void ScrapAttachedViews(Recycler recycler)
- {
- if (mChildHelper == null)
- {
- return;
- }
-
- recycler.Clear();
-
- mChildHelper.ScrapViews(recycler);
- }
-
- /**
- * Remove a child view and recycle it using the given Recycler.
- *
- * @param index Index of child to remove and recycle
- * @param recycler Recycler to use to recycle child
- */
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void RemoveAndRecycleViewAt(int index, Recycler recycler)
- {
- ViewHolder v = mChildHelper.GetChildAt(index);
- mChildHelper.RemoveViewAt(index);
- recycler.RecycleView(v);
- }
-
- ///
- /// ecycles children between given indices..
- ///
- /// Recycler to recycle views into
- /// inclusive
- /// exclusive
- /// recycle immediately or add to pending list and recycle later.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void RecycleChildren(FlexibleView.Recycler recycler, int startIndex, int endIndex, bool immediate)
- {
- if (startIndex == endIndex)
- {
- return;
- }
- if (endIndex > startIndex)
- {
- for (int i = startIndex; i < endIndex; i++)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- if (v.PendingRecycle == false)
- {
- v.PendingRecycle = true;
- mPendingRecycleViews.Add(v);
- }
- }
- }
- else
- {
- for (int i = startIndex; i > endIndex; i--)
- {
- ViewHolder v = mChildHelper.GetChildAt(i);
- if (v.PendingRecycle == false)
- {
- v.PendingRecycle = true;
- mPendingRecycleViews.Add(v);
- }
- }
- }
- if (immediate == true)
- {
- RecycleChildrenInt(recycler);
- }
- }
-
- ///
- /// Retrieves a position that neighbor to current position by direction.
- ///
- /// The anchor adapter position
- /// The direction.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected abstract int GetNextPosition(int position, FlexibleView.LayoutManager.Direction direction);
-
- internal virtual ViewHolder OnFocusSearchFailed(FlexibleView.ViewHolder focused, LayoutManager.Direction direction, Recycler recycler)
- {
- return null;
- }
-
- internal void SetRecyclerView(FlexibleView recyclerView)
- {
- mFlexibleView = recyclerView;
- mChildHelper = recyclerView.mChildHelper;
- }
-
- internal void StopScroll()
- {
- if (mScrollAni != null && mScrollAni.State == Animation.States.Playing)
- {
- mScrollAni.Stop(Animation.EndActions.StopFinal);
- mScrollAni.Clear();
- OnScrollAnimationFinished(mScrollAni, null);
- }
- }
-
- /**
- * Returns the scroll amount that brings the given rect in child's coordinate system within
- * the padded area of RecyclerView.
- * @param parent The parent RecyclerView.
- * @param child The direct child making the request.
- * @param rect The rectangle in the child's coordinates the child
- * wishes to be on the screen.
- * @param immediate True to forbid animated or delayed scrolling,
- * false otherwise
- * @return The array containing the scroll amount in x and y directions that brings the
- * given rect into RV's padded area.
- */
- private Vector2 GetChildRectangleOnScreenScrollAmount(FlexibleView parent, FlexibleView.ViewHolder child)
- {
- Vector2 ret = new Vector2(0, 0);
- int parentLeft = GetPaddingLeft();
- int parentTop = GetPaddingTop();
- int parentRight = (int)GetWidth() - GetPaddingRight();
- int parentBottom = (int)GetHeight() - GetPaddingBottom();
- int childLeft = (int)child.Left;
- int childTop = (int)child.Top;
- int childRight = (int)child.Right;
- int childBottom = (int)child.Bottom;
-
- int offScreenLeft = Math.Min(0, childLeft - parentLeft);
- int offScreenTop = Math.Min(0, childTop - parentTop);
- int offScreenRight = Math.Max(0, childRight - parentRight);
- int offScreenBottom = Math.Max(0, childBottom - parentBottom);
-
- // Favor the "start" layout direction over the end when bringing one side or the other
- // of a large rect into view. If we decide to bring in end because start is already
- // visible, limit the scroll such that start won't go out of bounds.
- int dx= offScreenLeft != 0 ? offScreenLeft
- : Math.Min(childLeft - parentLeft, offScreenRight);
-
- // Favor bringing the top into view over the bottom. If top is already visible and
- // we should scroll to make bottom visible, make sure top does not go out of bounds.
- int dy = offScreenTop != 0 ? offScreenTop
- : Math.Min(childTop - parentTop, offScreenBottom);
-
- ret.X = -dx;
- ret.Y = -dy;
-
- return ret;
- }
-
- private void OnScrollAnimationFinished(object sender, EventArgs e)
- {
- RecycleChildrenInt(mFlexibleView.mRecycler);
- }
-
- private void AddViewInternal(ViewHolder holder, int index, bool disappearing)
- {
- if (holder.IsScrap())
- {
- holder.Unscrap();
- mChildHelper.AttachView(holder, index);
- }
- else
- {
- mChildHelper.AddView(holder, index);
- }
- }
-
- private void RecycleChildrenInt(FlexibleView.Recycler recycler)
- {
- foreach(ViewHolder holder in mPendingRecycleViews)
- {
- holder.PendingRecycle = false;
- recycler.RecycleView(holder);
- mChildHelper.RemoveView(holder);
- }
- mPendingRecycleViews.Clear();
- }
-
- private void ScrapOrRecycleView(Recycler recycler, ViewHolder itemView)
- {
- recycler.ScrapView(itemView);
- }
-
- }
-
- ///
- /// A ViewHolder describes an item view and metadata about its place within the FlexibleView.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class ViewHolder
- {
- /**
- * This ViewHolder has been bound to a position; AdapterPosition, mItemId and mItemViewType
- * are all valid.
- */
- //static readonly int FLAG_BOUND = 1 << 0;
-
- /**
- * The data this ViewHolder's view reflects is stale and needs to be rebound
- * by the adapter. AdapterPosition and mItemId are consistent.
- */
- //static readonly int FLAG_UPDATE = 1 << 1;
-
- /**
- * This ViewHolder's data is invalid. The identity implied by AdapterPosition and mItemId
- * are not to be trusted and may no longer match the item view type.
- * This ViewHolder must be fully rebound to different data.
- */
- //static readonly int FLAG_INVALID = 1 << 2;
-
- /**
- * This ViewHolder points at data that represents an item previously removed from the
- * data set. Its view may still be used for things like outgoing animations.
- */
- //static readonly int FLAG_REMOVED = 1 << 3;
-
- /**
- * This ViewHolder should not be recycled. This flag is set via setIsRecyclable()
- * and is intended to keep views around during animations.
- */
- //static readonly int FLAG_NOT_RECYCLABLE = 1 << 4;
-
- /**
- * This ViewHolder is returned from scrap which means we are expecting an addView call
- * for this itemView. When returned from scrap, ViewHolder stays in the scrap list until
- * the end of the layout pass and then recycled by RecyclerView if it is not added back to
- * the RecyclerView.
- */
- //static readonly int FLAG_RETURNED_FROM_SCRAP = 1 << 5;
-
- /**
- * This ViewHolder is fully managed by the LayoutManager. We do not scrap, recycle or remove
- * it unless LayoutManager is replaced.
- * It is still fully visible to the LayoutManager.
- */
- //static readonly int FLAG_IGNORE = 1 << 7;
-
- private int mFlags;
- private int mPreLayoutPosition = NO_POSITION;
-
- ///
- /// ViewHolder constructor.
- ///
- /// View
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder(View itemView)
- {
- if (itemView == null)
- {
- throw new ArgumentNullException("itemView may not be null");
- }
- this.ItemView = itemView;
- }
-
- ///
- /// Returns the view.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public View ItemView { get; }
-
- ///
- /// Returns the left edge includes the view left margin.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float Left
- {
- get
- {
- return ItemView.PositionX - ItemView.Margin.Start;
- }
- }
-
- ///
- /// Returns the right edge includes the view right margin.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float Right
- {
- get
- {
- return ItemView.PositionX + ItemView.SizeWidth + ItemView.Margin.End;
- }
- }
-
- ///
- /// Returns the top edge includes the view top margin.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float Top
- {
- get
- {
- return ItemView.PositionY - ItemView.Margin.Top;
- }
- }
-
- ///
- /// Returns the bottom edge includes the view bottom margin.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float Bottom
- {
- get
- {
- return ItemView.PositionY + ItemView.SizeHeight + ItemView.Margin.Bottom;
- }
- }
-
- ///
- /// Returns the position of the ViewHolder in terms of the latest layout pass.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int LayoutPosition
- {
- get
- {
- return mPreLayoutPosition == NO_POSITION ? AdapterPosition : mPreLayoutPosition;
- }
- }
-
- ///
- /// Returns the Adapter position of the item represented by this ViewHolder.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int AdapterPosition { get; internal set; } = NO_POSITION;
-
- ///
- /// Get old position of item view.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int OldPosition { get; private set; } = NO_POSITION;
-
- ///
- /// Gets or sets item view type.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int ItemViewType { get; set; } = INVALID_TYPE;
-
- internal bool IsBound
- {
- get;
- set;
- }
-
- internal Recycler ScrapContainer { get; set; }
-
- internal bool PendingRecycle
- {
- get;
- set;
- } = false;
-
-
- internal bool IsScrap()
- {
- return ScrapContainer != null;
- }
-
- internal void Unscrap()
- {
- ScrapContainer.UnscrapView(this);
- }
-
-
- internal void FlagRemovedAndOffsetPosition(int mNewPosition, int offset, bool applyToPreLayout)
- {
- //AddFlags(ViewHolder.FLAG_REMOVED);
- OffsetPosition(offset, applyToPreLayout);
- AdapterPosition = mNewPosition;
- }
-
- internal void OffsetPosition(int offset, bool applyToPreLayout)
- {
- if (OldPosition == NO_POSITION)
- {
- OldPosition = AdapterPosition;
- }
- if (mPreLayoutPosition == NO_POSITION)
- {
- mPreLayoutPosition = AdapterPosition;
- }
- if (applyToPreLayout)
- {
- mPreLayoutPosition += offset;
- }
- AdapterPosition += offset;
- }
-
- internal void ClearOldPosition()
- {
- OldPosition = NO_POSITION;
- mPreLayoutPosition = NO_POSITION;
- }
-
- internal void SaveOldPosition()
- {
- if (OldPosition == NO_POSITION)
- {
- OldPosition = AdapterPosition;
- }
- }
-
- private void SetFlags(int flags, int mask)
- {
- mFlags = (mFlags & ~mask) | (flags & mask);
- }
-
- private void AddFlags(int flags)
- {
- mFlags |= flags;
- }
-
- }
-
- ///
- /// A Recycler is responsible for managing scrapped or detached item views for reuse.
- /// A "scrapped" view is a view that is still attached to its parent FlexibleView but that has been marked for removal or reuse.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class Recycler
- {
- private FlexibleView mFlexibleView;
- private RecycledViewPool mRecyclerPool;
-
- private List mAttachedScrap = new List();
- private List mChangedScrap = null;
- //private List mCachedViews = new List();
-
- //private List mUnmodifiableAttachedScrap;
-
- private int mCacheSizeMax = 2;
-
- ///
- /// Recycler constructor.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Recycler(FlexibleView recyclerView)
- {
- mFlexibleView = recyclerView;
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void SetViewCacheSize(int viewCount)
- {
- mCacheSizeMax = viewCount;
- }
-
- ///
- /// Obtain a view initialized for the given position.
- ///
- /// Position to obtain a view for
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder GetViewForPosition(int position)
- {
- Adapter b = mFlexibleView != null ? mFlexibleView.mAdapter : null;
- if (b == null)
- {
- return null;
- }
- if (position < 0 || position >= b.GetItemCount())
- {
- return null;
- }
-
- int type = b.GetItemViewType(position);
- ViewHolder itemView = null;
- for (int i = 0; i < mAttachedScrap.Count; i++)
- {
- if (mAttachedScrap[i].LayoutPosition == position && mAttachedScrap[i].ItemViewType == type)
- {
- itemView = mAttachedScrap[i];
- break;
- }
- }
- if (itemView == null)
- {
- itemView = mRecyclerPool.GetRecycledView(type);
- if (itemView == null)
- {
- itemView = b.OnCreateViewHolder(type);
- }
-
- if (!itemView.IsBound)
- {
- b.OnBindViewHolder(itemView, position);
- itemView.IsBound = true;
- }
-
- itemView.AdapterPosition = position;
- itemView.ItemViewType = type;
- }
-
- return itemView;
- }
-
- ///
- /// Recycle a detached view.
- ///
- /// Removed holder for recycling
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void RecycleView(ViewHolder itemView)
- {
- itemView.ScrapContainer = null;
- mRecyclerPool.PutRecycledView(itemView);
- }
-
- ///
- /// Returns the count in scrap list.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int GetScrapCount()
- {
- return mAttachedScrap.Count;
- }
-
- ///
- /// Gets the scrap view at index.
- ///
- /// index
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public ViewHolder GetScrapViewAt(int index)
- {
- return mAttachedScrap[index];
- }
-
- ///
- /// Clear scrap views out of this recycler. Detached views contained within a recycled view pool will remain.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public void Clear()
- {
- mAttachedScrap.Clear();
- if (mChangedScrap != null)
- {
- mChangedScrap.Clear();
- }
- }
-
- internal void ScrapView(ViewHolder itemView)
- {
- mAttachedScrap.Add(itemView);
- itemView.ScrapContainer = this;
- }
-
- internal void UnscrapView(ViewHolder itemView)
- {
- mAttachedScrap.Remove(itemView);
- itemView.ScrapContainer = null;
- }
-
- internal void SetRecycledViewPool(RecycledViewPool pool)
- {
- mRecyclerPool = pool;
- }
- }
-
- internal class RecycledViewPool
- {
- private FlexibleView mFlexibleView;
-
- private int mMaxTypeCount = 10;
- private List[] mScrap;
-
- public RecycledViewPool(FlexibleView flexibleView)
- {
- mFlexibleView = flexibleView;
- mScrap = new List[mMaxTypeCount];
- }
-
- //public void SetViewTypeCount(int typeCount)
- //{
- //}
-
- public ViewHolder GetRecycledView(int viewType)
- {
- if (viewType >= mMaxTypeCount || mScrap[viewType] == null)
- {
- return null;
- }
-
- int index = mScrap[viewType].Count - 1;
- if (index < 0)
- {
- return null;
- }
- ViewHolder recycledView = mScrap[viewType][index];
- mScrap[viewType].RemoveAt(index);
-
- return recycledView;
- }
-
- public void PutRecycledView(ViewHolder view)
- {
- int viewType = view.ItemViewType;
- if (mScrap[viewType] == null)
- {
- mScrap[viewType] = new List();
- }
- view.IsBound = false;
- mScrap[viewType].Add(view);
- }
-
- public void Clear()
- {
- for (int i = 0; i < mMaxTypeCount; i++)
- {
- if (mScrap[i] == null)
- {
- continue;
- }
- for (int j = 0; j < mScrap[i].Count; j++)
- {
- mFlexibleView.DispatchChildDestroyed(mScrap[i][j]);
- }
- mScrap[i].Clear();
- }
- }
- }
-
- private class ChildHelper
- {
- private FlexibleView mFlexibleView;
-
- private List mViewList = new List();
-
- //private List mRemovePendingViews;
-
- private Dictionary itemViewTable = new Dictionary();
- private TapGestureDetector mTapGestureDetector;
-
- public ChildHelper(FlexibleView owner)
- {
- mFlexibleView = owner;
-
- mTapGestureDetector = new TapGestureDetector();
- mTapGestureDetector.Detected += OnTapGestureDetected;
- }
-
- public void Clear()
- {
- foreach(ViewHolder holder in mViewList)
- {
- mFlexibleView.Remove(holder.ItemView);
-
- mFlexibleView.DispatchChildDestroyed(holder);
- }
- mViewList.Clear();
- }
-
- public void ScrapViews(Recycler recycler)
- {
- recycler.Clear();
- foreach (ViewHolder itemView in mViewList)
- {
- recycler.ScrapView(itemView);
- }
-
- mViewList.Clear();
- }
-
- public void AttachView(ViewHolder holder, int index)
- {
- if (index == -1)
- {
- index = mViewList.Count;
- }
- mViewList.Insert(index, holder);
-
- if (!itemViewTable.ContainsKey(holder.ItemView.ID))
- {
- mTapGestureDetector.Attach(holder.ItemView);
- holder.ItemView.TouchEvent += OnTouchEvent;
- }
-
- itemViewTable[holder.ItemView.ID] = holder;
- }
-
- public void AddView(ViewHolder holder, int index)
- {
- mFlexibleView.Add(holder.ItemView);
-
- mFlexibleView.DispatchChildAttached(holder);
-
- AttachView(holder, index);
- }
-
- public bool RemoveView(ViewHolder holder)
- {
- mFlexibleView.Remove(holder.ItemView);
-
- mFlexibleView.DispatchChildDetached(holder);
-
- return mViewList.Remove(holder);
- }
-
- public bool RemoveViewAt(int index)
- {
- ViewHolder itemView = mViewList[index];
- return RemoveView(itemView);
- }
-
- public bool RemoveViewsRange(int index, int count)
- {
- for (int i = index; i < index + count; i++)
- {
- ViewHolder holder = mViewList[i];
- mFlexibleView.Remove(holder.ItemView);
- }
- mViewList.RemoveRange(index, count);
- return false;
- }
-
- public int GetChildCount()
- {
- return mViewList.Count;
- }
-
- public ViewHolder GetChildAt(int index)
- {
- if (index < 0 || index >= mViewList.Count)
- {
- return null;
- }
- return mViewList[index];
- }
-
- private void OnTapGestureDetected(object source, TapGestureDetector.DetectedEventArgs e)
- {
- View itemView = e.View as View;
- if (itemView == null)
- {
- return;
- }
- if (itemViewTable.ContainsKey(itemView.ID))
- {
- ViewHolder holder = itemViewTable[itemView.ID];
- mFlexibleView.FocusedItemIndex = holder.AdapterPosition;
-
- mFlexibleView.DispatchItemClicked(holder);
- }
- }
-
- private bool OnTouchEvent(object source, TouchEventArgs e)
- {
- View itemView = source as View;
- if (itemView != null && itemViewTable.ContainsKey(itemView.ID))
- {
- ViewHolder holder = itemViewTable[itemView.ID];
-
- mFlexibleView.DispatchItemTouched(holder, e.Touch);
- return true;
- }
- return false;
- }
- }
-
- private class AdapterHelper
- {
- private FlexibleView mFlexibleView;
-
- private List mPendingUpdates = new List();
-
- private int mExistingUpdateTypes = 0;
-
- public AdapterHelper(FlexibleView flexibleView)
- {
- mFlexibleView = flexibleView;
- }
-
- /**
- * @return True if updates should be processed.
- */
- public bool OnItemRangeInserted(int positionStart, int itemCount)
- {
- if (itemCount < 1)
- {
- return false;
- }
- mPendingUpdates.Add(new UpdateOp(UpdateOp.ADD, positionStart, itemCount));
- mExistingUpdateTypes |= UpdateOp.ADD;
- return mPendingUpdates.Count == 1;
- }
-
- /**
- * @return True if updates should be processed.
- */
- public bool OnItemRangeRemoved(int positionStart, int itemCount)
- {
- if (itemCount < 1)
- {
- return false;
- }
- mPendingUpdates.Add(new UpdateOp(UpdateOp.REMOVE, positionStart, itemCount));
- mExistingUpdateTypes |= UpdateOp.REMOVE;
- return mPendingUpdates.Count == 1;
- }
-
- public void PreProcess()
- {
- int count = mPendingUpdates.Count;
- for (int i = 0; i < count; i++)
- {
- UpdateOp op = mPendingUpdates[i];
- switch (op.cmd)
- {
- case UpdateOp.ADD:
- mFlexibleView.OffsetPositionRecordsForInsert(op.positionStart, op.itemCount);
- break;
- case UpdateOp.REMOVE:
- mFlexibleView.OffsetPositionRecordsForRemove(op.positionStart, op.itemCount, false);
- break;
- case UpdateOp.UPDATE:
- break;
- case UpdateOp.MOVE:
- break;
- }
- }
- mPendingUpdates.Clear();
- }
-
- }
-
- /**
- * Queued operation to happen when child views are updated.
- */
- private class UpdateOp
- {
-
- public const int ADD = 1;
-
- public const int REMOVE = 1 << 1;
-
- public const int UPDATE = 1 << 2;
-
- public const int MOVE = 1 << 3;
-
- public const int POOL_SIZE = 30;
-
- public int cmd;
-
- public int positionStart;
-
- // holds the target position if this is a MOVE
- public int itemCount;
-
- public UpdateOp(int cmd, int positionStart, int itemCount)
- {
- this.cmd = cmd;
- this.positionStart = positionStart;
- this.itemCount = itemCount;
- }
-
- public bool Equals(UpdateOp op)
- {
- if (cmd != op.cmd)
- {
- return false;
- }
- if (cmd == MOVE && Math.Abs(itemCount - positionStart) == 1)
- {
- // reverse of this is also true
- if (itemCount == op.positionStart && positionStart == op.itemCount)
- {
- return true;
- }
- }
- if (itemCount != op.itemCount)
- {
- return false;
- }
- if (positionStart != op.positionStart)
- {
- return false;
- }
-
- return true;
- }
-
- }
-
- private class ItemViewInfo
- {
- public float Left
- {
- get;
- set;
- }
- public float Top
- {
- get;
- set;
- }
- public float Right
- {
- get;
- set;
- }
- public float Bottom
- {
- get;
- set;
- }
- }
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/GridLayoutManager.cs b/src/Tizen.NUI.CommonUI/Controls/FlexibleView/GridLayoutManager.cs
deleted file mode 100755
index 210b8b1c2..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/GridLayoutManager.cs
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright(c) 2019 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 System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Layout collection of views in a grid.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class GridLayoutManager : LinearLayoutManager
- {
- private static readonly int DEFAULT_SPAN_COUNT = -1;
-
- private int mSpanCount = DEFAULT_SPAN_COUNT;
-
- ///
- /// Creates a GridLayoutManager with orientation.
- ///
- /// The number of columns or rows in the grid
- /// Layout orientation.Should be HORIZONTAL or VERTICAL
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public GridLayoutManager(int spanCount, int orientation) : base(orientation)
- {
- mSpanCount = spanCount;
- }
-
- internal override void EnsureAnchorReady(FlexibleView.Recycler recycler, AnchorInfo anchorInfo, int itemDirection)
- {
- bool layingOutInPrimaryDirection = (itemDirection == LayoutState.ITEM_DIRECTION_TAIL);
- int span = anchorInfo.Position;
- if (layingOutInPrimaryDirection)
- {
- // choose span 0
- while (span > 0 && anchorInfo.Position > 0)
- {
- anchorInfo.Position--;
- span = anchorInfo.Position;
- }
- }
- else
- {
- // choose the max span we can get. hopefully last one
- int indexLimit = GetChildCount() - 1;
- int pos = anchorInfo.Position;
- int bestSpan = span;
- while (pos < indexLimit)
- {
- int next = (pos + 1);
- if (next > bestSpan)
- {
- pos += 1;
- bestSpan = next;
- }
- else
- {
- break;
- }
- }
- anchorInfo.Position = pos;
- }
- }
-
- ///
- /// Retrieves a position that neighbor to current position by direction.
- ///
- /// The anchor adapter position
- /// The direction.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override int GetNextPosition(int position, FlexibleView.LayoutManager.Direction direction)
- {
- if (mOrientation == HORIZONTAL)
- {
- switch (direction)
- {
- case FlexibleView.LayoutManager.Direction.Left:
- if (position >= mSpanCount)
- {
- return position - mSpanCount;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Right:
- if (position < ItemCount - mSpanCount)
- {
- return position + mSpanCount;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Up:
- if (position % mSpanCount > 0)
- {
- return position - 1;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Down:
- if (position < ItemCount - 1 && (position % mSpanCount < mSpanCount - 1))
- {
- return position + 1;
- }
- break;
- }
- }
- else
- {
- switch (direction)
- {
- case FlexibleView.LayoutManager.Direction.Left:
- if (position % mSpanCount > 0)
- {
- return position - 1;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Right:
- if (position < ItemCount - 1 && (position % mSpanCount < mSpanCount - 1))
- {
- return position + 1;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Up:
- if (position >= mSpanCount)
- {
- return position - mSpanCount;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Down:
- if (position < ItemCount - mSpanCount)
- {
- return position + mSpanCount;
- }
- break;
- }
- }
-
- return NO_POSITION;
- }
-
- internal override void LayoutChunk(FlexibleView.Recycler recycler,
- LayoutState layoutState, LayoutChunkResult result)
- {
- bool layingOutInPrimaryDirection =
- layoutState.ItemDirection == LayoutState.ITEM_DIRECTION_TAIL;
-
- int count = mSpanCount;
- for (int i = 0; i < count; i++)
- {
- FlexibleView.ViewHolder holder = layoutState.Next(recycler);
- if (holder == null)
- {
- result.Finished = true;
- return;
- }
-
- if (layingOutInPrimaryDirection)
- AddView(holder);
- else
- AddView(holder, 0);
-
- result.Consumed = mOrientationHelper.GetViewHolderMeasurement(holder);
-
- float left, top, width, height;
- if (mOrientation == VERTICAL)
- {
- width = (GetWidth() - GetPaddingLeft() - GetPaddingRight()) / count;
- height = result.Consumed;
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
- {
- left = GetPaddingLeft() + width * i;
- top = layoutState.Offset;
- }
- else
- {
- left = GetPaddingLeft() + width * (count - 1 - i);
- top = layoutState.Offset - height;
- }
- LayoutChild(holder, left, top, width, height);
- }
- else
- {
- width = result.Consumed;
- height = (GetHeight() - GetPaddingTop() - GetPaddingBottom()) / count;
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
- {
- top = GetPaddingTop() + height * i;
- left = layoutState.Offset;
- }
- else
- {
- top = GetPaddingTop() + height * (count - 1 - i);
- left = layoutState.Offset - width;
- }
- LayoutChild(holder, left, top, width, height);
- }
- }
- }
-
-
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/LinearLayoutManager.cs b/src/Tizen.NUI.CommonUI/Controls/FlexibleView/LinearLayoutManager.cs
deleted file mode 100755
index 249afa6c8..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/LinearLayoutManager.cs
+++ /dev/null
@@ -1,1198 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Layout collection of views horizontally/vertically.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class LinearLayoutManager : FlexibleView.LayoutManager
- {
- ///
- /// Constant value: 0.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int HORIZONTAL = OrientationHelper.HORIZONTAL;
- ///
- /// Constant value: 1.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int VERTICAL = OrientationHelper.VERTICAL;
- ///
- /// Constant value: -1.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int NO_POSITION = FlexibleView.NO_POSITION;
- ///
- /// Constant value: -2^31.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public static readonly int INVALID_OFFSET = -2147483648;
-
- private static readonly float MAX_SCROLL_FACTOR = 1 / 3f;
-
- ///
- /// Current orientation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected int mOrientation;
-
- internal OrientationHelper mOrientationHelper;
-
- private LayoutState mLayoutState;
- private AnchorInfo mAnchorInfo = new AnchorInfo();
-
- /**
- * Stashed to avoid allocation, currently only used in #fill()
- */
- private LayoutChunkResult mLayoutChunkResult = new LayoutChunkResult();
-
- private bool mShouldReverseLayout = false;
-
- /**
- * When LayoutManager needs to scroll to a position, it sets this variable and requests a
- * layout which will check this variable and re-layout accordingly.
- */
- private int mPendingScrollPosition = NO_POSITION;
-
- /**
- * Used to keep the offset value when {@link #scrollToPositionWithOffset(int, int)} is
- * called.
- */
- private int mPendingScrollPositionOffset = INVALID_OFFSET;
-
- ///
- /// Creates a LinearLayoutManager with orientation.
- ///
- /// Layout orientation.Should be HORIZONTAL or VERTICAL
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public LinearLayoutManager(int orientation)
- {
- mOrientation = orientation;
- mOrientationHelper = OrientationHelper.CreateOrientationHelper(this, mOrientation);
-
- mLayoutState = new LayoutState();
- mLayoutState.Offset = mOrientationHelper.GetStartAfterPadding();
- }
-
- ///
- /// Retrieves the first visible item position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FirstVisibleItemPosition
- {
- get
- {
- FlexibleView.ViewHolder child = FindFirstVisibleItemView();
- return child == null ? NO_POSITION : child.LayoutPosition;
- }
- }
-
- ///
- /// Retrieves the first complete visible item position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FirstCompleteVisibleItemPosition
- {
- get
- {
- FlexibleView.ViewHolder child = FindFirstCompleteVisibleItemView();
- return child == null ? NO_POSITION : child.LayoutPosition;
- }
- }
-
- ///
- /// Retrieves the last visible item position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int LastVisibleItemPosition
- {
- get
- {
- FlexibleView.ViewHolder child = FindLastVisibleItemView();
- return child == null ? NO_POSITION : child.LayoutPosition;
- }
- }
-
- ///
- /// Retrieves the last complete visible item position.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int LastCompleteVisibleItemPosition
- {
- get
- {
- FlexibleView.ViewHolder child = FindLastCompleteVisibleItemView();
- return child == null ? NO_POSITION : child.LayoutPosition;
- }
- }
-
- ///
- /// Query if horizontal scrolling is currently supported. The default implementation returns false.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool CanScrollHorizontally()
- {
- return mOrientation == HORIZONTAL;
- }
-
- ///
- /// Query if vertical scrolling is currently supported. The default implementation returns false.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override bool CanScrollVertically()
- {
- return mOrientation == VERTICAL;
- }
-
- ///
- /// Lay out all relevant child views from the given adapter.
- ///
- /// Recycler to use for fetching potentially cached views for a position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnLayoutChildren(FlexibleView.Recycler recycler)
- {
- mLayoutState.Recycle = false;
- if (!mAnchorInfo.Valid || mPendingScrollPosition != NO_POSITION)
- {
- mAnchorInfo.Reset();
- mAnchorInfo.LayoutFromEnd = mShouldReverseLayout;
- // calculate anchor position and coordinate
- UpdateAnchorInfoForLayout(recycler, mAnchorInfo);
- mAnchorInfo.Valid = true;
- }
-
- int firstLayoutDirection;
- if (mAnchorInfo.LayoutFromEnd)
- {
- firstLayoutDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_TAIL
- : LayoutState.ITEM_DIRECTION_HEAD;
- }
- else
- {
- firstLayoutDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_HEAD
- : LayoutState.ITEM_DIRECTION_TAIL;
- }
- EnsureAnchorReady(recycler, mAnchorInfo, firstLayoutDirection);
- ScrapAttachedViews(recycler);
-
- if (mAnchorInfo.LayoutFromEnd == true)
- {
- UpdateLayoutStateToFillStart(mAnchorInfo.Position, mAnchorInfo.Coordinate);
- Fill(recycler, mLayoutState, false, true);
- Cache(recycler, mLayoutState, true);
-
- UpdateLayoutStateToFillEnd(mAnchorInfo.Position, mAnchorInfo.Coordinate);
- mLayoutState.CurrentPosition += mLayoutState.ItemDirection;
- Fill(recycler, mLayoutState, false, true);
- Cache(recycler, mLayoutState, true);
- }
- else
- {
- UpdateLayoutStateToFillEnd(mAnchorInfo.Position, mAnchorInfo.Coordinate);
- Fill(recycler, mLayoutState, false, true);
- Cache(recycler, mLayoutState, true);
-
- UpdateLayoutStateToFillStart(mAnchorInfo.Position, mAnchorInfo.Coordinate);
- mLayoutState.CurrentPosition += mLayoutState.ItemDirection;
- Fill(recycler, mLayoutState, false, true);
- Cache(recycler, mLayoutState, true);
- }
-
- OnLayoutCompleted();
- }
-
- ///
- /// Scroll horizontally by dy pixels in screen coordinates.
- ///
- /// distance to scroll in pixels. Y increases as scroll position approaches the top.
- /// Recycler to use for fetching potentially cached views for a position
- /// Specify if the scroll need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override float ScrollHorizontallyBy(float dx, FlexibleView.Recycler recycler, bool immediate)
- {
- if (mOrientation == VERTICAL)
- {
- return 0;
- }
- return ScrollBy(dx, recycler, immediate);
- }
-
- ///
- /// Scroll vertically by dy pixels in screen coordinates.
- ///
- /// distance to scroll in pixels. Y increases as scroll position approaches the top.
- /// Recycler to use for fetching potentially cached views for a position
- /// Specify if the scroll need animation
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override float ScrollVerticallyBy(float dy, FlexibleView.Recycler recycler, bool immediate)
- {
- if (mOrientation == HORIZONTAL)
- {
- return 0;
- }
- return ScrollBy(dy, recycler, immediate); ;
- }
-
- ///
- /// Compute the offset of the scrollbar's thumb within the range.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override float ComputeScrollOffset()
- {
- FlexibleView.ViewHolder startChild = FindFirstVisibleItemView();
- FlexibleView.ViewHolder endChild = FindLastVisibleItemView();
- if (GetChildCount() == 0 || startChild == null || endChild == null)
- {
- return 0;
- }
- int minPosition = Math.Min(startChild.LayoutPosition, endChild.LayoutPosition);
- int maxPosition = Math.Max(startChild.LayoutPosition, endChild.LayoutPosition);
- int itemsBefore = mShouldReverseLayout
- ? Math.Max(0, ItemCount - maxPosition - 1)
- : Math.Max(0, minPosition);
-
- float laidOutArea = Math.Abs(mOrientationHelper.GetViewHolderEnd(endChild)
- - mOrientationHelper.GetViewHolderStart(startChild));
- int itemRange = Math.Abs(startChild.LayoutPosition - endChild.LayoutPosition) + 1;
- float avgSizePerRow = laidOutArea / itemRange;
-
- return (float)Math.Round(itemsBefore * avgSizePerRow + (mOrientationHelper.GetStartAfterPadding()
- - mOrientationHelper.GetViewHolderStart(startChild)));
- }
-
- ///
- /// Compute the extent of the scrollbar's thumb within the range.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override float ComputeScrollExtent()
- {
- FlexibleView.ViewHolder startChild = FindFirstVisibleItemView();
- FlexibleView.ViewHolder endChild = FindLastVisibleItemView();
- if (GetChildCount() == 0 || startChild == null || endChild == null)
- {
- return 0;
- }
- float extend = mOrientationHelper.GetViewHolderEnd(endChild)
- - mOrientationHelper.GetViewHolderStart(startChild);
- return Math.Min(mOrientationHelper.GetTotalSpace(), extend);
- }
-
- ///
- /// Compute the range that the scrollbar represents.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override float ComputeScrollRange()
- {
- FlexibleView.ViewHolder startChild = FindFirstVisibleItemView();
- FlexibleView.ViewHolder endChild = FindLastVisibleItemView();
- if (GetChildCount() == 0 || startChild == null || endChild == null)
- {
- return 0;
- }
- float laidOutArea = mOrientationHelper.GetViewHolderEnd(endChild)
- - mOrientationHelper.GetViewHolderStart(startChild);
- int laidOutRange = Math.Abs(startChild.LayoutPosition - endChild.LayoutPosition) + 1;
- // estimate a size for full list.
- return laidOutArea / laidOutRange * ItemCount;
- }
-
- ///
- /// Scroll the FlexibleView to make the position visible.
- ///
- /// Scroll to this adapter position
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void ScrollToPosition(int position)
- {
- mPendingScrollPosition = position;
- mPendingScrollPositionOffset = INVALID_OFFSET;
-
- RelayoutRequest();
- }
-
- ///
- /// Scroll to the specified adapter position with the given offset from resolved layout start.
- ///
- /// Scroll to this adapter position
- /// The distance (in pixels) between the start edge of the item view and start edge of the FlexibleView.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void ScrollToPositionWithOffset(int position, int offset)
- {
- mPendingScrollPosition = position;
- mPendingScrollPositionOffset = offset;
-
- RelayoutRequest();
- }
-
- ///
- /// Called after a full layout calculation is finished.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public override void OnLayoutCompleted()
- {
- if (mPendingScrollPosition != NO_POSITION)
- {
- ChangeFocus(mPendingScrollPosition);
- }
- mPendingScrollPosition = NO_POSITION;
- mPendingScrollPositionOffset = INVALID_OFFSET;
-
- mAnchorInfo.Reset();
- }
-
- internal virtual void EnsureAnchorReady(FlexibleView.Recycler recycler, AnchorInfo anchorInfo, int itemDirection)
- {
-
- }
-
-
- ///
- /// Retrieves a position that neighbor to current position by direction.
- ///
- /// The anchor adapter position
- /// The direction.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override int GetNextPosition(int position, FlexibleView.LayoutManager.Direction direction)
- {
- if (mOrientation == HORIZONTAL)
- {
- switch (direction)
- {
- case FlexibleView.LayoutManager.Direction.Left:
- if (position > 0)
- {
- return position - 1;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Right:
- if (position < ItemCount - 1)
- {
- return position + 1;
- }
- break;
- }
- }
- else
- {
- switch (direction)
- {
- case FlexibleView.LayoutManager.Direction.Up:
- if (position > 0)
- {
- return position - 1;
- }
- break;
- case FlexibleView.LayoutManager.Direction.Down:
- if (position < ItemCount - 1)
- {
- return position + 1;
- }
- break;
- }
- }
-
- return NO_POSITION;
- }
-
- internal virtual void LayoutChunk(FlexibleView.Recycler recycler,
- LayoutState layoutState, LayoutChunkResult result)
- {
- FlexibleView.ViewHolder holder = layoutState.Next(recycler);
- if (holder == null)
- {
- // if we are laying out views in scrap, this may return null which means there is
- // no more items to layout.
- result.Finished = true;
- return;
- }
-
- if (mShouldReverseLayout == (layoutState.LayoutDirection == LayoutState.LAYOUT_START))
- AddView(holder);
- else
- AddView(holder, 0);
-
- result.Consumed = mOrientationHelper.GetViewHolderMeasurement(holder);
-
- float left, top, width, height;
- if (mOrientation == VERTICAL)
- {
- width = GetWidth() - GetPaddingLeft() - GetPaddingRight();
- height = result.Consumed;
- left = GetPaddingLeft();
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
- {
- top = layoutState.Offset;
- }
- else
- {
- top = layoutState.Offset - height;
- }
- LayoutChild(holder, left, top, width, height);
- }
- else
- {
- width = result.Consumed;
- height = GetHeight() - GetPaddingTop() - GetPaddingBottom();
- top = GetPaddingTop();
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
- {
- left = layoutState.Offset;
- }
- else
- {
- left = layoutState.Offset - width;
- }
- LayoutChild(holder, left, top, width, height);
- }
-
- result.Focusable = true;
- }
-
- internal override FlexibleView.ViewHolder OnFocusSearchFailed(FlexibleView.ViewHolder focused, FlexibleView.LayoutManager.Direction direction, FlexibleView.Recycler recycler)
- {
- if (GetChildCount() == 0)
- {
- return null;
- }
- int layoutDir = ConvertFocusDirectionToLayoutDirection(direction);
- if (layoutDir == LayoutState.INVALID_LAYOUT)
- {
- return null;
- }
- int maxScroll = (int)(MAX_SCROLL_FACTOR * mOrientationHelper.GetTotalSpace());
- UpdateLayoutState(layoutDir, maxScroll, false);
- mLayoutState.ScrollingOffset = LayoutState.SCROLLING_OFFSET_NaN;
- mLayoutState.Recycle = false;
- Fill(recycler, mLayoutState, true, true);
-
- FlexibleView.ViewHolder nextFocus;
- if (layoutDir == LayoutState.LAYOUT_START)
- {
- nextFocus = GetChildAt(0);
- }
- else
- {
- nextFocus = GetChildAt(GetChildCount() - 1);
- }
- return nextFocus;
- }
-
-
- private void UpdateAnchorInfoForLayout(FlexibleView.Recycler recycler, AnchorInfo anchorInfo)
- {
- if (UpdateAnchorFromPendingData(anchorInfo))
- {
- return;
- }
-
- if (UpdateAnchorFromChildren(recycler, anchorInfo))
- {
- return;
- }
-
- anchorInfo.Position = FocusPosition != NO_POSITION ? FocusPosition : 0;
- anchorInfo.Coordinate = anchorInfo.LayoutFromEnd ? mOrientationHelper.GetEndAfterPadding() : mOrientationHelper.GetStartAfterPadding();
- }
-
- /**
- * If there is a pending scroll position or saved states, updates the anchor info from that
- * data and returns true
- */
- private bool UpdateAnchorFromPendingData(AnchorInfo anchorInfo)
- {
- if (mPendingScrollPosition == NO_POSITION)
- {
- return false;
- }
- // validate scroll position
- if (mPendingScrollPosition < 0 || mPendingScrollPosition >= ItemCount)
- {
- mPendingScrollPosition = NO_POSITION;
- mPendingScrollPositionOffset = INVALID_OFFSET;
- return false;
- }
-
- anchorInfo.Position = mPendingScrollPosition;
-
- if (mPendingScrollPositionOffset == INVALID_OFFSET)
- {
- anchorInfo.Coordinate = anchorInfo.LayoutFromEnd ? mOrientationHelper.GetEndAfterPadding() : mOrientationHelper.GetStartAfterPadding();
- }
- else
- {
- if (mShouldReverseLayout)
- {
- anchorInfo.Coordinate = mOrientationHelper.GetEndAfterPadding()
- - mPendingScrollPositionOffset;
- }
- else
- {
- anchorInfo.Coordinate = mOrientationHelper.GetStartAfterPadding()
- + mPendingScrollPositionOffset;
- }
- }
- return true;
- }
-
- /**
- * Finds an anchor child from existing Views. Most of the time, this is the view closest to
- * start or end that has a valid position (e.g. not removed).
- * If a child has focus, it is given priority.
- */
- private bool UpdateAnchorFromChildren(FlexibleView.Recycler recycler, AnchorInfo anchorInfo)
- {
- if (GetChildCount() == 0)
- {
- return false;
- }
-
- FlexibleView.ViewHolder anchorChild = FindFirstCompleteVisibleItemView();
- if (anchorChild != null)
- {
- return false;
- }
- anchorInfo.Position = anchorChild.LayoutPosition;
- anchorInfo.Coordinate = mOrientationHelper.GetViewHolderStart(anchorChild);
-
- return true;
- }
-
- /**
- * Converts a focusDirection to orientation.
- *
- * @param focusDirection One of {@link View#FOCUS_UP}, {@link View#FOCUS_DOWN},
- * {@link View#FOCUS_LEFT}, {@link View#FOCUS_RIGHT},
- * {@link View#FOCUS_BACKWARD}, {@link View#FOCUS_FORWARD}
- * or 0 for not applicable
- * @return {@link LayoutState#LAYOUT_START} or {@link LayoutState#LAYOUT_END} if focus direction
- * is applicable to current state, {@link LayoutState#INVALID_LAYOUT} otherwise.
- */
- private int ConvertFocusDirectionToLayoutDirection(FlexibleView.LayoutManager.Direction focusDirection)
- {
- switch (focusDirection)
- {
- case FlexibleView.LayoutManager.Direction.Up:
- return mOrientation == VERTICAL ? LayoutState.LAYOUT_START
- : LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Down:
- return mOrientation == VERTICAL ? LayoutState.LAYOUT_END
- : LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Left:
- return mOrientation == HORIZONTAL ? LayoutState.LAYOUT_START
- : LayoutState.INVALID_LAYOUT;
- case FlexibleView.LayoutManager.Direction.Right:
- return mOrientation == HORIZONTAL ? LayoutState.LAYOUT_END
- : LayoutState.INVALID_LAYOUT;
- default:
- return LayoutState.INVALID_LAYOUT;
- }
-
- }
-
-
- private float Fill(FlexibleView.Recycler recycler, LayoutState layoutState, bool stopOnFocusable, bool immediate)
- {
- float start = layoutState.Available;
- if (layoutState.ScrollingOffset != LayoutState.SCROLLING_OFFSET_NaN)
- {
- // TODO ugly bug fix. should not happen
- if (layoutState.Available < 0)
- {
- layoutState.ScrollingOffset += layoutState.Available;
- }
- if (immediate == true)
- {
- RecycleByLayoutState(recycler, layoutState, true);
- }
- }
- float remainingSpace = layoutState.Available + layoutState.Extra;
- LayoutChunkResult layoutChunkResult = mLayoutChunkResult;
- while ((remainingSpace > 0) && layoutState.HasMore(ItemCount))
- {
- layoutChunkResult.ResetInternal();
- LayoutChunk(recycler, layoutState, layoutChunkResult);
- if (layoutChunkResult.Finished)
- {
- break;
- }
- layoutState.Offset += layoutChunkResult.Consumed * layoutState.LayoutDirection;
- /**
- * Consume the available space if:
- * layoutChunk did not request to be ignored
- * OR we are laying out scrap children
- * OR we are not doing pre-layout
- */
- if (!layoutChunkResult.IgnoreConsumed)
- {
- layoutState.Available -= layoutChunkResult.Consumed;
- // we keep a separate remaining space because mAvailable is important for recycling
- remainingSpace -= layoutChunkResult.Consumed;
- }
-
- if (layoutState.ScrollingOffset != LayoutState.SCROLLING_OFFSET_NaN)
- {
- layoutState.ScrollingOffset += layoutChunkResult.Consumed;
- if (layoutState.Available < 0)
- {
- layoutState.ScrollingOffset += layoutState.Available;
- }
- if (immediate == true)
- {
- RecycleByLayoutState(recycler, layoutState, true);
- }
- }
- if (stopOnFocusable && layoutChunkResult.Focusable)
- {
- break;
- }
- }
- if (immediate == false)
- {
- RecycleByLayoutState(recycler, layoutState, false);
- }
-
- return start - layoutState.Available;
- }
-
- private void Cache(FlexibleView.Recycler recycler, LayoutState layoutState, bool immediate, float scrolled = 0)
- {
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_END)
- {
- // get the first child in the direction we are going
- FlexibleView.ViewHolder child = GetChildClosestToEnd();
- //Log.Fatal("TV.FLUX.Component", $"==========> child:{child.LayoutGroupIndex}-{child.LayoutItemIndex} childEnd:{orientationHelper.GetItemEnd(child)} # {orientationHelper.GetEnd()}");
-
- if (child != null)
- {
- if (child.ItemView.Focusable == false || mOrientationHelper.GetViewHolderEnd(child) + scrolled < mOrientationHelper.GetEnd())
- {
- layoutState.Available = MAX_SCROLL_FACTOR * mOrientationHelper.GetTotalSpace();
- layoutState.Extra = 0;
- layoutState.ScrollingOffset = LayoutState.SCROLLING_OFFSET_NaN;
- layoutState.Recycle = false;
- Fill(recycler, layoutState, true, immediate);
- }
- }
- }
- else
- {
- FlexibleView.ViewHolder child = GetChildClosestToStart();
-
- if (child != null)
- {
- if (child.ItemView.Focusable == false || mOrientationHelper.GetViewHolderStart(child) + scrolled > 0)
- {
- layoutState.Available = MAX_SCROLL_FACTOR * mOrientationHelper.GetTotalSpace();
- layoutState.Extra = 0;
- layoutState.ScrollingOffset = LayoutState.SCROLLING_OFFSET_NaN;
- layoutState.Recycle = false;
- Fill(recycler, layoutState, true, immediate);
- }
- }
- }
- }
-
- private void RecycleByLayoutState(FlexibleView.Recycler recycler, LayoutState layoutState, bool immediate)
- {
- if (!layoutState.Recycle)
- {
- return;
- }
- if (layoutState.LayoutDirection == LayoutState.LAYOUT_START)
- {
- RecycleViewsFromEnd(recycler, layoutState.ScrollingOffset, immediate);
- }
- else
- {
- RecycleViewsFromStart(recycler, layoutState.ScrollingOffset, immediate);
- }
- }
-
- private void RecycleViewsFromStart(FlexibleView.Recycler recycler, float dt, bool immediate)
- {
- if (dt < 0)
- {
- return;
- }
- // ignore padding, ViewGroup may not clip children.
- float limit = dt;
- int childCount = GetChildCount();
- if (mShouldReverseLayout)
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if (mOrientationHelper.GetViewHolderEnd(child) > limit)
- {
- // stop here
- RecycleChildren(recycler, childCount - 1, i, immediate);
- return;
- }
- }
- }
- else
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if (mOrientationHelper.GetViewHolderEnd(child) > limit)
- {
- // stop here
- RecycleChildren(recycler, 0, i, immediate);
- return;
- }
- }
- }
- }
-
- private void RecycleViewsFromEnd(FlexibleView.Recycler recycler, float dt, bool immediate)
- {
- int childCount = GetChildCount();
- if (dt < 0)
- {
- return;
- }
- float limit = mOrientationHelper.GetEnd() - dt;
- if (mShouldReverseLayout)
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if (mOrientationHelper.GetViewHolderStart(child) < limit)
- {
- // stop here
- RecycleChildren(recycler, 0, i, immediate);
- return;
- }
- }
- }
- else
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if (mOrientationHelper.GetViewHolderStart(child) < limit)
- {
- // stop here
- RecycleChildren(recycler, childCount - 1, i, immediate);
- return;
- }
- }
- }
- }
-
- private float ScrollBy(float dy, FlexibleView.Recycler recycler, bool immediate)
- {
- if (GetChildCount() == 0 || dy == 0)
- {
- return 0;
- }
- mLayoutState.Recycle = true;
- int layoutDirection = dy < 0 ? LayoutState.LAYOUT_END : LayoutState.LAYOUT_START;
- float absDy = Math.Abs(dy);
- UpdateLayoutState(layoutDirection, absDy, true);
- float consumed = mLayoutState.ScrollingOffset
- + Fill(recycler, mLayoutState, false, immediate);
-
- if (consumed < 0)
- {
- return 0;
- }
-
- float scrolled = absDy > consumed ? -layoutDirection * consumed : dy;
-
- Cache(recycler, mLayoutState, immediate, scrolled);
-
- mOrientationHelper.OffsetChildren(scrolled, immediate);
-
-
- return scrolled;
- }
-
- private void UpdateLayoutState(int layoutDirection, float requiredSpace, bool canUseExistingSpace)
- {
- mLayoutState.Extra = 0;
- mLayoutState.LayoutDirection = layoutDirection;
- float scrollingOffset = 0.0f;
- if (layoutDirection == LayoutState.LAYOUT_END)
- {
- mLayoutState.Extra += mOrientationHelper.GetEndPadding();
- // get the first child in the direction we are going
- FlexibleView.ViewHolder child = GetChildClosestToEnd();
- if (child != null)
- {
- // the direction in which we are traversing children
- mLayoutState.ItemDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_HEAD
- : LayoutState.ITEM_DIRECTION_TAIL;
- mLayoutState.CurrentPosition = child.LayoutPosition + mLayoutState.ItemDirection;
- mLayoutState.Offset = mOrientationHelper.GetViewHolderEnd(child);
- // calculate how much we can scroll without adding new children (independent of layout)
- scrollingOffset = mOrientationHelper.GetViewHolderEnd(child)
- - mOrientationHelper.GetEndAfterPadding();
- }
-
- }
- else
- {
- mLayoutState.Extra += mOrientationHelper.GetStartAfterPadding();
- FlexibleView.ViewHolder child = GetChildClosestToStart();
- if (child != null)
- {
- mLayoutState.ItemDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_TAIL
- : LayoutState.ITEM_DIRECTION_HEAD;
- mLayoutState.CurrentPosition = child.LayoutPosition + mLayoutState.ItemDirection;
- mLayoutState.Offset = mOrientationHelper.GetViewHolderStart(child);
- scrollingOffset = -mOrientationHelper.GetViewHolderStart(child)
- + mOrientationHelper.GetStartAfterPadding();
- }
- }
- mLayoutState.Available = requiredSpace;
- if (canUseExistingSpace)
- {
- mLayoutState.Available -= scrollingOffset;
- }
- mLayoutState.ScrollingOffset = scrollingOffset;
-
- }
- /**
- * Convenience method to find the child closes to start. Caller should check it has enough
- * children.
- *
- * @return The child closes to start of the layout from user's perspective.
- */
- private FlexibleView.ViewHolder GetChildClosestToStart()
- {
- return GetChildAt(mShouldReverseLayout ? GetChildCount() - 1 : 0);
- }
-
- /**
- * Convenience method to find the child closes to end. Caller should check it has enough
- * children.
- *
- * @return The child closes to end of the layout from user's perspective.
- */
- private FlexibleView.ViewHolder GetChildClosestToEnd()
- {
- return GetChildAt(mShouldReverseLayout ? 0 : GetChildCount() - 1);
- }
-
- private void UpdateLayoutStateToFillEnd(int itemPosition, float offset)
- {
- mLayoutState.Available = mOrientationHelper.GetEndAfterPadding() - offset;
- mLayoutState.ItemDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_HEAD :
- LayoutState.ITEM_DIRECTION_TAIL;
- mLayoutState.CurrentPosition = itemPosition;
- mLayoutState.LayoutDirection = LayoutState.LAYOUT_END;
- mLayoutState.Offset = offset;
- mLayoutState.ScrollingOffset = LayoutState.SCROLLING_OFFSET_NaN;
- mLayoutState.Extra = mOrientationHelper.GetEndPadding();
- }
-
- private void UpdateLayoutStateToFillStart(int itemPosition, float offset)
- {
- mLayoutState.Available = offset - mOrientationHelper.GetStartAfterPadding();
- mLayoutState.CurrentPosition = itemPosition;
- mLayoutState.ItemDirection = mShouldReverseLayout ? LayoutState.ITEM_DIRECTION_TAIL :
- LayoutState.ITEM_DIRECTION_HEAD;
- mLayoutState.LayoutDirection = LayoutState.LAYOUT_START;
- mLayoutState.Offset = offset;
- mLayoutState.ScrollingOffset = LayoutState.SCROLLING_OFFSET_NaN;
- mLayoutState.Extra = mOrientationHelper.GetStartAfterPadding();
- }
-
- private FlexibleView.ViewHolder FindFirstVisibleItemView()
- {
- int childCount = GetChildCount();
- if (mShouldReverseLayout == false)
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderEnd(child) > 0)
- {
- return child;
- }
- }
- }
- else
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderEnd(child) > 0)
- {
- return child;
- }
- }
- }
- return null;
- }
-
- private FlexibleView.ViewHolder FindFirstCompleteVisibleItemView()
- {
- int childCount = GetChildCount();
- if (mShouldReverseLayout == false)
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderStart(child) > 0)
- {
- return child;
- }
- }
- }
- else
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderStart(child) > 0)
- {
- return child;
- }
- }
- }
- return null;
- }
-
- private FlexibleView.ViewHolder FindLastVisibleItemView()
- {
- int childCount = GetChildCount();
- if (mShouldReverseLayout == false)
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderStart(child) < (int)mOrientationHelper.GetEnd())
- {
- return child;
- }
- }
- }
- else
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderStart(child) < (int)mOrientationHelper.GetEnd())
- {
- return child;
- }
- }
- }
- return null;
- }
-
- private FlexibleView.ViewHolder FindLastCompleteVisibleItemView()
- {
- int childCount = GetChildCount();
- if (mShouldReverseLayout == false)
- {
- for (int i = childCount - 1; i >= 0; i--)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderEnd(child) < (int)mOrientationHelper.GetEnd())
- {
- return child;
- }
- }
- }
- else
- {
- for (int i = 0; i < childCount; i++)
- {
- FlexibleView.ViewHolder child = GetChildAt(i);
- if ((int)mOrientationHelper.GetViewHolderEnd(child) < (int)mOrientationHelper.GetEnd())
- {
- return child;
- }
- }
- }
- return null;
- }
-
-
- /**
- * Helper class that keeps temporary state while {LayoutManager} is filling out the empty space.
- **/
- internal class LayoutState
- {
- public static readonly int LAYOUT_START = -1;
-
- public static readonly int LAYOUT_END = 1;
-
- public static readonly int INVALID_LAYOUT = -1000;
-
- public static readonly int ITEM_DIRECTION_HEAD = -1;
-
- public static readonly int ITEM_DIRECTION_TAIL = 1;
-
- public static readonly int SCROLLING_OFFSET_NaN = -10000;
-
- /**
- * We may not want to recycle children in some cases (e.g. layout)
- */
- public bool Recycle = true;
-
- /**
- * Pixel offset where layout should start
- */
- public float Offset;
-
- /**
- * Number of pixels that we should fill, in the layout direction.
- */
- public float Available;
-
- /**
- * Current position on the adapter to get the next item.
- */
- public int CurrentPosition;
-
- /**
- * Defines the direction in which the data adapter is traversed.
- * Should be {@link #ITEM_DIRECTION_HEAD} or {@link #ITEM_DIRECTION_TAIL}
- */
- public int ItemDirection;
-
- /**
- * Defines the direction in which the layout is filled.
- * Should be {@link #LAYOUT_START} or {@link #LAYOUT_END}
- */
- public int LayoutDirection;
-
- /**
- * Used when LayoutState is constructed in a scrolling state.
- * It should be set the amount of scrolling we can make without creating a new view.
- * Settings this is required for efficient view recycling.
- */
- public float ScrollingOffset;
-
- /**
- * Used if you want to pre-layout items that are not yet visible.
- * The difference with {@link #mAvailable} is that, when recycling, distance laid out for
- * {@link #mExtra} is not considered to avoid recycling visible children.
- */
- public float Extra = 0;
-
-
- /**
- * @return true if there are more items in the data adapter
- */
- public bool HasMore(int itemCount)
- {
- return CurrentPosition >= 0 && CurrentPosition < itemCount;
- }
-
- /**
- * Gets the view for the next element that we should layout.
- * Also updates current item index to the next item, based on {@link #mItemDirection}
- *
- * @return The next element that we should layout.
- */
- public FlexibleView.ViewHolder Next(FlexibleView.Recycler recycler)
- {
- FlexibleView.ViewHolder itemView = recycler.GetViewForPosition(CurrentPosition);
- CurrentPosition += ItemDirection;
- return itemView;
- }
- }
-
- internal class LayoutChunkResult
- {
- public float Consumed;
- public bool Finished;
- public bool IgnoreConsumed;
- public bool Focusable;
-
- public void ResetInternal()
- {
- Consumed = 0;
- Finished = false;
- IgnoreConsumed = false;
- Focusable = false;
- }
- }
-
- internal class AnchorInfo
- {
- public int Position;
- public float Coordinate;
- public bool LayoutFromEnd;
- public bool Valid;
-
- public void Reset()
- {
- Position = NO_POSITION;
- Coordinate = INVALID_OFFSET;
- LayoutFromEnd = false;
- Valid = false;
- }
-
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/OrientationHelper.cs b/src/Tizen.NUI.CommonUI/Controls/FlexibleView/OrientationHelper.cs
deleted file mode 100755
index 779d2b8e3..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/FlexibleView/OrientationHelper.cs
+++ /dev/null
@@ -1,342 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-
-namespace Tizen.NUI.CommonUI
-{
- /**
- * Helper class for LayoutManagers to abstract measurements depending on the View's orientation.
- * It is developed to easily support vertical and horizontal orientations in a LayoutManager but
- * can also be used to abstract calls around view bounds and child measurements with margins and
- * decorations.
- *
- * @see #createHorizontalHelper(RecyclerView.LayoutManager)
- * @see #createVerticalHelper(RecyclerView.LayoutManager)
- */
- internal abstract class OrientationHelper
- {
- public static readonly int HORIZONTAL = 0;
- public static readonly int VERTICAL = 1;
-
- private static readonly int INVALID_SIZE = -1;
-
- protected FlexibleView.LayoutManager mLayoutManager;
-
- private float mLastTotalSpace = INVALID_SIZE;
-
- public OrientationHelper(FlexibleView.LayoutManager layoutManager)
- {
- mLayoutManager = layoutManager;
- }
-
- /**
- * Call this method after onLayout method is complete if state is NOT pre-layout.
- * This method records information like layout bounds that might be useful in the next layout
- * calculations.
- */
- public void OnLayoutComplete()
- {
- mLastTotalSpace = GetTotalSpace();
- }
-
- /**
- * Returns the layout space change between the previous layout pass and current layout pass.
- * Make sure you call {@link #onLayoutComplete()} at the end of your LayoutManager's
- * {@link RecyclerView.LayoutManager#onLayoutChildren(RecyclerView.Recycler,
- * RecyclerView.State)} method.
- *
- * @return The difference between the current total space and previous layout's total space.
- * @see #onLayoutComplete()
- */
- public float GetTotalSpaceChange()
- {
- return INVALID_SIZE == mLastTotalSpace ? 0 : GetTotalSpace() - mLastTotalSpace;
- }
-
- /**
- * Returns the start of the view including its decoration and margin.
- * For example, for the horizontal helper, if a View's left is at pixel 20, has 2px left
- * decoration and 3px left margin, returned value will be 15px.
- *
- * @param view The view element to check
- * @return The first pixel of the element
- * @see #getDecoratedEnd(android.view.View)
- */
- public abstract float GetViewHolderStart(FlexibleView.ViewHolder holder);
-
- /**
- * Returns the end of the view including its decoration and margin.
- * For example, for the horizontal helper, if a View's right is at pixel 200, has 2px right
- * decoration and 3px right margin, returned value will be 205.
- *
- * @param view The view element to check
- * @return The last pixel of the element
- * @see #getDecoratedStart(android.view.View)
- */
- public abstract float GetViewHolderEnd(FlexibleView.ViewHolder holder);
-
- /**
- * Returns the space occupied by this View in the current orientation including decorations and
- * margins.
- *
- * @param view The view element to check
- * @return Total space occupied by this view
- * @see #getDecoratedMeasurementInOther(View)
- */
- public abstract float GetViewHolderMeasurement(FlexibleView.ViewHolder holder);
-
- /**
- * Returns the space occupied by this View in the perpendicular orientation including
- * decorations and margins.
- *
- * @param view The view element to check
- * @return Total space occupied by this view in the perpendicular orientation to current one
- * @see #getDecoratedMeasurement(View)
- */
- public abstract float GetViewHolderMeasurementInOther(FlexibleView.ViewHolder holder);
-
- /**
- * Returns the start position of the layout after the start padding is added.
- *
- * @return The very first pixel we can draw.
- */
- public abstract float GetStartAfterPadding();
-
- /**
- * Returns the end position of the layout after the end padding is removed.
- *
- * @return The end boundary for this layout.
- */
- public abstract float GetEndAfterPadding();
-
- /**
- * Returns the end position of the layout without taking padding into account.
- *
- * @return The end boundary for this layout without considering padding.
- */
- public abstract float GetEnd();
-
- /**
- * Offsets all children's positions by the given amount.
- *
- * @param amount Value to add to each child's layout parameters
- */
- public abstract void OffsetChildren(float amount, bool immediate);
-
- /**
- * Returns the total space to layout. This number is the difference between
- * {@link #getEndAfterPadding()} and {@link #getStartAfterPadding()}.
- *
- * @return Total space to layout children
- */
- public abstract float GetTotalSpace();
-
- /**
- * Offsets the child in this orientation.
- *
- * @param view View to offset
- * @param offset offset amount
- */
- internal abstract void OffsetChild(FlexibleView.ViewHolder holder, int offset);
-
- /**
- * Returns the padding at the end of the layout. For horizontal helper, this is the right
- * padding and for vertical helper, this is the bottom padding. This method does not check
- * whether the layout is RTL or not.
- *
- * @return The padding at the end of the layout.
- */
- public abstract float GetEndPadding();
-
- /**
- * Creates an OrientationHelper for the given LayoutManager and orientation.
- *
- * @param layoutManager LayoutManager to attach to
- * @param orientation Desired orientation. Should be {@link #HORIZONTAL} or {@link #VERTICAL}
- * @return A new OrientationHelper
- */
- public static OrientationHelper CreateOrientationHelper(
- FlexibleView.LayoutManager layoutManager, int orientation)
- {
- if (orientation == HORIZONTAL)
- {
- return CreateHorizontalHelper(layoutManager);
- }
- else if (orientation == VERTICAL)
- {
- return CreateVerticalHelper(layoutManager);
- }
-
- throw new ArgumentException("invalid orientation");
- }
-
-
- /**
- * Creates a horizontal OrientationHelper for the given LayoutManager.
- *
- * @param layoutManager The LayoutManager to attach to.
- * @return A new OrientationHelper
- */
- public static OrientationHelper CreateHorizontalHelper(FlexibleView.LayoutManager layoutManager)
- {
- return new HorizontalHelper(layoutManager);
-
- }
- /**
- * Creates a vertical OrientationHelper for the given LayoutManager.
- *
- * @param layoutManager The LayoutManager to attach to.
- * @return A new OrientationHelper
- */
- public static OrientationHelper CreateVerticalHelper(FlexibleView.LayoutManager layoutManager)
- {
- return new VerticalHelper(layoutManager);
- }
- }
-
- internal class HorizontalHelper : OrientationHelper
- {
- public HorizontalHelper(FlexibleView.LayoutManager layoutManager): base(layoutManager)
- {
-
- }
-
- public override float GetEndAfterPadding()
- {
- return mLayoutManager.GetWidth() - mLayoutManager.GetPaddingRight();
- }
-
- public override float GetEnd()
- {
- return mLayoutManager.GetWidth();
- }
-
- public override void OffsetChildren(float amount, bool immediate)
- {
- mLayoutManager.OffsetChildrenHorizontal(amount, immediate);
- }
-
-
- public override float GetStartAfterPadding()
- {
- return mLayoutManager.GetPaddingLeft();
- }
-
- public override float GetViewHolderMeasurement(FlexibleView.ViewHolder holder)
- {
- return holder.Right - holder.Left;
- }
-
- public override float GetViewHolderMeasurementInOther(FlexibleView.ViewHolder holder)
- {
- return holder.Bottom - holder.Top;
- }
-
- public override float GetViewHolderEnd(FlexibleView.ViewHolder holder)
- {
- return holder.Right;
- }
-
- public override float GetViewHolderStart(FlexibleView.ViewHolder holder)
- {
- return holder.Left;
- }
-
- public override float GetTotalSpace()
- {
- return mLayoutManager.GetWidth() - mLayoutManager.GetPaddingLeft()
- - mLayoutManager.GetPaddingRight();
- }
-
- internal override void OffsetChild(FlexibleView.ViewHolder holder, int offset)
- {
- //holder.offsetLeftAndRight(offset);
- }
-
- public override float GetEndPadding()
- {
- return mLayoutManager.GetPaddingRight();
- }
-
- }
-
- internal class VerticalHelper : OrientationHelper
- {
- public VerticalHelper(FlexibleView.LayoutManager layoutManager) : base(layoutManager)
- {
-
- }
-
- public override float GetEndAfterPadding()
- {
- return mLayoutManager.GetHeight() - mLayoutManager.GetPaddingBottom();
- }
-
- public override float GetEnd()
- {
- return mLayoutManager.GetHeight();
- }
-
- public override void OffsetChildren(float amount, bool immediate)
- {
- mLayoutManager.OffsetChildrenVertical(amount, immediate);
- }
-
- public override float GetStartAfterPadding()
- {
- return mLayoutManager.GetPaddingTop();
- }
-
- public override float GetViewHolderMeasurement(FlexibleView.ViewHolder holder)
- {
- return holder.Bottom - holder.Top;
- }
-
- public override float GetViewHolderMeasurementInOther(FlexibleView.ViewHolder holder)
- {
- return holder.Right - holder.Left;
- }
-
- public override float GetViewHolderEnd(FlexibleView.ViewHolder holder)
- {
- return holder.Bottom;
- }
-
- public override float GetViewHolderStart(FlexibleView.ViewHolder holder)
- {
- return holder.Top;
- }
-
- public override float GetTotalSpace()
- {
- return mLayoutManager.GetHeight() - mLayoutManager.GetPaddingTop()
- - mLayoutManager.GetPaddingBottom();
- }
-
- internal override void OffsetChild(FlexibleView.ViewHolder holder, int offset)
- {
- //holder.offsetTopAndBottom(offset);
- }
-
- public override float GetEndPadding()
- {
- return mLayoutManager.GetPaddingBottom();
- }
-
- }
-
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/InputField.cs b/src/Tizen.NUI.CommonUI/Controls/InputField.cs
deleted file mode 100755
index f69e12001..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/InputField.cs
+++ /dev/null
@@ -1,703 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using Tizen.NUI.BaseComponents;
-using System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// InputField is a editable input compoment
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class InputField : Control
- {
- // the background image
- private ImageView bgImage = null;
- // the textField
- private TextField textField = null;
- // the attributes of the inputField
- private InputFieldAttributes inputFieldAttrs = null;
- // the flag indicate should relayout the textField in base class
- private bool relayoutTextField = true;
-
- ///
- /// Initializes a new instance of the InputField class.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public InputField() : base()
- {
- Initialize();
- }
-
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public InputField(string style) : base(style)
- {
- Initialize();
- }
-
- ///
- /// Initializes a new instance of the InputField class.
- ///
- /// Create Header by attributes customized by user.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public InputField(InputFieldAttributes attributes) : base(attributes)
- {
- Initialize();
- }
-
- ///
- /// Gets or sets the property for the enabled state.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool StateEnabled
- {
- get
- {
- return Sensitive;
- }
- set
- {
- Sensitive = value;
- }
- }
-
- ///
- /// Gets or sets the property for the text content.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string Text
- {
- get
- {
- return textField.Text;
- }
- set
- {
- textField.Text = value;
- }
- }
-
- ///
- /// Gets or sets the property for the hint text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string HintText
- {
- get
- {
- return textField.PlaceholderText;
- }
- set
- {
- textField.PlaceholderText = value;
- }
- }
-
- ///
- /// Gets or sets the property for the color of the input text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color TextColor
- {
- get
- {
- return textField.TextColor;
- }
- set
- {
- CreateTextFieldAttributes();
- if (null == inputFieldAttrs.InputBoxAttributes.TextColor)
- {
- inputFieldAttrs.InputBoxAttributes.TextColor = new ColorSelector();
- }
- inputFieldAttrs.InputBoxAttributes.TextColor.All = value;
- textField.TextColor = value;
- }
- }
-
- ///
- /// Gets or sets text color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color HintTextColor
- {
- get
- {
- return textField.PlaceholderTextColor;
- }
- set
- {
- CreateTextFieldAttributes();
- if (null == inputFieldAttrs.InputBoxAttributes.PlaceholderTextColor)
- {
- inputFieldAttrs.InputBoxAttributes.PlaceholderTextColor = new ColorSelector();
- }
- inputFieldAttrs.InputBoxAttributes.PlaceholderTextColor.All = value;
- textField.PlaceholderTextColor = value;
- }
- }
-
- ///
- /// Gets or sets primary cursor color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color PrimaryCursorColor
- {
- get
- {
- return textField.PrimaryCursorColor;
- }
- set
- {
- CreateTextFieldAttributes();
- if (null == inputFieldAttrs.InputBoxAttributes.PrimaryCursorColor)
- {
- inputFieldAttrs.InputBoxAttributes.PrimaryCursorColor = new ColorSelector();
- }
- inputFieldAttrs.InputBoxAttributes.PrimaryCursorColor.All = value;
- textField.PrimaryCursorColor = value;
- }
- }
-
- ///
- /// Gets or sets secondary cursor color.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Color SecondaryCursorColor
- {
- get
- {
- return textField.SecondaryCursorColor;
- }
- set
- {
- CreateTextFieldAttributes();
- if (null == inputFieldAttrs.InputBoxAttributes.SecondaryCursorColor)
- {
- inputFieldAttrs.InputBoxAttributes.SecondaryCursorColor = new ColorSelector();
- }
- inputFieldAttrs.InputBoxAttributes.SecondaryCursorColor.All = value;
- textField.SecondaryCursorColor = value;
- }
- }
-
- ///
- /// Gets or sets font family of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string FontFamily
- {
- get
- {
- return textField.FontFamily;
- }
- set
- {
- CreateTextFieldAttributes();
- inputFieldAttrs.InputBoxAttributes.FontFamily = value;
- textField.FontFamily = value;
- }
- }
-
- ///
- /// Gets or sets point size of text.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public float PointSize
- {
- get
- {
- return textField.PointSize;
- }
- set
- {
- CreateTextFieldAttributes();
- if (null == inputFieldAttrs.InputBoxAttributes.PointSize)
- {
- inputFieldAttrs.InputBoxAttributes.PointSize = new FloatSelector();
- }
- inputFieldAttrs.InputBoxAttributes.PointSize.All = value;
- textField.PointSize = value;
- }
- }
-
- ///
- /// Gets or sets enable cursor blink.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool EnableCursorBlink
- {
- get
- {
- return textField.EnableCursorBlink;
- }
- set
- {
- CreateTextFieldAttributes();
- inputFieldAttrs.InputBoxAttributes.EnableCursorBlink = value;
- textField.EnableCursorBlink = value;
- }
- }
-
- ///
- /// Gets or sets enable selection.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool EnableSelection
- {
- get
- {
- return textField.EnableSelection;
- }
- set
- {
- CreateTextFieldAttributes();
- inputFieldAttrs.InputBoxAttributes.EnableSelection = value;
- textField.EnableSelection = value;
- }
- }
-
- ///
- /// Gets or sets cursor width.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int CursorWidth
- {
- get
- {
- return textField.CursorWidth;
- }
- set
- {
- CreateTextFieldAttributes();
- inputFieldAttrs.InputBoxAttributes.CursorWidth = value;
- textField.CursorWidth = value;
- }
- }
-
- ///
- /// Gets or sets if enable ellipsis.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public bool EnableEllipsis
- {
- get
- {
- return textField.Ellipsis;
- }
- set
- {
- CreateTextFieldAttributes();
- inputFieldAttrs.InputBoxAttributes.EnableEllipsis = value;
- textField.Ellipsis = value;
- }
- }
-
- ///
- /// Gets or sets background image's resource url of input field.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string BackgroundImageURL
- {
- get
- {
- return inputFieldAttrs.BackgroundImageAttributes?.ResourceURL?.All;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- if (inputFieldAttrs.BackgroundImageAttributes.ResourceURL == null)
- {
- inputFieldAttrs.BackgroundImageAttributes.ResourceURL = new StringSelector();
- }
- inputFieldAttrs.BackgroundImageAttributes.ResourceURL.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Background image's border in Button.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Rectangle BackgroundImageBorder
- {
- get
- {
- return inputFieldAttrs.BackgroundImageAttributes?.Border?.All;
- }
- set
- {
- if (value != null)
- {
- CreateBackgroundAttributes();
- if (inputFieldAttrs.BackgroundImageAttributes.Border == null)
- {
- inputFieldAttrs.BackgroundImageAttributes.Border = new RectangleSelector();
- }
- inputFieldAttrs.BackgroundImageAttributes.Border.All = value;
- RelayoutRequest();
- }
- }
- }
-
- ///
- /// Gets and Sets Space.
- ///
- public int Space
- {
- get
- {
- return inputFieldAttrs.Space ?? 0;
- }
- set
- {
- inputFieldAttrs.Space = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Get Input Field attribues.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return new InputFieldAttributes();
- }
-
- ///
- /// Dispose Input Field and all children on it.
- ///
- /// Dispose type.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
- if (type == DisposeTypes.Explicit)
- {
- if (bgImage != null)
- {
- this.Remove(bgImage);
- bgImage.Dispose();
- bgImage = null;
- }
- if (null != textField)
- {
- textField.FocusGained -= OnTextFieldFocusGained;
- textField.FocusLost -= OnTextFieldFocusLost;
- textField.TextChanged -= OnTextFieldTextChanged;
- textField.KeyEvent -= OnTextFieldKeyEvent;
- this.Remove(textField);
- textField.Dispose();
- textField = null;
- }
- }
-
- base.Dispose(type);
- }
-
- ///
- /// Update Input Field by attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnUpdate()
- {
- ApplyAttributes(this, inputFieldAttrs);
- ApplyAttributes(bgImage, inputFieldAttrs.BackgroundImageAttributes);
- ApplyAttributes(textField, inputFieldAttrs.InputBoxAttributes);
- RelayoutComponent();
- OnLayoutDirectionChanged();
- }
-
- ///
- /// Theme change callback when theme is changed, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnThemeChangedEvent(object sender, StyleManager.ThemeChangeEventArgs e)
- {
- InputFieldAttributes tempAttributes = StyleManager.Instance.GetAttributes(style) as InputFieldAttributes;
- if (tempAttributes != null)
- {
- attributes = inputFieldAttrs = tempAttributes;
- RelayoutRequest();
- }
- }
-
- ///
- /// Theme change callback when text field focus is gained, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnTextFieldFocusGained(object source, EventArgs e)
- {
- }
-
- ///
- /// Theme change callback when text field is lost, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnTextFieldFocusLost(object source, EventArgs e)
- {
- }
-
- ///
- /// Theme change callback when text field's text is changed, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void OnTextFieldTextChanged(object sender, TextField.TextChangedEventArgs e)
- {
- }
-
- ///
- /// Theme change callback when text field have a key event, this callback will be trigger.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual bool OnTextFieldKeyEvent(object source, KeyEventArgs e)
- {
- return false;
- }
-
- ///
- /// Set the text field 2D size
- ///
- /// Input Field' width.
- /// Input Field' height.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void SetTextFieldSize2D(int w, int h)
- {
- if (textField != null)
- {
- textField.Size2D = new Size2D(w, h);
- }
- }
-
- ///
- /// Set the text field X pose
- ///
- /// Input Field' X.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void SetTextFieldPosX(int x)
- {
- if (textField != null)
- {
- textField.PositionX = x;
- }
- }
-
- ///
- /// Set the text field text color
- ///
- /// Input Field' color.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void SetTextFieldTextColor(Color color)
- {
- if (textField != null)
- {
- textField.TextColor = color;
- }
- }
-
- ///
- /// Set the text field relayout flag
- ///
- /// relayout text field' value.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected void RelayoutTextField(bool value)
- {
- relayoutTextField = value;
- }
-
- private void Initialize()
- {
- inputFieldAttrs = attributes as InputFieldAttributes;
- if (null == inputFieldAttrs)
- {
- throw new Exception("Fail to get the InputField attributes.");
- }
-
- bgImage = new ImageView();
- if (null == bgImage)
- {
- throw new Exception("Fail to create background image.");
- }
-
- textField = new TextField();
- if (null == textField)
- {
- throw new Exception("Fail to create text field.");
- }
-
- if (null != inputFieldAttrs.BackgroundImageAttributes)
- {
- bgImage.WidthResizePolicy = ResizePolicyType.FillToParent;
- bgImage.HeightResizePolicy = ResizePolicyType.FillToParent;
- bgImage.ParentOrigin = Tizen.NUI.ParentOrigin.Center;
- bgImage.PivotPoint = Tizen.NUI.PivotPoint.Center;
- bgImage.PositionUsesPivotPoint = true;
- this.Add(bgImage);
- }
-
- if (null != inputFieldAttrs.InputBoxAttributes)
- {
- textField.WidthResizePolicy = ResizePolicyType.Fixed;
- textField.HeightResizePolicy = ResizePolicyType.Fixed;
- textField.ParentOrigin = Tizen.NUI.ParentOrigin.CenterLeft;
- textField.PivotPoint = Tizen.NUI.PivotPoint.CenterLeft;
- textField.PositionUsesPivotPoint = true;
- this.Add(textField);
-
- textField.FocusGained += OnTextFieldFocusGained;
- textField.FocusLost += OnTextFieldFocusLost;
- textField.TextChanged += OnTextFieldTextChanged;
- textField.KeyEvent += OnTextFieldKeyEvent;
- }
- }
-
- private void OnLayoutDirectionChanged()
- {
- if (inputFieldAttrs == null) return;
- if (textField != null)
- {
- if (LayoutDirection == ViewLayoutDirectionType.LTR)
- {
- if(inputFieldAttrs.InputBoxAttributes != null)
- {
- inputFieldAttrs.InputBoxAttributes.HorizontalAlignment = HorizontalAlignment.Begin;
- inputFieldAttrs.InputBoxAttributes.ParentOrigin = Tizen.NUI.ParentOrigin.CenterLeft;
- inputFieldAttrs.InputBoxAttributes.PivotPoint = Tizen.NUI.PivotPoint.CenterLeft;
- inputFieldAttrs.InputBoxAttributes.PositionUsesPivotPoint = true;
- }
- textField.HorizontalAlignment = HorizontalAlignment.Begin;
- textField.ParentOrigin = Tizen.NUI.ParentOrigin.CenterLeft;
- textField.PivotPoint = Tizen.NUI.PivotPoint.CenterLeft;
- textField.PositionUsesPivotPoint = true;
- }
- else //ViewLayoutDirectionType.RTL
- {
- if (inputFieldAttrs.InputBoxAttributes != null)
- {
- inputFieldAttrs.InputBoxAttributes.HorizontalAlignment = HorizontalAlignment.End;
- inputFieldAttrs.InputBoxAttributes.ParentOrigin = Tizen.NUI.ParentOrigin.CenterRight;
- inputFieldAttrs.InputBoxAttributes.PivotPoint = Tizen.NUI.PivotPoint.CenterRight;
- }
- textField.HorizontalAlignment = HorizontalAlignment.End;
- textField.ParentOrigin = Tizen.NUI.ParentOrigin.CenterRight;
- textField.PivotPoint = Tizen.NUI.PivotPoint.CenterRight;
- textField.PositionUsesPivotPoint = true;
- }
- }
- }
-
- private void RelayoutComponent()
- {
- if (!relayoutTextField)
- {
- return;
- }
- int space = inputFieldAttrs.Space ?? 0;
-
- if (textField != null)
- {
- textField.Size2D = new Size2D(this.Size2D.Width - space * 2, this.Size2D.Height);
- textField.PositionX = space;
- }
- }
-
- private void CreateBackgroundAttributes()
- {
- if (null == inputFieldAttrs.BackgroundImageAttributes)
- {
- inputFieldAttrs.BackgroundImageAttributes = new ImageAttributes();
- }
- }
-
- private void CreateTextFieldAttributes()
- {
- if (null == inputFieldAttrs.InputBoxAttributes)
- {
- inputFieldAttrs.InputBoxAttributes = new TextFieldAttributes();
- }
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/Loading.cs b/src/Tizen.NUI.CommonUI/Controls/Loading.cs
deleted file mode 100755
index 4b3595f59..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/Loading.cs
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.Collections.Generic;
-using System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// The Loading class of nui component. It's used to indicate informs users of the ongoing operation.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class Loading : Control
- {
- private LoadingAttributes loadingAttrs = null; // Loading Attributes
- private AnimatedImageVisual imageVisual = null;
-
- ///
- /// The constructor of Loading
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Loading() : base()
- {
- Initialize();
- }
-
- ///
- /// Constructor of the Loading class with special style.
- ///
- /// The string to initialize the Loading.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Loading(string style) : base(style)
- {
- Initialize();
- }
-
- ///
- /// The constructor of the Loading class with specific Attributes.
- ///
- /// The Attributes object to initialize the Loading.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Loading(LoadingAttributes attributes) : base(attributes)
- {
- Initialize();
- }
-
- ///
- /// Gets or sets loading image resource array.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string[] ImageArray
- {
- get
- {
- return loadingAttrs.ImageArray;
- }
- set
- {
- if (null != value)
- {
- loadingAttrs.ImageArray = value;
- imageVisual.URLS = new List(value);
- }
- }
- }
-
- ///
- /// Gets or sets loading size.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D LoadingSize
- {
- get
- {
- return loadingAttrs.LoadingSize ?? new Size2D(100, 100);
- }
- set
- {
- loadingAttrs.LoadingSize = value;
- imageVisual.Size = value;
- }
- }
-
- ///
- /// Gets or sets FPS of loading.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int FPS
- {
- get
- {
- return loadingAttrs?.FPS?.All ?? (int)(1000.0f / 16.6f);
- }
- set
- {
- if (value != 0) //It will crash if 0
- {
- if (null == loadingAttrs.FPS)
- {
- loadingAttrs.FPS = new IntSelector();
- }
- loadingAttrs.FPS.All = value;
- imageVisual.FrameDelay = 1000.0f / value;
- }
- }
- }
-
- ///
- /// Get Loading attribues.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return new LoadingAttributes();
- }
-
- ///
- /// Dispose Loading.
- ///
- /// Dispose type.
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- //Called by User
- //Release your own managed resources here.
- //You should release all of your own disposable objects here.
- RemoveVisual("loadingImageVisual");
- }
-
- //Release your own unmanaged resources here.
- //You should not access any managed member here except static instance.
- //because the execution order of Finalizes is non-deterministic.
- //Unreference this from if a static instance refer to this.
-
- //You must call base.Dispose(type) just before exit.
- base.Dispose(type);
- }
-
- ///
- /// Update Loading by attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnUpdate()
- {
- }
-
- private void Initialize()
- {
- loadingAttrs = attributes as LoadingAttributes;
- if (null == loadingAttrs)
- {
- throw new Exception("Loading attribute parse error.");
- }
- ApplyAttributes(this, loadingAttrs);
-
- imageVisual = new AnimatedImageVisual()
- {
- URLS = new List(),
- FrameDelay = 16.6f,
- LoopCount = -1,
- Size = new Size2D(100, 100),
- Position = new Vector2(0, 0),
- Origin = Visual.AlignType.Center,
- AnchorPoint = Visual.AlignType.Center
- };
-
- UpdateVisual();
-
- this.AddVisual("loadingImageVisual", imageVisual);
- }
-
- private void UpdateVisual()
- {
- if (null != loadingAttrs.ImageArray)
- {
- imageVisual.URLS = new List(loadingAttrs.ImageArray);
- }
- if (null != loadingAttrs.FPS)
- {
- imageVisual.FrameDelay = 1000.0f / (float)loadingAttrs.FPS.All;
- }
- if (null != loadingAttrs.LoadingSize)
- {
- imageVisual.Size = loadingAttrs.LoadingSize;
- }
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/Pagination.cs b/src/Tizen.NUI.CommonUI/Controls/Pagination.cs
deleted file mode 100755
index e9ddfa54b..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/Pagination.cs
+++ /dev/null
@@ -1,407 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.Collections.Generic;
-using System.ComponentModel;
-using Tizen.NUI.BaseComponents;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Pagination shows the number of pages available and the currently active page.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class Pagination: Control
- {
- private PaginationAttributes paginationAttributes;
-
- private VisualView container;
-
- private List indicatorList = new List();
- private ImageVisual selectIndicator;
-
- private int indicatorCount = 0;
- private int selectedIndex = -1;
-
- ///
- /// Creates a new instance of a Pagination.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Pagination() : base()
- {
- Initialize();
- }
-
- ///
- /// Creates a new instance of a Pagination using style.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Pagination(string style) : base(style)
- {
- Initialize();
- }
-
- ///
- /// Creates a new instance of a Pagination using attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Pagination(PaginationAttributes attributes) : base(attributes)
- {
- Initialize();
- }
-
- ///
- /// Gets or sets the size of the indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Size2D IndicatorSize
- {
- get
- {
- return paginationAttributes?.IndicatorSize;
- }
- set
- {
- if (value == null || paginationAttributes == null)
- {
- return;
- }
- paginationAttributes.IndicatorSize = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Gets or sets the background resource of indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IndicatorBackgroundURL
- {
- get
- {
- return paginationAttributes?.IndicatorBackgroundURL;
- }
- set
- {
- if (value == null || paginationAttributes == null)
- {
- return;
- }
- paginationAttributes.IndicatorBackgroundURL = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Gets or sets the resource of the select indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public string IndicatorSelectURL
- {
- get
- {
- return paginationAttributes?.IndicatorSelectURL;
- }
- set
- {
- if (value == null || paginationAttributes == null)
- {
- return;
- }
- paginationAttributes.IndicatorSelectURL = value;
- RelayoutRequest();
- }
- }
-
- ///
- /// Gets or sets the space of the indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IndicatorSpacing
- {
- get
- {
- return (int)paginationAttributes?.IndicatorSpacing;
- }
- set
- {
- if (paginationAttributes == null)
- {
- return;
- }
- paginationAttributes.IndicatorSpacing = value;
- RelayoutRequest();
- }
- }
-
-
- ///
- /// Gets or sets the count of the pages/indicators.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int IndicatorCount
- {
- get
- {
- return indicatorCount;
- }
- set
- {
- if (indicatorCount == value || indicatorCount < 0)
- {
- return;
- }
- if (indicatorCount < value)
- {
- for (int i = indicatorCount; i < value; i++)
- {
- CreateIndicator();
- }
- }
- else
- {
- for (int i = value; i < indicatorCount; i++)
- {
- ImageVisual indicator = indicatorList[i];
- container.RemoveVisual("Indicator" + i);
- }
- indicatorList.RemoveRange(value, indicatorCount - value);
- if(value <= 0)
- {
- container.RemoveVisual("SelectIndicator");
- }
- else if(selectedIndex >= value)
- {
- selectedIndex = 0;
- SelectIn(indicatorList[selectedIndex]);
- }
- }
- indicatorCount = value;
-
- UpdateContainer();
- }
- }
-
- ///
- /// Gets or sets the index of the select indicator.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public int SelectedIndex
- {
- get
- {
- return selectedIndex;
- }
- set
- {
- if (selectedIndex == value)
- {
- return;
- }
- if (selectedIndex >= 0 && selectedIndex < indicatorCount)
- {
- SelectOut(indicatorList[selectedIndex]);
- }
- selectedIndex = value;
- if (selectedIndex >= 0 && selectedIndex < indicatorCount)
- {
- SelectIn(indicatorList[selectedIndex]);
- }
- }
- }
-
- ///
- /// Retrieves the position of a indicator by index.
- ///
- /// Indicator index
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public Position2D GetIndicatorPosition(int index)
- {
- if (index < 0 || index >= indicatorList.Count)
- {
- return null;
- }
- return new Vector2(indicatorList[index].Position.X + container.PositionX, indicatorList[index].Position.Y + container.PositionY);
- }
-
- ///
- /// You can override it to do your select out operation.
- ///
- /// The indicator will be selected out
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void SelectOut(VisualMap selectOutIndicator)
- {
-
- }
-
- ///
- /// You can override it to do your select in operation.
- ///
- /// The indicator will be selected in
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected virtual void SelectIn(VisualMap selectInIndicator)
- {
- selectIndicator.Position = selectInIndicator.Position;
- }
-
- ///
- /// you can override it to create your own default attributes.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override Attributes GetAttributes()
- {
- return new PaginationAttributes();
- }
-
- ///
- /// you can override it to clean-up your own resources.
- ///
- /// DisposeTypes
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void Dispose(DisposeTypes type)
- {
- if (disposed)
- {
- return;
- }
-
- if (type == DisposeTypes.Explicit)
- {
- container.RemoveAll();
- indicatorList.Clear();
-
- this.Remove(container);
- container.Dispose();
- container = null;
- }
-
- base.Dispose(type);
- }
-
- ///
- /// you can override it to update your own resources.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- protected override void OnUpdate()
- {
-
- for (int i = 0; i < indicatorList.Count; i++)
- {
- ImageVisual indicator = indicatorList[i];
- indicator.URL = paginationAttributes.IndicatorBackgroundURL;
- indicator.Size = paginationAttributes.IndicatorSize;
- indicator.Position = new Position2D((int)(paginationAttributes.IndicatorSize.Width + paginationAttributes.IndicatorSpacing) * i, 0);
- }
-
- selectIndicator.URL = paginationAttributes.IndicatorSelectURL;
- selectIndicator.Size = paginationAttributes.IndicatorSize;
-
- //UpdateContainer();
- }
-
- private void Initialize()
- {
- paginationAttributes = attributes as PaginationAttributes;
- if (paginationAttributes == null)
- {
- throw new Exception("Pagination attributes is null.");
- }
-
- container = new VisualView()
- {
- Name = "Container",
- ParentOrigin = Tizen.NUI.ParentOrigin.CenterLeft,
- PivotPoint = Tizen.NUI.PivotPoint.CenterLeft,
- PositionUsesPivotPoint = true,
- //BackgroundColor = Color.Yellow
- };
- this.Add(container);
-
- selectIndicator = new ImageVisual()
- {
- URL = " "
- };
- container.AddVisual("SelectIndicator", selectIndicator);
- }
-
- private void CreateIndicator()
- {
- if (paginationAttributes == null)
- {
- return;
- }
- ImageVisual indicator = new ImageVisual
- {
- URL = paginationAttributes.IndicatorBackgroundURL,
- Size = paginationAttributes.IndicatorSize
- };
- indicator.Position = new Position2D((int)(paginationAttributes.IndicatorSize.Width + paginationAttributes.IndicatorSpacing) * indicatorList.Count, 0);
- container.AddVisual("Indicator" + indicatorList.Count, indicator);
- indicatorList.Add(indicator);
- }
-
- private void UpdateContainer()
- {
- if (paginationAttributes == null)
- {
- return;
- }
- if (indicatorList.Count > 0)
- {
- container.SizeWidth = (paginationAttributes.IndicatorSize.Width + paginationAttributes.IndicatorSpacing) * indicatorList.Count - paginationAttributes.IndicatorSpacing;
- }
- else
- {
- container.SizeWidth = 0;
- }
- container.SizeHeight = paginationAttributes.IndicatorSize.Height;
- container.PositionX = (int)((this.SizeWidth - container.SizeWidth) / 2);
- }
- }
-}
diff --git a/src/Tizen.NUI.CommonUI/Controls/Popup.cs b/src/Tizen.NUI.CommonUI/Controls/Popup.cs
deleted file mode 100755
index 6b2b2efd1..000000000
--- a/src/Tizen.NUI.CommonUI/Controls/Popup.cs
+++ /dev/null
@@ -1,1054 +0,0 @@
-/*
- * Copyright(c) 2019 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 System;
-using System.Collections.Generic;
-using Tizen.NUI.BaseComponents;
-using System.ComponentModel;
-
-namespace Tizen.NUI.CommonUI
-{
- ///
- /// Popup is one kind of common component, it can be used as popup window.
- /// User can handle Popup button count, head title and content area.
- ///
- /// 6
- /// This will be public opened in tizen_5.5 after ACR done. Before ACR, need to be hidden as inhouse API.
- [EditorBrowsable(EditorBrowsableState.Never)]
- public class Popup : Control
- {
- private ImageView backgroundImage;
- private ImageView shadowImage;
- private TextLabel titleText;
- private List