aboutsummaryrefslogtreecommitdiffstatsci
path: root/Samples
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-06-06 13:40:54 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-06-06 13:40:54 +0200
commitc928fc85cd1faed7273722f99b2a1edd9de14299 (patch)
treef9344290fb876906205f9d8ab4b401ec3d040250 /Samples
parentd88c47659d248dbf5b4ec2b071906fafe013011e (diff)
slider as base for scrollbar, gauge widget
Diffstat (limited to 'Samples')
-rw-r--r--Samples/BasicTests/BasicTests.cs3
-rw-r--r--Samples/Directory.Build.props2
-rw-r--r--Samples/HelloWorld/ui/helloworld.crow41
-rw-r--r--Samples/ShowCase/ShowCase.cs153
-rw-r--r--Samples/ShowCase/ShowCase.csproj3
-rw-r--r--Samples/ShowCase/ui/Button.template12
-rw-r--r--Samples/ShowCase/ui/ShowCase.style4
-rw-r--r--Samples/ShowCase/ui/showcase.crow46
-rw-r--r--Samples/common/ui/Interfaces/Container/0.crow12
-rw-r--r--Samples/common/ui/Interfaces/Divers/colorPicker.crow2
-rw-r--r--Samples/common/ui/Interfaces/Divers/gauge.crow22
-rw-r--r--Samples/common/ui/Interfaces/Divers/testSlider.crow68
-rw-r--r--Samples/common/ui/Interfaces/Stack/StretchedInFit.crow4
-rw-r--r--Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml7
-rw-r--r--Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow37
-rw-r--r--Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow19
-rw-r--r--Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow2
-rw-r--r--Samples/common/ui/icons/Bottom.svg (renamed from Samples/common/ui/Icons/Bottom.svg)0
-rw-r--r--Samples/common/ui/icons/Center.svg (renamed from Samples/common/ui/Icons/Center.svg)0
-rw-r--r--Samples/common/ui/icons/Crow.Border.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Button.svg6
-rw-r--r--Samples/common/ui/icons/Crow.CheckBox.svg6
-rw-r--r--Samples/common/ui/icons/Crow.ColorPicker.svg6
-rw-r--r--Samples/common/ui/icons/Crow.ComboBox.svg7
-rw-r--r--Samples/common/ui/icons/Crow.Container.svg6
-rw-r--r--Samples/common/ui/icons/Crow.DirectoryView.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Docker.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Expandable.svg6
-rw-r--r--Samples/common/ui/icons/Crow.FileDialog.svg8
-rw-r--r--Samples/common/ui/icons/Crow.Grid.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Group.svg9
-rw-r--r--Samples/common/ui/icons/Crow.GroupBox.svg10
-rw-r--r--Samples/common/ui/icons/Crow.HorizontalStack.svg6
-rw-r--r--Samples/common/ui/icons/Crow.IMLContainer.svg8
-rw-r--r--Samples/common/ui/icons/Crow.Image.svg8
-rw-r--r--Samples/common/ui/icons/Crow.Label.svg7
-rw-r--r--Samples/common/ui/icons/Crow.ListBox.svg11
-rw-r--r--Samples/common/ui/icons/Crow.Menu.svg11
-rw-r--r--Samples/common/ui/icons/Crow.MenuItem.svg7
-rw-r--r--Samples/common/ui/icons/Crow.MessageBox.svg8
-rw-r--r--Samples/common/ui/icons/Crow.ProgressBar.svg7
-rw-r--r--Samples/common/ui/icons/Crow.RadioButton.svg7
-rw-r--r--Samples/common/ui/icons/Crow.ScrollBar.svg7
-rw-r--r--Samples/common/ui/icons/Crow.Scroller.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Shape.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Slider.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Spinner.svg7
-rw-r--r--Samples/common/ui/icons/Crow.Splitter.svg8
-rw-r--r--Samples/common/ui/icons/Crow.TabItem.svg6
-rw-r--r--Samples/common/ui/icons/Crow.TabView.svg6
-rw-r--r--Samples/common/ui/icons/Crow.TemplatedContainer.svg6
-rw-r--r--Samples/common/ui/icons/Crow.TemplatedGroup.svg6
-rw-r--r--Samples/common/ui/icons/Crow.TextBox.svg7
-rw-r--r--Samples/common/ui/icons/Crow.TreeView.svg6
-rw-r--r--Samples/common/ui/icons/Crow.VerticalStack.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Window.svg6
-rw-r--r--Samples/common/ui/icons/Crow.Wrapper.svg8
-rw-r--r--Samples/common/ui/icons/Top.svg (renamed from Samples/common/ui/Icons/Top.svg)0
-rw-r--r--Samples/common/ui/icons/bar-chart.svg10
-rw-r--r--Samples/common/ui/icons/bar-menu.svg8
-rw-r--r--Samples/common/ui/icons/basic_floppydisk.svg15
-rw-r--r--Samples/common/ui/icons/binding.svg7
-rw-r--r--Samples/common/ui/icons/blank-file.svg7
-rw-r--r--Samples/common/ui/icons/bullets.svg11
-rw-r--r--Samples/common/ui/icons/calendar.svg8
-rw-r--r--Samples/common/ui/icons/center-align.svg9
-rw-r--r--Samples/common/ui/icons/check-square-1.svg7
-rw-r--r--Samples/common/ui/icons/cogwheel.svg7
-rw-r--r--Samples/common/ui/icons/compile.svg9
-rw-r--r--Samples/common/ui/icons/copy-file.svg6
-rw-r--r--Samples/common/ui/icons/cs-file.svg11
-rw-r--r--Samples/common/ui/icons/cube.svg6
-rw-r--r--Samples/common/ui/icons/cubes.svg6
-rw-r--r--Samples/common/ui/icons/curly-brackets.svg7
-rw-r--r--Samples/common/ui/icons/database.svg9
-rw-r--r--Samples/common/ui/icons/drawsvg.svg1
-rw-r--r--Samples/common/ui/icons/edit.svg6
-rw-r--r--Samples/common/ui/icons/ellipsis.svg8
-rw-r--r--Samples/common/ui/icons/eraser.svg6
-rw-r--r--Samples/common/ui/icons/exclamation-circle-1.svg8
-rw-r--r--Samples/common/ui/icons/exclamation-circle.svg6
-rw-r--r--Samples/common/ui/icons/expand-arrows-1.svg9
-rw-r--r--Samples/common/ui/icons/file-code.svg9
-rw-r--r--Samples/common/ui/icons/file.svg6
-rw-r--r--Samples/common/ui/icons/folder.svg11
-rw-r--r--Samples/common/ui/icons/font-file.svg7
-rw-r--r--Samples/common/ui/icons/gavel.svg9
-rw-r--r--Samples/common/ui/icons/grab.svg6
-rw-r--r--Samples/common/ui/icons/hard-drive-1.svg7
-rw-r--r--Samples/common/ui/icons/hash.svg6
-rw-r--r--Samples/common/ui/icons/info.svg7
-rw-r--r--Samples/common/ui/icons/layout.svg6
-rw-r--r--Samples/common/ui/icons/light-bulb.svg7
-rw-r--r--Samples/common/ui/icons/line-list.svg13
-rw-r--r--Samples/common/ui/icons/list.svg11
-rw-r--r--Samples/common/ui/icons/magic-wand.svg13
-rw-r--r--Samples/common/ui/icons/magnet.svg8
-rw-r--r--Samples/common/ui/icons/modal-list.svg12
-rw-r--r--Samples/common/ui/icons/move-arrows.svg6
-rw-r--r--Samples/common/ui/icons/open-folder-1.svg6
-rw-r--r--Samples/common/ui/icons/open.svg7
-rw-r--r--Samples/common/ui/icons/options.svg10
-rw-r--r--Samples/common/ui/icons/package.svg6
-rw-r--r--Samples/common/ui/icons/padding.svg47
-rw-r--r--Samples/common/ui/icons/paint-brush.svg8
-rw-r--r--Samples/common/ui/icons/palette.svg6
-rw-r--r--Samples/common/ui/icons/paragraph.svg6
-rw-r--r--Samples/common/ui/icons/paste-on-document.svg6
-rw-r--r--Samples/common/ui/icons/picture-file.svg8
-rw-r--r--Samples/common/ui/icons/picture.svg8
-rw-r--r--Samples/common/ui/icons/pin.svg6
-rw-r--r--Samples/common/ui/icons/pointer.svg6
-rw-r--r--Samples/common/ui/icons/previous.svg6
-rw-r--r--Samples/common/ui/icons/processing-file.svg8
-rw-r--r--Samples/common/ui/icons/puzzle-piece.svg6
-rw-r--r--Samples/common/ui/icons/question.svg7
-rw-r--r--Samples/common/ui/icons/recycling.svg8
-rw-r--r--Samples/common/ui/icons/redo.svg6
-rw-r--r--Samples/common/ui/icons/refresh-file.svg8
-rw-r--r--Samples/common/ui/icons/reply.svg6
-rw-r--r--Samples/common/ui/icons/save.svg7
-rw-r--r--Samples/common/ui/icons/scissors.svg6
-rw-r--r--Samples/common/ui/icons/search.svg6
-rw-r--r--Samples/common/ui/icons/share-arrow.svg6
-rw-r--r--Samples/common/ui/icons/sign-out.svg7
-rw-r--r--Samples/common/ui/icons/sliders.svg11
-rw-r--r--Samples/common/ui/icons/split-browser-1.svg6
-rw-r--r--Samples/common/ui/icons/table.svg6
-rw-r--r--Samples/common/ui/icons/tasks.svg11
-rw-r--r--Samples/common/ui/icons/text-file-1.svg7
-rw-r--r--Samples/common/ui/icons/text-file.svg9
-rw-r--r--Samples/common/ui/icons/text-label.svg7
-rw-r--r--Samples/common/ui/icons/tools.svg8
-rw-r--r--Samples/common/ui/icons/trash.svg7
-rw-r--r--Samples/common/ui/icons/undo.svg6
-rw-r--r--Samples/common/ui/icons/warning.svg6
-rw-r--r--Samples/common/ui/icons/xml-file.svg8
-rw-r--r--Samples/common/ui/icons/zip-file.svg12
-rw-r--r--Samples/common/ui/icons/zoom-in.svg7
-rw-r--r--Samples/common/ui/icons/zoom-out.svg7
140 files changed, 1286 insertions, 82 deletions
diff --git a/Samples/BasicTests/BasicTests.cs b/Samples/BasicTests/BasicTests.cs
index 13c0758c..bfebafcd 100644
--- a/Samples/BasicTests/BasicTests.cs
+++ b/Samples/BasicTests/BasicTests.cs
@@ -38,7 +38,8 @@ namespace tests
//testFiles = new string [] { @"Interfaces/Divers/testShape.crow" };
//testFiles = new string [] { @"Interfaces/TemplatedControl/testEnumSelector.crow" };
//testFiles = new string [] { @"Interfaces/Divers/all.crow" };
- testFiles = new string [] { @"Interfaces/Divers/templateInStyle.crow" };
+ //testFiles = new string [] { @"Interfaces/Divers/gauge.crow" };
+ testFiles = new string [] { @"Interfaces/Divers/testSlider.crow" };
//testFiles = new string [] { @"Interfaces/Divers/colorPicker2.crow" };
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/GraphicObject", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Container", "*.crow")).ToArray ();
diff --git a/Samples/Directory.Build.props b/Samples/Directory.Build.props
index 1a85bb22..fec3cb65 100644
--- a/Samples/Directory.Build.props
+++ b/Samples/Directory.Build.props
@@ -34,7 +34,7 @@
<LogicalName>images.%(Filename)%(Extension)</LogicalName>
<Link>Images\%(Filename)%(Extension)</Link>
</EmbeddedResource>
- <EmbeddedResource Include="$(SamplesDir)common\ui\Icons\*.*">
+ <EmbeddedResource Include="$(SamplesDir)common\ui\icons\*.*">
<LogicalName>Icons.%(Filename)%(Extension)</LogicalName>
<Link>Icons\%(Filename)%(Extension)</Link>
</EmbeddedResource>
diff --git a/Samples/HelloWorld/ui/helloworld.crow b/Samples/HelloWorld/ui/helloworld.crow
index b3facb0e..82fd4ab5 100644
--- a/Samples/HelloWorld/ui/helloworld.crow
+++ b/Samples/HelloWorld/ui/helloworld.crow
@@ -1,2 +1,39 @@
-<?xml version="1.0"?>
-<Label Text="Hello world -|${TestCst}|-"/> \ No newline at end of file
+<Container Background="Onyx">
+ <VerticalStack Background="Jet" Fit="true" Margin="1" Spacing="1">
+ <Gauge Width="200" Height="10" Background="RoyalBlue" Value="50" CornerRadius="5"/>
+ <NumericControl Width="200" Height="10" Value="40">
+ <Template>
+ <Gauge Maximum="{./Maximum}" Foreground="Black" BorderWidth="1" Background="RoyalBlue" Value="{./Value}" CornerRadius="5"/>
+ </Template>
+ </NumericControl>
+ <Gauge Width="10" Height="100" Background="RoyalBlue" Value="50" CornerRadius="5" Orientation="Vertical"/>
+ <HorizontalStack Width="400" Height="300">
+ <Scroller Name="scroller1" Background="White"
+ Margin="2" ScrollY="{../scrollbar1.Value}"
+ ValueChanged="./_scroller_ValueChanged">
+ <Widget VerticalAlignment="Top" Background="vgradient|0:1,0,0,1|1:0,1,0,1" Width="1000" Height="1000"/>
+ </Scroller>
+ <Slider Template="#Crow.VScrollBar.template" Name="scrollbar1" Value="{../scroller1.ScrollY}"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30" Height="Stretched"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ Maximum="{../scroller1.MaxScrollY}" Orientation="Vertical" Width="14" >
+ <Template>
+ <Border BorderWidth="1" Foreground="{./Foreground}" Background="{./Background}">
+ <GenericStack Orientation="{./Orientation}" Spacing="0">
+ <Shape Style="ArrowBut" MouseDown="./OnDecrease"
+ Height="10" Size="10,10" Path="M 4.5,0.5 L 9.5,9.5 L 0.5,9.5 Z F"/>
+ <Gauge Name="Slider"
+ Orientation="{./Orientation}"
+ Value="{²./Value}"
+ Maximum="{./Maximum}"
+ Height="{./HeightPolicy}" Width="{./WidthPolicy}"
+ Background="RoyalBlue" Foreground="{./Foreground}"/>
+ <Shape Style="ArrowBut" MouseDown="./OnIncrease"
+ Height="10" Size="10,10" Path="M 0.5,0.5 L 9.5,0.5 L 4.5,9.5 Z F"/>
+ </GenericStack>
+ </Border>
+ </Template>
+ </Slider>
+ </HorizontalStack>
+ </VerticalStack>
+</Container> \ No newline at end of file
diff --git a/Samples/ShowCase/ShowCase.cs b/Samples/ShowCase/ShowCase.cs
index 346c2d1d..48e209ec 100644
--- a/Samples/ShowCase/ShowCase.cs
+++ b/Samples/ShowCase/ShowCase.cs
@@ -34,40 +34,146 @@ namespace ShowCase
}
}
- string source = @"<Label Text='Hello World' Background='MediumSeaGreen' Margin='10'/>";
-
+ string source, origSource;
+ public string CurrentFile {
+ get { return Configuration.Global.Get<string> (nameof (CurrentFile)); }
+ set {
+ if (CurrentFile == value)
+ return;
+ Configuration.Global.Set (nameof (CurrentFile), value);
+ NotifyValueChanged (CurrentFile);
+ }
+ }
public string Source {
- get => Source;
+ get => source;
set {
if (source == value)
return;
source = value;
reloadFromSource ();
+ CMDSave.CanExecute = source != origSource;
NotifyValueChanged (source);
}
}
- public void goUpDirClick (object sender, MouseButtonEventArgs e)
+
+ public static Picture IcoNew = new SvgPicture ("#Icons.blank-file.svg");
+ public static Picture IcoOpen = new SvgPicture ("#Icons.open.svg");
+ public static Picture IcoSave = new SvgPicture ("#Icons.save.svg");
+ public static Picture IcoSaveAs = new SvgPicture ("#Icons.save.svg");
+ public static Picture IcoQuit = new SvgPicture ("#Icons.sign-out.svg");
+ public static Picture IcoUndo = new SvgPicture ("#Icons.undo.svg");
+ public static Picture IcoRedo = new SvgPicture ("#Icons.redo.svg");
+
+ public static Picture IcoCut = new SvgPicture ("#Icons.scissors.svg");
+ public static Picture IcoCopy = new SvgPicture ("#Icons.copy-file.svg");
+ public static Picture IcoPaste = new SvgPicture ("#Icons.paste-on-document.svg");
+
+ public Command CMDNew, CMDSave, CMDSaveAs, CMDUndo, CMDRedo, CMDCut, CMDCopy, CMDPaste;
+
+ void initCommands ()
{
- string root = Directory.GetDirectoryRoot (CurrentDir);
- if (CurrentDir == root)
+ CMDNew = new Command (new Action (onNewFile)) { Caption = "New", Icon = "#Icons.blank-file.svg", CanExecute = true };
+ CMDSave = new Command (new Action (onSave)) { Caption = "Save", Icon = "#Icons.save.svg", CanExecute = false };
+ CMDSaveAs = new Command (new Action (onSaveAs)) { Caption = "Save As...", Icon = "#Icons.save.svg", CanExecute = true };
+ /*CMDUndo = new Command (new Action (undo)) { Caption = "Undo", Icon = IcoUndo, CanExecute = false };
+ CMDRedo = new Command (new Action (redo)) { Caption = "Redo", Icon = IcoRedo, CanExecute = false };
+ CMDCut = new Command (new Action (cut)) { Caption = "Cut", Icon = IcoCut, CanExecute = false };
+ CMDCopy = new Command (new Action (copy)) { Caption = "Copy", Icon = IcoCopy, CanExecute = false };
+ CMDPaste = new Command (new Action (paste)) { Caption = "Paste", Icon = IcoPaste, CanExecute = false };*/
+ }
+
+ public new bool IsDirty {
+ get => origSource != source;
+ }
+ void onSave ()
+ {
+ if (!File.Exists (CurrentFile)) {
+ onSaveAs ();
return;
- CurrentDir = Directory.GetParent (CurrentDir).FullName;
+ }
+ save ();
+ }
+ void onSaveAs ()
+ {
+ string dir = Path.GetDirectoryName (CurrentFile);
+ if (string.IsNullOrEmpty (dir))
+ dir = Directory.GetCurrentDirectory ();
+ LoadIMLFragment (@"<FileDialog Width='60%' Height='50%' Caption='Save as ...' CurrentDirectory='" +
+ dir + "' SelectedFile='" +
+ Path.GetFileName(CurrentFile) + "' OkClicked='saveFileDialog_OkClicked'/>").DataSource = this;
+ }
+ void saveFileDialog_OkClicked (object sender, EventArgs e)
+ {
+ FileDialog fd = sender as FileDialog;
+
+ if (string.IsNullOrEmpty (fd.SelectedFileFullPath))
+ return;
+
+ if (File.Exists(fd.SelectedFileFullPath)) {
+ MessageBox mb = MessageBox.ShowModal (this, MessageBox.Type.YesNo, "File exists, overwrite?");
+ mb.Yes += (sender2, e2) => {
+ CurrentFile = fd.SelectedFileFullPath;
+ save ();
+ };
+ return;
+ }
+
+ CurrentFile = fd.SelectedFileFullPath;
+ save ();
+ }
+
+ void onNewFile () {
+ if (IsDirty) {
+ MessageBox mb = MessageBox.ShowModal (this, MessageBox.Type.YesNo, "Current file has unsaved changes, are you sure?");
+ mb.Yes += (sender, e) => newFile ();
+ } else
+ newFile ();
+ }
+ void newFile()
+ {
+ origSource = "";
+ Source = "<Widget Background='DarkGrey'/>";
+ if (!string.IsNullOrEmpty (CurrentFile))
+ CurrentFile = Path.Combine (Path.GetDirectoryName (CurrentFile), "newfile.crow");
+ else
+ CurrentFile = Path.Combine (CurrentDir, "newfile.crow");
+ }
+
+
+ void save () {
+ using (Stream s = new FileStream(CurrentFile, FileMode.Create)) {
+ s.WriteByte (0xEF);
+ s.WriteByte (0xBB);
+ s.WriteByte (0xBF);
+ byte [] buff = Encoding.UTF8.GetBytes (source);
+ s.Write (buff, 0, buff.Length);
+ }
+ origSource = source;
}
protected override void OnInitialized ()
{
+ initCommands ();
+
base.OnInitialized ();
if (string.IsNullOrEmpty (CurrentDir))
CurrentDir = Path.Combine (Directory.GetCurrentDirectory (), "Interfaces");
+
Widget g = Load ("#ShowCase.showcase.crow");
- g.DataSource = this;
crowContainer = g.FindByName ("CrowContainer") as Container;
+ g.DataSource = this;
+
+ if (!File.Exists(CurrentFile))
+ origSource = Source = @"<Label Text='Hello World' Background='MediumSeaGreen' Margin='10'/>";
+
//I set an empty object as datasource at this level to force update when new
//widgets are added to the interface
crowContainer.DataSource = new object ();
hideError ();
+
+ reloadFromFile ();
}
static void App_KeyboardKeyDown (object sender, KeyEventArgs e)
@@ -81,6 +187,14 @@ namespace ShowCase
#endif
}
+ public void goUpDirClick (object sender, MouseButtonEventArgs e)
+ {
+ string root = Directory.GetDirectoryRoot (CurrentDir);
+ if (CurrentDir == root)
+ return;
+ CurrentDir = Directory.GetParent (CurrentDir).FullName;
+ }
+
void Dv_SelectedItemChanged (object sender, SelectionChangeEventArgs e)
{
FileSystemInfo fi = e.NewValue as FileSystemInfo;
@@ -88,11 +202,15 @@ namespace ShowCase
return;
if (fi is DirectoryInfo)
return;
-
- using (Stream s = new FileStream (fi.FullName, FileMode.Open)) {
- using (StreamReader sr = new StreamReader (s))
- Source = sr.ReadToEnd ();
+
+ if (IsDirty) {
+ MessageBox mb = MessageBox.ShowModal (this, MessageBox.Type.YesNo, "Current file has unsaved changes, are you sure?");
+ mb.Yes += (mbsender, mbe) => { CurrentFile = fi.FullName; reloadFromFile (); };
+ return;
}
+
+ CurrentFile = fi.FullName;
+ reloadFromFile ();
}
void showError (Exception ex)
@@ -104,7 +222,16 @@ namespace ShowCase
{
NotifyValueChanged ("ShowError", false);
}
-
+ void reloadFromFile ()
+ {
+ if (File.Exists (CurrentFile)) {
+ using (Stream s = new FileStream (CurrentFile, FileMode.Open)) {
+ using (StreamReader sr = new StreamReader (s))
+ origSource = sr.ReadToEnd ();
+ }
+ Source = origSource;
+ }
+ }
void reloadFromSource ()
{
hideError ();
diff --git a/Samples/ShowCase/ShowCase.csproj b/Samples/ShowCase/ShowCase.csproj
index ad2019cb..2bc30765 100644
--- a/Samples/ShowCase/ShowCase.csproj
+++ b/Samples/ShowCase/ShowCase.csproj
@@ -5,7 +5,4 @@
<LogicalName>ShowCase.%(Filename)%(Extension)</LogicalName>
</EmbeddedResource>
</ItemGroup>
- <ItemGroup>
- <None Remove="..\common\ui\Interfaces\basicTests\7.crow" />
- </ItemGroup>
</Project> \ No newline at end of file
diff --git a/Samples/ShowCase/ui/Button.template b/Samples/ShowCase/ui/Button.template
new file mode 100644
index 00000000..c7e2fa06
--- /dev/null
+++ b/Samples/ShowCase/ui/Button.template
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<Border Background="{./Background}" MinimumSize="50,20" Name="Content"
+ Foreground="Transparent" CornerRadius="{../CornerRadius}" BorderWidth="1"
+ MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black};{caption.Foreground=White}"
+ MouseLeave="{Foreground=Transparent};{caption.Foreground=LightGrey}"
+ MouseDown="{Foreground=vgradient|0:Black|0.05:Grey|0.85:Grey|1:White}"
+ MouseUp="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black}">
+ <HorizontalStack Margin="2">
+ <Image Style="Icon" Path="{./Icon}"/>
+ <Label Font="{./Font}" Name="caption" Margin="3" Foreground="LightGrey" Text="{./Caption}"/>
+ </HorizontalStack>
+</Border> \ No newline at end of file
diff --git a/Samples/ShowCase/ui/ShowCase.style b/Samples/ShowCase/ui/ShowCase.style
new file mode 100644
index 00000000..0d688507
--- /dev/null
+++ b/Samples/ShowCase/ui/ShowCase.style
@@ -0,0 +1,4 @@
+IcoButton {
+ Template = "#ShowCase.Button.template";
+ Background = "Onyx";
+} \ No newline at end of file
diff --git a/Samples/ShowCase/ui/showcase.crow b/Samples/ShowCase/ui/showcase.crow
index 4805e96e..5405a5ef 100644
--- a/Samples/ShowCase/ui/showcase.crow
+++ b/Samples/ShowCase/ui/showcase.crow
@@ -1,32 +1,38 @@
<?xml version="1.0"?>
-<HorizontalStack Background="DarkGrey" Margin="2">
+<HorizontalStack Background="DarkGrey" >
<VerticalStack Width="25%">
- <HorizontalStack Height="Fit">
+ <HorizontalStack Height="Fit" Margin="2" Background="Onyx">
<Image Margin="2" Width="16" Height="16" Path="#Crow.Icons.level-up.svg" MouseClick="./goUpDirClick"
Background="Jet" MouseEnter="{Background=Grey}" MouseLeave="{Background=Jet}" />
<TextBox Text="{²CurrentDir}" Margin="2"/>
</HorizontalStack>
- <DirectoryView Name="dv" CurrentDirectory="{CurrentDir}" SelectedItemChanged="Dv_SelectedItemChanged"/>
+ <DirectoryView Margin="1" Name="dv" CurrentDirectory="{CurrentDir}" SelectedItemChanged="Dv_SelectedItemChanged"/>
</VerticalStack>
- <Splitter Width="6"/>
+ <Splitter Width="6" />
<VerticalStack>
<Container Name="CrowContainer" Height="60%" Background="Black"/>
<Splitter/>
- <HorizontalStack>
- <Scroller Name="scroller1" Background="White"
- Margin="2" ScrollY="{../scrollbar1.Value}"
- ValueChanged="./_scroller_ValueChanged">
- <TextBox VerticalAlignment="Top"
- Text="{²Source}" Multiline="true" TextAlignment="TopLeft"
- Font="Courriernew 10"/>
- </Scroller>
- <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
- LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
- CursorSize="{../scroller1.ChildHeightRatio}"
- Maximum="{../scroller1.MaxScrollY}" Orientation="Vertical"
- Width="14" />
- </HorizontalStack>
- <Label Visible="{ShowError}" Text="{ErrorMessage}" Background="Red" Foreground="White" Width="Stretched" Margin="2"
- Multiline="true"/>
+ <VerticalStack>
+ <HorizontalStack Height="Fit">
+ <Button Style="IcoButton" Command="{CMDNew}" />
+ <Button Style="IcoButton" Command="{CMDSave}" />
+ <Button Style="IcoButton" Command="{CMDSaveAs}" />
+ </HorizontalStack>
+ <HorizontalStack>
+ <Scroller Name="scroller1" Background="White"
+ Margin="2" ScrollY="{../scrollbar1.Value}"
+ ValueChanged="./_scroller_ValueChanged">
+ <TextBox VerticalAlignment="Top"
+ Text="{²Source}" Multiline="true" TextAlignment="TopLeft"
+ Font="Courriernew 10"/>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+ CursorSize="{../scroller1.ChildHeightRatio}" Maximum="{../scroller1.MaxScrollY}" />
+ </HorizontalStack>
+ <Label Text="{CurrentFile}" Width="Stretched"/>
+ <Label Visible="{ShowError}" Text="{ErrorMessage}" Background="Red" Foreground="White" Width="Stretched" Margin="2"
+ Multiline="true"/>
+ </VerticalStack>
</VerticalStack>
</HorizontalStack>
diff --git a/Samples/common/ui/Interfaces/Container/0.crow b/Samples/common/ui/Interfaces/Container/0.crow
index 5ad8de0a..602ca931 100644
--- a/Samples/common/ui/Interfaces/Container/0.crow
+++ b/Samples/common/ui/Interfaces/Container/0.crow
@@ -1,5 +1,11 @@
<?xml version="1.0"?>
-<Container Background="DimGrey" Margin="10" Width="90%" Height="90%">
- <Widget Margin="10" Background="SeaGreen"
- MinimumSize="50,50"/>
+<Container Background="DarkGrey" Margin="10" Width="90%" Height="90%">
+ <Container Background="Jet" Margin="10" Width="90%" Height="90%">
+ <Container Background="Onyx" Margin="10" Width="90%" Height="90%">
+ <Container Background="DimGrey" Margin="10" Width="90%" Height="90%">
+ <Widget Margin="10" Background="MediumSeaGreen"
+ MinimumSize="50,50"/>
+ </Container>
+ </Container>
+ </Container>
</Container> \ No newline at end of file
diff --git a/Samples/common/ui/Interfaces/Divers/colorPicker.crow b/Samples/common/ui/Interfaces/Divers/colorPicker.crow
index 92a5c054..f7e9a0bc 100644
--- a/Samples/common/ui/Interfaces/Divers/colorPicker.crow
+++ b/Samples/common/ui/Interfaces/Divers/colorPicker.crow
@@ -1,6 +1,6 @@
<?xml version="1.0"?>
<VerticalStack>
- <ColorPicker CurrentColor="{²../go.Background}" Name="colorPicker" Background="DimGrey" Margin="5" Fit="True" />
+ <ColorPicker CurrentColor="{²../go.Background}" Name="colorPicker" Background="DimGrey" Width="250" />
<Widget Name="go" Width="100" Height="60" Background="DarkBlue"/>
<Widget Name="go" Width="100" Height="60" Background="{../colorPicker.CurrentColor}"/>
<Label Text="{../colorPicker.CurrentColor}"/>
diff --git a/Samples/common/ui/Interfaces/Divers/gauge.crow b/Samples/common/ui/Interfaces/Divers/gauge.crow
new file mode 100644
index 00000000..db03d8f4
--- /dev/null
+++ b/Samples/common/ui/Interfaces/Divers/gauge.crow
@@ -0,0 +1,22 @@
+<?xml version="1.0"?>
+<Container Background="Onyx">
+ <VerticalStack Background="Jet" Fit="true" Margin="10" Spacing="10">
+ <Gauge Width="200" Height="10" Background="RoyalBlue" Value="50" CornerRadius="5"/>
+ <NumericControl Width="200" Height="10" Value="40">
+ <Template>
+ <Gauge Maximum="{./Maximum}" Foreground="Black" BorderWidth="1" Background="RoyalBlue" Value="{./Value}" CornerRadius="5"/>
+ </Template>
+ </NumericControl>
+ <HorizontalStack Width="200" Height="200">
+ <Scroller Name="scroller1" Background="White"
+ Margin="2" ScrollY="{../scrollbar1.Value}"
+ ValueChanged="./_scroller_ValueChanged">
+ <Widget VerticalAlignment="Top" Background="vgradient|0:1,0,0,1|1:0,1,0,1" Width="1000" Height="1000"/>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30" Height="Stretched"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ Maximum="{../scroller1.MaxScrollY}" />
+ </HorizontalStack>
+ </VerticalStack>
+</Container> \ No newline at end of file
diff --git a/Samples/common/ui/Interfaces/Divers/testSlider.crow b/Samples/common/ui/Interfaces/Divers/testSlider.crow
index 6ed5aa0d..a4caf818 100644
--- a/Samples/common/ui/Interfaces/Divers/testSlider.crow
+++ b/Samples/common/ui/Interfaces/Divers/testSlider.crow
@@ -1,13 +1,59 @@
<?xml version="1.0"?>
-<VerticalStack Margin="20" Spacing="10" >
- <Slider Height="10" Width="Stretched"/>
- <Slider Background="RoyalBlue" Height="10" Width="Stretched"/>
- <Slider Background="Transparent" Margin="2" Height="10" Width="Stretched"/>
- <Slider Background="Transparent" CursorSize="10" Height="12" Width="Stretched" CursorType="Circle"/>
+<HorizontalStack Margin="50">
+ <VerticalStack Spacing="10" Width="50%">
+ <Slider Height="20" Width="Stretched"/>
+ <Slider Background="RoyalBlue" Height="50" Width="Stretched" CursorSize="50">
+ <Template>
+ <Group Background="DarkGrey" >
+ <Gauge Height="50%" Background="RoyalBlue" Value="{./Value}" Maximum="{./Maximum}" Minimum="{Minimum}" Orientation="{./Orientation}"/>
+ <Container Name="Cursor" Background="White" >
+ <Label Text="{./Value}" Foreground="Black"/>
+ </Container>
+ </Group>
+ </Template>
+ </Slider>
+ <Slider Background="Transparent" Margin="2" Height="10" Width="Stretched"/>
+ <Slider Background="Transparent" CursorSize="10" Height="12" >
+ <Template>
+ <Group Background="DarkGrey" >
+ <Gauge Height="50%" Background="RoyalBlue" Value="{./Value}" Maximum="{./Maximum}" Minimum="{Minimum}" Orientation="{./Orientation}"/>
+ <Widget Name="Cursor" Background="White" />
+ </Group>
+ </Template>
+ </Slider>
+
+ <Slider Height="10" Width="Stretched" />
+
+
+ <Slider ClipToClientRect='false' Background="DarkGrey" CursorSize="50" Height="12" CornerRadius="5" />
+ <Slider ClipToClientRect='false' CacheEnabled='false' Background="Transparent" CursorSize="20" Height="12" Width="Stretched" />
+ </VerticalStack>
- <Slider Height="10" Width="Stretched" CursorType="None" CursorColor='Red'/>
-
-
- <Slider ClipToClientRect='false' Background="Transparent" CursorSize="20" Height="12" Width="Stretched" CursorType="Circle"/>
- <Slider ClipToClientRect='false' CacheEnabled='false' Background="Transparent" CursorSize="20" Height="12" Width="Stretched" CursorType="Circle"/>
-</VerticalStack> \ No newline at end of file
+ <HorizontalStack Spacing="10" >
+ <Slider Orientation="Vertical" Width="20" Height="Stretched"/>
+ <Slider Orientation="Vertical" Width="50" Height="Stretched" Background="RoyalBlue" CursorSize="50">
+ <Template>
+ <Group Background="DarkGrey" >
+ <Gauge Width="50%" Background="RoyalBlue" Value="{./Value}" Maximum="{./Maximum}" Minimum="{Minimum}" Orientation="{./Orientation}"/>
+ <Container Name="Cursor" Background="White" >
+ <Label Text="{./Value}" Foreground="Black"/>
+ </Container>
+ </Group>
+ </Template>
+ </Slider>
+ <Slider Orientation="Vertical" Width="10" Height="Stretched" Background="Transparent" Margin="2" />
+ <Slider Orientation="Vertical" Width="12" Height="Stretched" Background="Transparent" CursorSize="10" >
+ <Template>
+ <Group Background="DarkGrey" >
+ <Gauge Width="50%" Background="RoyalBlue" Value="{./Value}" Maximum="{./Maximum}" Minimum="{Minimum}" Orientation="{./Orientation}"/>
+ <Widget Name="Cursor" Background="White" />
+ </Group>
+ </Template>
+ </Slider>
+
+ <Slider Width="10" />
+
+ <Slider Width="12" Height="Stretched" Orientation="Vertical" ClipToClientRect='false' Background="DarkGrey" CursorSize="50" CornerRadius="5" />
+ <Slider Width="12" Height="Stretched" Orientation="Vertical" ClipToClientRect='false' CacheEnabled='false' Background="Transparent" CursorSize="20" />
+ </HorizontalStack>
+</HorizontalStack> \ No newline at end of file
diff --git a/Samples/common/ui/Interfaces/Stack/StretchedInFit.crow b/Samples/common/ui/Interfaces/Stack/StretchedInFit.crow
index 42c30647..fdd5edcf 100644
--- a/Samples/common/ui/Interfaces/Stack/StretchedInFit.crow
+++ b/Samples/common/ui/Interfaces/Stack/StretchedInFit.crow
@@ -1,7 +1,7 @@
-<?xml version="1.0"?>
+<?xml version="1.0"?>
<VerticalStack Background="DimGrey" Margin="1" Width="Fit" Height="Fit">
<Label Text="this is a test" Margin="0" Width="Stretched" Height="Fit" Background="SeaGreen"/>
<Label Text="this is a test" Margin="0" Width="Stretched" Height="Fit" Background="SeaGreen"/>
<Label Text="this is a test" Margin="0" Width="Stretched" Height="Fit" Background="SeaGreen"/>
- <Label Text="this is a test" Margin="0" Width="Stretched" Height="Fit" Background="SeaGreen" MinimumSize="5,5"/>
+ <Label Text="this is a test" Margin="0" Width="Stretched" Height="Fit" Background="SeaGreen"/>
</VerticalStack> \ No newline at end of file
diff --git a/Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml b/Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml
index 869615bf..ae2a5eec 100644
--- a/Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml
+++ b/Samples/common/ui/Interfaces/TemplatedContainer/testWindow3.goml
@@ -2,10 +2,7 @@
<Window Left="10" Top="10" Caption="Test window" Width="200" Height="200" Background="0.5,0.5,0.5,0.8"
Focusable="True" CornerRadius="20" MinimumSize="100,100" MaximumSize="500,500">
<Template>
- <Container Margin="20" Name="Content" Height="{../HeightPolicy}" Width="{../WidthPolicy}" Background="0.5,0.5,0.5,0.5"/>
+ <Container Margin="20" Name="Content" Background="Onyx"/>
</Template>
-<!-- <Group Background="Green">-->
- <Widget Height="50" Width="50" Background="Red" Margin="5"/>
-<!-- <Scrollbar Orientation="Vertical" Height="Stretched" Width="10" Background="Blue" Margin="0" HorizontalAlignment="Right"/>-->
-<!-- </Group>-->
+ <Widget Background="FireBrick"/>
</Window>
diff --git a/Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow b/Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow
index 7c8438c0..b5eb0fc7 100644
--- a/Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow
+++ b/Samples/common/ui/Interfaces/TemplatedControl/testCheckbox.crow
@@ -1,11 +1,30 @@
<?xml version="1.0"?>
-<VerticalStack Fit="true" Margin="100" Background="DimGrey" >
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
- <CheckBox Background="Grey" MouseEnter="{Background=Red}" MouseLeave="{Background=Transparent}"/>
+<VerticalStack Margin="50" Background="DarkGrey" Spacing="10" >
+ <CheckBox />
+ <CheckBox Background="Jet">
+ <Template>
+ <HorizontalStack Spacing="5" Background="{./Background}" Margin="5">
+ <Label Text="{./Caption}"/>
+ <Label Text="{./IsChecked}"/>
+ </HorizontalStack>
+ </Template>
+ </CheckBox>
+ <CheckBox Background="Onyx" Width="Stretched">
+ <Template>
+ <HorizontalStack Spacing="4" Background="{./Background}" Margin="4">
+ <Border BorderWidth="0" Width="16" Height="16" Background="Black" Margin="1">
+ <Widget Background="SeaGreen" Visible="{./IsChecked}"/>
+ </Border>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Template>
+ </CheckBox>
+ <CheckBox Background="Jet" Height="30" Width="60" Checked="{Background=SeaGreen}" >
+ <Template>
+ <Group Background="{./Background}" Margin="0" CornerRadius="100">
+ <Shape Name="sh" HorizontalAlignment="Left" Width="{./Height}" Foreground="Grey" Size="16,16" Path="A 8,8,7.5,0,6.3 f O 1,1,1,1 G "/>
+ <Shape Visible="{./IsChecked}" HorizontalAlignment="Right" Width="{./Height}" Foreground="Grey" Size="16,16" Path="A 8,8,7.5,0,6.3 f O 1,1,1,1 G "/>
+ </Group>
+ </Template>
+ </CheckBox>
</VerticalStack>
diff --git a/Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow b/Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow
index b29be381..fd873489 100644
--- a/Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow
+++ b/Samples/common/ui/Interfaces/TemplatedControl/testItemTemplateTag.crow
@@ -1,29 +1,28 @@
<?xml version="1.0"?>
-<Border BorderWidth="2" Fit="true">
+<Border BorderWidth="2" Fit="true" Background="DarkGrey">
<VerticalStack Fit="true" Margin="5">
- <ListBox Data="{TestList}" Background="0.5,0.5,0.5,0.7"
- HorizontalAlignment="Center" Width="200" Height="200" Margin="5">
+ <ListBox Data="{TestList}" Background="Jet" HorizontalAlignment="Center" Width="200" Height="200" Margin="5">
<Template>
- <Border BorderWidth="1">
+ <Border BorderWidth="1" Background="{./Background}">
<HorizontalStack Margin="1">
<Scroller Name="scroller1" Margin="2">
<VerticalStack Height="Fit" MinimumSize="10,10"
Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
</Scroller>
<ScrollBar Name="scrollbar1" Value="{²../scroller1.ScrollY}"
- LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30" CursorSize="{../scroller1.ChildHeightRatio}"
- Maximum="{../scroller1.MaxScrollY}" Orientation="Vertical"
- Width="14" />
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="10" CursorSize="{../scroller1.ChildHeightRatio}"
+ Maximum="{../scroller1.MaxScrollY}" />
</HorizontalStack>
</Border>
</Template>
- <ItemTemplate DataType="Crow.Color">
+ <ItemTemplate DataType="Crow.Colors">
<HorizontalStack
HorizontalAlignment="Left"
Height="Fit" Width="200" Margin="1" Focusable="true"
- MouseEnter="{Background=hgradient|0:DarkRed|1:Transparent}"
+ MouseEnter="{Background=RoyalBlue}"
MouseLeave="{Background=Transparent}">
- <Widget Height="12" Width="20" Background="{}" Margin="0" CornerRadius="3"/>
+
+ <Border Foreground="Black" Height="16" Width="30" Background="{}" Margin="0" CornerRadius="4"/>
<Label Text="{}" Margin="0" Width="Stretched"/>
</HorizontalStack>
</ItemTemplate>
diff --git a/Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow b/Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow
index 0b1a775e..1eac5fe3 100644
--- a/Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow
+++ b/Samples/common/ui/Interfaces/TemplatedControl/testScrollbar.crow
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
<Group Name="TopContainer" Focusable="True" Background="DarkGrey" Margin="50">
- <ScrollBar Maximum="100" Height="90%"/>
+ <ScrollBar Width="10" CornerRadius="5" Maximum="100" Height="90%"/>
<ScrollBar Style="HScrollBar" Maximum="100" VerticalAlignment="Bottom"/>
</Group> \ No newline at end of file
diff --git a/Samples/common/ui/Icons/Bottom.svg b/Samples/common/ui/icons/Bottom.svg
index 38e5fa62..38e5fa62 100644
--- a/Samples/common/ui/Icons/Bottom.svg
+++ b/Samples/common/ui/icons/Bottom.svg
diff --git a/Samples/common/ui/Icons/Center.svg b/Samples/common/ui/icons/Center.svg
index ac2efdb8..ac2efdb8 100644
--- a/Samples/common/ui/Icons/Center.svg
+++ b/Samples/common/ui/icons/Center.svg
diff --git a/Samples/common/ui/icons/Crow.Border.svg b/Samples/common/ui/icons/Crow.Border.svg
new file mode 100644
index 00000000..09eb7ac7
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Border.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 2v-2h-14v14h2v2h14v-14h-2zM13 13h-12v-12h12v12z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Button.svg b/Samples/common/ui/icons/Crow.Button.svg
new file mode 100644
index 00000000..01f5c6c3
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Button.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15.7 5.3l-1-1c-0.2-0.2-0.4-0.3-0.7-0.3h-13c-0.6 0-1 0.4-1 1v5c0 0.3 0.1 0.6 0.3 0.7l1 1c0.2 0.2 0.4 0.3 0.7 0.3h13c0.6 0 1-0.4 1-1v-5c0-0.3-0.1-0.5-0.3-0.7zM14 10h-13v-5h13v5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.CheckBox.svg b/Samples/common/ui/icons/Crow.CheckBox.svg
new file mode 100644
index 00000000..2f0b0834
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.CheckBox.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M13 0.9l-1 1.1h-12v14h14v-10.5l1.7-2-2.7-2.6zM6.5 11.7l-4.2-4.2 1.4-1.4 2.7 2.7 6.6-6.6 1.4 1.4-7.9 8.1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.ColorPicker.svg b/Samples/common/ui/icons/Crow.ColorPicker.svg
new file mode 100644
index 00000000..517a26a9
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.ColorPicker.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 1c-1.8-1.8-3.7-0.7-4.6 0.1-0.4 0.4-0.7 0.9-0.7 1.5v0c0 1.1-1.1 1.8-2.1 1.5l-0.1-0.1-0.7 0.8 0.7 0.7-6 6-0.8 2.3-0.7 0.7 1.5 1.5 0.8-0.8 2.3-0.8 6-6 0.7 0.7 0.7-0.6-0.1-0.2c-0.3-1 0.4-2.1 1.5-2.1v0c0.6 0 1.1-0.2 1.4-0.6 0.9-0.9 2-2.8 0.2-4.6zM3.9 13.6l-2 0.7-0.2 0.1 0.1-0.2 0.7-2 5.8-5.8 1.5 1.5-5.9 5.7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.ComboBox.svg b/Samples/common/ui/icons/Crow.ComboBox.svg
new file mode 100644
index 00000000..1cb88fa2
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.ComboBox.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM10 11h-9v-6h9v6zM13 8.4l-2-1.4h4l-2 1.4z"></path>
+<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Container.svg b/Samples/common/ui/icons/Crow.Container.svg
new file mode 100644
index 00000000..d7d1dc8a
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Container.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 1h-14v14h14v-14zM14 14h-12v-12h12v12z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.DirectoryView.svg b/Samples/common/ui/icons/Crow.DirectoryView.svg
new file mode 100644
index 00000000..90294692
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.DirectoryView.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Docker.svg b/Samples/common/ui/icons/Crow.Docker.svg
new file mode 100644
index 00000000..e38a283e
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Docker.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 2v13h15v-13h-15zM13 3h1v1h-1v-1zM7 14h-6v-9h6v9zM14 14h-6v-9h6v9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Expandable.svg b/Samples/common/ui/icons/Crow.Expandable.svg
new file mode 100644
index 00000000..1c56d56d
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Expandable.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 4h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6c0-0.6-0.4-1-1-1zM12 9l-2-2h4l-2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.FileDialog.svg b/Samples/common/ui/icons/Crow.FileDialog.svg
new file mode 100644
index 00000000..25142ea0
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.FileDialog.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 2h-6v4h6v-4zM9 4h-2v-1h2v1z"></path>
+<path fill="#dddddd" d="M3 0v16h2v-1h6v1h2v-16h-10zM12 14h-8v-6h8v6zM12 7h-8v-6h8v6z"></path>
+<path fill="#dddddd" d="M11 9h-6v4h6v-4zM9 11h-2v-1h2v1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Grid.svg b/Samples/common/ui/icons/Crow.Grid.svg
new file mode 100644
index 00000000..6151f971
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Grid.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-4h4v4zM5 10h-4v-4h4v4zM5 5h-4v-4h4v4zM10 15h-4v-4h4v4zM10 10h-4v-4h4v4zM10 5h-4v-4h4v4zM15 15h-4v-4h4v4zM15 10h-4v-4h4v4zM15 5h-4v-4h4v4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Group.svg b/Samples/common/ui/icons/Crow.Group.svg
new file mode 100644
index 00000000..eae67f63
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Group.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 7h7v-7h-7v7zM1 1h5v5h-5v-5z"></path>
+<path fill="#dddddd" d="M9 0v7h7v-7h-7zM15 6h-5v-5h5v5z"></path>
+<path fill="#dddddd" d="M0 16h7v-7h-7v7zM1 10h5v5h-5v-5z"></path>
+<path fill="#dddddd" d="M9 16h7v-7h-7v7zM10 10h5v5h-5v-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.GroupBox.svg b/Samples/common/ui/icons/Crow.GroupBox.svg
new file mode 100644
index 00000000..e4697799
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.GroupBox.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M1 4h-1v-4h4v1h-3z"></path>
+<path fill="#dddddd" d="M12 1v-1h4v4h-1v-3z"></path>
+<path fill="#dddddd" d="M15 12h1v4h-4v-1h3z"></path>
+<path fill="#dddddd" d="M4 15v1h-4v-4h1v3z"></path>
+<path fill="#dddddd" d="M13 3v10h-10v-10h10zM14 2h-12v12h12v-12z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.HorizontalStack.svg b/Samples/common/ui/icons/Crow.HorizontalStack.svg
new file mode 100644
index 00000000..f8e70257
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.HorizontalStack.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM5 15h-4v-14h4v14zM10 15h-4v-14h4v14zM15 15h-4v-14h4v14z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.IMLContainer.svg b/Samples/common/ui/icons/Crow.IMLContainer.svg
new file mode 100644
index 00000000..b5687bac
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.IMLContainer.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.2 14l4.5-12h1.1l-4.5 12z"></path>
+<path fill="#dddddd" d="M11.1 13h1.2l3.7-5-3.7-5h-1.3l3.8 5z"></path>
+<path fill="#dddddd" d="M4.9 13h-1.2l-3.7-5 3.7-5h1.3l-3.8 5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Image.svg b/Samples/common/ui/icons/Crow.Image.svg
new file mode 100644
index 00000000..11356c0e
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Image.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 14h-16v-12h16v12zM1 13h14v-10h-14v10z"></path>
+<path fill="#dddddd" d="M2 10v2h12v-1c0 0 0.2-1.7-2-2-1.9-0.3-2.2 0.6-3.8 0.6-1.1 0-0.9-1.6-3.2-1.6-1.7 0-3 2-3 2z"></path>
+<path fill="#dddddd" d="M13 6c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Label.svg b/Samples/common/ui/icons/Crow.Label.svg
new file mode 100644
index 00000000..65bb85b7
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Label.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
+<path fill="#dddddd" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.ListBox.svg b/Samples/common/ui/icons/Crow.ListBox.svg
new file mode 100644
index 00000000..40d16734
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.ListBox.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M0 6h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Menu.svg b/Samples/common/ui/icons/Crow.Menu.svg
new file mode 100644
index 00000000..b6b21119
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Menu.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 2v2h-9v-2h9zM16 1h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 1h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M15 12v2h-9v-2h9zM16 11h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 11h4v4h-4v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.MenuItem.svg b/Samples/common/ui/icons/Crow.MenuItem.svg
new file mode 100644
index 00000000..c8bd8470
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.MenuItem.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 7v2h-9v-2h9zM16 6h-11v4h11v-4z"></path>
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.MessageBox.svg b/Samples/common/ui/icons/Crow.MessageBox.svg
new file mode 100644
index 00000000..16ebd72c
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.MessageBox.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+<path fill="#dddddd" d="M7 6h2v7h-2v-7z"></path>
+<path fill="#dddddd" d="M7 3h2v2h-2v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.ProgressBar.svg b/Samples/common/ui/icons/Crow.ProgressBar.svg
new file mode 100644
index 00000000..884f1854
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.ProgressBar.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 5v6h16v-6h-16zM15 10h-14v-4h14v4z"></path>
+<path fill="#dddddd" d="M2 7h7v2h-7v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.RadioButton.svg b/Samples/common/ui/icons/Crow.RadioButton.svg
new file mode 100644
index 00000000..6c33e84b
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.RadioButton.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 4c-2.2 0-4 1.8-4 4s1.8 4 4 4 4-1.8 4-4-1.8-4-4-4z"></path>
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.ScrollBar.svg b/Samples/common/ui/icons/Crow.ScrollBar.svg
new file mode 100644
index 00000000..91a1f847
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.ScrollBar.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2 2h1v4h-1v-4z"></path>
+<path fill="#dddddd" d="M1 0c-0.6 0-1 0.4-1 1v14c0 0.6 0.4 1 1 1h15v-16h-15zM13 15h-12v-14h12v14zM15 15v0h-1v-1h1v1zM15 13h-1v-10h1v10zM15 2h-1v-1h1v1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Scroller.svg b/Samples/common/ui/icons/Crow.Scroller.svg
new file mode 100644
index 00000000..bbc97197
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Scroller.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 15h-14v-6h3v1l3-2-3-2v1h-3v-6h6v3h-1l2 3 2-3h-1v-3h6v14z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Shape.svg b/Samples/common/ui/icons/Crow.Shape.svg
new file mode 100644
index 00000000..de5dd372
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Shape.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 8 8 8 8-8-8-8zM2 8l6-6 6 6-6 6-6-6z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Slider.svg b/Samples/common/ui/icons/Crow.Slider.svg
new file mode 100644
index 00000000..fe41c2ba
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Slider.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 6h-3.6c-0.7-1.2-2-2-3.4-2s-2.8 0.8-3.4 2h-5.6v4h5.6c0.7 1.2 2 2 3.4 2s2.8-0.8 3.4-2h3.6v-4zM1 9v-2h4.1c0 0.3-0.1 0.7-0.1 1s0.1 0.7 0.1 1h-4.1zM9 11c-1.7 0-3-1.3-3-3s1.3-3 3-3 3 1.3 3 3c0 1.7-1.3 3-3 3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Spinner.svg b/Samples/common/ui/icons/Crow.Spinner.svg
new file mode 100644
index 00000000..5fa848ac
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Spinner.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 7h-6l3-4z"></path>
+<path fill="#dddddd" d="M5 9h6l-3 4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Splitter.svg b/Samples/common/ui/icons/Crow.Splitter.svg
new file mode 100644
index 00000000..9fcd9dd7
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Splitter.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 0h2v16h-2v-16z"></path>
+<path fill="#dddddd" d="M3 5l-3 3 3 3v-2h3v-2h-3z"></path>
+<path fill="#dddddd" d="M16 8l-3-3v2h-3v2h3v2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TabItem.svg b/Samples/common/ui/icons/Crow.TabItem.svg
new file mode 100644
index 00000000..a9aaed33
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TabItem.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 4l-1-2h-4l-1 2h-1v11h16v-11h-9zM15 14h-14v-9h0.6l1-2h2.6l1.2 2h8.6v9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TabView.svg b/Samples/common/ui/icons/Crow.TabView.svg
new file mode 100644
index 00000000..942358b4
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TabView.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 4v-2h-14v13h16v-11h-2zM10 3h3v1h-3v-1zM6 3h3v1h-3v-1zM15 14h-14v-11h4v2h10v9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TemplatedContainer.svg b/Samples/common/ui/icons/Crow.TemplatedContainer.svg
new file mode 100644
index 00000000..34a0aa26
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TemplatedContainer.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM14.4 2.6l-5.9 2.2-6.6-2.2 6.1-1.6 6.4 1.6zM1 11.4v-8.1l7 2.4v9.2l-7-3.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TemplatedGroup.svg b/Samples/common/ui/icons/Crow.TemplatedGroup.svg
new file mode 100644
index 00000000..14ea6f37
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TemplatedGroup.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 6.6v0-3.8l-4-1.8-4 1.8v4.2l-3 1.3v4.4l4 1.8 3.5-1.5 3.5 1.6 4-1.8v-4.5l-4-1.7zM7 2.1l2.8 1.2-2.7 1.1-2.6-1.2 2.5-1.1zM7 5v2.9l-3-1.3v-3l3 1.4zM4 13.5l-3-1.3v-3l3 1.4v2.9zM4 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1zM11 13.5l-3-1.3v-3l3 1.4v2.9zM11 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TextBox.svg b/Samples/common/ui/icons/Crow.TextBox.svg
new file mode 100644
index 00000000..c1fc2bb2
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TextBox.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 5c0-0.6-0.4-1-1-1h-14c-0.6 0-1 0.4-1 1v6c0 0.6 0.4 1 1 1h14c0.6 0 1-0.4 1-1v-6zM15 11h-14v-6h14v6z"></path>
+<path fill="#dddddd" d="M2 6h1v4h-1v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.TreeView.svg b/Samples/common/ui/icons/Crow.TreeView.svg
new file mode 100644
index 00000000..b863291b
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.TreeView.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 10v-4h-11v1h-2v-3h9v-4h-12v4h2v10h3v2h11v-4h-11v1h-2v-5h2v2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.VerticalStack.svg b/Samples/common/ui/icons/Crow.VerticalStack.svg
new file mode 100644
index 00000000..c3c3ec9c
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.VerticalStack.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 0h-16v16h16v-16zM1 5v-4h14v4h-14zM1 10v-4h14v4h-14zM1 15v-4h14v4h-14z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Window.svg b/Samples/common/ui/icons/Crow.Window.svg
new file mode 100644
index 00000000..74b0a24b
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Window.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/Crow.Wrapper.svg b/Samples/common/ui/icons/Crow.Wrapper.svg
new file mode 100644
index 00000000..9e69e415
--- /dev/null
+++ b/Samples/common/ui/icons/Crow.Wrapper.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M12 6h4v4h-4v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/Icons/Top.svg b/Samples/common/ui/icons/Top.svg
index 01d11d52..01d11d52 100644
--- a/Samples/common/ui/Icons/Top.svg
+++ b/Samples/common/ui/icons/Top.svg
diff --git a/Samples/common/ui/icons/bar-chart.svg b/Samples/common/ui/icons/bar-chart.svg
new file mode 100644
index 00000000..ff86c961
--- /dev/null
+++ b/Samples/common/ui/icons/bar-chart.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 15h15v1h-15v-1z"></path>
+<path fill="#dddddd" d="M0 11h3v3h-3v-3z"></path>
+<path fill="#dddddd" d="M4 9h3v5h-3v-5z"></path>
+<path fill="#dddddd" d="M8 5h3v9h-3v-9z"></path>
+<path fill="#dddddd" d="M12 0h3v14h-3v-14z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/bar-menu.svg b/Samples/common/ui/icons/bar-menu.svg
new file mode 100644
index 00000000..87ec0610
--- /dev/null
+++ b/Samples/common/ui/icons/bar-menu.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h16v3h-16v-3z"></path>
+<path fill="#dddddd" d="M0 6h16v3h-16v-3z"></path>
+<path fill="#dddddd" d="M0 11h16v3h-16v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/basic_floppydisk.svg b/Samples/common/ui/icons/basic_floppydisk.svg
new file mode 100644
index 00000000..55d901d4
--- /dev/null
+++ b/Samples/common/ui/icons/basic_floppydisk.svg
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
+ width="64px" height="64px" viewBox="0 0 64 64" enable-background="new 0 0 64 64" xml:space="preserve">
+<g>
+ <polygon fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" points="63,63 1,63 1,1 51,1 63,13 "/>
+</g>
+<rect x="7" y="31" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="50" height="32"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="39" x2="50" y2="39"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="47" x2="50" y2="47"/>
+<line fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" x1="14" y1="55" x2="50" y2="55"/>
+<rect x="15" y="1" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="34" height="19"/>
+<rect x="38" y="5" fill="none" stroke="#000000" stroke-width="2" stroke-miterlimit="10" width="5" height="11"/>
+</svg>
diff --git a/Samples/common/ui/icons/binding.svg b/Samples/common/ui/icons/binding.svg
new file mode 100644
index 00000000..04f669ec
--- /dev/null
+++ b/Samples/common/ui/icons/binding.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14.9 1.1c-1.4-1.4-3.7-1.4-5.1 0l-4.4 4.3c-1.4 1.5-1.4 3.7 0 5.2 0.1 0.1 0.3 0.2 0.4 0.3l1.5-1.5c-0.1-0.1-0.3-0.2-0.4-0.3-0.6-0.6-0.6-1.6 0-2.2l4.4-4.4c0.6-0.6 1.6-0.6 2.2 0s0.6 1.6 0 2.2l-1.3 1.3c0.4 0.8 0.5 1.7 0.4 2.5l2.3-2.3c1.5-1.4 1.5-3.7 0-5.1z"></path>
+<path fill="#dddddd" d="M10.2 5.1l-1.5 1.5c0 0 0.3 0.2 0.4 0.3 0.6 0.6 0.6 1.6 0 2.2l-4.4 4.4c-0.6 0.6-1.6 0.6-2.2 0s-0.6-1.6 0-2.2l1.3-1.3c-0.4-0.8-0.1-1.3-0.4-2.5l-2.3 2.3c-1.4 1.4-1.4 3.7 0 5.1s3.7 1.4 5.1 0l4.4-4.4c1.4-1.4 1.4-3.7 0-5.1-0.2-0.1-0.4-0.3-0.4-0.3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/blank-file.svg b/Samples/common/ui/icons/blank-file.svg
new file mode 100644
index 00000000..5880a3ab
--- /dev/null
+++ b/Samples/common/ui/icons/blank-file.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
+<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
+</svg>
diff --git a/Samples/common/ui/icons/bullets.svg b/Samples/common/ui/icons/bullets.svg
new file mode 100644
index 00000000..81fb1f06
--- /dev/null
+++ b/Samples/common/ui/icons/bullets.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 2.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M0 7.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M0 12.5v0c0 0.8 0.7 1.5 1.5 1.5v0c0.8 0 1.5-0.7 1.5-1.5v0c0-0.8-0.7-1.5-1.5-1.5v0c-0.8 0-1.5 0.7-1.5 1.5z"></path>
+<path fill="#dddddd" d="M5 1h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 6h11v3h-11v-3z"></path>
+<path fill="#dddddd" d="M5 11h11v3h-11v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/calendar.svg b/Samples/common/ui/icons/calendar.svg
new file mode 100644
index 00000000..9ceaa1ea
--- /dev/null
+++ b/Samples/common/ui/icons/calendar.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 1v3h-3v-3h-6v3h-3v-3h-2v15h16v-15h-2zM3 15h-2v-2h2v2zM3 12h-2v-2h2v2zM3 9h-2v-2h2v2zM6 15h-2v-2h2v2zM6 12h-2v-2h2v2zM6 9h-2v-2h2v2zM9 15h-2v-2h2v2zM9 12h-2v-2h2v2zM9 9h-2v-2h2v2zM12 15h-2v-2h2v2zM12 12h-2v-2h2v2zM12 9h-2v-2h2v2zM15 15h-2v-2h2v2zM15 12h-2v-2h2v2zM15 9h-2v-2h2v2z"></path>
+<path fill="#dddddd" d="M3 0h1v3h-1v-3z"></path>
+<path fill="#dddddd" d="M12 0h1v3h-1v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/center-align.svg b/Samples/common/ui/icons/center-align.svg
new file mode 100644
index 00000000..92e3fac8
--- /dev/null
+++ b/Samples/common/ui/icons/center-align.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M5 0h6v3h-6v-3z"></path>
+<path fill="#FFFFFF" d="M1 4h14v3h-14v-3z"></path>
+<path fill="#FFFFFF" d="M3 8h10v3h-10v-3z"></path>
+<path fill="#FFFFFF" d="M0 12h16v3h-16v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/check-square-1.svg b/Samples/common/ui/icons/check-square-1.svg
new file mode 100644
index 00000000..e198007c
--- /dev/null
+++ b/Samples/common/ui/icons/check-square-1.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6.2v7.8h-12v-12h10.5l1-1h-12.5v14h14v-9.8z"></path>
+<path fill="#dddddd" d="M7.9 10.9l-4.2-4.2 1.5-1.4 2.7 2.8 6.7-6.7 1.4 1.4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/cogwheel.svg b/Samples/common/ui/icons/cogwheel.svg
new file mode 100644
index 00000000..c104c470
--- /dev/null
+++ b/Samples/common/ui/icons/cogwheel.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.2 6l-1.1-0.2c-0.1-0.2-0.1-0.4-0.2-0.6l0.6-0.9 0.5-0.7-2.6-2.6-0.7 0.5-0.9 0.6c-0.2-0.1-0.4-0.1-0.6-0.2l-0.2-1.1-0.2-0.8h-3.6l-0.2 0.8-0.2 1.1c-0.2 0.1-0.4 0.1-0.6 0.2l-0.9-0.6-0.7-0.4-2.5 2.5 0.5 0.7 0.6 0.9c-0.2 0.2-0.2 0.4-0.3 0.6l-1.1 0.2-0.8 0.2v3.6l0.8 0.2 1.1 0.2c0.1 0.2 0.1 0.4 0.2 0.6l-0.6 0.9-0.5 0.7 2.6 2.6 0.7-0.5 0.9-0.6c0.2 0.1 0.4 0.1 0.6 0.2l0.2 1.1 0.2 0.8h3.6l0.2-0.8 0.2-1.1c0.2-0.1 0.4-0.1 0.6-0.2l0.9 0.6 0.7 0.5 2.6-2.6-0.5-0.7-0.6-0.9c0.1-0.2 0.2-0.4 0.2-0.6l1.1-0.2 0.8-0.2v-3.6l-0.8-0.2zM15 9l-1.7 0.3c-0.1 0.5-0.3 1-0.6 1.5l0.9 1.4-1.4 1.4-1.4-0.9c-0.5 0.3-1 0.5-1.5 0.6l-0.3 1.7h-2l-0.3-1.7c-0.5-0.1-1-0.3-1.5-0.6l-1.4 0.9-1.4-1.4 0.9-1.4c-0.3-0.5-0.5-1-0.6-1.5l-1.7-0.3v-2l1.7-0.3c0.1-0.5 0.3-1 0.6-1.5l-1-1.4 1.4-1.4 1.4 0.9c0.5-0.3 1-0.5 1.5-0.6l0.4-1.7h2l0.3 1.7c0.5 0.1 1 0.3 1.5 0.6l1.4-0.9 1.4 1.4-0.9 1.4c0.3 0.5 0.5 1 0.6 1.5l1.7 0.3v2z"></path>
+<path fill="#FFFFFF" d="M8 4.5c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM8 10.5c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/compile.svg b/Samples/common/ui/icons/compile.svg
new file mode 100644
index 00000000..c1a14e77
--- /dev/null
+++ b/Samples/common/ui/icons/compile.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M12 7v-2l-1.2-0.4c-0.1-0.3-0.2-0.7-0.4-1l0.6-1.2-1.5-1.3-1.1 0.5c-0.3-0.2-0.6-0.3-1-0.4l-0.4-1.2h-2l-0.4 1.2c-0.3 0.1-0.7 0.2-1 0.4l-1.1-0.5-1.4 1.4 0.6 1.2c-0.2 0.3-0.3 0.6-0.4 1l-1.3 0.3v2l1.2 0.4c0.1 0.3 0.2 0.7 0.4 1l-0.5 1.1 1.4 1.4 1.2-0.6c0.3 0.2 0.6 0.3 1 0.4l0.3 1.3h2l0.4-1.2c0.3-0.1 0.7-0.2 1-0.4l1.2 0.6 1.4-1.4-0.6-1.2c0.2-0.3 0.3-0.6 0.4-1l1.2-0.4zM3 6c0-1.7 1.3-3 3-3s3 1.3 3 3c0 1.7-1.3 3-3 3s-3-1.3-3-3z"></path>
+<path fill="#FFFFFF" d="M7.5 6c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+<path fill="#FFFFFF" d="M16 3v-1h-0.6c0-0.2-0.1-0.4-0.2-0.5l0.4-0.4-0.7-0.7-0.4 0.4c-0.2-0.1-0.3-0.2-0.5-0.2v-0.6h-1v0.6c-0.2 0-0.4 0.1-0.5 0.2l-0.4-0.4-0.7 0.7 0.4 0.4c-0.1 0.2-0.2 0.3-0.2 0.5h-0.6v1h0.6c0 0.2 0.1 0.4 0.2 0.5l-0.4 0.4 0.7 0.7 0.4-0.4c0.2 0.1 0.3 0.2 0.5 0.2v0.6h1v-0.6c0.2 0 0.4-0.1 0.5-0.2l0.4 0.4 0.7-0.7-0.4-0.4c0.1-0.2 0.2-0.3 0.2-0.5h0.6zM13.5 3.5c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1z"></path>
+<path fill="#FFFFFF" d="M15.4 11.8c-0.1-0.3-0.2-0.6-0.4-0.9l0.3-0.6-0.7-0.7-0.5 0.4c-0.3-0.2-0.6-0.3-0.9-0.4l-0.2-0.6h-1l-0.2 0.6c-0.3 0.1-0.6 0.2-0.9 0.4l-0.6-0.3-0.7 0.7 0.3 0.6c-0.2 0.3-0.3 0.6-0.4 0.9l-0.5 0.1v1l0.6 0.2c0.1 0.3 0.2 0.6 0.4 0.9l-0.3 0.6 0.7 0.7 0.6-0.3c0.3 0.2 0.6 0.3 0.9 0.4l0.1 0.5h1l0.2-0.6c0.3-0.1 0.6-0.2 0.9-0.4l0.6 0.3 0.7-0.7-0.4-0.5c0.2-0.3 0.3-0.6 0.4-0.9l0.6-0.2v-1l-0.6-0.2zM12.5 14c-0.8 0-1.5-0.7-1.5-1.5s0.7-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/copy-file.svg b/Samples/common/ui/icons/copy-file.svg
new file mode 100644
index 00000000..63c2dd37
--- /dev/null
+++ b/Samples/common/ui/icons/copy-file.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M13 3h-3l-3-3h-7v13h6v3h10v-10l-3-3zM7 1l2 2h-2v-2zM1 12v-11h5v3h3v8h-8zM15 15h-8v-2h3v-9h2v3h3v8zM13 6v-2l2 2h-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/cs-file.svg b/Samples/common/ui/icons/cs-file.svg
new file mode 100644
index 00000000..5ddb69a3
--- /dev/null
+++ b/Samples/common/ui/icons/cs-file.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0"?>
+<svg width="16" height="16" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg">
+
+ <g class="layer">
+ <title>Layer 1</title>
+ <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4z" fill="#ffffff" id="svg_1"/>
+ <path d="m10,0l-8,0l0,16l12,0l0,-12l-4,-4zm-1,5l4,0l0,10l-10,0l0,-14l6,0l0,4zm1,-1l0,-3l3,3l-3,0z" fill="#444444" id="svg_2"/>
+ <text fill="#007f00" font-family="Monospace" font-size="16" font-style="normal" font-weight="bold" id="svg_4" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.69828, 0, 0, 0.877654, 0.704781, 2.22646)" x="7.714503" xml:space="preserve" y="12.444685">c</text>
+ <text fill="#007f00" font-family="Monospace" font-size="7" font-style="normal" font-weight="bold" id="svg_5" stroke="#000000" stroke-width="0" text-anchor="middle" transform="matrix(0.999951, 0, 0, 0.975655, -2.14552, 0.0604767)" x="12.987902" xml:space="preserve" y="11.031572">#</text>
+ </g>
+</svg> \ No newline at end of file
diff --git a/Samples/common/ui/icons/cube.svg b/Samples/common/ui/icons/cube.svg
new file mode 100644
index 00000000..34a0aa26
--- /dev/null
+++ b/Samples/common/ui/icons/cube.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM14.4 2.6l-5.9 2.2-6.6-2.2 6.1-1.6 6.4 1.6zM1 11.4v-8.1l7 2.4v9.2l-7-3.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/cubes.svg b/Samples/common/ui/icons/cubes.svg
new file mode 100644
index 00000000..14ea6f37
--- /dev/null
+++ b/Samples/common/ui/icons/cubes.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 6.6v0-3.8l-4-1.8-4 1.8v4.2l-3 1.3v4.4l4 1.8 3.5-1.5 3.5 1.6 4-1.8v-4.5l-4-1.7zM7 2.1l2.8 1.2-2.7 1.1-2.6-1.2 2.5-1.1zM7 5v2.9l-3-1.3v-3l3 1.4zM4 13.5l-3-1.3v-3l3 1.4v2.9zM4 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1zM11 13.5l-3-1.3v-3l3 1.4v2.9zM11 10l-2.6-1.2 2.6-1.1 2.8 1.2-2.8 1.1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/curly-brackets.svg b/Samples/common/ui/icons/curly-brackets.svg
new file mode 100644
index 00000000..89ef798c
--- /dev/null
+++ b/Samples/common/ui/icons/curly-brackets.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2.1 3.1c0.2 1.3 0.4 1.6 0.4 2.9 0 0.8-1.5 1.5-1.5 1.5v1c0 0 1.5 0.7 1.5 1.5 0 1.3-0.2 1.6-0.4 2.9-0.3 2.1 0.8 3.1 1.8 3.1s2.1 0 2.1 0v-2c0 0-1.8 0.2-1.8-1 0-0.9 0.2-0.9 0.4-2.9 0.1-0.9-0.5-1.6-1.1-2.1 0.6-0.5 1.2-1.1 1.1-2-0.3-2-0.4-2-0.4-2.9 0-1.2 1.8-1.1 1.8-1.1v-2c0 0-1 0-2.1 0s-2.1 1-1.8 3.1z"></path>
+<path fill="#dddddd" d="M13.9 3.1c-0.2 1.3-0.4 1.6-0.4 2.9 0 0.8 1.5 1.5 1.5 1.5v1c0 0-1.5 0.7-1.5 1.5 0 1.3 0.2 1.6 0.4 2.9 0.3 2.1-0.8 3.1-1.8 3.1s-2.1 0-2.1 0v-2c0 0 1.8 0.2 1.8-1 0-0.9-0.2-0.9-0.4-2.9-0.1-0.9 0.5-1.6 1.1-2.1-0.6-0.5-1.2-1.1-1.1-2 0.2-2 0.4-2 0.4-2.9 0-1.2-1.8-1.1-1.8-1.1v-2c0 0 1 0 2.1 0s2.1 1 1.8 3.1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/database.svg b/Samples/common/ui/icons/database.svg
new file mode 100644
index 00000000..65a8f065
--- /dev/null
+++ b/Samples/common/ui/icons/database.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 2.5c0 0.828-2.686 1.5-6 1.5s-6-0.672-6-1.5c0-0.828 2.686-1.5 6-1.5s6 0.672 6 1.5z"></path>
+<path fill="#dddddd" d="M8 5c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+<path fill="#dddddd" d="M8 9c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+<path fill="#dddddd" d="M8 13c-3.3 0-6-0.7-6-1.5v3c0 0.8 2.7 1.5 6 1.5s6-0.7 6-1.5v-3c0 0.8-2.7 1.5-6 1.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/drawsvg.svg b/Samples/common/ui/icons/drawsvg.svg
new file mode 100644
index 00000000..36ef290e
--- /dev/null
+++ b/Samples/common/ui/icons/drawsvg.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="1120px" height="670px" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1120 670" preserveAspectRatio="xMidYMid meet" ><rect id="svgEditorBackground" x="0" y="0" width="1120" height="670" style="fill: none; stroke: none;"/><line id="e1_line" x1="432" y1="118" x2="291" y2="273" style="stroke:black;fill:none;stroke-width:1px;"/><line id="e2_line" x1="291" y1="270" x2="397" y2="402" style="stroke:black;fill:none;stroke-width:1px;"/><polyline style="stroke:black;fill:none;stroke-width:10px;stroke-linecap:round;stroke-linejoin:round;" id="e3_polyline" points="685,138 683,138 596,275 694,413"/></svg> \ No newline at end of file
diff --git a/Samples/common/ui/icons/edit.svg b/Samples/common/ui/icons/edit.svg
new file mode 100644
index 00000000..73569d8d
--- /dev/null
+++ b/Samples/common/ui/icons/edit.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 4c0 0 0-1-1-2s-1.9-1-1.9-1l-1.1 1.1v-2.1h-12v16h12v-8l4-4zM6.3 11.4l-0.6-0.6 0.3-1.1 1.5 1.5-1.2 0.2zM7.2 9.5l-0.6-0.6 5.2-5.2c0.2 0.1 0.4 0.3 0.6 0.5zM14.1 2.5l-0.9 1c-0.2-0.2-0.4-0.3-0.6-0.5l0.9-0.9c0.1 0.1 0.3 0.2 0.6 0.4zM11 15h-10v-14h10v2.1l-5.9 5.9-1.1 4.1 4.1-1.1 2.9-3v6z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/ellipsis.svg b/Samples/common/ui/icons/ellipsis.svg
new file mode 100644
index 00000000..cff94ccf
--- /dev/null
+++ b/Samples/common/ui/icons/ellipsis.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M6 0h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 6h4v4h-4v-4z"></path>
+<path fill="#dddddd" d="M6 12h4v4h-4v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/eraser.svg b/Samples/common/ui/icons/eraser.svg
new file mode 100644
index 00000000..5dd73bac
--- /dev/null
+++ b/Samples/common/ui/icons/eraser.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8.1 14l6.4-7.2c0.6-0.7 0.6-1.8-0.1-2.5l-2.7-2.7c-0.3-0.4-0.8-0.6-1.3-0.6h-1.8c-0.5 0-1 0.2-1.4 0.6l-6.7 7.6c-0.6 0.7-0.6 1.9 0.1 2.5l2.7 2.7c0.3 0.4 0.8 0.6 1.3 0.6h11.4v-1h-7.9zM6.8 13.9c0 0 0-0.1 0 0l-2.7-2.7c-0.4-0.4-0.4-0.9 0-1.3l3.4-3.9h-1l-3 3.3c-0.6 0.7-0.6 1.7 0.1 2.4l2.3 2.3h-1.3c-0.2 0-0.4-0.1-0.6-0.2l-2.8-2.8c-0.3-0.3-0.3-0.8 0-1.1l3.5-3.9h1.8l3.5-4h1l-3.5 4 3.1 3.7-3.5 4c-0.1 0.1-0.2 0.1-0.3 0.2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/exclamation-circle-1.svg b/Samples/common/ui/icons/exclamation-circle-1.svg
new file mode 100644
index 00000000..cc1b2689
--- /dev/null
+++ b/Samples/common/ui/icons/exclamation-circle-1.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1c3.9 0 7 3.1 7 7s-3.1 7-7 7-7-3.1-7-7 3.1-7 7-7zM8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8v0z"></path>
+<path fill="#dddddd" d="M7 3h2v7h-2v-7z"></path>
+<path fill="#dddddd" d="M7 11h2v2h-2v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/exclamation-circle.svg b/Samples/common/ui/icons/exclamation-circle.svg
new file mode 100644
index 00000000..b140e7c8
--- /dev/null
+++ b/Samples/common/ui/icons/exclamation-circle.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0c-4.4 0-8 3.6-8 8s3.6 8 8 8 8-3.6 8-8-3.6-8-8-8zM9 13h-2v-2h2v2zM9 10h-2v-7h2v7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/expand-arrows-1.svg b/Samples/common/ui/icons/expand-arrows-1.svg
new file mode 100644
index 00000000..5a77b1d1
--- /dev/null
+++ b/Samples/common/ui/icons/expand-arrows-1.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.3 6.7l1.4-1.4-3-3 1.3-1.3h-4v4l1.3-1.3z"></path>
+<path fill="#dddddd" d="M6.7 10.7l-1.4-1.4-3 3-1.3-1.3v4h4l-1.3-1.3z"></path>
+<path fill="#dddddd" d="M10.7 9.3l-1.4 1.4 3 3-1.3 1.3h4v-4l-1.3 1.3z"></path>
+<path fill="#dddddd" d="M11 1l1.3 1.3-3 3 1.4 1.4 3-3 1.3 1.3v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/file-code.svg b/Samples/common/ui/icons/file-code.svg
new file mode 100644
index 00000000..a2fd2d19
--- /dev/null
+++ b/Samples/common/ui/icons/file-code.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M6.2 13h-0.7l-2-2.5 2-2.5h0.7l-2 2.5z"></path>
+<path fill="#dddddd" d="M9.8 13h0.7l2-2.5-2-2.5h-0.7l2 2.5z"></path>
+<path fill="#dddddd" d="M6.7 14h0.6l2.1-7h-0.8z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/file.svg b/Samples/common/ui/icons/file.svg
new file mode 100644
index 00000000..9d06b00b
--- /dev/null
+++ b/Samples/common/ui/icons/file.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M9 5h5v11h-12v-16h7v5zM10 4v-4l4 4h-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/folder.svg b/Samples/common/ui/icons/folder.svg
new file mode 100644
index 00000000..f59e2dac
--- /dev/null
+++ b/Samples/common/ui/icons/folder.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+ <g id="False">
+ <path fill="#dddddd" d="M7 4l-1-2h-4l-1 2h-1v11h16v-11h-9zM15 14h-14v-9h0.6l1-2h2.6l1.2 2h8.6v9z"></path>
+ </g>
+ <g id="True">
+ <path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
+ </g>
+</svg>
diff --git a/Samples/common/ui/icons/font-file.svg b/Samples/common/ui/icons/font-file.svg
new file mode 100644
index 00000000..20beac14
--- /dev/null
+++ b/Samples/common/ui/icons/font-file.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#FFFFFF" d="M5 7v2h2v5h2v-5h2v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/gavel.svg b/Samples/common/ui/icons/gavel.svg
new file mode 100644
index 00000000..69c5f0e3
--- /dev/null
+++ b/Samples/common/ui/icons/gavel.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M6.4 4.1v0c-0.4-0.4-0.4-0.9-0.1-1.2l2.6-2.6c0.3-0.3 0.8-0.3 1.2 0l0.1 0.1c0.3 0.3 0.3 0.8 0 1.2l-2.6 2.5c-0.3 0.3-0.9 0.3-1.2 0z"></path>
+<path fill="#dddddd" d="M12 9.7v0c-0.4-0.4-0.4-0.9-0.1-1.3l2.6-2.6c0.3-0.3 0.8-0.3 1.2 0l0.1 0.1c0.3 0.3 0.3 0.8 0 1.2l-2.6 2.6c-0.4 0.3-0.9 0.3-1.2 0z"></path>
+<path fill="#dddddd" d="M10 7.7l-1.7-1.7c-0.4-0.4-0.4-1 0-1.4l2.3-2.3c0.4-0.4 1-0.4 1.4 0l1.7 1.7c0.4 0.4 0.4 1 0 1.4l-2.3 2.3c-0.4 0.4-1 0.4-1.4 0z"></path>
+<path fill="#dddddd" d="M4 14.2c0.6-0.6 4-5.6 4.5-5.3 0.4 0.2 1-0.5 1-0.5l-1.9-1.9c0 0-0.7 0.6-0.5 1 0.3 0.5-4.7 3.9-5.3 4.5 0 0-2.8 2.2-1.4 3.6s3.6-1.4 3.6-1.4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/grab.svg b/Samples/common/ui/icons/grab.svg
new file mode 100644
index 00000000..25bc5719
--- /dev/null
+++ b/Samples/common/ui/icons/grab.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M12.6 4c-0.2 0-0.4 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.5-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.8 0-1.2 0.5-1.4 1-0.1 0-0.3-0.1-0.5-0.1-0.5 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.5v0.4c-0.6 0-1.1 0.2-1.4 0.5-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.5 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM10.5 3.8c0.4 0 0.5 0.4 0.5 0.6v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0 0 0-0.4 0.4-0.3 0.6 0.2 0.7 1.1 0.7 1.3 0 0 0 0 0 0v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.7-1.1-1.1-1.1-2.1 0-0.2 0-0.3 0-0.6 0-1 0-1.8 0.3-2.1 0.1-0.2 0.4-0.3 0.7-0.3v0.8l-0.3 1.2c0 0.1 0 0.1 0.1 0.1 0.1 0.1 0.2 0 0.2 0l1-1.2c0 0 0-0.1 0-0.1v-2c0-0.1 0-0.6 0.2-0.8 0.1-0.1 0.2-0.2 0.4-0.2 0.3 0 0.4 0.2 0.4 0.4v0.4c0 0.2 0.2 0.5 0.5 0.5s0.5-0.3 0.5-0.5v-1.3c0-0.1 0-0.5 0.5-0.5 0.3 0 0.5 0.2 0.5 0.5v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.5c0-0.3 0.2-0.5 0.5-0.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/hard-drive-1.svg b/Samples/common/ui/icons/hard-drive-1.svg
new file mode 100644
index 00000000..a71a5248
--- /dev/null
+++ b/Samples/common/ui/icons/hard-drive-1.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M13 1h-10l-2.7 8h15.4z"></path>
+<path fill="#dddddd" d="M0 10v5h16v-5h-16zM3 13h-1v-1h1v1zM7 13h-3v-1h3v1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/hash.svg b/Samples/common/ui/icons/hash.svg
new file mode 100644
index 00000000..82196fbc
--- /dev/null
+++ b/Samples/common/ui/icons/hash.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M15 6v-2h-2.6l0.6-2.8-2-0.4-0.7 3.2h-3l0.7-2.8-2-0.4-0.7 3.2h-3.3v2h2.9l-0.9 4h-3v2h2.6l-0.6 2.8 2 0.4 0.7-3.2h3l-0.7 2.8 2 0.4 0.7-3.2h3.3v-2h-2.9l0.9-4h3zM9 10h-3l1-4h3l-1 4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/info.svg b/Samples/common/ui/icons/info.svg
new file mode 100644
index 00000000..a8c90f4c
--- /dev/null
+++ b/Samples/common/ui/icons/info.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 5h3v11h-3v-11z"></path>
+<path fill="#dddddd" d="M10.5 2c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/layout.svg b/Samples/common/ui/icons/layout.svg
new file mode 100644
index 00000000..3d59d765
--- /dev/null
+++ b/Samples/common/ui/icons/layout.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM1 3h4v12h-4v-12zM15 15h-9v-12h9v12z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/light-bulb.svg b/Samples/common/ui/icons/light-bulb.svg
new file mode 100644
index 00000000..4193a750
--- /dev/null
+++ b/Samples/common/ui/icons/light-bulb.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M11.7 1.9c-1-1.2-2.6-1.9-4.2-1.9s-3.2 0.7-4.2 1.9c-1 1.1-1.4 2.6-1.2 4 0.2 1.5 0.8 2.6 2.1 3.7 0.5 0.4 0.7 0.8 0.9 1.2 0 0.1 0.1 0.2 0.1 0.3-0.1 0.1-0.2 0.2-0.2 0.4 0 0.3 0.2 0.5 0.5 0.5-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5c-0.3 0-0.5 0.2-0.5 0.5s0.2 0.5 0.5 0.5h0.5c0 0.5 0.7 1 1.5 1s1.5-0.5 1.5-1h0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5s-0.2-0.5-0.5-0.5c0.3 0 0.5-0.2 0.5-0.5 0-0.2-0.1-0.3-0.2-0.4 0-0.1 0.1-0.1 0.1-0.2 0.2-0.4 0.4-0.8 0.9-1.2 1.3-1.1 1.9-2.2 2.1-3.8 0.2-1.4-0.2-2.8-1.2-4zM12 5.8c-0.2 1.3-0.7 2.2-1.8 3.2-0.6 0.5-0.9 1-1.2 1.4-0.2 0.5-0.3 0.6-0.5 0.6h-2c-0.2 0-0.3-0.1-0.5-0.6-0.2-0.4-0.5-1-1.1-1.6-1.3-1.1-1.6-2-1.8-3-0.2-1.1 0.2-2.3 0.9-3.2 0.9-1 2.2-1.6 3.5-1.6s2.6 0.6 3.5 1.6c0.7 0.9 1.1 2.1 1 3.2z"></path>
+<path fill="#FFFFFF" d="M11 5h-1c0-0.7-0.8-2-2-2v-1c1.8 0 3 1.8 3 3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/line-list.svg b/Samples/common/ui/icons/line-list.svg
new file mode 100644
index 00000000..ec15f7b8
--- /dev/null
+++ b/Samples/common/ui/icons/line-list.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 5h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 9h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M0 13h3v2h-3v-2z"></path>
+<path fill="#dddddd" d="M4 1h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 5h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 9h12v2h-12v-2z"></path>
+<path fill="#dddddd" d="M4 13h12v2h-12v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/list.svg b/Samples/common/ui/icons/list.svg
new file mode 100644
index 00000000..9aad88fa
--- /dev/null
+++ b/Samples/common/ui/icons/list.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M4 0h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M4 6h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M4 12h12v4h-12v-4z"></path>
+<path fill="#dddddd" d="M1 0l-0.9 0.5 0.2 0.7 0.7-0.3v3.1h1v-4z"></path>
+<path fill="#dddddd" d="M2.2 13.9c0.3-0.2 0.5-0.5 0.5-0.8 0-0.5-0.4-1-1.3-1-0.5 0-1 0.1-1.2 0.3h-0.1l0.2 0.8 0.1-0.1c0.1-0.1 0.4-0.2 0.7-0.2s0.4 0.1 0.4 0.3c0 0.4-0.5 0.4-0.6 0.4h-0.4v0.7h0.4c0.3 0 0.6 0.1 0.6 0.4 0 0.2-0.2 0.4-0.6 0.4s-0.7-0.2-0.8-0.2l-0.1-0.1v0.9h0.1c0.2 0.2 0.6 0.3 1.1 0.3 1 0 1.6-0.5 1.6-1.2 0-0.4-0.2-0.8-0.6-0.9z"></path>
+<path fill="#dddddd" d="M0.1 6.4l0.3 1c0 0 0.7-0.6 1.2-0.3 1.1 0.8-1.6 2.4-1.6 2.4v0.5h3v-1h-1.2c0.6-0.5 1.2-1.2 1-1.9-0.5-1.9-2.7-0.7-2.7-0.7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/magic-wand.svg b/Samples/common/ui/icons/magic-wand.svg
new file mode 100644
index 00000000..8b406918
--- /dev/null
+++ b/Samples/common/ui/icons/magic-wand.svg
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 5h3v1h-3v-1z"></path>
+<path fill="#dddddd" d="M5 0h1v3h-1v-3z"></path>
+<path fill="#dddddd" d="M6 11h-1v-2.5l1 1z"></path>
+<path fill="#dddddd" d="M11 6h-1.5l-1-1h2.5z"></path>
+<path fill="#dddddd" d="M3.131 7.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
+<path fill="#dddddd" d="M10.131 0.161l0.707 0.707-2.97 2.97-0.707-0.707 2.97-2.97z"></path>
+<path fill="#dddddd" d="M0.836 0.199l3.465 3.465-0.707 0.707-3.465-3.465 0.707-0.707z"></path>
+<path fill="#dddddd" d="M6.1 4.1l-2.1 2 9.8 9.9 2.2-2.1-9.9-9.8zM6.1 5.5l2.4 2.5-0.6 0.6-2.5-2.5 0.7-0.6z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/magnet.svg b/Samples/common/ui/icons/magnet.svg
new file mode 100644
index 00000000..10335f69
--- /dev/null
+++ b/Samples/common/ui/icons/magnet.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 0h5v4h-5v-4z"></path>
+<path fill="#dddddd" d="M11 5v3c0 1.6-1.4 3-3 3s-3-1.4-3-3v-3h-5v3c0 4.4 3.6 8 8 8s8-3.6 8-8v-3h-5z"></path>
+<path fill="#dddddd" d="M0 0h5v4h-5v-4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/modal-list.svg b/Samples/common/ui/icons/modal-list.svg
new file mode 100644
index 00000000..f1d8f70b
--- /dev/null
+++ b/Samples/common/ui/icons/modal-list.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 4v11h16v-14h-16v3zM14 2h1v1h-1v-1zM1 4h14v10h-14v-10z"></path>
+<path fill="#dddddd" d="M3 6h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 6h7v1h-7v-1z"></path>
+<path fill="#dddddd" d="M3 8h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 8h7v1h-7v-1z"></path>
+<path fill="#dddddd" d="M3 10h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 10h7v1h-7v-1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/move-arrows.svg b/Samples/common/ui/icons/move-arrows.svg
new file mode 100644
index 00000000..ecbb2f91
--- /dev/null
+++ b/Samples/common/ui/icons/move-arrows.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 8l-3-3v2h-4v-4h2l-3-3-3 3h2v4h-4v-2l-3 3 3 3v-2h4v4h-2l3 3 3-3h-2v-4h4v2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/open-folder-1.svg b/Samples/common/ui/icons/open-folder-1.svg
new file mode 100644
index 00000000..90294692
--- /dev/null
+++ b/Samples/common/ui/icons/open-folder-1.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14 6v-2h-7l-1-2h-4l-1 2h-1v11h14l2-9h-2zM14.9 7l-1.6 7-11.9-0.1 2.3-6.9h11.2zM1 5h0.6l1-2h2.6l1.2 2h6.6v1h-10l-2 5.9v-6.9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/open.svg b/Samples/common/ui/icons/open.svg
new file mode 100644
index 00000000..bd8d7d9b
--- /dev/null
+++ b/Samples/common/ui/icons/open.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M6 5v6h4v-6h2l-4-5-4 5z"></path>
+<path fill="#FFFFFF" d="M13 2h-2l0.9 1h0.4l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h0.4l0.9-1h-2l-3 9v5h16v-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/options.svg b/Samples/common/ui/icons/options.svg
new file mode 100644
index 00000000..a56f6bed
--- /dev/null
+++ b/Samples/common/ui/icons/options.svg
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5 3.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+<path fill="#dddddd" d="M3.5 0c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5-1.6-3.5-3.5-3.5zM3.5 6c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+<path fill="#dddddd" d="M3.5 8c-1.9 0-3.5 1.6-3.5 3.5s1.6 3.5 3.5 3.5 3.5-1.6 3.5-3.5c0-1.9-1.6-3.5-3.5-3.5zM3.5 14c-1.4 0-2.5-1.1-2.5-2.5s1.1-2.5 2.5-2.5 2.5 1.1 2.5 2.5c0 1.4-1.1 2.5-2.5 2.5z"></path>
+<path fill="#dddddd" d="M8 2h8v3h-8v-3z"></path>
+<path fill="#dddddd" d="M8 10h8v3h-8v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/package.svg b/Samples/common/ui/icons/package.svg
new file mode 100644
index 00000000..07f8b37e
--- /dev/null
+++ b/Samples/common/ui/icons/package.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 0l-8 2v10l8 4 8-4v-10l-8-2zM8 1l2.1 0.5-5.9 1.9-2.3-0.8 6.1-1.6zM8 14.9l-7-3.5v-8.1l3 1v3.4l1 0.3v-3.3l3 1v9.2zM8.5 4.8l-2.7-0.9 6.2-1.9 2.4 0.6-5.9 2.2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/padding.svg b/Samples/common/ui/icons/padding.svg
new file mode 100644
index 00000000..d93b2464
--- /dev/null
+++ b/Samples/common/ui/icons/padding.svg
@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 0v16h16v-16h-16zM15 3h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v1h1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v1h-1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v-1h-1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v-1h1v1h1v1z"></path>
+<path fill="#dddddd" d="M3 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M6 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M5 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M7 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M9 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M8 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M10 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M11 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 2h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 5h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 4h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 7h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 6h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 9h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 8h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 10h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M12 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M13 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 3h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 4h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 5h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 6h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 7h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 8h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 9h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 10h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M2 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M3 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 11h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M4 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M5 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M6 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M7 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M9 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M8 13h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M11 12h1v1h-1v-1z"></path>
+<path fill="#dddddd" d="M10 13h1v1h-1v-1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/paint-brush.svg b/Samples/common/ui/icons/paint-brush.svg
new file mode 100644
index 00000000..2bdd5bed
--- /dev/null
+++ b/Samples/common/ui/icons/paint-brush.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M5.6 11.6l-1.2-1.2c-0.8-0.2-2-0.1-2.7 1-0.8 1.1-0.3 2.8-1.7 4.6 0 0 3.5 0 4.8-1.3 1.2-1.2 1.2-2.2 1-3l-0.2-0.1z"></path>
+<path fill="#dddddd" d="M5.8 8.1c-0.2 0.3-0.5 0.7-0.7 1 0 0.2-0.1 0.3-0.2 0.4l1.5 1.5c0.1-0.1 0.3-0.2 0.4-0.3 0.3-0.2 0.7-0.4 1-0.7 0.4 0 0.6-0.2 0.8-0.4l-2.2-2.2c-0.2 0.2-0.4 0.4-0.6 0.7z"></path>
+<path fill="#dddddd" d="M15.8 0.2c-0.3-0.3-0.7-0.3-1-0.1 0 0-3 2.5-5.9 5.1-0.4 0.4-0.7 0.7-1.1 1-0.2 0.2-0.4 0.4-0.6 0.5l2.1 2.1c0.2-0.2 0.4-0.4 0.5-0.7 0.3-0.4 0.6-0.7 0.9-1.1 2.5-3 5.1-5.9 5.1-5.9 0.3-0.2 0.3-0.6 0-0.9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/palette.svg b/Samples/common/ui/icons/palette.svg
new file mode 100644
index 00000000..8e425f70
--- /dev/null
+++ b/Samples/common/ui/icons/palette.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 7.1c0-2.7-1.3-7.1-7.3-7.1s-8.5 7.4-7.5 9.9c0.8 1.9 2.5 0.1 3.1 1 1.8 2.5-2 3.8 0.1 4.7 2.5 1.1 11.6 0.4 11.6-8.5zM4.5 9c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM6 3.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM8.5 14c-0.9 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5zM11 4.5c0-0.8 0.6-1.5 1.5-1.5s1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5-1.5-0.7-1.5-1.5zM12.5 11c-0.8 0-1.5-0.7-1.5-1.5s0.6-1.5 1.5-1.5 1.5 0.7 1.5 1.5-0.7 1.5-1.5 1.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/paragraph.svg b/Samples/common/ui/icons/paragraph.svg
new file mode 100644
index 00000000..826aa63f
--- /dev/null
+++ b/Samples/common/ui/icons/paragraph.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M5.5 0c-2.5 0-4.5 2-4.5 4.5s2 4.5 4.5 4.5h2.5v7h2v-14h1v14h2v-14h2v-2h-9.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/paste-on-document.svg b/Samples/common/ui/icons/paste-on-document.svg
new file mode 100644
index 00000000..b0a705ee
--- /dev/null
+++ b/Samples/common/ui/icons/paste-on-document.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M13 4h-3v-4h-10v14h6v2h10v-9l-3-3zM3 1h4v1h-4v-1zM15 15h-8v-10h5v3h3v7zM13 7v-2l2 2h-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/picture-file.svg b/Samples/common/ui/icons/picture-file.svg
new file mode 100644
index 00000000..c45a6ad2
--- /dev/null
+++ b/Samples/common/ui/icons/picture-file.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M4 11.5v2.5h8v-1.7c0 0 0.1-1.3-1.3-1.5-1.3-0.2-1.5 0.4-2.5 0.5-0.8 0-0.6-1.3-2.2-1.3-1.2 0-2 1.5-2 1.5z"></path>
+<path fill="#dddddd" d="M12 8.5c0 0.828-0.672 1.5-1.5 1.5s-1.5-0.672-1.5-1.5c0-0.828 0.672-1.5 1.5-1.5s1.5 0.672 1.5 1.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/picture.svg b/Samples/common/ui/icons/picture.svg
new file mode 100644
index 00000000..11356c0e
--- /dev/null
+++ b/Samples/common/ui/icons/picture.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 14h-16v-12h16v12zM1 13h14v-10h-14v10z"></path>
+<path fill="#dddddd" d="M2 10v2h12v-1c0 0 0.2-1.7-2-2-1.9-0.3-2.2 0.6-3.8 0.6-1.1 0-0.9-1.6-3.2-1.6-1.7 0-3 2-3 2z"></path>
+<path fill="#dddddd" d="M13 6c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/pin.svg b/Samples/common/ui/icons/pin.svg
new file mode 100644
index 00000000..b36340b8
--- /dev/null
+++ b/Samples/common/ui/icons/pin.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11 6.5v-5.5h1v-1h-8v1h1v5.5c0 0-2 1.5-2 3.5 0 0.5 1.9 0.7 4 0.7v2.2c0 0.7 0.2 1.4 0.5 2.1l0.5 1 0.5-1c0.3-0.6 0.5-1.3 0.5-2.1v-2.2c2.1 0 4-0.3 4-0.7 0-2-2-3.5-2-3.5zM7 6.6c0 0-0.5 0.3-1.6 1.4-1 1-1.5 1.9-1.5 1.9s0.1-1 0.8-1.9c0.9-1.1 1.3-1.4 1.3-1.4v-5.6h1v5.6z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/pointer.svg b/Samples/common/ui/icons/pointer.svg
new file mode 100644
index 00000000..605c0e28
--- /dev/null
+++ b/Samples/common/ui/icons/pointer.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M11.6 5c-0.2 0-0.5 0-0.6 0 0-0.2-0.2-0.6-0.4-0.8s-0.6-0.4-1.1-0.4c-0.2 0-0.4 0-0.6 0.1-0.1-0.2-0.2-0.3-0.3-0.5-0.2-0.2-0.5-0.4-1.1-0.4-0.2 0-0.4 0-0.5 0.1v-1.7c0-0.6-0.4-1.4-1.4-1.4-0.4 0-0.8 0.2-1.1 0.4-0.5 0.6-0.5 1.4-0.5 1.4v4.3c-0.6 0.1-1.1 0.3-1.4 0.6-0.6 0.7-0.6 1.6-0.6 2.8 0 0.2 0 0.5 0 0.7 0 1.4 0.7 2.1 1.4 2.8l0.3 0.4c1.3 1.2 2.4 1.6 5.1 1.6 2.9 0 4.2-1.6 4.2-5.1v-2.5c0-0.7-0.2-2.1-1.4-2.4zM12 7.4v2.6c0 3.4-1.3 4.1-3.2 4.1-2.4 0-3.3-0.3-4.3-1.3-0.1-0.1-0.2-0.2-0.4-0.4-0.7-0.8-1.1-1.2-1.1-2.2 0-0.2 0-0.5 0-0.7 0-1 0-1.7 0.3-2.1 0.1-0.1 0.4-0.2 0.7-0.2v0.5l-0.3 1.5c0 0.1 0 0.1 0.1 0.2s0.2 0 0.2 0l1-1.2c0-0.1 0-0.2 0-0.2v-6.2c0-0.1 0-0.5 0.2-0.7 0.1 0 0.2-0.1 0.4-0.1 0.3 0 0.4 0.3 0.4 0.4v3.1c0 0 0 0 0 0v1.2c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-1.3c0 0 0 0 0 0 0-0.1 0.1-0.5 0.5-0.5 0.3 0 0.5 0.1 0.5 0.4v1.3c0 0.3 0.2 0.6 0.5 0.6s0.5-0.3 0.5-0.5v-0.7c0-0.1 0.1-0.3 0.5-0.3 0.2 0 0.3 0.1 0.3 0.1 0.2 0.1 0.2 0.4 0.2 0.4v0.8c0 0.3 0.2 0.5 0.4 0.5 0.3 0 0.5-0.1 0.5-0.4 0-0.1 0.1-0.2 0.2-0.3 0 0 0.1 0 0.2 0 0.6 0.2 0.7 1.2 0.7 1.5 0-0.1 0-0.1 0 0z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/previous.svg b/Samples/common/ui/icons/previous.svg
new file mode 100644
index 00000000..566c8a3e
--- /dev/null
+++ b/Samples/common/ui/icons/previous.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/processing-file.svg b/Samples/common/ui/icons/processing-file.svg
new file mode 100644
index 00000000..c5bcbb5d
--- /dev/null
+++ b/Samples/common/ui/icons/processing-file.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M12 0h-7v6h0.7l0.2 0.7 0.1 0.1v-5.8h5v4h4v9h-6l0.3 0.5-0.5 0.5h7.2v-11l-4-4zM12 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M5.5 11.5c0 0.552-0.448 1-1 1s-1-0.448-1-1c0-0.552 0.448-1 1-1s1 0.448 1 1z"></path>
+<path fill="#dddddd" d="M7.9 12.4l1.1-0.4v-1l-1.1-0.4c-0.1-0.3-0.2-0.6-0.4-0.9l0.5-1-0.7-0.7-1 0.5c-0.3-0.2-0.6-0.3-0.9-0.4l-0.4-1.1h-1l-0.4 1.1c-0.3 0.1-0.6 0.2-0.9 0.4l-1-0.5-0.7 0.7 0.5 1.1c-0.2 0.3-0.3 0.6-0.4 0.9l-1.1 0.3v1l1.1 0.4c0.1 0.3 0.2 0.6 0.4 0.9l-0.5 1 0.7 0.7 1.1-0.5c0.3 0.2 0.6 0.3 0.9 0.4l0.3 1.1h1l0.4-1.1c0.3-0.1 0.6-0.2 0.9-0.4l1 0.5 0.7-0.7-0.5-1.1c0.2-0.2 0.3-0.5 0.4-0.8zM4.5 13.5c-1.1 0-2-0.9-2-2s0.9-2 2-2 2 0.9 2 2c0 1.1-0.9 2-2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/puzzle-piece.svg b/Samples/common/ui/icons/puzzle-piece.svg
new file mode 100644
index 00000000..b09c47e4
--- /dev/null
+++ b/Samples/common/ui/icons/puzzle-piece.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M14.9 0.9c-1.1-1-2.5-1.3-3.1-0.4-0.7 1.1 0.5 1.7-0.3 2.5-0.5 0.6-2-0.8-2-0.8l-0.8-0.8-1.4 1.4c-0.6 0.7-2.1 1.5-2.6 1.1-0.7-0.6 0.1-1.8-0.5-2.6-0.7-1-2.1-0.8-3 0.3-1 1.1-1.4 2.4-0.5 3 1.1 0.7 1.9-0.3 2.7 0.5 0.4 0.4-0.2 1.7-0.5 2.1l-2.3 2.3 6.5 6.5 1.7-1.7c0.7-0.7 1.5-2 1.1-2.4-0.6-0.7-1.7 0.1-2.5-0.4-1-0.7-0.8-2 0.3-3s2.5-1.3 3.1-0.4c0.7 1.1-0.4 1.8 0.4 2.6 0.4 0.4 1.6-0.2 2-0.6l2.1-2.1-1.1-1.1c-0.6-0.6-1.9-2-1.4-2.5 0.6-0.7 1.7 0.2 2.5-0.4 0.9-0.8 0.6-2.1-0.4-3.1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/question.svg b/Samples/common/ui/icons/question.svg
new file mode 100644
index 00000000..fb8e3d3f
--- /dev/null
+++ b/Samples/common/ui/icons/question.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M9 11h-3c0-3 1.6-4 2.7-4.6 0.4-0.2 0.7-0.4 0.9-0.6 0.5-0.5 0.3-1.2 0.2-1.4-0.3-0.7-1-1.4-2.3-1.4-2.1 0-2.5 1.9-2.5 2.3l-3-0.4c0.2-1.7 1.7-4.9 5.5-4.9 2.3 0 4.3 1.3 5.1 3.2 0.7 1.7 0.4 3.5-0.8 4.7-0.5 0.5-1.1 0.8-1.6 1.1-0.9 0.5-1.2 1-1.2 2z"></path>
+<path fill="#FFFFFF" d="M9.5 14c0 1.105-0.895 2-2 2s-2-0.895-2-2c0-1.105 0.895-2 2-2s2 0.895 2 2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/recycling.svg b/Samples/common/ui/icons/recycling.svg
new file mode 100644
index 00000000..e86ca134
--- /dev/null
+++ b/Samples/common/ui/icons/recycling.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 3.1l1.4 2.2-1.6 1.1 1.3 0.3 2.8 0.6 0.6-2.7 0.4-1.4-1.8 1.1-2-3.3h-2.2l-2.6 4.3 1.7 1z"></path>
+<path fill="#dddddd" d="M16 12l-2.7-4.3-1.7 1 2 3.3h-2.6v-2l-3 3 3 3v-2h3.7z"></path>
+<path fill="#dddddd" d="M2.4 12v0l1.4-2.3 1.7 1.1-0.9-4.2-2.8 0.7-1.3 0.3 1.6 1-2.1 3.4 1.3 2h5.7v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/redo.svg b/Samples/common/ui/icons/redo.svg
new file mode 100644
index 00000000..59fcc904
--- /dev/null
+++ b/Samples/common/ui/icons/redo.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M16 7.9l-6-4.9v3c-0.5 0-1.1 0-2 0-8 0-8 8-8 8s1-4 7.8-4c1.1 0 1.8 0 2.2 0v2.9l6-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/refresh-file.svg b/Samples/common/ui/icons/refresh-file.svg
new file mode 100644
index 00000000..248e4203
--- /dev/null
+++ b/Samples/common/ui/icons/refresh-file.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM13 15h-10v-14h6v4h4v10zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M4.7 7.7l-0.7-0.7v3h3l-1.2-1.2c0.4-0.8 1.3-1.3 2.2-1.3 1.4 0 2.5 1.1 2.5 2.5h1.5c0-2.2-1.8-4-4-4-1.3 0-2.5 0.7-3.3 1.7z"></path>
+<path fill="#dddddd" d="M9.8 11.8c-0.5 0.5-1.1 0.8-1.8 0.7-1 0-1.9-0.6-2.3-1.5h-1.6c0.4 1.7 2 3 3.8 3 1.1 0 2.1-0.5 2.8-1.2l1.3 1.2v-3h-3l0.8 0.8z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/reply.svg b/Samples/common/ui/icons/reply.svg
new file mode 100644
index 00000000..d008cb34
--- /dev/null
+++ b/Samples/common/ui/icons/reply.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 8c0-5-4.9-5-4.9-5h-5.1v-3l-6 6 6 6v-3h5.2c3.5 0 1.8 7 1.8 7s3-4.1 3-8z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/save.svg b/Samples/common/ui/icons/save.svg
new file mode 100644
index 00000000..6aa6714e
--- /dev/null
+++ b/Samples/common/ui/icons/save.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 6v-6h-4v6h-2l4 5 4-5z"></path>
+<path fill="#FFFFFF" d="M13 1h-2v1h1.3l2.6 8h-3.9v2h-6v-2h-3.9l2.6-8h1.3v-1h-2l-3 9v5h16v-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/scissors.svg b/Samples/common/ui/icons/scissors.svg
new file mode 100644
index 00000000..4b5a2255
--- /dev/null
+++ b/Samples/common/ui/icons/scissors.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M16 3.1c0 0-2.1-1.1-3.5-1-0.3 0-0.5 0.1-0.7 0.2l-4.3 3.4-1.8-1.5c0.1-0.3 0.2-0.6 0.3-1 0.1-1.8-1.4-3.4-3.3-3.2-1.2 0.1-2.3 1-2.6 2.2-0.3 1.3 0.2 2.5 1.2 3.2l3.3 2.6-3.3 2.6c-1 0.7-1.5 1.9-1.2 3.2 0.3 1.2 1.4 2 2.6 2.2 1.9 0.2 3.4-1.4 3.2-3.2 0-0.3-0.1-0.7-0.3-1l1.8-1.5 4.3 3.4c0.2 0.1 0.4 0.2 0.7 0.2 1.4 0.1 3.5-1 3.5-1l-5.7-4.9 5.8-4.9zM2.8 4.6c-0.9-0.1-1.6-0.9-1.5-1.8s0.9-1.6 1.8-1.5c0.9 0.1 1.6 0.9 1.5 1.8 0 0.9-0.9 1.6-1.8 1.5zM3.1 14.7c-0.9 0.1-1.7-0.6-1.8-1.5s0.6-1.7 1.5-1.8c0.9-0.1 1.7 0.6 1.8 1.5s-0.6 1.7-1.5 1.8zM12.4 3.2c0 0 0.1 0 0.2 0 0.4 0 0.9 0.1 1.4 0.2l-6.8 5.7-0.9-1.1 6.1-4.8zM14 12.6c-0.5 0.2-1 0.3-1.4 0.2-0.1 0-0.2 0-0.2 0l-4-3.2 1-0.9 4.6 3.9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/search.svg b/Samples/common/ui/icons/search.svg
new file mode 100644
index 00000000..4a931b35
--- /dev/null
+++ b/Samples/common/ui/icons/search.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/share-arrow.svg b/Samples/common/ui/icons/share-arrow.svg
new file mode 100644
index 00000000..e0eb2462
--- /dev/null
+++ b/Samples/common/ui/icons/share-arrow.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 3h-5.1c0 0-4.9 0-4.9 5 0 3.9 3 8 3 8s-1.7-7 1.8-7h5.2v3l6-6-6-6v3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/sign-out.svg b/Samples/common/ui/icons/sign-out.svg
new file mode 100644
index 00000000..c5951fc0
--- /dev/null
+++ b/Samples/common/ui/icons/sign-out.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M9 4v-3h-9v14h9v-3h-1v2h-7v-12h7v2z"></path>
+<path fill="#FFFFFF" d="M16 8l-5-4v2h-5v4h5v2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/sliders.svg b/Samples/common/ui/icons/sliders.svg
new file mode 100644
index 00000000..81f72d18
--- /dev/null
+++ b/Samples/common/ui/icons/sliders.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M7 0h2v3h-2v-3z"></path>
+<path fill="#dddddd" d="M6 4v3h1v9h2v-9h1v-3z"></path>
+<path fill="#dddddd" d="M2 0h2v8h-2v-8z"></path>
+<path fill="#dddddd" d="M1 9v3h1v4h2v-4h1v-3z"></path>
+<path fill="#dddddd" d="M12 0h2v10h-2v-10z"></path>
+<path fill="#dddddd" d="M11 11v3h1v2h2v-2h1v-3z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/split-browser-1.svg b/Samples/common/ui/icons/split-browser-1.svg
new file mode 100644
index 00000000..4dfd93a3
--- /dev/null
+++ b/Samples/common/ui/icons/split-browser-1.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 15h15v-13h-15v13zM13 3h1v1h-1v-1zM14 14h-13v-4h13v4zM14 9h-13v-4h13v4z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/table.svg b/Samples/common/ui/icons/table.svg
new file mode 100644
index 00000000..0b421224
--- /dev/null
+++ b/Samples/common/ui/icons/table.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 1v15h16v-15h-16zM5 15h-4v-2h4v2zM5 12h-4v-2h4v2zM5 9h-4v-2h4v2zM5 6h-4v-2h4v2zM10 15h-4v-2h4v2zM10 12h-4v-2h4v2zM10 9h-4v-2h4v2zM10 6h-4v-2h4v2zM15 15h-4v-2h4v2zM15 12h-4v-2h4v2zM15 9h-4v-2h4v2zM15 6h-4v-2h4v2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/tasks.svg b/Samples/common/ui/icons/tasks.svg
new file mode 100644
index 00000000..8793c884
--- /dev/null
+++ b/Samples/common/ui/icons/tasks.svg
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M6 0h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M6 6h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M6 12h10v4h-10v-4z"></path>
+<path fill="#dddddd" d="M3 1v2h-2v-2h2zM4 0h-4v4h4v-4z"></path>
+<path fill="#dddddd" d="M3 13v2h-2v-2h2zM4 12h-4v4h4v-4z"></path>
+<path fill="#dddddd" d="M5.3 5.9l-0.6-0.8-0.9 0.9h-3.8v4h4v-2.8l1.3-1.3zM2.7 7l-0.7 0.7-0.8-0.7h1.5zM1 8.2l0.9 0.8h-0.9v-0.8zM3 9h-0.9l0.9-0.9v0.9z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/text-file-1.svg b/Samples/common/ui/icons/text-file-1.svg
new file mode 100644
index 00000000..12ad1cbb
--- /dev/null
+++ b/Samples/common/ui/icons/text-file-1.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0v4h4z"></path>
+<path fill="#dddddd" d="M9 0h-7v16h12v-11h-5v-5zM12 12h-8v-1h8v1zM12 10h-8v-1h8v1zM12 7v1h-8v-1h8z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/text-file.svg b/Samples/common/ui/icons/text-file.svg
new file mode 100644
index 00000000..eafca90c
--- /dev/null
+++ b/Samples/common/ui/icons/text-file.svg
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"></path>
+<path fill="#FFFFFF" d="M4 7h8v1h-8v-1z"></path>
+<path fill="#FFFFFF" d="M4 9h8v1h-8v-1z"></path>
+<path fill="#FFFFFF" d="M4 11h8v1h-8v-1z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/text-label.svg b/Samples/common/ui/icons/text-label.svg
new file mode 100644
index 00000000..8fa91967
--- /dev/null
+++ b/Samples/common/ui/icons/text-label.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M12.5 4.9c-1.4 0-2.5 0.8-2.6 0.9l1.2 1.6c0 0 0.7-0.5 1.4-0.5 1.4 0 1.5 1.2 1.5 1.6-0.4-0.1-1.1-0.3-2-0.1-1.4 0.3-2.8 2-2.1 3.9 0.7 1.8 3.1 2.1 4.1 0.6v1h2v-5.3c0-2.7-1.9-3.7-3.5-3.7zM11.5 11.4c-0.1-1.9 1.5-1.9 2.5-1.8v1c0 1.2-2.3 2.3-2.5 0.8z"></path>
+<path fill="#FFFFFF" d="M6.9 14h2.1l-3.2-12h-2.7l-3.1 12h2.1l1-4h2.7l1.1 4zM3.6 8l0.8-3.2 0.9 3.2h-1.7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/tools.svg b/Samples/common/ui/icons/tools.svg
new file mode 100644
index 00000000..5326f199
--- /dev/null
+++ b/Samples/common/ui/icons/tools.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M10.3 8.2l-0.9 0.9 0.9 0.9-1.2 1.2 4.3 4.3c0.6 0.6 1.5 0.6 2.1 0s0.6-1.5 0-2.1l-5.2-5.2zM14.2 15c-0.4 0-0.8-0.3-0.8-0.8 0-0.4 0.3-0.8 0.8-0.8s0.8 0.3 0.8 0.8c0 0.5-0.3 0.8-0.8 0.8z"></path>
+<path fill="#FFFFFF" d="M3.6 8l0.9-0.6 1.5-1.7 0.9 0.9 0.9-0.9-0.1-0.1c0.2-0.5 0.3-1 0.3-1.6 0-2.2-1.8-4-4-4-0.6 0-1.1 0.1-1.6 0.3l2.9 2.9-2.1 2.1-2.9-2.9c-0.2 0.5-0.3 1-0.3 1.6 0 2.1 1.6 3.7 3.6 4z"></path>
+<path fill="#FFFFFF" d="M8 10.8l0.9-0.8-0.9-0.9 5.7-5.7 1.2-0.4 1.1-2.2-0.7-0.7-2.3 1-0.5 1.2-5.6 5.7-0.9-0.9-0.8 0.9c0 0 0.8 0.6-0.1 1.5-0.5 0.5-1.3-0.1-2.8 1.4-0.5 0.5-2.1 2.1-2.1 2.1s-0.6 1 0.6 2.2 2.2 0.6 2.2 0.6 1.6-1.6 2.1-2.1c1.4-1.4 0.9-2.3 1.3-2.7 0.9-0.9 1.6-0.2 1.6-0.2zM4.9 10.4l0.7 0.7-3.8 3.8-0.7-0.7z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/trash.svg b/Samples/common/ui/icons/trash.svg
new file mode 100644
index 00000000..e73a5e33
--- /dev/null
+++ b/Samples/common/ui/icons/trash.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M2 5v1h1v9c0 0 1.1 1 4.5 1s4.5-1 4.5-1v-9h1v-1h-11zM6 14h-1v-7h1v7zM8 14h-1v-7h1v7zM10 14h-1v-7h1v7z"></path>
+<path fill="#dddddd" d="M12 3c0 0 0-0.5-2-0.8v-0.7c0-0.8-0.7-1.5-1.5-1.5h-2c-0.8 0-1.5 0.7-1.5 1.5v0.7c-1.6 0.3-2 0.8-2 0.8h-1v1h11v-1h-1zM6 1.5c0-0.3 0.2-0.5 0.5-0.5h2c0.2 0 0.5 0.2 0.5 0.5v0.6c0-0.1-0.9-0.1-1.5-0.1s-1.1 0-1.5 0.1v-0.6z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/undo.svg b/Samples/common/ui/icons/undo.svg
new file mode 100644
index 00000000..f78f1349
--- /dev/null
+++ b/Samples/common/ui/icons/undo.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M0 7.9l6-4.9v3c0 0 1.1 0 2 0 8 0 8 8 8 8s-1-4-7.8-4c-1.1 0-1.8 0-2.2 0v2.9l-6-5z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/warning.svg b/Samples/common/ui/icons/warning.svg
new file mode 100644
index 00000000..f5a25735
--- /dev/null
+++ b/Samples/common/ui/icons/warning.svg
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M8 1l-8 14h16l-8-14zM8 13c-0.6 0-1-0.4-1-1s0.4-1 1-1 1 0.4 1 1c0 0.6-0.4 1-1 1zM7 10v-4h2v4h-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/xml-file.svg b/Samples/common/ui/icons/xml-file.svg
new file mode 100644
index 00000000..04204353
--- /dev/null
+++ b/Samples/common/ui/icons/xml-file.svg
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#ffffff" d="M 10,0 H 2 V 16 H 14 V 4 Z"/>
+<path fill="#444444" d="M10 0h-8v16h12v-12l-4-4zM9 5h4v10h-10v-14h6v4zM10 4v-3l3 3h-3z"/>
+<text x="3" y="12" fill="darkorange" font-stretch="condensed" font-family="mono" font-size="6px" font-weight="bold">&lt;/&gt;</text>
+</svg> \ No newline at end of file
diff --git a/Samples/common/ui/icons/zip-file.svg b/Samples/common/ui/icons/zip-file.svg
new file mode 100644
index 00000000..348acb46
--- /dev/null
+++ b/Samples/common/ui/icons/zip-file.svg
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#dddddd" d="M10 0h-8v16h12v-12l-4-4zM9 15h-4v-2.8l0.7-2.2h2.4l0.9 2.2v2.8zM13 15h-3v-3l-1-3h-2v-1h-2v1l-1 3v3h-1v-14h4v1h2v1h-2v1h2v1h4v10zM10 4v-3l3 3h-3z"></path>
+<path fill="#dddddd" d="M5 6h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M5 2h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M5 4h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M7 5h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M7 7h2v1h-2v-1z"></path>
+<path fill="#dddddd" d="M6 12h2v2h-2v-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/zoom-in.svg b/Samples/common/ui/icons/zoom-in.svg
new file mode 100644
index 00000000..60c41d14
--- /dev/null
+++ b/Samples/common/ui/icons/zoom-in.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+<path fill="#FFFFFF" d="M7 3h-2v2h-2v2h2v2h2v-2h2v-2h-2z"></path>
+</svg>
diff --git a/Samples/common/ui/icons/zoom-out.svg b/Samples/common/ui/icons/zoom-out.svg
new file mode 100644
index 00000000..bd4eec3a
--- /dev/null
+++ b/Samples/common/ui/icons/zoom-out.svg
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!-- Generated by IcoMoon.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16" height="16" viewBox="0 0 16 16">
+<path fill="#FFFFFF" d="M15.7 14.3l-4.2-4.2c-0.2-0.2-0.5-0.3-0.8-0.3 0.8-1 1.3-2.4 1.3-3.8 0-3.3-2.7-6-6-6s-6 2.7-6 6 2.7 6 6 6c1.4 0 2.8-0.5 3.8-1.4 0 0.3 0 0.6 0.3 0.8l4.2 4.2c0.2 0.2 0.5 0.3 0.7 0.3s0.5-0.1 0.7-0.3c0.4-0.3 0.4-0.9 0-1.3zM6 10.5c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5 4.5 2 4.5 4.5-2 4.5-4.5 4.5z"></path>
+<path fill="#FFFFFF" d="M3 5h6v2h-6v-2z"></path>
+</svg>