platform/core/csapi/tizenfx.git
2 years ago[NUI][AT-SPI] Add ScreenReaderEnabled, Disabled
Shinwoo Kim [Tue, 15 Mar 2022 06:32:49 +0000 (15:32 +0900)]
[NUI][AT-SPI] Add ScreenReaderEnabled, Disabled

ScreenReaderEnabled should be distinguished from IsEnabled.
This is because there are things to do only when the screen reader is enabled.

2 years ago[NUI] Supports Clockwise and CounterClockwise focus movement.
joogab.yun [Thu, 10 Mar 2022 05:27:14 +0000 (14:27 +0900)]
[NUI] Supports Clockwise and CounterClockwise focus movement.

Clockwise and CounterClockwise are rotary wheel event directions.

There is also a requirement that the focus be moved with a rotary wheel as well.

So, you can set the FocusableView according to the clockwise and counterclockwise directions of the rotary wheel.

```C#
  var viewA = new View { Focusable = true };
  var ViewB = new View { Focusable = true };

  viewA.ClockwiseFocusableView = viewB;
  ViewB.CounterClockwiseFocusableView = ViewA;

```

In ViewA, if the rotary wheel is in the Clockwise direction, ViewB is focused.
When the rotary wheel in ViewB is in the CountClockwise direction, ViewA is focused.

Dependency
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/272040/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/272137/

2 years ago[NUI] Add a new Tizen.NUI.ICustomAwareDeviceFocusAlgorithm.
joogab.yun [Fri, 4 Mar 2022 09:28:29 +0000 (18:28 +0900)]
[NUI] Add a new Tizen.NUI.ICustomAwareDeviceFocusAlgorithm.

This interface takes an additional deviceName argument to GetNextFocusableView().
The deviceName is the name of the device where the key event occurred.

A new deviceName added to GetNextFocusableView() should not affect the current app.

Current apps are using the FocusManager.ICustomFocusAlgorithm interface.
So I created a new Tizen.NUI.ICustomAwareDeviceFocusAlgorithm interface.

for example)
Currently

``` c#
class CustomInterface : FocusManager.ICustomFocusAlgorithm
{
 public View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
 {
   return proposed;
 }
}
```

If you wnat to do GetNextFocusableView() with deviceName, you can inherit ICustomAwareDeviceFocusAlgorithm.

``` c#
class CustomInterface : Tizen.NUI.ICustomAwareDeviceFocusAlgorithm
{
 // This method is called when a direction key is pressed.
 public View GetNextFocusableView(View current, View proposed, View.FocusDirection direction, string deviceName)
 {
  return proposed;
 }

 // This method is never called.
 public View GetNextFocusableView(View current, View proposed, View.FocusDirection direction)
 {
  return proposed;
 }
}
```

dependency
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/271983/
https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/271984/

2 years ago[NUI] Do not set value of property again when theme is changed.
huayong.xu [Tue, 22 Feb 2022 09:18:29 +0000 (17:18 +0800)]
[NUI] Do not set value of property again when theme is changed.

Originally although property value of a view is set, if theme is
changed, the value would be restored to the default value.
This is not expected.
This patch is to check if the value has been set already or not,
if set, do not set the value again.

2 years ago[NUI] Add Button ItemHorizontalAlignment and ItemVerticalAlignment
Jaehyun Cho [Thu, 24 Mar 2022 02:15:30 +0000 (11:15 +0900)]
[NUI] Add Button ItemHorizontalAlignment and ItemVerticalAlignment

LinearLayout.LinearAlignment is deprecated, and HorizontalAlignment and
VerticalAlignment are added.

To replace Button.ItemAlignment, whose type is LinearAlignment,
ItemHorizontalAlignment and ItemVerticalAlignment are added.

2 years ago[NUI] Fix SVACE issue
dongsug.song [Wed, 23 Mar 2022 05:52:55 +0000 (14:52 +0900)]
[NUI] Fix SVACE issue

2 years ago[NUI] version update 22114
Bowon Ryu [Tue, 22 Mar 2022 06:14:18 +0000 (15:14 +0900)]
[NUI] version update 22114

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
2 years ago[NUI] Fix FlexLayout size calculation issue caused by typo
Jaehyun Cho [Mon, 21 Mar 2022 08:44:48 +0000 (17:44 +0900)]
[NUI] Fix FlexLayout size calculation issue caused by typo

Fix typo in FlexLayout size calculation logic.

This typo was caused by https://github.com/Samsung/TizenFX/pull/4032

2 years ago[NUI] Add API for consuming keyEvent in Widget (#4002)
tscholb [Mon, 21 Mar 2022 08:47:56 +0000 (17:47 +0900)]
[NUI] Add API for consuming keyEvent in Widget (#4002)

When a widget consumes a keyEvent, the WidgetView must also consume that keyEvent.
the API called SetUsingKeyEvent() allows the WidgetApplication to set this flag.

2 years ago[NUI] Fix ImageView.Image property bugs + Make AnimatedImageView use LazyUpdate.
Eunki, Hong [Wed, 2 Mar 2022 14:05:43 +0000 (23:05 +0900)]
[NUI] Fix ImageView.Image property bugs + Make AnimatedImageView use LazyUpdate.

Previous LazyUpdate feature have some bugs when we try to get ImageView.Image.
That API get from native engine side properies forcely.
But actually, we didn't send our NUI cached local properties before get from native engine.
So the result value was not matched what we expected want to get.

and also, LazyUpdate feature have some bugs when we call 'Play', 'Stop', etc.

This patch UpdateImage properties synchronously when we call these
AnimationAction API.

Furthermore, Make AnimatedImageView (which already use LazyUpdate feature internally)
also use LazyUpdate feature.

We cannot know URLs Property changeness. so keep a way to properties setup forcely.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[NUI] fix svace issue
zhouleonlei [Mon, 21 Mar 2022 01:25:28 +0000 (09:25 +0800)]
[NUI] fix svace issue

2 years ago[NUI] add new prefix for pre-existed property
everLEEst(SangHyeon Lee) [Fri, 18 Mar 2022 09:28:07 +0000 (02:28 -0700)]
[NUI] add new prefix for pre-existed property

2 years ago[NUI] update copyright.
everLEEst(SangHyeon Lee) [Fri, 18 Mar 2022 09:21:16 +0000 (02:21 -0700)]
[NUI] update copyright.

2 years ago[NUI] modify and add button, checkbox, slider, progress example with IsEnabled.
everLEEst(SangHyeon Lee) [Fri, 18 Mar 2022 09:08:49 +0000 (02:08 -0700)]
[NUI] modify and add button, checkbox, slider, progress example with IsEnabled.

2 years ago[NUI] Modify IsEnabled pre-built classes and style
everLEEst(SangHyeon Lee) [Fri, 18 Mar 2022 08:05:41 +0000 (01:05 -0700)]
[NUI] Modify IsEnabled pre-built classes and style

2 years ago[NUI] remove unnecessary interop bind and add state control in OnEnabled.
EverLEEst(SangHyeon Lee) [Tue, 22 Feb 2022 06:02:33 +0000 (15:02 +0900)]
[NUI] remove unnecessary interop bind and add state control in OnEnabled.

2 years ago[NUI] renamed Interop enabled properties as DALi property name changes.
EverLEEst(SangHyeon Lee) [Mon, 21 Feb 2022 12:00:05 +0000 (21:00 +0900)]
[NUI] renamed Interop enabled properties as DALi property name changes.

2 years ago[NUI] fix button IsEnabled and remove return value of OnEnabled
EverLEEst(SangHyeon Lee) [Thu, 17 Feb 2022 08:53:48 +0000 (00:53 -0800)]
[NUI] fix button IsEnabled and remove return value of OnEnabled

2 years ago[NUI] Add IsEnabled Property in View class for controling user interactions.
EverLEEst(SangHyeon Lee) [Thu, 17 Feb 2022 07:50:00 +0000 (23:50 -0800)]
[NUI] Add IsEnabled Property in View class for controling user interactions.

2 years ago[NUI] Change Button, TimePicker and etc 's Focusable property as true
dongsug.song [Wed, 16 Mar 2022 06:29:58 +0000 (15:29 +0900)]
[NUI] Change Button, TimePicker and etc 's Focusable property as true

2 years ago[NUI] Fix crash issue when visual create failed
Eunki, Hong [Wed, 16 Mar 2022 06:56:09 +0000 (15:56 +0900)]
[NUI] Fix crash issue when visual create failed

Due to the empty array issue, we change that we don't create visual when
UrlList is empty.

But current NUI.VisualView don't consider that visual failure case.

This patch consider case when we fail to create visual, so visual is null in VisualView.

TODO : need to make TCT

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[NUI] Fix test-hub crash issue
dongsug.song [Sat, 19 Mar 2022 06:47:37 +0000 (15:47 +0900)]
[NUI] Fix test-hub crash issue

2 years ago[NUI] version update 22113
dongsug.song [Wed, 16 Mar 2022 04:59:02 +0000 (13:59 +0900)]
[NUI] version update 22113

2 years ago[NUI][AT-SPI] Remove interops for SetAccessibilityConstructor()
Artur Świgoń [Tue, 15 Feb 2022 13:59:39 +0000 (14:59 +0100)]
[NUI][AT-SPI] Remove interops for SetAccessibilityConstructor()

The method name SetAccessibilityConstructor() in NUI has always been
misleading, because it actually never had an 'accessibilityConstructor'
parameter in the first place. With the recent addition of bindings for
Accessible::GetInterfaces(), all NUI controls use the same Accessible
implementation (NUIViewAccessible) anyway. However, as this method is
currently used in many places, it is kept as a wrapper for setting
AccessibilityRole (and interface flags) and will be removed if/when we
decide to switch to AT-SPI interfaces as native C# interfaces. Then, all
usages of SetAccessibilityConstructor() would be replaced by simply
setting AccessibilityRole (and interface flags won't be needed).

2 years ago[NUI] Fix to invoke SelectedChanged when IsSelected is changed by setter
Jaehyun Cho [Fri, 11 Mar 2022 10:25:09 +0000 (19:25 +0900)]
[NUI] Fix to invoke SelectedChanged when IsSelected is changed by setter

Previously, SelectedChanged was not invoked when IsSelected is changed
by IsSelected's setter.
e.g. checkBox.IsSelected = true;

The issue occurred due to the logic that checked mouse up and key up.

Now, the incorrect logic has been removed and SelectedChanged is invoked
when IsSelected is changed by ISelected's setter.

2 years ago[NUI][SVACE] Fix SVACE issues
guowei.wang [Tue, 15 Mar 2022 06:39:25 +0000 (14:39 +0800)]
[NUI][SVACE] Fix SVACE issues

2 years agosrc/Tizen.NUI/src/public/BaseComponents/TextLabel.cs
guowei.wang [Tue, 15 Mar 2022 02:13:54 +0000 (10:13 +0800)]
src/Tizen.NUI/src/public/BaseComponents/TextLabel.cs

2 years agoRevert "[DO NOT REVIEW][TEST][NUI] key focus default algorithm test"
dongsug.song [Tue, 15 Mar 2022 07:10:55 +0000 (16:10 +0900)]
Revert "[DO NOT REVIEW][TEST][NUI] key focus default algorithm test"

This reverts commit bf89dd9e1d0b37d2ecbb65cf47d0ed65c4e693b1.

2 years agoRevert "[NUI][TEST] key foucs default algorithm test"
dongsug.song [Tue, 15 Mar 2022 07:10:50 +0000 (16:10 +0900)]
Revert "[NUI][TEST] key foucs default algorithm test"

This reverts commit 4abd3d3c124848d034911aaa1cfa951e56499cff.

2 years ago[NUI][TEST] key foucs default algorithm test
dongsug.song [Mon, 14 Mar 2022 13:13:37 +0000 (22:13 +0900)]
[NUI][TEST] key foucs default algorithm test

2 years ago[DO NOT REVIEW][TEST][NUI] key focus default algorithm test
dongsug.song [Thu, 10 Mar 2022 02:11:34 +0000 (11:11 +0900)]
[DO NOT REVIEW][TEST][NUI] key focus default algorithm test

2 years ago[NUI] Add a protected virtual bool HitTest(Touch touch) method.
joogab.yun [Sat, 12 Feb 2022 00:55:52 +0000 (09:55 +0900)]
[NUI] Add a protected virtual bool HitTest(Touch touch) method.

In the case of TouchEvent or Gesture, there is no way to propagate the event to the view below that is not related.

So, in the hit-test process, called the virtual HitTest method to check whether it was hit or not.

User can override whether hit or not in HitTest.

If it returns false, it means that it will not be hit, and the hit-test continues to the next view.
If it returns true, it means that it was hit, and the touch/gesture event is called from the view as before.

for example)
Override HitTest as below.
HitTest() is called when the View is hit.
If returned false, This means it will not be hit. Then the hit-test goes to the next view.

class MyView : View
{
  protected override bool HitTest(Touch touch)
  {
    return false;
  }
}

class Sample
{
   public void Create()
   {
     View view = new MyView()
     {
       Size = new Size(100, 100),
     }
     view.TouchEvent += (s, e) =>
     {
       return false;
     }
   }
}

2 years ago[XamlBuild] Fix issue of project which hasn't debug symbol
Fang Xiaohui [Tue, 15 Mar 2022 01:39:15 +0000 (09:39 +0800)]
[XamlBuild] Fix issue of project which hasn't debug symbol

2 years ago[NUI] Add window Min/Max Feature
Wonsik Jung [Wed, 9 Mar 2022 17:37:13 +0000 (02:37 +0900)]
[NUI] Add window Min/Max Feature

2 years ago[NUI] Add Selected theme color to MenuItem
Jaehyun Cho [Fri, 11 Mar 2022 12:44:40 +0000 (21:44 +0900)]
[NUI] Add Selected theme color to MenuItem

To show MenuItem's Selected theme, MenuItem's Selected theme color has
been added.

2 years ago[NUI] Fix the mismatch between the selected state and clicked event.
Taehyub Kim [Tue, 8 Mar 2022 13:07:20 +0000 (22:07 +0900)]
[NUI] Fix the mismatch between the selected state and clicked event.

Changes the selected state when the clicked event is called.

2 years ago[NUI] Allow BorderlineWidth without BackgroundColor setup.
Eunki Hong [Tue, 8 Mar 2022 05:05:04 +0000 (14:05 +0900)]
[NUI] Allow BorderlineWidth without BackgroundColor setup.

Previous code only allow to setup BorderlineWidth after set BackgroundColor,
or BackgroundImage.
But some case, user want to setup Borderline-only view.

This patch make BackgroundColor default as Translate
so user can setup borderlin only without setting Background.

Signed-off-by: Eunki Hong <h.pichulia@gmail.com>
2 years ago[Bluetooth] Fix svace issues (#4025)
Wootak Jung [Mon, 14 Mar 2022 08:13:52 +0000 (17:13 +0900)]
[Bluetooth] Fix svace issues (#4025)

2 years ago[NUI] Add an API for evaluating js with callback in WebView.
huayong.xu [Fri, 11 Feb 2022 08:22:22 +0000 (16:22 +0800)]
[NUI] Add an API for evaluating js with callback in WebView.

2 years ago[NUI] version update (2.1.12)
dongsug.song [Thu, 10 Mar 2022 06:58:24 +0000 (15:58 +0900)]
[NUI] version update (2.1.12)

2 years ago[NUI][AT-SPI] text: add "GetRangeExtents" interface
Shinwoo Kim [Wed, 2 Mar 2022 14:10:50 +0000 (23:10 +0900)]
[NUI][AT-SPI] text: add "GetRangeExtents" interface

This interface will be used for getting MBR(Minimum Bounding Rectangle)
with following usage on the AT client side.

  cc = atspi_text_get_character_count(text, NULL);
  rect = atspi_text_get_range_extents(text, 0, cc, ATSPI_COORD_TYPE_WINDOW, NULL);

2 years ago[NUI] Remove error message on Tizen.NUI.Samples
Eunki Hong [Fri, 4 Mar 2022 15:33:31 +0000 (00:33 +0900)]
[NUI] Remove error message on Tizen.NUI.Samples

Due to the DaliDemo.cs is just copycat of dali-demo,
it's local environment is not matched with NUI.
So, {APPLICATION_RESOURCE_PATH} is not matched as
Tizen.Applications.Application.Current.DirectoryInfo.Resource.

Therefore, when we try to SetStyle with image url, we fail to find that image.
That's why Tizen.NUI.Samples show so many error messages.

So I remove that url in demo style file.

Signed-off-by: Eunki Hong <h.pichulia@gmail.com>
2 years ago[NUI][Test] xaml indexer sample
dongsug.song [Wed, 23 Feb 2022 04:25:03 +0000 (13:25 +0900)]
[NUI][Test] xaml indexer sample

2 years agoAdd targets/props into netstandard2.0
Xianbing Teng [Fri, 25 Feb 2022 08:49:38 +0000 (16:49 +0800)]
Add targets/props into netstandard2.0

2 years ago[NUI] Add file comment and end empty line
Xianbing Teng [Thu, 24 Feb 2022 08:54:50 +0000 (16:54 +0800)]
[NUI] Add file comment and end empty line

2 years ago[NUI] Fix mismatch issue of the enum CreateDPObject
Xianbing Teng [Wed, 23 Feb 2022 11:03:19 +0000 (19:03 +0800)]
[NUI] Fix mismatch issue of the enum CreateDPObject

2 years ago[NUI] Add Tizen.NUI.XamlBuild module
Xianbing Teng [Wed, 23 Feb 2022 10:34:53 +0000 (18:34 +0800)]
[NUI] Add Tizen.NUI.XamlBuild module

2 years ago[NUI] Add New NUI DnD Class and Demo
Taehyub Kim [Fri, 17 Dec 2021 09:32:16 +0000 (18:32 +0900)]
[NUI] Add New NUI DnD Class and Demo

DragAndDrop Class supports the drag and drop functionality in the single window and sub-windows in an application.
Also It supports the application to application drag and drop functionality for multi-window feature.

Class
   Tizen.NUI.DragAndDrop

Dependency
   dali-adaptor : https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-adaptor/+/263704/
   dali-csharp-binder : https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/268209/

API Changes
 public bool StartDragAndDrop(View sourceView, View shadowView, string data)
 - Start drag and drop to send the data form sourceView to targetView.
 - sourceView means the NUI View to move.
 - shadowView means the half-transparent NUI ImageView of drag object, user should be add this image.
 - data means the data to send to the target view.
 public bool AddListener(View targetView, DragAndDropEventHandler callback)
 - Add listener to receive the drag event.
 - targetView means the NUI View to receive drag event
 - callback will be called when the drag event is emitted.
 public enum DragType
 public struct DragEvent
 public delegate void DragAndDropEventHandler(DragEvent dragEvent)

2 years ago[Build] Use dotnet sdk 6.0.102 in release workflow (#4012)
WonYoung Choi [Thu, 10 Mar 2022 00:41:35 +0000 (09:41 +0900)]
[Build] Use dotnet sdk 6.0.102 in release workflow (#4012)

- Bug: https://github.com/NuGet/Home/issues/11607

2 years ago[NUI] Version update (2.1.11)
Hosang Kim [Thu, 3 Mar 2022 08:45:58 +0000 (17:45 +0900)]
[NUI] Version update (2.1.11)

2 years ago[NUI][AT-SPI] Static class Accessibility (#3987)
Artur Świgoń [Fri, 4 Mar 2022 00:39:56 +0000 (01:39 +0100)]
[NUI][AT-SPI] Static class Accessibility (#3987)

This class serves as a collection of unrelated methods, which are all
static in DALi anyway, and as such is a good candidate for migration to
a C# 'static class'.

Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
2 years ago[NUI] Update the touch description. (#3995)
JoogabYun [Thu, 3 Mar 2022 08:49:33 +0000 (17:49 +0900)]
[NUI] Update the touch description. (#3995)

'actor' is the wrong term. Change to 'view'.

point means the touched point.

If there is 1 touch point, the point index is 0.

If there are two touch points, the point index has 0 and 1.

2 years ago[NUI][AT-SPI] Set CollectionView role to List (#3989)
kimcinoo [Thu, 3 Mar 2022 06:07:40 +0000 (15:07 +0900)]
[NUI][AT-SPI] Set CollectionView role to List (#3989)

The CollectionView has role of list.

Co-authored-by: Shinwoo Kim <cinoo.kim@samsung.com>
2 years ago[NUI][ATSPI] Set AccessibilityHidden for DefaultLinearItem (#3914)
kimcinoo [Thu, 3 Mar 2022 05:53:29 +0000 (14:53 +0900)]
[NUI][ATSPI] Set AccessibilityHidden for DefaultLinearItem (#3914)

The Seperator of DefaultLinearItem would be not necessary to AT-Client.
This patch is removing Seperator accessible nodes from A11Y tree.

And the Label would be not necessary to AT-Client, if the DefaultLinearItem
provides the Label information.
This patch is removing Label accessible nodes as well.

Co-authored-by: Shinwoo Kim <cinoo.kim@samsung.com>
2 years ago[NUI][AT-SPI] Support multiple AT-SPI interfaces for View
Artur Świgoń [Thu, 10 Feb 2022 09:27:12 +0000 (10:27 +0100)]
[NUI][AT-SPI] Support multiple AT-SPI interfaces for View

This patch adds GetInterfaces to AccessibilityDelegate which will allow
to report any number of AT-SPI interfaces in any combinations back to
DALi. Complementary changes to DALi make the AT-SPI bridge use
GetInterfaces instead of dynamic_cast (which stops at the C++ language
boundary).

Note however, that it is not yet possible to declare more than one
AT-SPI interface for a given Control in NUI. There are more changes
needed, such as removing SetAccessibilityConstructor and switching to
native C# interfaces, and they will be done in separate PRs.

2 years ago[NUI] Fix timePicker ampm internal logic
Woochanlee [Wed, 23 Feb 2022 12:25:57 +0000 (21:25 +0900)]
[NUI] Fix timePicker ampm internal logic

2 years ago[NUI] Fix GetProperty ambiguousmatch exception
Xianbing Teng [Tue, 22 Feb 2022 08:04:00 +0000 (16:04 +0800)]
[NUI] Fix GetProperty ambiguousmatch exception

2 years ago[NUI]Fix ResourcesDictionary & BindingContext issues
Xianbing Teng [Thu, 17 Feb 2022 10:03:47 +0000 (18:03 +0800)]
[NUI]Fix ResourcesDictionary & BindingContext issues

Description:
1. Optimize codes of xaml parser.
2. Split resources from Application, each view can has its own resources. Previously only use application resources, it costs more time to lookup.
3. Migrate XamlStyle/XamlResources from View/Layer to Container. Previously both Layer and View have XamlStyle and XamlResources properties, it is redundant.
4. Optimize inherited binding context.
5. This change does not change the previous use.

2 years ago[Applications.Common] Add Globalization invariant mode check (#3998)
hjhun [Fri, 4 Mar 2022 01:43:35 +0000 (10:43 +0900)]
[Applications.Common] Add Globalization invariant mode check (#3998)

In globalization-invariant mode, creating a new CultureInfo() throws
a CultureNotFoundException exception. If the process runs in invariant
mode, the CoreApplication doesn't set CultureInfos. And, the
CultureInfoHelper uses ToLowerInvaraint() instead of ToLower() with CultureInfo("en-US");

Signed-off-by: Hwankyu Jhun <h.jhun@samsung.com>
2 years ago[NUI] Version update (2.1.10) (#3967)
JoogabYun [Tue, 22 Feb 2022 05:42:00 +0000 (14:42 +0900)]
[NUI] Version update (2.1.10) (#3967)

[NUI] Version update (2.1.10)

2 years ago[NUI] Add forward and backward direction type (#3932)
JoogabYun [Tue, 22 Feb 2022 04:43:01 +0000 (13:43 +0900)]
[NUI] Add forward and backward direction type (#3932)

Now, You can get Forward type by pressing Tab key and Backward type by pressing Shift-Tab key.

public override View GetNextFocusableView(View currentFocusedView, View.FocusDirection direction, bool loopEnabled)
{
 if (direction == View.FocusDirection.Forward)
 {
  // Tab
 }
 else if (direction == View.FocusDirection.Backward)
 {
  // Shift-Tab
 }
}

2 years ago[NUI] Rotary Event (Custom Wheel Type) improvement
joogab.yun [Tue, 25 Jan 2022 02:20:41 +0000 (11:20 +0900)]
[NUI] Rotary Event (Custom Wheel Type) improvement

Previously, RotaryEvents could always be received only by window.
Now, User can receive Rotary Events in focused View as well.
It is also possible to propagate events to the parent view.

If there is no focused View, the window will receive the event.

This only applies to Rotary Event(CustomWheel type).

2 years ago[NUI] Fix unmatched return values before LazyUpdate (#3937)
Eunki Hong [Fri, 18 Feb 2022 04:04:55 +0000 (13:04 +0900)]
[NUI] Fix unmatched return values before LazyUpdate (#3937)

1. Call ImageView.UpdateImage() before get NaturalSize so we can guarantee that ResoureUrl properties updated
2. CropToMask value return true in default when we set AlphaMaskUrl.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Co-authored-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[NUI][AT-SPI] Singleton AccessibilityDelegate (#3899)
Artur Świgoń [Thu, 17 Feb 2022 10:45:25 +0000 (11:45 +0100)]
[NUI][AT-SPI] Singleton AccessibilityDelegate (#3899)

Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
2 years ago[Tts] Fix the description of Repeat() (#3953)
Suyeon Hwang [Thu, 17 Feb 2022 02:04:11 +0000 (11:04 +0900)]
[Tts] Fix the description of Repeat() (#3953)

Signed-off-by: Suyeon Hwang <stom.hwang@samsung.com>
2 years ago[NUI] Version update (2.1.09)
Woochanlee [Wed, 16 Feb 2022 07:14:19 +0000 (16:14 +0900)]
[NUI] Version update (2.1.09)

2 years ago[NUI][Test] apply home env in launch.json of test projects (#3952)
SangHyeon Jade Lee [Wed, 16 Feb 2022 07:02:22 +0000 (23:02 -0800)]
[NUI][Test] apply home env in launch.json of test projects (#3952)

2 years ago[NUI] Change csproj file to make this sample run on Ubuntu, tizen-emul and TV (#3950)
dongsug-song [Tue, 15 Feb 2022 10:53:00 +0000 (19:53 +0900)]
[NUI] Change csproj file to make this sample run on Ubuntu, tizen-emul and TV (#3950)

2 years ago[NUI] Apply focusable features and Automatic Focus algorithm
EverLEEst(SangHyeon Lee) [Tue, 15 Feb 2022 08:03:33 +0000 (17:03 +0900)]
[NUI] Apply focusable features and Automatic Focus algorithm

2 years ago[NUI] fix copyright years.
EverLEEst(SangHyeon Lee) [Tue, 8 Feb 2022 08:11:37 +0000 (17:11 +0900)]
[NUI] fix copyright years.

2 years ago[NUI] fix descriptions of float graphicsTypeConverter
EverLEEst(SangHyeon Lee) [Tue, 8 Feb 2022 08:09:52 +0000 (17:09 +0900)]
[NUI] fix descriptions of float graphicsTypeConverter

2 years agoadd arguments for implicit scaling factor setting.
EverLEEst(SangHyeon Lee) [Thu, 27 Jan 2022 11:50:21 +0000 (20:50 +0900)]
add arguments for implicit scaling factor setting.

2 years agoAdd FloatGraphicsTypeConverter and support converter in PixelSize in Text.
EverLEEst(SangHyeon Lee) [Thu, 27 Jan 2022 10:43:19 +0000 (19:43 +0900)]
Add FloatGraphicsTypeConverter and support converter in PixelSize in Text.

2 years ago[NUI] add style guide sample. (#3944)
SangHyeon Jade Lee [Mon, 14 Feb 2022 07:21:23 +0000 (23:21 -0800)]
[NUI] add style guide sample. (#3944)

* NUI: Add style guide sample.

* NUI : add codeowners on styleguide.

* [NUI] adding comments.

* [NUI] remove xaml build config and remove unecessary dir.

* [NUI] modify main logics and adding empty 2-depth scrollableBase examples.

* [NUI] add scrollableBase examples

2 years ago[NUI] Add FeedTouch and FeedWheel
joogab.yun [Fri, 11 Feb 2022 02:16:54 +0000 (11:16 +0900)]
[NUI] Add FeedTouch and FeedWheel

2 years ago[NUI][AT-SPI] Clean up APIs related to AccessibilityStates (#3904)
Artur Świgoń [Tue, 8 Feb 2022 09:32:09 +0000 (10:32 +0100)]
[NUI][AT-SPI] Clean up APIs related to AccessibilityStates (#3904)

Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
2 years ago[Camera] Support variable buffer size (#3934)
Haesu Gwon [Fri, 11 Feb 2022 05:49:34 +0000 (14:49 +0900)]
[Camera] Support variable buffer size (#3934)

2 years ago[Sensor] Add orientation sensor type
taemin.yeom [Wed, 15 Sep 2021 05:44:42 +0000 (14:44 +0900)]
[Sensor] Add orientation sensor type

- SENSOR_GYROSCOPE_ORIENTATION : based on gyroscope_rotation_vector
- SENSOR_GEOMAGNETIC_ORIENTATION : based on geomagnetic_rotration_vector

2 years ago[NUI] Version update (2.1.08)
Wonsik Jung [Mon, 7 Feb 2022 11:37:20 +0000 (20:37 +0900)]
[NUI] Version update (2.1.08)

2 years ago[NUI] Fix FlexLayout size calculation with Padding
Jaehyun Cho [Mon, 7 Feb 2022 08:16:48 +0000 (17:16 +0900)]
[NUI] Fix FlexLayout size calculation with Padding

Previously, if FlexLayout had Padding, then child's and grand child's sizes
were calculated incorrectly.
Because in FlexLayout's OnLayout(), child's size was given with applying
Padding. But Padding was applied in FlexLayout's OnLayout() again.
As a result, child's size became smaller by Padding size than it had to be.

Now, if FlexLayout has Padding, then child's and grand child's sizes are
calculated correctly.
The Padding is not applied duplicately while child's size is calculated.

2 years ago[NUI] Fix the defect that CurrentFrame is not updated properly when AnimatedVectorIma...
dongsug.song [Wed, 5 Jan 2022 10:24:23 +0000 (19:24 +0900)]
[NUI] Fix the defect that CurrentFrame is not updated properly when AnimatedVectorImageView stops

2 years ago[NUI] Support RequestLayout() while main loop is in idle state
Jaehyun Cho [Fri, 28 Jan 2022 09:35:09 +0000 (18:35 +0900)]
[NUI] Support RequestLayout() while main loop is in idle state

Previously, RequestLayout() was not supported if it was called while
main loop was in idle state.

Now, RequestLayout() calls Awake() to awake main loop again and Layout
can be re-calculated correctly.

2 years ago[NUI] Add DisposeTest, Add DebugFileLogging Test
dongsug.song [Fri, 28 Jan 2022 11:56:44 +0000 (20:56 +0900)]
[NUI] Add DisposeTest, Add DebugFileLogging Test

- fix the bug that TextRunner was not working properly.
- change the TextRunner to executed one by one by using EventThread trigger.
- previously, it was reculsively executed in one timer callback.
- this means it accumulated call stack very much.

2 years agoAdd callback for navigation policy decision.
huayong.xu [Thu, 13 Jan 2022 10:11:06 +0000 (18:11 +0800)]
Add callback for navigation policy decision.

2 years ago[NUI]Set response body in binary format when intercepting http request. (#3884)
huayongxu [Mon, 7 Feb 2022 04:04:15 +0000 (12:04 +0800)]
[NUI]Set response body in binary format when intercepting http request. (#3884)

2 years ago[NUI] Fix PointSizeTypeConverter error
Xianbing Teng [Fri, 28 Jan 2022 09:28:40 +0000 (17:28 +0800)]
[NUI] Fix PointSizeTypeConverter error

2 years ago[NUI] Call ProcessorOnceEvent after all event finished
Eunki, Hong [Fri, 28 Jan 2022 08:25:28 +0000 (17:25 +0900)]
[NUI] Call ProcessorOnceEvent after all event finished

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[NUI][AT-SPI] Fixed A11y support for Navigator
Maria Bialota [Mon, 24 Jan 2022 14:08:04 +0000 (15:08 +0100)]
[NUI][AT-SPI] Fixed A11y support for Navigator

* Added state change notifications for Insert() and Remove() methods
  when inserting/removing Page on top of Navigator.

2 years ago[NUI] Add CharacterSpacing property
Shrouq Sabah [Mon, 22 Nov 2021 12:22:50 +0000 (14:22 +0200)]
[NUI] Add CharacterSpacing property

2 years ago[NUI] Catch DllNotFoundException in IsSupportedMultiWindow() for desktop
Jaehyun Cho [Fri, 28 Jan 2022 04:49:28 +0000 (13:49 +0900)]
[NUI] Catch DllNotFoundException in IsSupportedMultiWindow() for desktop

To support multi-window, creating a new Window calls
Window.IsSupportedMultiWindow().

Since libcapi-system-info.so.0 is not installed by default on desktop
environment, calling Window.IsSupportedMultiWindow() causes crash by
DllNotFoundException.

Not to cause crash by calling Window.IsSupportedMultiWindow() on
desktop, DllNotFoundException is caught.

2 years ago[NUI] Fix svace issue of RecyclerView LinearLayouter (#3923)
Eunki Hong [Fri, 4 Feb 2022 06:17:56 +0000 (15:17 +0900)]
[NUI] Fix svace issue of RecyclerView LinearLayouter (#3923)

Check if groupInfo is null. It can be null when count = 0.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Co-authored-by: Eunki, Hong <eunkiki.hong@samsung.com>
2 years ago[NUI] Add SelectionStarted event (#3912)
abdullehghujeh [Fri, 4 Feb 2022 06:17:40 +0000 (08:17 +0200)]
[NUI] Add SelectionStarted event (#3912)

* [NUI] Add SelectionStart event

* update testing code

Co-authored-by: abdullah <abdullahhasan10@gmail.com>
2 years ago[NUI] fix text underline struct
Bowon Ryu [Wed, 26 Jan 2022 05:40:13 +0000 (14:40 +0900)]
[NUI] fix text underline struct

added missing tag [EditorBrowsable(EditorBrowsableState.Never)]

Fixed equals, hash for newly added fields

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
2 years ago[NUI] Support last day of month when month change in DatePicker
Woochanlee [Wed, 26 Jan 2022 09:18:48 +0000 (18:18 +0900)]
[NUI] Support last day of month when month change in DatePicker

Previously, DatePicker don't consider last day of month when month change.
It makes crash issue when create DateTime.

2 years ago[NUI][ATSPI] remove duplicated calculation for states
Shinwoo Kim [Fri, 21 Jan 2022 06:33:17 +0000 (15:33 +0900)]
[NUI][ATSPI] remove duplicated calculation for states

The HIGHLIHGTED state is calculated on parent class ControlAccessible
The get of IsHighlighted is doing exactly same calculation.

And HIGHLIGHTABLE, FOCUSABLE, and DEFUNCT as well.

Regarding VISIBLE was always TRUE. It is not correct state.
So this patch is removing the line related to the VISIBLE as well

2 years ago[WebRTC] Add new MediaFileSource APIs (#3917)
Haesu Gwon [Mon, 7 Feb 2022 01:48:46 +0000 (10:48 +0900)]
[WebRTC] Add new MediaFileSource APIs (#3917)

2 years ago[Camera] Fix preview gc issue (#3918)
Haesu Gwon [Thu, 3 Feb 2022 00:39:13 +0000 (09:39 +0900)]
[Camera] Fix preview gc issue (#3918)

2 years ago[NUI] Rebase develnui (DevelNUI only patches --> master) (#3910)
Eunki Hong [Wed, 26 Jan 2022 07:33:01 +0000 (16:33 +0900)]
[NUI] Rebase develnui (DevelNUI only patches --> master) (#3910)

* [NUI][AT-SPI] Remove unused interop for GetBoundAccessibilityObject (#3895)

This interop was unused. The GetBoundAccessibilityObject API duplicates Accessible::Get in DALi, but both functions would be equally useless in NUI, because NUI does not have the concept of Accessible objects, so there is no point in obtaining an IntPtr to such an object.

Related patches which remove GetBoundAccessibilityObject from DALi:

    https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-toolkit/+/269912/
    https://review.tizen.org/gerrit/#/c/platform/core/uifw/dali-csharp-binder/+/269910/

Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
* [NUI] Clean up SubWindowTest.cs

* [NUI] Use CurrentCulture to prevent exception (#3891)

Gets system locale for multi language support got a unhandled exception.
Use CurrentCulture according to .NET guide.

Co-authored-by: Woochanlee <wc0917.lee@samsung.com>
* [NUI] Fix View not to proceed Remove() if argument is not child

Previously, View proceeded Remove() after printing error log although
the given argument was not a child of the view.

Now, View returns Remove() after printing error log if the given
argument is not a child of the view.

* [NUI] Add Tizen.NUI.Devel.Tests.Ubuntu project in order to run testcase in a local Ubuntu PC

* [NUI] Fix duplicated unparent issue at Layer

View have some safe-guard when we try to child.Unparent() && Remove(child) dual times.
(child will have null parent after one of them.)

But Layer.Remove didn't have any defence code about that situation.

Tizen.NUI.Components.Menu.Dispose call layer.Remove(this) in Dispose function.
But before Dispose function call, we already called Unparented function somewhere.

This patch will gaurd that case,
and also gaurd some null & reference issue.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
* [NUI] Overloading == operator in Color class and fix GetHashCode

- overloaded == operator in Color class

- there is a problem that the current GetHashCode() always returns the same value.

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
* [NUI] Get native image PropertyMap instead of cached.

When we try to get cached property map for animated image,
It will not return internal-updated values
something like "CurrentFrame" for animated image.

This patch make we return Current PropertyMap always
instead of cached property map.

Actually, the best way to fix is, create some flags when we
try to get time-sensitive values.
But it need to fixup some codes and test. So just make hot-fix.

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
* [NUI] Focus movement follows the GetNextFocusableView() method of ScrollableBase
refer : https://github.com/Samsung/TizenFX/pull/3814

* [NUI][AT-SPI] Fix memory management issues

* [NUI] Fix warnings for TextConstants

override Eqauls, GetHashCode
overloaded == operator

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
* [NUI] Add Dashed/Double type to Text Underline (#3863)

Added Solid/DashWidth/DashGap types to the Underline struct.
If not provided, default is Solid type.
No effect on legacy underline behavior.

Added Enum UnderlineType (Solid, Dashed, Double)
Added new property to Underline struct

- Type : The type of the underline (the default type is Solid)

- DashWidth : The width of the dashes of the dashed underline

- DashGap : The gap between the dashes of the dashed underline

Signed-off-by: Bowon Ryu <bowon.ryu@samsung.com>
* [NUI] Version update (2.1.06)

Signed-off-by: Eunki, Hong <eunkiki.hong@samsung.com>
Co-authored-by: Artur Świgoń <aswigon@yandex.com>
Co-authored-by: Artur Świgoń <a.swigon@samsung.com>
Co-authored-by: dongsug.song <dongsug.song@samsung.com>
Co-authored-by: Woochan <48237284+lwc0917@users.noreply.github.com>
Co-authored-by: Woochanlee <wc0917.lee@samsung.com>
Co-authored-by: Jaehyun Cho <jae_hyun.cho@samsung.com>
Co-authored-by: Eunki, Hong <eunkiki.hong@samsung.com>
Co-authored-by: Bowon Ryu <bowon.ryu@samsung.com>
Co-authored-by: joogab.yun <joogab.yun@samsung.com>
2 years ago[Connection] Do not use Lazy for Singleton (#3888)
chleun-moon [Thu, 20 Jan 2022 10:58:25 +0000 (19:58 +0900)]
[Connection] Do not use Lazy for Singleton (#3888)

* [Connection] Do not use Lazy for Singleton

* Update ConnectionInternalManager

2 years ago[WiFi] Add missing lock condition (#3882)
chleun-moon [Thu, 20 Jan 2022 01:59:54 +0000 (10:59 +0900)]
[WiFi] Add missing lock condition (#3882)

Co-authored-by: Dohyun Pyun <dh79.pyun@samsung.com>