forked from syncfusion/wpf-demos
-
Notifications
You must be signed in to change notification settings - Fork 0
/
LayoutDemosViewModel.cs
153 lines (145 loc) · 8.45 KB
/
LayoutDemosViewModel.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
#region Copyright Syncfusion Inc. 2001-2021.
// Copyright Syncfusion Inc. 2001-2021. All rights reserved.
// Use of this code is subject to the terms of our license.
// A copy of the current license can be obtained at any time by e-mailing
// [email protected]. Any infringement will be prosecuted under
// applicable laws.
#endregion
using syncfusion.demoscommon.wpf;
using syncfusion.layoutdemos.wpf.Views.TextInputLayout;
using System.Collections.Generic;
namespace syncfusion.layoutdemos.wpf
{
/// <summary>
/// Class represents the demos launch using DemoLauchMode.Window
/// </summary>
public class LayoutDemosViewModel : DemoBrowserViewModel
{
/// <summary>
/// Method used to get demo details.
/// </summary>
/// <returns>Returns the list of product demos</returns>
public override List<ProductDemo> GetDemosDetails()
{
var productdemos = new List<ProductDemo>();
productdemos.Add(new TextInputLayoutProductDemos());
productdemos.Add(new CardViewProductDemo());
productdemos.Add(new CarouselProductDemos());
productdemos.Add(new ChromelessWindowProductDemos());
productdemos.Add(new DocumentContainerProductDemos());
productdemos.Add(new GridSplitterProductDemos());
productdemos.Add(new TileViewProductDemos());
return productdemos;
}
}
/// <summary>
/// Class represents the product demo
/// </summary>
public class TextInputLayoutProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="TextInputLayoutProductDemos"/> class.
/// </summary>
public TextInputLayoutProductDemos()
{
this.Product = "TextInputLayout";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", Description= "This sample demonstrates the basic functionality of text input layout control", GroupName = "TEXT INPUT LAYOUT", DemoViewType = typeof(TextInputLayoutGettingStartedDemo) });
}
}
/// <summary>
/// Class represents the product demo
/// </summary>
public class DocumentContainerProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="DocumentContainerProductDemos"/> class.
/// </summary>
public DocumentContainerProductDemos()
{
this.Product = "Document Container";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", Description= "This sample showcases the basic features of the DocumentContainer Control such as MDI and TDI Modes and State persistence", GroupName = "Document Container", DemoViewType = typeof(DocumentContainerDemosView) });
this.Demos.Add(new DemoInfo() { SampleName = "Window State Restriction", Description= "This sample demonstrates restrictions, that can be performed on window states.", GroupName = "Document Container", DemoViewType = typeof(WindowStateRestrictionDemo) });
}
}
/// <summary>
/// Class represents the product demo
/// </summary>
public class GridSplitterProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="GridSplitterProductDemos"/> class.
/// </summary>
public GridSplitterProductDemos()
{
this.Product = "Grid Splitter";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", Description= "Essential GridSplitter control splits the control into rows or columns that redistribute the space between the rows and columns.", GroupName = "Grid Splitter", DemoViewType = typeof(GridSplitterDemo) });
this.Demos.Add(new DemoInfo() { SampleName = "Customization", Description = "This sample demonstrates custom look and feel for Expander and Gripper in SfGridSplitter control.", GroupName = "Grid Splitter", DemoViewType = typeof(SplitterCustomizationDemo) });
}
}
/// <summary>
/// Class represents the product demo
/// </summary>
public class CardViewProductDemo : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="LayoutProductDemos"/> class.
/// </summary>
public CardViewProductDemo()
{
this.Product = "Card View";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", Description= "This sample showcases the basic features of CardView Control such as Grouping, Filtering and Sorting options", GroupName = "Card View", DemoViewType = typeof(CardViewDemo) });
}
}
public class CarouselProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="CarouselProductDemos"/> class.
/// </summary>
public CarouselProductDemos()
{
this.Product = "Carousel";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started",Description= "This sample showcases the basic features of Carousel such as Data-binding, Scaling and Skewing support", GroupName = "Carousel", ShowBusyIndicator=false , DemoViewType = typeof(CarouselDemo) });
this.Demos.Add(new DemoInfo() { SampleName = "Custom Path", Description= "This sample showcases the custom path support in Carousel. This custom path support helps to arrange carousel items in any form such as 3D perspective, circular, linear layouts etc", GroupName = "Carousel", DemoViewType = typeof(CarouselCusomPathDemo) });
this.Demos.Add(new DemoInfo() { SampleName = "Navigation", Description= "This sample showcases the navigation support in Carousel. This navigation support helps to select any carousel item.", GroupName = "Carousel", DemoViewType = typeof(CarouselNavigationDemo) });
}
}
public class TileViewProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="TileViewProductDemos"/> class.
/// </summary>
public TileViewProductDemos()
{
this.Product = "Tile View";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", ThemeMode = ThemeMode.Default, Description= "This sample showcases the basic features of TileView such as Dragging, Maximization and Minimization", GroupName = "TileView", DemoViewType = typeof(TileViewDemo) });
this.Demos.Add(new DemoInfo() { SampleName = "UI Virtualization",Description= "This sample showcases the UI virtualization capability of the tile view control", GroupName = "TileView", DemoViewType = typeof(TileViewVirtualizationDemo) });
this.Demos.Add(new DemoInfo() { SampleName = "Data Binding", Description= "This sample showcases the Observable binding capability of TileView Control", GroupName = "TileView", DemoViewType = typeof(DataBindingDemo) });
}
}
public class ChromelessWindowProductDemos : ProductDemo
{
/// <summary>
/// Initializes the new instance of <see cref="ChromelessWindowProductDemos"/> class.
/// </summary>
public ChromelessWindowProductDemos()
{
this.Product = "Chromeless Window";
this.ProductCategory = "LAYOUT";
this.Demos = new List<DemoInfo>();
this.Demos.Add(new DemoInfo() { SampleName = "Getting Started", GroupName = "Chromeless Window", DemoViewType = typeof(GettingStarted), DemoLauchMode = DemoLauchMode.Window, ThemeMode=ThemeMode.Inherit, Description= "This sample showcases the basic features of ChromelessWindow such as changing its corner radius, resize border thickness, title bar height and opacity level values." });
this.Demos.Add(new DemoInfo() { SampleName = "TitleBar Customization", GroupName = "Chromeless Window", DemoViewType = typeof(TitleBarCustomization), DemoLauchMode = DemoLauchMode.Window, ThemeMode=ThemeMode.Inherit, Description= "This sample demonstrates the ability to add controls to the title bar in the ChromelessWindow." });
}
}
}