diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-03 19:49:15 +0200 |
|---|---|---|
| committer | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2019-08-03 19:49:15 +0200 |
| commit | e6030fa04a8de3fdae1dc19d081bf5feb3d3d73c (patch) | |
| tree | 89f392cd974d1109a203ade305da467bd378ee48 /Samples/CrowIDE/ui | |
| parent | cad504c62d45952b4651603579f34df0d230841e (diff) | |
sample directory
Diffstat (limited to 'Samples/CrowIDE/ui')
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> |