private MainView ui;
private LinkedList<Lazy<ProcessStep>> steps;
private LinkedListNode<Lazy<ProcessStep>> current;
+ private Lazy<ProcessStep> welcome;
static private string doneFile = Tizen.Applications.CoreUIApplication.Current.DirectoryInfo.Data + "oobe_done";
new Lazy<ProcessStep>(() => new LanguageStep()),
new Lazy<ProcessStep>(() => new RegionStep()),
new Lazy<ProcessStep>(() => new TermsStep()),
- new Lazy<ProcessStep>(() => new WelcomeStep()),
}
);
//only for review
- steps.AddFirst(new Lazy<ProcessStep>(() => new WifiStep()));
+ steps.AddFirst(
+ new Lazy<ProcessStep>(() => new WifiStep())
+ );
+ welcome = new Lazy<ProcessStep>(() => new WelcomeStep());
}
public void Start()
{
ui = new MainView(Window.Instance);
+ ui.PaginationVisible = true;
+ ui.PagesCount = steps.Count;
current = steps.First;
current.Value.Value.Initialize();
// end process if all steps are done
if (current.Next == null)
{
- Exit();
+ ShowWelcomeScreen();
return;
}
current.Next?.Value.Value.Initialize();
}
+ private void ShowWelcomeScreen()
+ {
+ ui.PaginationVisible = false;
+ ui.Push(welcome.Value.CreateView(this));
+ }
+
/// <summary>
/// Finishes process and exits application
/// </summary>
- public void Exit()
+ public void Finish()
{
foreach (Lazy<ProcessStep> step in steps)
{
using Tizen.NUI.BaseComponents;
using Tizen.NUI;
using Oobe.Controls;
+using Tizen.NUI.Components;
namespace Oobe.Views
{
{
private ViewStack stack;
private Animation dimEffectAnimation;
+ private Pagination pagination;
private const int TransitionTime = 750;
public MainView(Window win)
stack.ClippingMode = ClippingModeType.Disabled;
dimEffectAnimation = new Animation(TransitionTime);
+ pagination = new Pagination();
+ pagination.Position2D = new Position2D(598, 686);
+ pagination.Size2D = new Size2D(88, 20);
+ pagination.IndicatorSize = new Size(26, 26);
+ pagination.IndicatorImageURL = new Selector<string>()
+ {
+ Normal = Tizen.NUI.NUIApplication.Current.DirectoryInfo.Resource + "1.png",
+ Selected = Tizen.NUI.NUIApplication.Current.DirectoryInfo.Resource + "2.png",
+ };
+ pagination.IndicatorSpacing = 8;
+
win.GetDefaultLayer().Add(backImage);
win.GetDefaultLayer().Add(stack);
+ win.GetDefaultLayer().Add(pagination);
+ }
+
+ public int PagesCount
+ {
+ get => pagination.IndicatorCount;
+ set => pagination.IndicatorCount = value;
+ }
+
+ public bool PaginationVisible
+ {
+ get => pagination.Visibility;
+ set
+ {
+ if (value) pagination.Show();
+ else pagination.Hide();
+ }
}
public void Push(View view)
StartDimAnimation(overlayedView);
}
+ pagination.SelectedIndex = pagination.SelectedIndex + 1;
stack.Push(newView);
}
{
StartDimAnimation(current);
}
+ pagination.SelectedIndex = pagination.SelectedIndex - 1;
stack.Pop();
}