ButtonAttributes = attributes.ButtonAttributes.Clone() as ButtonAttributes;
}
- ShadowOffset = new Vector4(attributes.ShadowOffset.W, attributes.ShadowOffset.X, attributes.ShadowOffset.Y, attributes.ShadowOffset.Z);
+ if(attributes.ShadowOffset != null)
+ {
+ ShadowOffset = new Vector4(attributes.ShadowOffset.W, attributes.ShadowOffset.X, attributes.ShadowOffset.Y, attributes.ShadowOffset.Z);
+ }
+
}
/// <summary>
private EventHandler<ItemClickEventArgs> clickEventHandlers;
private EventHandler<ItemTouchEventArgs> touchEventHandlers;
+ private EventHandler<NUI.StyleManager.StyleChangedEventArgs> styleChangedEventHandlers;
/// <summary>
/// Creates a FlexibleView instance.
}
/// <summary>
+ /// Style changed, for example default font size.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// This 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<NUI.StyleManager.StyleChangedEventArgs> StyleChanged
+ {
+ add
+ {
+ styleChangedEventHandlers += value;
+ }
+
+ remove
+ {
+ styleChangedEventHandlers -= value;
+ }
+ }
+
+ /// <summary>
/// overwrite the Padding.
/// </summary>
/// <since_tizen> 6 </since_tizen>
}
/// <summary>
+ /// Return the recycler instance.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// This 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;
+ }
+
+ /// <summary>
/// you can override it to clean-up your own resources.
/// </summary>
/// <param name="type">DisposeTypes</param>
if (type == DisposeTypes.Explicit)
{
+ mLayout.StopScroll();
+
if (mAdapter != null)
{
mAdapter.ItemEvent -= OnItemEvent;
RemoveAndRecycleScrapInt();
}
+ /// <summary>
+ /// you can override it to do something for style change.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// This 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();
CreateHandlerAnimation();
}
+ /// <summary>
+ /// Theme change callback when theme is changed, this callback will be trigger.
+ /// </summary>
+ /// <since_tizen> 6 </since_tizen>
+ /// 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)
+ {
+ SwitchAttributes tempAttributes = StyleManager.Instance.GetAttributes(style) as SwitchAttributes;
+ if (tempAttributes != null)
+ {
+ attributes = switchAttributes = tempAttributes;
+ RelayoutRequest();
+ }
+ }
+
private void CreateSwitchBackgroundImageAttributes()
{
if (switchAttributes.SwitchBackgroundImageAttributes == null)
return DisabledFocused != null? DisabledFocused : Other;
case ControlStates.DisabledSelected:
return DisabledSelected != null? DisabledSelected : Other;
+ case ControlStates.SelectedFocused:
+ return SelectedFocused != null ? SelectedFocused : Other;
default:
return Other;
}
Selected = selector.Selected;
DisabledSelected = selector.DisabledSelected;
DisabledFocused = selector.DisabledFocused;
+ SelectedFocused = selector.SelectedFocused;
Other = selector.Other;
}