aboutsummaryrefslogtreecommitdiffstatsci
path: root/Samples/CrowIDE/ui
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-03 19:49:15 +0200
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2019-08-03 19:49:15 +0200
commite6030fa04a8de3fdae1dc19d081bf5feb3d3d73c (patch)
tree89f392cd974d1109a203ade305da467bd378ee48 /Samples/CrowIDE/ui
parentcad504c62d45952b4651603579f34df0d230841e (diff)
sample directory
Diffstat (limited to 'Samples/CrowIDE/ui')
-rwxr-xr-xSamples/CrowIDE/ui/CategoryExp.template21
-rw-r--r--Samples/CrowIDE/ui/CrowIDE.crow58
-rw-r--r--Samples/CrowIDE/ui/DockWindows/GTreeExpITemp.crow29
-rwxr-xr-xSamples/CrowIDE/ui/DockWindows/WinSchemaItem.template13
-rw-r--r--Samples/CrowIDE/ui/DockWindows/toolboxBut.template7
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winDesign.crow10
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winEditor.crow6
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winErrors.crow15
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winGTExplorer.crow28
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winProperties.crow7
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winSchema.crow18
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winSolution.crow6
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winStyleView.crow16
-rw-r--r--Samples/CrowIDE/ui/DockWindows/winToolbox.crow18
-rw-r--r--Samples/CrowIDE/ui/IcoBut.template7
-rwxr-xr-xSamples/CrowIDE/ui/ItemTemplates/Enum.template47
-rwxr-xr-xSamples/CrowIDE/ui/ItemTemplates/Fill.template19
-rw-r--r--Samples/CrowIDE/ui/LQIsExplorer.crow65
-rw-r--r--Samples/CrowIDE/ui/MemberView.crow5
-rwxr-xr-xSamples/CrowIDE/ui/MembersItem.template19
-rwxr-xr-xSamples/CrowIDE/ui/MembersView.template19
-rw-r--r--Samples/CrowIDE/ui/NewFile.crow5
-rw-r--r--Samples/CrowIDE/ui/Options.crow24
-rw-r--r--Samples/CrowIDE/ui/ProjectProperties.crow66
-rw-r--r--Samples/CrowIDE/ui/ProjectTree.template65
-rw-r--r--Samples/CrowIDE/ui/TreeExpandable.template17
-rw-r--r--Samples/CrowIDE/ui/editors/EditPane.template2
-rw-r--r--Samples/CrowIDE/ui/editors/EditPaneItems.template18
-rw-r--r--Samples/CrowIDE/ui/editors/EditTabItem.template19
-rw-r--r--Samples/CrowIDE/ui/editors/IMLEdit.itemp54
-rw-r--r--Samples/CrowIDE/ui/editors/SourceEditor.crow32
-rw-r--r--Samples/CrowIDE/ui/editors/SrcEdit.itemp4
-rw-r--r--Samples/CrowIDE/ui/editors/SvgEdit.itemp30
-rw-r--r--Samples/CrowIDE/ui/editors/TextEditor.crow29
-rw-r--r--Samples/CrowIDE/ui/test.crow4
35 files changed, 802 insertions, 0 deletions
diff --git a/Samples/CrowIDE/ui/CategoryExp.template b/Samples/CrowIDE/ui/CategoryExp.template
new file mode 100755
index 00000000..d3732aee
--- /dev/null
+++ b/Samples/CrowIDE/ui/CategoryExp.template
@@ -0,0 +1,21 @@
+<?xml version="1.0"?>
+<Expandable Caption="{Name}" IsExpanded="{IsExpanded}" Background="Grey" Foreground="Black">
+ <Template>
+ <VerticalStack>
+ <HorizontalStack Spacing="1" Height="Fit" MouseDoubleClick="./onClickForExpand" Background="Grey">
+ <Container Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}">
+ <Image
+ Path="#Crow.Icons.expandable.svg"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"/>
+ </Container>
+ <Label Foreground="White" Text="{./Caption}"/>
+ </HorizontalStack>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <VerticalStack Spacing="1" Height="Fit" Name="ItemsContainer"
+ Margin="0" VerticalAlignment="Top"/>
+</Expandable> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/CrowIDE.crow b/Samples/CrowIDE/ui/CrowIDE.crow
new file mode 100644
index 00000000..4295287d
--- /dev/null
+++ b/Samples/CrowIDE/ui/CrowIDE.crow
@@ -0,0 +1,58 @@
+<?xml version="1.0"?>
+<!--<Window Height="Stretched" Width="Stretched" >-->
+ <VerticalStack DataSourceType="CrowIDE">
+ <Menu>
+ <MenuItem Caption="File" Width="Fit" PopWidth="120" DataSource="{CurrentSolution}">
+ <MenuItem Command="{CMDNew}" />
+ <MenuItem Command="{CMDOpen}" />
+ <MenuItem Command="{cmdCloseSolution}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdSave}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdSaveAs}" />
+ <MenuItem Command="{CMDQuit}" />
+ </MenuItem>
+ <MenuItem Caption="Edit" Name="edit" Width="Fit" PopWidth="100" DataSource="{CurrentSolution}">
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdUndo}" />
+ <MenuItem DataSource="{SelectedItem}" Command="{cmdRedo}" />
+ <MenuItem Command="{CMDCut}" />
+ <MenuItem Command="{CMDCopy}" />
+ <MenuItem Command="{CMDPaste}" />
+ <MenuItem Command="{CMDOptions}"/>
+ </MenuItem>
+ <MenuItem Caption="View" Fit="true" PopWidth="150">
+ <MenuItem Command="{CMDViewSolution}"/>
+ <MenuItem Command="{CMDViewEditor}"/>
+ <MenuItem Command="{CMDViewProperties}"/>
+ <MenuItem Command="{CMDViewDesign}"/>
+ <MenuItem Command="{CMDViewStyling}"/>
+ <MenuItem Command="{CMDViewToolbox}"/>
+ <MenuItem Command="{CMDViewErrors}"/>
+ <MenuItem Command="{CMDViewGTExp}"/>
+ <MenuItem Command="{CMDViewSchema}"/>
+ </MenuItem>
+ <MenuItem Caption="Project" Fit="true" PopWidth="120">
+ <MenuItem Command="{CMDCompile}"/>
+ <MenuItem Command="{CMDViewProjProps}"/>
+ </MenuItem>
+ <MenuItem Caption="Help" Width="Fit" PopWidth="60">
+ <MenuItem Caption="About"/>
+ <MenuItem Command="{CMDHelp}"/>
+ </MenuItem>
+ </Menu>
+<!-- <Label DataSource="{CurrentSolution}" Text="{SelectedItemElement}" Width="Stretched"/>-->
+<!-- <Docker >-->
+ <DockStack Name="mainDock"/>
+<!-- <DockWindow DataSource="{CurrentSolution}" Name="winEditor" Caption="Edit View" Width="70%" Height="80%">
+ <Template>
+ <Border BorderWidth="1" Foreground="DimGrey" CornerRadius="{./CornerRadius}"
+ Background="{./Background}"
+ MouseEnter="./onBorderMouseEnter"
+ MouseLeave="./onBorderMouseLeave">
+ <Container Name="Content" MinimumSize="50,50"/>
+ </Border>
+ </Template>
+ <EditPane SelectedItem="{²SelectedItem}" SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
+ ItemTemplate="#Crow.Coding.ui.EditPaneItems.template"/>
+ </DockWindow>-->
+<!-- </Docker>-->
+ </VerticalStack>
+<!--</Window>-->
diff --git a/Samples/CrowIDE/ui/DockWindows/GTreeExpITemp.crow b/Samples/CrowIDE/ui/DockWindows/GTreeExpITemp.crow
new file mode 100644
index 00000000..fb044b36
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/GTreeExpITemp.crow
@@ -0,0 +1,29 @@
+<?xml version="1.0"?>
+<Expandable IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
+ <Template>
+ <VerticalStack>
+ <Border CornerRadius="2" Margin="0" Height="Fit"
+ Foreground="Transparent"
+ MouseEnter="{Foreground=DimGrey}"
+ MouseLeave="{Foreground=Transparent}">
+ <HorizontalStack Spacing="1">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
+ <Image Margin="2" Path="{GetIcon}" />
+ </Border>
+ <Label Text="{DesignName}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+</Expandable>
diff --git a/Samples/CrowIDE/ui/DockWindows/WinSchemaItem.template b/Samples/CrowIDE/ui/DockWindows/WinSchemaItem.template
new file mode 100755
index 00000000..2832a327
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/WinSchemaItem.template
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<Border BorderWidth="1" Foreground="Black" CornerRadius="10"
+ Background="Grey"
+ MouseEnter="./onBorderMouseEnter"
+ MouseLeave="./onBorderMouseLeave">
+ <VerticalStack Spacing="0">
+ <HorizontalStack Background="MediumSeaGreen" Margin="0" Spacing="0" Height="Fit" Width="Stretched">
+ <Label Width="Stretched" Margin="0" TextAlignment="Center" Text="{./Caption}" />
+ </HorizontalStack>
+ <Widget Background="Black" Height="1"/>
+ <Container Margin="5" Name="Content" Width="Fit"/>
+ </VerticalStack>
+</Border>
diff --git a/Samples/CrowIDE/ui/DockWindows/toolboxBut.template b/Samples/CrowIDE/ui/DockWindows/toolboxBut.template
new file mode 100644
index 00000000..0729a387
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/toolboxBut.template
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<Border Background="{./Background}" Name="Content"
+ Foreground="Transparent" CornerRadius="{./CornerRadius}" BorderWidth="1"
+ 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}">
+ <Image Path="{./Caption}" Margin="2" Width="20" Height="20" />
+</Border>
diff --git a/Samples/CrowIDE/ui/DockWindows/winDesign.crow b/Samples/CrowIDE/ui/DockWindows/winDesign.crow
new file mode 100644
index 00000000..4b5125b9
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winDesign.crow
@@ -0,0 +1,10 @@
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winDesign" Caption="Design" Width="200" Height="50%">
+ <VerticalStack DataSource="{SelectedItemElement}">
+ <ColorPicker SelectedColor="{²Background}"/>
+ <Group Fit="true">
+ <Border Foreground="Black" Left="25" Top="12" Width="34" Height="21" Background="{Background}"/>
+ <Border Foreground="Black" Left="1" Top="1" Width="34" Height="21" Background="{Foreground}"/>
+ </Group>
+ </VerticalStack>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winEditor.crow b/Samples/CrowIDE/ui/DockWindows/winEditor.crow
new file mode 100644
index 00000000..461a2606
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winEditor.crow
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<DockWindow Name="winEditor" Caption="Edit View">
+ <EditPane DataSource="{CurrentSolution}"
+ SelectedItemElement="{²SelectedItemElement}" Data="{OpenedItems}" DataTest="Extension"
+ ItemTemplate="#Crow.Coding.EditPaneItems.template"/>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winErrors.crow b/Samples/CrowIDE/ui/DockWindows/winErrors.crow
new file mode 100644
index 00000000..82ecc170
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winErrors.crow
@@ -0,0 +1,15 @@
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winErrors" Caption="Errors" Width="20%">
+ <ListBox Width="Stretched" Data="{CompilerErrors}">
+ <ItemTemplate>
+ <HorizontalStack Height="Fit" Margin="0" Focusable="true" Spacing="10"
+ MouseEnter="{Background=SteelBlue}"
+ MouseLeave="{Background=Transparent}">
+ <Image Width="10" Height="10" Path="#Crow.Icons.compiler_error.svg" SvgSub="{IsWarning}"/>
+ <Label Text="{Line}" Width="25" TextAlignment="Right"/>
+ <Label Text="{ErrorText}" Width="60%"/>
+ <Label Text="{FileName}" Width="Fit"/>
+ </HorizontalStack>
+ </ItemTemplate>
+ </ListBox>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winGTExplorer.crow b/Samples/CrowIDE/ui/DockWindows/winGTExplorer.crow
new file mode 100644
index 00000000..62c7b9bb
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winGTExplorer.crow
@@ -0,0 +1,28 @@
+<?xml version="1.0"?>
+<DockWindow Name="winGTExplorer" Caption="Edit View" Width="40%" Height="80%">
+ <VerticalStack Name="vstack" DataSource="{CurrentSolution}">
+ <Button Caption="Expand All" MouseClick="../treeView.onExpandAll_MouseClick"/>
+ <TreeView DataSource="{SelectedItem}" IsRoot="true" Name="treeView" Data="{GraphicTree}"
+ SelectedItemChanged="../../vstack.DataSource.GTView_SelectedItemChanged">
+ <ItemTemplate>
+ <Border Width="Stretched" Focusable="true" Foreground="Transparent">
+ <HorizontalStack Spacing="5">
+ <Widget Width="5" Height="5"/>
+ <Border Width="16" Height="16" Foreground="Black" Background="DimGrey">
+ <Image Margin="2" Path="{GetIcon}" />
+ </Border>
+ <Label Text="{DesignName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Border>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.Group" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.Container" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.TemplatedContainer" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ <ItemTemplate DataType="Crow.TemplatedGroup" Data="GetChildren"
+ Path="#Crow.Coding.ui.DockWindows.GTreeExpITemp.crow"/>
+ </TreeView>
+ </VerticalStack>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winProperties.crow b/Samples/CrowIDE/ui/DockWindows/winProperties.crow
new file mode 100644
index 00000000..2ef5f6e0
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winProperties.crow
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<DockWindow Name="winProperties" Caption="Properties" Width="20%">
+ <MembersView DataSource="{CurrentSolution}" ProjectNode="{SelectedItem}"
+ Instance="{SelectedItemElement}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.MembersItem.template"/>
+</DockWindow>
+
diff --git a/Samples/CrowIDE/ui/DockWindows/winSchema.crow b/Samples/CrowIDE/ui/DockWindows/winSchema.crow
new file mode 100644
index 00000000..cd842490
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winSchema.crow
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winSchema" Caption="IML Schematic View" Height="60%" Width="80%">
+ <ImlSchematicEditor DataSource="{SelectedItem}" Data="{GraphicTree}">
+ <Template>
+ <Group Name="ItemsContainer"/>
+ </Template>
+ <ItemTemplate DataType="Crow.Widget">
+ <Window Style="WinSchema" Caption="{Name}">
+ <Label Text="test"/>
+ </Window>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.Container" >
+ <Window Style="WinSchema" Caption="{Name}">
+ <Label Text="test"/>
+ </Window>
+ </ItemTemplate>
+ </ImlSchematicEditor>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winSolution.crow b/Samples/CrowIDE/ui/DockWindows/winSolution.crow
new file mode 100644
index 00000000..e33a2006
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winSolution.crow
@@ -0,0 +1,6 @@
+<?xml version="1.0"?>
+<DockWindow Name="winSolution" Caption="Solution" Width="20%">
+ <TreeView Name="treeview" IsRoot="true" DataSource="{CurrentSolution}"
+ Data="{Projects}" SelectedItemChanged="onSelectedItemChanged"
+ ItemTemplate="#Crow.Coding.ProjectTree.template"/>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/DockWindows/winStyleView.crow b/Samples/CrowIDE/ui/DockWindows/winStyleView.crow
new file mode 100644
index 00000000..a86343e4
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winStyleView.crow
@@ -0,0 +1,16 @@
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winStyle" Caption="Styling" Width="20%">
+ <TreeView Data="{StylingContainers}">
+ <Template>
+ <VerticalStack Name="ItemsContainer" Spacing="1"/>
+ </Template>
+ <ItemTemplate DataType="Crow.Coding.StyleItemContainer">
+ <HorizontalStack Height="Fit" Spacing="1">
+ <Label Background="White" Foreground="Jet" Text="{Name}" Width="40%"/>
+ <Label Background="White" Foreground="Jet" Text="{Value}" Width="Stretched"/>
+ </HorizontalStack>
+ </ItemTemplate>
+ <ItemTemplate Path="#Crow.Coding.ui.CategoryExp.template" DataType="Crow.Coding.StyleContainer" Data="Items"/>
+ </TreeView>
+</DockWindow>
+
diff --git a/Samples/CrowIDE/ui/DockWindows/winToolbox.crow b/Samples/CrowIDE/ui/DockWindows/winToolbox.crow
new file mode 100644
index 00000000..615488e8
--- /dev/null
+++ b/Samples/CrowIDE/ui/DockWindows/winToolbox.crow
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<DockWindow DataSource="{CurrentSolution}" Name="winToolbox" Caption="Toolbox" Width="60">
+ <ListBox Margin="3" Data="{ToolboxItems}" SelectionBackground="SkyBlue">
+ <Template>
+ <Wrapper Name="ItemsContainer" Orientation="Vertical" Spacing="0"/>
+ </Template>
+ <ItemTemplate>
+ <Container Fit="true" Focusable="true" Tooltip="{DisplayName}" Margin="2" AllowDrag="true"
+ StartDrag="onStartDrag" EndDrag="onEndDrag" Drop="onDrop">
+ <Border Foreground="Black" Background="DimGrey" Margin="0" BorderWidth="1"
+ MouseEnter="{Foreground=White}"
+ MouseLeave="{Foreground=Black}">
+ <Image Path="{IconPath}" Margin="3" Width="20" Height="20" />
+ </Border>
+ </Container>
+ </ItemTemplate>
+ </ListBox>
+</DockWindow>
diff --git a/Samples/CrowIDE/ui/IcoBut.template b/Samples/CrowIDE/ui/IcoBut.template
new file mode 100644
index 00000000..ef84670d
--- /dev/null
+++ b/Samples/CrowIDE/ui/IcoBut.template
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Border Background="{./Background}" Name="Content"
+ BorderWidth="1" BorderStyle="Normal"
+ MouseDown="{BorderStyle=Sunken}"
+ MouseUp="{BorderStyle=Normal}">
+ <Image Margin="1" Path="#icons.blank-file" />
+</Border>
diff --git a/Samples/CrowIDE/ui/ItemTemplates/Enum.template b/Samples/CrowIDE/ui/ItemTemplates/Enum.template
new file mode 100755
index 00000000..9ee2b60c
--- /dev/null
+++ b/Samples/CrowIDE/ui/ItemTemplates/Enum.template
@@ -0,0 +1,47 @@
+<?xml version="1.0"?>
+<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <ComboBox Margin="0" Height="Stretched" Width="50%" Data="{Choices}"
+ SelectedItem="{²Value}">
+ <Template>
+ <Popper Name="popper" PopDirection="Bottom">
+ <Template>
+ <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}" Foreground="{./Foreground}" Background="{./Background}">
+ <Template>
+ <Border CornerRadius="0" Foreground="LightGrey" Background="White">
+ <HorizontalStack Margin="0" Spacing="1">
+ <Label Width="Stretched" MinimumSize="80,10" Margin="1" Foreground = "{LabForeground}" Background="White"
+ Text="{../../../../../SelectedItem}"/>
+ <Button Width="12" Height="12" Focusable="false"
+ Template="#Crow.ArrowBut.template">
+ <Image Margin="1" Path="#Crow.Icons.updown.svg" SvgSub="down"/>
+ </Button>
+ </HorizontalStack>
+ </Border>
+ </Template>
+ </CheckBox>
+ </Template>
+ <Border Background="White" BorderWidth="1" Margin="1" Foreground="Black"
+ MinimumSize="{../../MinimumPopupSize}" Fit="true">
+ <Scroller Name="scroller1" Margin="2"
+ MaximumSize="0,200"
+ HorizontalAlignment="Left">
+ <VerticalStack LayoutChanged="../../../../_list_LayoutChanged"
+ MouseClick="../../../onMouseClick" Focusable="True"
+ Height="Fit" Name="ItemsContainer" Margin="0"
+ HorizontalAlignment="Left"
+ VerticalAlignment="Top"/>
+ </Scroller>
+ </Border>
+ </Popper>
+ </Template>
+ <ItemTemplate>
+ <Container Fit="true" Margin="0" Focusable="true"
+ HorizontalAlignment="Left"
+ MouseEnter="{Background=SteelBlue}"
+ MouseLeave="{Background=Transparent}">
+ <Label Text="{}" Foreground="Black"/>
+ </Container>
+ </ItemTemplate>
+ </ComboBox>
+</HorizontalStack>
diff --git a/Samples/CrowIDE/ui/ItemTemplates/Fill.template b/Samples/CrowIDE/ui/ItemTemplates/Fill.template
new file mode 100755
index 00000000..56d4a4d4
--- /dev/null
+++ b/Samples/CrowIDE/ui/ItemTemplates/Fill.template
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <Popper Height="Stretched" Caption="{Value}">
+ <Template>
+ <CheckBox Caption="{./Caption}" IsChecked="{²./IsPopped}">
+ <Template>
+ <HorizontalStack Margin="1" Height="Stretched" Spacing="3" Background="White">
+ <Border Foreground="{LabForeground}" Width="18" Height="12" CornerRadius="3"
+ Background="{Value}">
+ </Border>
+ <Label Width="Stretched" Text="{./Caption}" Foreground="{LabForeground}"/>
+ </HorizontalStack>
+ </Template>
+ </CheckBox>
+ </Template>
+ <ColorPicker SelectedColor="{²Value}" Background="DimGrey" Margin="5" Fit="True" />
+ </Popper>
+</HorizontalStack> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/LQIsExplorer.crow b/Samples/CrowIDE/ui/LQIsExplorer.crow
new file mode 100644
index 00000000..2994db6a
--- /dev/null
+++ b/Samples/CrowIDE/ui/LQIsExplorer.crow
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<Window Width="50%" Height="50%" Background="DimGrey">
+ <TreeView IsRoot="true" Name="treeView" Data="{LQIs}">
+ <ItemTemplate DataType="Crow.LayoutingQueueItem" Data="triggeredLQIs">
+ <Expandable>
+ <Template>
+ <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
+ <VerticalStack Fit="true" Margin="3" Background="DimGrey"
+ HorizontalAlignment="Left"
+ MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
+ MouseLeave="{Background=DimGrey}">
+ <Label Text="{FullName}" Font="droid, 8" Background="LightGrey" Foreground="Black"/>
+ <HorizontalStack Fit="true" Spacing="10">
+ <Label Text="{LayoutingTries}" Foreground="SkyBlue"/>
+ <Label Text="{DiscardCount}" Foreground="Red"/>
+ <Label Text="{Name}" Font="droid bold"/>
+ <Label Text="{LayoutType}" Foreground="Maize"/>
+ <Label Text="{Width}"/>
+ <Label Text="{Height}"/>
+ </HorizontalStack>
+
+ <HorizontalStack Fit="true">
+ <Label Text="{Slot}"/>
+ <Label Text=" => "/>
+ <Label Text="{NewSlot}"/>
+ </HorizontalStack>
+ <Widget Background="SeaGreen" Height="3" Visible="{HasTriggeredLQIs}"/>
+ </VerticalStack>
+ <Container Name="Content" Visible="false" HorizontalAlignment="Left"
+ Fit="true"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit" Width="Fit">
+ <Widget Width="20" Height="10"/>
+ <TreeView Name="List" Height="Fit" Width="Fit"
+ Template="#Crow.Templates.treeList.crow" />
+ </HorizontalStack>
+ </Expandable>
+ </ItemTemplate>
+ <ItemTemplate DataType="Crow.LQIList" Data="GetRootLQIs">
+ <Expandable Caption="{}" >
+ <Template>
+ <VerticalStack Height="{./HeightPolicy}" Width="{./WidthPolicy}">
+ <HorizontalStack Spacing="1" Height="Fit" Width="{./WidthPolicy}"
+ MouseEnter="{Background=hgradient|0:RoyalBlue|1:Transparent}"
+ MouseLeave="{Background=Transparent}">
+ <Image Margin="2" Width="12" Height="12"
+
+ Path="{./Image}"
+ SvgSub="{./IsExpanded}"/>
+ <Label Text="{./Caption}" Width="{./WidthPolicy}"/>
+ </HorizontalStack>
+ <Container Name="Content" Visible="false"
+ Height="{./HeightPolicy}" Width="{./WidthPolicy}"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit" Width="{./WidthPolicy}">
+ <Widget Width="12" Height="10"/>
+ <TreeView Name="List" Height="Fit" Width="{./WidthPolicy}"
+ Template="#Crow.Templates.treeList.crow" />
+ </HorizontalStack>
+ </Expandable>
+ </ItemTemplate>
+ </TreeView>
+</Window>
diff --git a/Samples/CrowIDE/ui/MemberView.crow b/Samples/CrowIDE/ui/MemberView.crow
new file mode 100644
index 00000000..170a3fcb
--- /dev/null
+++ b/Samples/CrowIDE/ui/MemberView.crow
@@ -0,0 +1,5 @@
+<?xml version="1.0"?>
+<Window Caption="Properties" Width="30%" Height="60%" AlwaysOnTop="true">
+ <MembersView Instance="{SelectedItem}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.ui.MembersItem.template"/>
+</Window> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/MembersItem.template b/Samples/CrowIDE/ui/MembersItem.template
new file mode 100755
index 00000000..b552e920
--- /dev/null
+++ b/Samples/CrowIDE/ui/MembersItem.template
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<ItemTemplate>
+ <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}" DataSourceType="PropertyContainer">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}"/>
+ <TextBox Margin="1" Text="{²Value}" Height="Fit" Foreground = "{LabForeground}"/>
+ </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate Path="#Crow.Coding.CategoryExp.template" DataType="Crow.Coding.CategoryContainer"
+ Data="Properties" DataTest="Type"/>
+<ItemTemplate DataType="System.Boolean" >
+ <HorizontalStack Style="MemberViewHStack" ContextCommands="{Commands}">
+ <Label Style="MemberViewLabel" Text="{Name}" Foreground = "{LabForeground}" />
+ <CheckBox Background="White" Foreground = "{LabForeground}" Height="Stretched" Caption="" IsChecked="{²Value}"/>
+ </HorizontalStack>
+</ItemTemplate>
+<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="System.Enum" />
+<ItemTemplate Path="#Crow.Coding.Enum.template" DataType="Style" />
+<!--<ItemTemplate Path="#Crow.Coding.ui.ItemTemplates.Fill.template" DataType="Crow.Fill"/>-->
+ \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/MembersView.template b/Samples/CrowIDE/ui/MembersView.template
new file mode 100755
index 00000000..046049eb
--- /dev/null
+++ b/Samples/CrowIDE/ui/MembersView.template
@@ -0,0 +1,19 @@
+<?xml version="1.0"?>
+<VerticalStack>
+ <Border Height="Fit">
+ <Label TextAlignment="Left" Text="{./SelectedItemName}" Width="Stretched"/>
+ </Border>
+ <HorizontalStack>
+ <Scroller Name="scroller1" Margin="1"
+ Background="{./Background}">
+ <VerticalStack Spacing="1"
+ Height="Fit" Name="ItemsContainer" Margin="0" VerticalAlignment="Top"/>
+ </Scroller>
+ <ScrollBar
+ Name="scrollbar1" Orientation="Vertical"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ Value="{²../scroller1.ScrollY}"
+ Maximum="{../scroller1.MaxScrollY}"/>
+ </HorizontalStack>
+</VerticalStack>
diff --git a/Samples/CrowIDE/ui/NewFile.crow b/Samples/CrowIDE/ui/NewFile.crow
new file mode 100644
index 00000000..ffee5fe3
--- /dev/null
+++ b/Samples/CrowIDE/ui/NewFile.crow
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<Window Caption="Add New File..." Height="60%" Width="70%">
+ <Label/>
+</Window>
+
diff --git a/Samples/CrowIDE/ui/Options.crow b/Samples/CrowIDE/ui/Options.crow
new file mode 100644
index 00000000..7d401e05
--- /dev/null
+++ b/Samples/CrowIDE/ui/Options.crow
@@ -0,0 +1,24 @@
+<?xml version="1.0"?>
+<Window Caption="Crow IDE Options" Width="80%" Height="70%" Background="DimGrey" Modal="true">
+ <TabView>
+ <TabItem Caption="IML Visual Editor">
+ <VerticalStack Margin="10">
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ </VerticalStack>
+ </TabItem>
+ <TabItem Caption="Text Editor">
+ <VerticalStack Margin="10">
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ <CheckBox Caption="Print Line Numbers" IsChecked="True"/>
+ </VerticalStack>
+ </TabItem>
+
+ </TabView>
+</Window>
diff --git a/Samples/CrowIDE/ui/ProjectProperties.crow b/Samples/CrowIDE/ui/ProjectProperties.crow
new file mode 100644
index 00000000..9a6ba39b
--- /dev/null
+++ b/Samples/CrowIDE/ui/ProjectProperties.crow
@@ -0,0 +1,66 @@
+<?xml version="1.0"?>
+<Window Caption="Project Properties" Width="60%" Height="70%" Modal="true">
+ <HorizontalStack>
+ <VerticalStack Height="Fit" Width="50%">
+ <HorizontalStack>
+ <Label Text="Tools Version" Width="30%"/>
+ <Label Text="{ToolsVersion}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Default Targets" Width="30%"/>
+ <Label Text="{DefaultTargets}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Project Guid" Width="30%"/>
+ <Label Text="{ProjectGuid}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Output Type" Width="30%"/>
+ <Label Text="{OutputType}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Root Namespace" Width="30%"/>
+ <Label Text="{RootNamespace}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Assembly Name" Width="30%"/>
+ <Label Text="{AssemblyName}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Allow Unsafe Blocks" Width="30%"/>
+ <CheckBox IsChecked="{AllowUnsafeBlocks}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="No Std Lib" Width="30%"/>
+ <CheckBox IsChecked="{NoStdLib}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Treat Warnings As Errors" Width="30%"/>
+ <CheckBox IsChecked="{TreatWarningsAsErrors}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Sign Assembly" Width="30%"/>
+ <CheckBox IsChecked="{SignAssembly}" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Target Framework" Width="30%"/>
+ <Label Text="{TargetFrameworkVersion}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Description" Width="30%"/>
+ <Label Text="{Description}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Output Path" Width="30%"/>
+ <Label Text="{OutputPath}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Intermediate Output Path" Width="30%"/>
+ <Label Text="{IntermediateOutputPath}" IsEnabled="false" Width="70%"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <TreeView Width="50%" IsRoot="true" Name="treeView" Data="{RootItems}" DataTest="Type"
+ ItemTemplate="#Crow.Coding.ui.ProjectTree.template">
+ </TreeView>
+ </HorizontalStack>
+</Window>
diff --git a/Samples/CrowIDE/ui/ProjectTree.template b/Samples/CrowIDE/ui/ProjectTree.template
new file mode 100644
index 00000000..8ffb17ba
--- /dev/null
+++ b/Samples/CrowIDE/ui/ProjectTree.template
@@ -0,0 +1,65 @@
+<?xml version="1.0"?>
+<ItemTemplate>
+ <Border DataSourceType="ProjectItem" Style="TreeItemBorder" ContextCommands="{Commands}" Focusable="true" MouseDown="onClick" MouseDoubleClick="onDoubleClick">
+ <Group>
+ <Widget Height="Stretched" Background="RoyalBlue" Visible="{IsSelected}"/>
+ <HorizontalStack>
+ <Widget Width="5" Height="5"/>
+ <Image Style="TreeIcon" Picture="{Icon}"/>
+ <Label Text="{DisplayName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Group>
+ </Border>
+</ItemTemplate>
+<ItemTemplate DataType="Crow.Coding.Project" Data="RootItems" DataTest="Type">
+ <Expandable DataSourceType="Project" Caption="{Name}" ContextCommands="{Commands}" IsExpanded="{²IsExpanded}" MouseDoubleClick="/onClickForExpand">
+ <Template>
+ <VerticalStack>
+ <Border Style="TreeItemBorder" >
+ <HorizontalStack Spacing="1">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Image Style="TreeIcon"
+ Path="#Crow.Icons.crowproj.svg"/>
+ <Widget Width="4" Height="9" Background="Green" Visible="{IsStartupProject}"/>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+ </VerticalStack>
+ </Template>
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataSourceType="ProjectNode" DataType="ReferenceGroup" Data="ChildNodes" DataTest="Type" >
+ <Expandable Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="VirtualGroup" Data="ChildNodes" DataTest="Type">
+ <Expandable DataSourceType="ProjectNode" Caption="{DisplayName}" Template="#Crow.Coding.TreeExpandable.template" IsExpanded="{²IsExpanded}">
+ <HorizontalStack Height="Fit">
+ <Widget Width="8" Height="10"/>
+ <VerticalStack Height="Fit" Name="ItemsContainer"/>
+ </HorizontalStack>
+ </Expandable>
+</ItemTemplate>
+<ItemTemplate DataType="Folder" DataTest="Type">
+ <Border DataSourceType="ProjectNode" Style="TreeItemBorder" ContextCommands="{Commands}">
+ <HorizontalStack>
+ <Image Style="ProjTreeIcon"
+ Path="#Crow.Icons.folder.svg"/>
+ <Label Text="{DisplayName}" Width="Stretched"/>
+ </HorizontalStack>
+ </Border>
+</ItemTemplate>
diff --git a/Samples/CrowIDE/ui/TreeExpandable.template b/Samples/CrowIDE/ui/TreeExpandable.template
new file mode 100644
index 00000000..f945f781
--- /dev/null
+++ b/Samples/CrowIDE/ui/TreeExpandable.template
@@ -0,0 +1,17 @@
+<?xml version="1.0"?>
+<VerticalStack>
+ <Border Style="TreeItemBorder" >
+ <HorizontalStack Spacing="5" Focusable="true" MouseDoubleClick="./onClickForExpand">
+ <Image Margin="1" Width="9" Height="9" Focusable="true" MouseDown="./onClickForExpand"
+ Path="{./Image}"
+ Visible="{./IsExpandable}"
+ SvgSub="{./IsExpanded}"
+ MouseEnter="{Background=LightGrey}"
+ MouseLeave="{Background=Transparent}"/>
+ <Image Style="TreeIcon"
+ Path="#Crow.Icons.folder.svg" SvgSub="{./IsExpanded}"/>
+ <Label Text="{./Caption}"/>
+ </HorizontalStack>
+ </Border>
+ <Container Name="Content" Visible="false"/>
+</VerticalStack>
diff --git a/Samples/CrowIDE/ui/editors/EditPane.template b/Samples/CrowIDE/ui/editors/EditPane.template
new file mode 100644
index 00000000..f6eb0f81
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/EditPane.template
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabView SelectedTab="{²./SelectedIndex}" Name="ItemsContainer" Orientation="Horizontal"/>
diff --git a/Samples/CrowIDE/ui/editors/EditPaneItems.template b/Samples/CrowIDE/ui/editors/EditPaneItems.template
new file mode 100644
index 00000000..d9f253e1
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/EditPaneItems.template
@@ -0,0 +1,18 @@
+<?xml version="1.0"?>
+<ItemTemplate>
+ <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
+ <Label Text="Error" Background="Red"/>
+ </TabItem>
+</ItemTemplate>
+<ItemTemplate Path="#CrowIDE.ui.editors.SvgEdit.itemp" DataType=".svg"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".cs"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.SrcEdit.itemp" DataType=".style"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".crow"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".itemp"/>
+<ItemTemplate Path="#CrowIDE.ui.editors.IMLEdit.itemp" DataType=".template"/>
+<ItemTemplate DataType=".goml">
+ <TabItem Caption="{DisplayName}" QueryClose="OnQueryClose">
+ <IMLContainer Path="#CrowIDE.ui.editors.TextEditor.crow"/>
+ </TabItem>
+</ItemTemplate>
+
diff --git a/Samples/CrowIDE/ui/editors/EditTabItem.template b/Samples/CrowIDE/ui/editors/EditTabItem.template
new file mode 100644
index 00000000..b082c06e
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/EditTabItem.template
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<GenericStack Orientation="Vertical" Spacing="0" DataSourceType="ProjectFile"
+ MouseEnter="{caption.Font=hack bold, 10}"
+ MouseLeave="{caption.Font=hack, 10}">
+ <HorizontalStack Margin="2" Left="{./TabOffset}"
+ Name="TabTitle"
+ HorizontalAlignment="Left"
+ Height="{./TabHeight}"
+ Width="{./TabWidth}">
+ <Widget Width="5" Height="5" Background="Blue" Visible="{IsDirty}"/>
+ <Label Name="caption" Text="{DisplayName}" Foreground="Black" Width="Stretched"/>
+ <Border CornerRadius="5" BorderWidth="1" Foreground="Transparent" Height="12" Width="12"
+ MouseEnter="{Foreground=Black}" MouseLeave="{Foreground=Transparent}">
+ <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched" Path="#Crow.Icons.exit2.svg"
+ MouseClick="./butCloseTabClick"/>
+ </Border>
+ </HorizontalStack>
+ <Container Name="Content"/>
+</GenericStack> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/editors/IMLEdit.itemp b/Samples/CrowIDE/ui/editors/IMLEdit.itemp
new file mode 100644
index 00000000..4ee3aba9
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/IMLEdit.itemp
@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem DataSourceType="ImlProjectItem" QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <VerticalStack>
+ <VerticalStack Height="60%">
+ <Label DataSource="{../editor.HoverWidget}" Width="Stretched" Margin="2" Text="{Name}"/>
+ <VerticalStack Width="Stretched" Margin="0" MinimumSize="10,10">
+ <HorizontalStack>
+ <Scroller Name="scroller1" Margin="2" >
+ <ImlVisualEditor Foreground="SkyBlue" Name="editor" Background="Grey"
+ VerticalAlignment="Top" HorizontalAlignment="Left" Margin="4"
+ ContextCommands="{/Commands}"
+ AllowDrop="true" AllowDrag="true" Focusable="true"
+ UpdateEnabled="{IsSelected}"
+ ProjectNode="{}" SelectedItem="{²SelectedItem}"/>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Orientation="Vertical"
+ Value="{²../scroller1.ScrollY}" Maximum="{../scroller1.MaxScrollY}"
+ CursorSize="{../scroller1.ChildHeightRatio}"
+ LargeIncrement="{../scroller1.PageHeight}" SmallIncrement="30"
+ />
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Orientation="Horizontal"
+ Value="{²../scroller1.ScrollX}" Maximum="{../scroller1.MaxScrollX}"
+ CursorSize="{../scroller1.ChildWidthRatio}"
+ LargeIncrement="{../scroller1.PageWidth}" SmallIncrement="30"/>
+ </VerticalStack>
+ <HorizontalStack Height="Fit" Margin="2" Spacing="5" Background="vgradient|0:0.8,0.8,0.8,1|1:Grey">
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Design Size:"/>
+ <TextBox Text="{²../../../editor.DesignWidth}" Width="40" TextAlignment="Right"/>
+ <Label Text="X"/>
+ <TextBox Text="{²../../../editor.DesignHeight}" Width="40" TextAlignment="Right"/>
+ </HorizontalStack>
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Zoom:"/>
+ <Slider Value="{²../../../editor.Zoom}" Width="100" Height="10" Minimum="10" Maximum="200" SmallIncrement="10" LargeIncrement="50"/>
+ <Label Text="{../../../editor.Zoom}"/>
+ </HorizontalStack>
+ <HorizontalStack Width="Fit" Spacing="1">
+ <Label Text="Grid Spacing:"/>
+ <Slider Value="{²../../../editor.GridSpacing}" Width="100" Height="10" Minimum="5" Maximum="100" SmallIncrement="5" LargeIncrement="20"/>
+ <TextBox Text="{../../../editor.GridSpacing}"/>
+ </HorizontalStack>
+ </HorizontalStack>
+ </VerticalStack>
+ <Splitter/>
+ <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
+ <Splitter Visible="{../editor.HasError}"/>
+ <Label DataSource="{../editor.Error}" Text="{}"
+ Visible="{../editor.HasError}"
+ Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
+ TextAlignment="TopLeft" Multiline="true"/>
+ </VerticalStack>
+</TabItem>
diff --git a/Samples/CrowIDE/ui/editors/SourceEditor.crow b/Samples/CrowIDE/ui/editors/SourceEditor.crow
new file mode 100644
index 00000000..17d3b1ec
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/SourceEditor.crow
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<VerticalStack>
+ <HorizontalStack >
+ <SourceEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="2"
+ CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}" HasFocus="{IsSelected}"
+ Foreground="Jet" Background="White" Width="Stretched" Height="Stretched"
+ ProjectNode="{}" KeyDown="textView_KeyDown"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="{../editor.VisibleLines}"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="{../editor.VisibleColumns}"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit">
+ <Label Text="{../../editor.HoverError}" Width="Stretched"/>
+ <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
+ <Label Text="Hover Line:" Foreground="Grey"/>
+ <Label Text="{../../editor.HoverLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="Line:" Foreground="Grey"/>
+ <Label Text="{CurrentLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="column:" Foreground="Grey"/>
+ <Label Text="{CurrentColumn}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="ScrollX:" Foreground="Grey"/>
+ <Label Text="{../../editor.ScrollX}"/>
+ </HorizontalStack>
+</VerticalStack>
diff --git a/Samples/CrowIDE/ui/editors/SrcEdit.itemp b/Samples/CrowIDE/ui/editors/SrcEdit.itemp
new file mode 100644
index 00000000..330dac64
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/SrcEdit.itemp
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <IMLContainer Path="#CrowIDE.ui.editors.SourceEditor.crow"/>
+</TabItem> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/editors/SvgEdit.itemp b/Samples/CrowIDE/ui/editors/SvgEdit.itemp
new file mode 100644
index 00000000..e7318b8c
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/SvgEdit.itemp
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<TabItem QueryClose="OnQueryClose" IsSelected="{²IsSelected}" Template="#Crow.Coding.EditTabItem.template">
+ <VerticalStack>
+ <VerticalStack Height="50%">
+ <HorizontalStack >
+ <SvgEditor Margin="10" ProjectNode="{}" Focusable="true" Name="editor" MouseWheelSpeed="20" Foreground="Black"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="10"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="10"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit" Margin="3">
+ <Label Text="Zoom:"/>
+ <Label Text="{../../editor.Zoom}" Fit="true"/>
+ <!--<Spinner Name="sldZoom" Value="{²../../editor.Zoom}" Maximum="800" Minimum="1" SmallIncrement="10" LargeIncrement="50" Width="40" />-->
+ <Slider Value="{²../../editor.Zoom}" CursorSize="2" Height="8" Maximum="800" Minimum="1" SmallIncrement="1" LargeIncrement="10" Width="100" />
+ </HorizontalStack>
+ </VerticalStack>
+ <Splitter/>
+ <IMLContainer Path="#Crow.Coding.ui.editors.SourceEditor.crow"/>
+ <Label DataSource="{../editor.Error}" Text="{Message}"
+ Visible="{../editor.HasError}"
+ Height="Fit" Width="Stretched" Background="DarkRed" Foreground="White"
+ TextAlignment="TopLeft" Multiline="true"/>
+ </VerticalStack>
+</TabItem> \ No newline at end of file
diff --git a/Samples/CrowIDE/ui/editors/TextEditor.crow b/Samples/CrowIDE/ui/editors/TextEditor.crow
new file mode 100644
index 00000000..a87d4acf
--- /dev/null
+++ b/Samples/CrowIDE/ui/editors/TextEditor.crow
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<VerticalStack>
+ <HorizontalStack >
+ <TextEditor Focusable="true" Name="editor" Font="monospace, 12" VerticalAlignment="Top" Margin="1"
+ CurrentLine="{²CurrentLine}" CurrentColumn="{²CurrentColumn}"
+ Foreground="DimGrey" Background="White" Width="Stretched" Height="Stretched"
+ ProjectNode="{}" KeyDown="textView_KeyDown"/>
+ <ScrollBar Name="scrollbarY" Value="{²../editor.ScrollY}"
+ LargeIncrement="{../editor.VisibleLines}"
+ CursorSize="{../editor.ChildHeightRatio}"
+ Maximum="{../editor.MaxScrollY}" Orientation="Vertical"/>
+ </HorizontalStack>
+ <ScrollBar Style="HScrollBar" Name="scrollbarX" Value="{²../editor.ScrollX}"
+ Maximum="{../editor.MaxScrollX}" Orientation="Horizontal"
+ LargeIncrement="{../editor.VisibleColumns}"
+ CursorSize="{../editor.ChildWidthRatio}"/>
+ <HorizontalStack Height="Fit">
+ <Widget Height="5" Width="Stretched"/>
+ <Widget Background="Red" Width="5" Height="5" Visible="{IsDirty}"/>
+ <Label Text="Line:" Foreground="Grey"/>
+ <Label Text="{CurrentLine}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="column:" Foreground="Grey"/>
+ <Label Text="{CurrentColumn}"/>
+ <Widget Height="5" Width="10"/>
+ <Label Text="ScrollX:" Foreground="Grey"/>
+ <Label Text="{../../editor.ScrollX}"/>
+ </HorizontalStack>
+</VerticalStack>
diff --git a/Samples/CrowIDE/ui/test.crow b/Samples/CrowIDE/ui/test.crow
new file mode 100644
index 00000000..37d4bdd1
--- /dev/null
+++ b/Samples/CrowIDE/ui/test.crow
@@ -0,0 +1,4 @@
+<Container Margin="20" Background="DimGrey">
+ <ImlVisualEditor Width="80%" Height="80%" Margin="0" MinimumSize="10,10" Foreground="SkyBlue"
+ Name="crowContainer" Background="DimGrey"/>
+</Container>