class BasicTests : OpenTKGameWindow
{
public BasicTests ()
- : base(800, 600,"test: press spacebar to toogle test files")
+ : base(800, 600,"test: press <F3> to toogle test files")
{
}
{
base.OnLoad (e);
- KeyboardKeyDown += GOLIBTests_KeyboardKeyDown1;
+ this.KeyDown += KeyboardKeyDown1;
testFiles = new string [] { @"Interfaces/Divers/welcome.crow" };
- testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/GraphicObject", "*.crow")).ToArray ();
+ testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Unsorted", "*.crow")).ToArray ();
+ //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/GraphicObject", "*.crow")).ToArray ();
//testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/basicTests", "*.crow")).ToArray ();
- testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Container", "*.crow")).ToArray ();
- testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Group", "*.crow")).ToArray ();
- testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Stack", "*.crow")).ToArray ();
- testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Splitter", "*.crow")).ToArray ();
+ //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Container", "*.crow")).ToArray ();
+ //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Group", "*.crow")).ToArray ();
+ //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Stack", "*.crow")).ToArray ();
+ //testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Splitter", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Expandable", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Divers", "*.crow")).ToArray ();
- this.Title = testFiles [idx] + ". Press key to switch example.";
+ this.Title = testFiles [idx] + ". Press <F3> to switch example.";
CrowInterface.LoadInterface(testFiles[idx]).DataSource = this;
}
- void GOLIBTests_KeyboardKeyDown1 (object sender, OpenTK.Input.KeyboardKeyEventArgs e)
+ void KeyboardKeyDown1 (object sender, OpenTK.Input.KeyboardKeyEventArgs e)
{
if (e.Key == OpenTK.Input.Key.Escape) {
Quit (null, null);
return;
- } else if (e.Key == OpenTK.Input.Key.L) {
+ } else if (e.Key == OpenTK.Input.Key.F1) {
TestList.Add ("new string");
NotifyValueChanged ("TestList", TestList);
return;
- } else if (e.Key == OpenTK.Input.Key.W) {
- GraphicObject w = CrowInterface.LoadInterface("Interfaces/testWindow.goml");
+ } else if (e.Key == OpenTK.Input.Key.F2) {
+ GraphicObject w = CrowInterface.LoadInterface ("Interfaces/Divers/testWindow.goml");
w.DataSource = this;
return;
- }
+ } else if (e.Key != OpenTK.Input.Key.F3)
+ return;
CrowInterface.ClearInterface ();
idx++;
if (idx == testFiles.Length)
idx = 0;
- this.Title = testFiles [idx] + ". Press key to cycle examples.";
+ this.Title = testFiles [idx] + ". Press <F3> to cycle examples.";
GraphicObject obj = CrowInterface.LoadInterface(testFiles[idx]);
obj.DataSource = this;
}
<GraphicObject Width="Stretched"/>
<RadioButton Width="80" Height="Fit" Caption="Radio 3" />
</HorizontalStack>
- <HorizontalStack Width="Stretched" Height="Stretched" MinimumSize="10,10" Margin="10" CornerRadius="5"
+ <HorizontalStack Width="Stretched" Height="Stretched" MinimumSize="10,40" Margin="0" CornerRadius="5"
Background="vgradient|0:White|0.1:SteelBlue|0.9:SteelBlue|1:Transparent">
<CheckBox Height="Fit" Width="80"/>
<GraphicObject Width="Stretched"/>
<?xml version="1.0"?>
<VerticalStack>
- <Label Text="Press a key to cycle into the examples"/>
+ <Label Text="Press <F3> to cycle into the examples"/>
<Label Text="Those are basic tests used to validate changes"/>
</VerticalStack>
\ No newline at end of file
<?xml version="1.0"?>
<Expandable Fit="true" Caption="Test expandable" Background="DimGray">
- <VerticalStack Margin="5" Background="Green" Fit="true">
- <CheckBox Name="chk1" Background="Red" Fit="true"/>
- <CheckBox Name="chk2" IsChecked="true" Fit="true"/>
- <CheckBox Name="chk3" Fit="true"/>
- <CheckBox Name="chk4" Fit="true"/>
- <HorizontalStack Fit="true" Margin="2" Background="Blue">
+ <VerticalStack Margin="5" >
+ <CheckBox Name="chk1" />
+ <CheckBox Name="chk2" IsChecked="true"/>
+ <CheckBox Name="chk3" />
+ <CheckBox Name="chk4" />
+ <HorizontalStack Fit="true" Margin="2" Background="Mantis">
<Label Name="captionFps" Text="Fps:" Width="30" TextAlignment="Right"/>
<Label Name="valueFps" Text="{fps}" Font="droid , 12" Width="Fit" TextAlignment="Center" Background="AoEnglish"/>
</HorizontalStack>
+++ /dev/null
-<?xml version="1.0"?>
-<Group Name="MainGrp"
- Width="800" Height="500"
- Background="0.5,0.5,0.5,0.5" Foreground="White"
- Margin="10" >
- <Border
- BorderWidth="2" Foreground="Transparent"
- Focusable="True"
- MouseEnter="{Foreground = White}"
- MouseLeave="{Foreground = Transparent}">
-
- <HorizontalStack Name="hs0" Fit="true"
- WidgetSpacing="10"
- VerticalAlignment="Center"
- Background="0.5,0.5,0.5,0.5">
- <VerticalStack Name="vs1"
- Margin="20" Width="400" Height="Fit">
- <Label Name="labMouse" Text="MousePos"/>
- <HorizontalStack Name="hsPbar" Fit="true">
- <ProgressBar Name="pbBar"
- Width="100" Height="20"
- Value="50"
- Foreground="BlueCrayola" Background="DarkGray"
- BorderWidth="2" Foreground="White"/>
-<!-- <Label Name="labPb"
- Width="20"
- TextAlignment="Right"/>
- <ProgressBar Name="pbBar"
- Width="100" Height="10"
- Value="30"/>-->
- </HorizontalStack>
- <HorizontalStack Name="hsFocus" Fit="true">
- <Label Text="Focused:"/>
- <Label Name="labFocus" />
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Active:" Name="hsActive"/>
- <Label Name="labActive"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Hover:" Name="hsHover"/>
- <Label Name="labHover" />
- </HorizontalStack>
- <Button Margin="5" BorderWidth="0" Background="Gray" Width="Fit" Height="Fit">
- <Label FontSize="10" Text="This is a test" Margin="5" FontColor="White" Foreground="White" />
- </Button>
- <TextBoxWidget TextAlignment="Left" Font="droid,14"
- Width="300" Height="Fit" Margin="2"
- Foreground="White" BorderWidth="1"
- Text="editable text"/>
- <GroupBox Title="Group Box" Width="300" Height="100"
- Foreground="White" BorderWidth="2" Margin="3">
- <Label Name="labValue" FontSize="14" Text="000" TextAlignment="Center"/>
- </GroupBox>
- <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
- <GraduatedSlider Name="slider" Height="30" Width="300" Foreground="BlueBell"/>
- </VerticalStack>
-<!-- <VerticalStack Width="Fit" Height="Fit" BorderWidth="1" Margin="5" WidgetSpacing="4">
- <Button Width="Fit" Height="Fit" Margin="15">
- <Image Path="/mnt/data/Images/130px-Blason_ville_fr_Aubure_(Haut-Rhin).svg.png"/>
- </Button>
- <HorizontalStack>
- <Label Text="Update" FontColor="White" VerticalAlignment="Center" />
- <Label Name="labUpdate" Text="xxxx" FontSize="16" Width="60" TextAlignment="Center" Background="DarkGreen"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Fps:" Width = "30" VerticalAlignment="Center" TextAlignment="Left"/>
- <Label Name="labFps" Text="xxxx" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Min:" Width = "30" />
- <Label Name="labFpsMin" Text="xxxx" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Max:" Width = "30"/>
- <Label Name="labFpsMax" Text="xxxx" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- </VerticalStack>
-
- <Scroller Background="DimGray" Height="350" Width="300"
- Margin="5" VerticalScrolling="true">
- <VerticalStack Name="colors" VerticalAlignment="Top" Margin="5">
- <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
- BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
- </VerticalStack>
- </Scroller>-->
-
- </HorizontalStack>
-
- <Slider
- Height="20" Width="300"
- Background="Transparent"
- VerticalAlignment="Bottom" />
- </Border>
-</Group>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<Group Name="MainGrp"
- Width="800" Height="500"
- Background="0.5,0.5,0.5,0.5" Foreground="White"
- Margin="10" >
- <Border Margin="10" CornerRadius="10"
- Name="mainBorder"
- BorderWidth="2" Foreground="Transparent"
- Focusable="True"
- MouseEnter="{Foreground = White}"
- MouseLeave="{Foreground = Transparent}">
- <HorizontalStack WidgetSpacing="1">
- <VerticalStack Width="Fit">
- <HorizontalStack WidgetSpacing="1" Fit="true">
- <VerticalStack Fit="true">
- <Label Text="{MousePosition}"/>
- <HorizontalStack Name="hsFocus" Fit="true">
- <Label Text="Focused:"/>
- <Label Name="labFocus"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Active:" Name="hsActive"/>
- <Label Name="labActive"/>
- </HorizontalStack>
- <HorizontalStack Fit="true">
- <Label Text="Hover:" Name="hsHover"/>
- <Label Name="labHover"/>
- </HorizontalStack>
- </VerticalStack>
- <VerticalStack Fit="true">
- <CheckBox Name="chk1"/>
- <CheckBox Name="chk2" IsChecked="true"/>
-
- </VerticalStack>
- <VerticalStack Fit="true">
- <RadioButton IsChecked="true"/>
- <RadioButton/>
- <Button MouseClick="onButClick"/>
- </VerticalStack>
- </HorizontalStack>
- <TextBox Name="textbox1" TextAlignment="Left" Font="droid,14"
- Width="200" Height="Fit" Margin="2" Background="White"
- Forground="Black"
- Foreground="DimGray" BorderWidth="1"
- Text="editable text"/>
- <Popper Width="100">
- <Border Fit="True" Background="ArmyGreen">
- <Image Margin="10" Fit="true" Path="#Crow.Images.Icons.tetra.png"/>
- </Border>
- </Popper>
-
- </VerticalStack>
- <VerticalStack Fit="true" Margin="0" WidgetSpacing="1">
- <Button Margin="1" Width="150" Height="100">
- <Image Path="#Tests.image.tetra.png"/>
- </Button>
- <Popper Width="100">
- <Border Fit="True" Background="ArmyGreen">
- <Image Margin="10" Fit="true" Path="#Crow.Images.Icons.tetra.png"/>
- </Border>
- </Popper>
- <Expandable Name="expander" Width="150" Height="Fit">
- <VerticalStack Name="vsExpanded" Width="100">
- <CheckBox Name="chk1"/>
- <CheckBox Name="chk2" IsChecked="true"/>
- <CheckBox Name="chk3"/>
- <CheckBox Name="chk4"/>
- </VerticalStack>
- </Expandable>
- <Expandable Name="expander2" Width="150" Height="Fit">
- <VerticalStack Name="vsExpanded" Width="100">
- <CheckBox Name="chk1"/>
- <CheckBox Name="chk2" IsChecked="true"/>
- </VerticalStack>
- </Expandable>
- <Expandable Name="expander3" Width="150" Height="Fit">
- <VerticalStack Name="vsExpanded" Width="100">
- <CheckBox Name="chk1" IsChecked="true"/>
- <CheckBox Name="chk2"/>
- </VerticalStack>
- </Expandable>
- <HorizontalStack>
- <Label Text="Update" FontColor="White"/>
- <Label Name="labUpdate" Text="{update}" FontSize="16" Width="60" TextAlignment="Center" Background="DarkGreen"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Fps:" Width = "30"/>
- <Label Name="labFps" Text="{fps}" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Min:" Width = "30"/>
- <Label Name="labFpsMin" Text="{fpsMin}" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- <HorizontalStack>
- <Label Text="Max:" Width = "30"/>
- <Label Name="labFpsMax" Text="{fpsMax}" Font="droid bold, 14"
- TextAlignment="Center" Background="AoEnglish"/>
- </HorizontalStack>
- </VerticalStack>
- <HorizontalStack Width="Fit">
- <Scroller Name="scroller1" Background="DimGray" Width="Fit"
- Margin="5" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
- <VerticalStack Name="colors" VerticalAlignment="Top" Margin="1" Fit="true">
-<!-- <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
- BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
- <ProgressBar Width="100" Height="20" Value="{fps}" BorderWidth="2"
- Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/> -->
- </VerticalStack>
- </Scroller>
- <ScrollBar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
- Orientation="Vertical" Width="10" Height="Stretched"/>
- </HorizontalStack>
- </HorizontalStack>
-<!-- <HorizontalStack Name="hs0"
- WidgetSpacing="1"
- VerticalAlignment="Top">
- <Slider Orientation="Vertical" Height="300" Width="10" Background="Transparent" />
- <VerticalStack Name="vs1" Spacing="5">
- <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
- <HorizontalStack WidgetSpacing="10">
-
-
- <Spinner Width="50" Value="5"></Spinner>
- </HorizontalStack>
- <HorizontalStack Name="hsPbar" Margin="5">
- <ProgressBar Name="pbBar"
- Width="200" Height="20"
- Minimum="0"
- Maximum="200"
- Value="{fps}"
- Foreground="BlueCrayola" Background="DarkGray"
- BorderWidth="2" Foreground="White"/>
- </HorizontalStack>
-
- <Button Margin="5" BorderWidth="Stretched" Width="Fit" Height="Fit" HorizontalAlignment="Center">
- <Label FontSize="18" Text="This is a test" Margin="5" Foreground="Black" />
- </Button>
-
- <GroupBox Title="Group Box" Width="300" Height="100"
- Foreground="White" BorderWidth="2" Margin="3">
- <Label Name="labValue" FontSize="14" Text="{../../slider.Value}" TextAlignment="Center"/>
- </GroupBox>
- <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
- <GraduatedSlider Name="slider" Height="30" Width="300" Foreground="BlueBell"/>
- </VerticalStack>
-
- <HorizontalStack Height="350" Width="Fit">
- <Scroller Name="scroller1" Background="DimGray" Height="Stretched" Width="Fit"
- Margin="5" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
- <VerticalStack Name="colors" VerticalAlignment="Top" Margin="1">
- <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
- BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
- <ProgressBar Width="100" Height="20" Value="{fps}" BorderWidth="2"
- Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
- </VerticalStack>
- </Scroller>
- <Scrollbar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
- Orientation="Vertical" Width="16" />
- </HorizontalStack>
- </HorizontalStack>
--->
-<!-- <Slider
- Height="20" Width="100"
- Background="Transparent"
- VerticalAlignment="Bottom" />-->
- </Border>
-</Group>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<Border BorderWidth="1" Foreground="White" CornerRadius="10" Width="500" Height="300">
- <VerticalStack Height="Stretched" Background="0.4,0.4,0.4,0.4">
- <Border BorderWidth="1" Foreground="White" Height="20" Background="0.1,0.5;1,0,0.5">
- <HorizontalStack Name="hs" Margin="1" Spacing="1" Height="Fit" >
- <GraphicObject Width="5"/>
- <Image Name="Image" Margin="1" Width="12" Height="12" Path="#go.Images.Icons.tetra.png"/>
- <Label Foreground="White" Width="Stretched" Name="Title" Margin="1" TextAlignment="Center" />
- <Border CornerRadius="6" BorderWidth="1" Margin="0" Foreground="Transparent" Height="12" Width="12"
- MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
- <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched"
- Path="#go.Images.Icons.exit2.svg"/>
- </Border>
- <GraphicObject Width="5"/>
- </HorizontalStack>
- </Border>
-<!-- <Container Name="Content"/>-->
- <HorizontalStack Spacing="10">
- <GraphicObject Width="30"/>
- <Image Name="Image" Width="40" Height="40" Background="Red"
- Path="#go.Images.Icons.iconInfo.svg" />
- <Label Font="serif, 12" Width="Stretched" Height="Stretched" Text="MessageBox"
- Multiline="true" WordWrap="true"/>
- <GraphicObject Width="30"/>
- </HorizontalStack>
- <HorizontalStack Height="Fit" Margin="5">
- <GraphicObject/>
- <Button Text="Ok"/>
- <Button Text="Cancel"/>
- </HorizontalStack>
- </VerticalStack>
-</Border>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<Border BorderWidth="2" Fit="true">
- <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"
- ItemTemplate="#Tests.Interfaces.colorItem.crow">
- <Template>
- <Border BorderWidth="1" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
- <HorizontalStack Margin="1" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}" >
- <Scroller Name="scroller1" Height="{../../../HeightPolicy}" Width="{../../../WidthPolicy}"
- Margin="2" VerticalScrolling="true" ScrollY="{../scrollbar1.Value}"
- ValueChanged="../../../_scroller_ValueChanged">
- <VerticalStack Width="{../../../../WidthPolicy}" Height="Fit" MinimumSize="10,10"
- Name="List" Margin="0"
- VerticalAlignment="Top"
- HorizontalAlignment="Left"
- LayoutChanged="../../../../_list_LayoutChanged"/>
- </Scroller>
- <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
- Maximum="{../scroller1.MaximumScroll}" Orientation="Vertical"
- Width="14" Height="{../../../HeightPolicy}" />
- </HorizontalStack>
- </Border>
- </Template>
- </ListBox>
- <HorizontalStack Fit="true" HorizontalAlignment="Right">
- <Button Caption="Load list" MouseClick="OnLoadList"/>
- <Button Caption="Clear" MouseClick="OnClear"/>
- </HorizontalStack>
- </VerticalStack>
-</Border>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-
- <VerticalStack Height="Fit" Width="Fit" Name="hstack" Margin="0" Spacing="Stretched">
- <Border Height="Fit" Width="200" BorderWidth="2" CornerRadius="10">
- <Label Name="labName" Text="{Name}" Width="Stretched" Height="Fit"/>
- </Border>
- <ListBox Data="{GetFileSystemInfos}" Width="Fit" Height="400"
- Background="0.5,0.5,0.5,0.5"
- SelectedItemChanged="OnSelectedItemChanged"
- ItemTemplate="Interfaces/tmpDirItem.goml" >
- <Template>
- <Border BorderWidth="1" MinimumSize="20,20" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
- <HorizontalStack Margin="1" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}">
- <Scroller Name="scroller1" Height="{../../../HeightPolicy}" Width="{../../../WidthPolicy}"
- Margin="2" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
- <VerticalStack Width="{../../../../WidthPolicy}" Height="Fit" Name="List" Margin="0" VerticalAlignment="Top"/>
- </Scroller>
- <Scrollbar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
- Orientation="Vertical" Width="10" Height="{../../../HeightPolicy}" />
- </HorizontalStack>
- </Border>
- </Template>
- </ListBox>
- </VerticalStack>
+++ /dev/null
-<?xml version="1.0"?>
-<FileDialog Width="500" Height="300"/>
-
+++ /dev/null
-<?xml version="1.0"?>
-<VerticalStack Fit="true">
- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="SCALED PROPORTIONNAL" Width="150"/>
- <Image Width="50%" Height="Fit" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg"/>
-<!-- <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
- <Image Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
- <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />-->
- </HorizontalStack>
-<!-- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
- <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
- <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
- </HorizontalStack>
- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="UNSCALED" Width="150"/>
- <Image Scaled="false" Background="Blue" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Margin="10" Background="Blue" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
- <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
- </HorizontalStack>
- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="SCALED PROPORTIONNAL" Width="150"/>
- <Image Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- </HorizontalStack>
- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
- <Image KeepProportions="false" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- </HorizontalStack>
- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Label Text="UNSCALED" Width="150"/>
- <Image Scaled="false" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
- </HorizontalStack>
- <HorizontalStack Width="Fit" Height="100" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
- <Image Background="Blue" Path="#Tests.image.crow0.svg" />
- <Image Margin="10" Background="White" Path="#Tests.image.crow0.svg" />
- <Image Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
- <Image Margin="1" Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
- </HorizontalStack>-->
-</VerticalStack>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<VerticalStack>
- <TextRun Multiline="true" WordWrap="true" Width="Stretched" Height="100" Background="DimGray"
- Text="This is a long text to test text wrapping, and so here is another statement to add to this meaningless text only designed to make a small test" />
- <Label Name="labFps" Text="{fps}" Font="droid bold, 12" TextAlignment="Center" Background="AoEnglish" />
-</VerticalStack>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<MessageBox Title="message" Message="this is a message box"
- Ok="onMsgBoxOk"
- Cancel="onMsgBoxCancel"/>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-<Container Width="200" Height="100" Background="DimGray" Margin="5">
- <Container Width="Stretched" Height="300" Background="DarkBlue">
- <Label Text="{fps}" Background="BlueCrayola" VerticalAlignment="Center"/>
- </Container>
-</Container>
+++ /dev/null
-<?xml version="1.0"?>
-<VerticalStack Width="200" Height="Fit" Margin="20" Background="DimGray">
- <RadioButton Caption="Radio1"/>
- <RadioButton Caption="Radio2" IsChecked="true"/>
- <RadioButton Caption="Radio3"/>
- <RadioButton Caption="Radio4">
- <Template>
- <HorizontalStack Spacing="1" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
- <Image Margin="2" Width="14" Height="14" Path="{../../Image}" SvgSub="{../../SvgSub}"/>
- <Label Text="{../../Caption}" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}"/>
- </HorizontalStack>
- </Template>
- </RadioButton>
-</VerticalStack>
-
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8" ?>
-<HorizontalStack Fit="true">
- <VerticalStack Fit="true">
- <TabView Name="tabview1"
- Width="400" Height="200" Orientation="Horizontal" Spacing="20">
- <TabItem Name="TabItem1" Caption="tab item 1" Margin="0">
- <VerticalStack Fit="true">
- <CheckBox/>
- <CheckBox/>
- <CheckBox/>
- <CheckBox/>
- </VerticalStack>
- </TabItem>
- <TabItem Name="TabItem2" Caption="tab item 2" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
- <VerticalStack Fit="true">
- <RadioButton/>
- <RadioButton/>
- <RadioButton/>
- <RadioButton/>
- </VerticalStack>
- </TabItem>
- <TabItem Name="TabItem2" Caption="tab item 3" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
- <Container Margin="5" CornerRadius="2" Width="Stretched" Height="Stretched">
- <TextBox Margin="5" Width="Stretched" Height="Stretched" Multiline="true" TextAlignment="TopLeft"/>
- </Container>
- </TabItem>
- <TabItem Name="TabItem2" Caption="tab item 4" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
- <TextBox/>
- </TabItem>
- </TabView>
- <Button Background="vgradient|0:DimGray|1:Black" HorizontalAlignment="Right"
- Caption="Add new tab" Width="Fit" Height="30" MouseClick="onAddTabButClick"/>
- </VerticalStack>
-</HorizontalStack>
-
+++ /dev/null
-<?xml version="1.0"?>
-<TreeView Height="400" Width="200" Data="{List2}" ItemTemplate="#Crow.Templates.TreeViewItem.crow"/>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0"?>
-
- <VerticalStack Height="Fit" Width="250" Name="hstack" Margin="0" Spacing="0">
- <Border Height="Fit" Width="Stretched" BorderWidth="2" CornerRadius="10" Background="SteelBlue">
- <Label Name="labName" Text="{Name}" Width="Stretched" Height="Fit" Margin="3"/>
- </Border>
- <ListBox Data="{Members}" Width="Stretched" Height="400" ItemTemplate="Interfaces/tmpMembers.goml" Focusable="true">
-
- </ListBox>
- </VerticalStack>
--- /dev/null
+<?xml version="1.0"?>
+<Group Name="MainGrp"
+ Width="800" Height="500"
+ Background="0.5,0.5,0.5,0.5" Foreground="White"
+ Margin="10" >
+ <Border
+ BorderWidth="2" Foreground="Transparent"
+ Focusable="True"
+ MouseEnter="{Foreground = White}"
+ MouseLeave="{Foreground = Transparent}">
+
+ <HorizontalStack Name="hs0" Fit="true"
+ WidgetSpacing="10"
+ VerticalAlignment="Center"
+ Background="0.5,0.5,0.5,0.5">
+ <VerticalStack Name="vs1"
+ Margin="20" Width="400" Height="Fit">
+ <Label Name="labMouse" Text="MousePos"/>
+ <HorizontalStack Name="hsPbar" Fit="true">
+ <ProgressBar Name="pbBar"
+ Width="100" Height="20"
+ Value="50"
+ Foreground="BlueCrayola" Background="DarkGray"
+ BorderWidth="2" Foreground="White"/>
+<!-- <Label Name="labPb"
+ Width="20"
+ TextAlignment="Right"/>
+ <ProgressBar Name="pbBar"
+ Width="100" Height="10"
+ Value="30"/>-->
+ </HorizontalStack>
+ <HorizontalStack Name="hsFocus" Fit="true">
+ <Label Text="Focused:"/>
+ <Label Name="labFocus" />
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Active:" Name="hsActive"/>
+ <Label Name="labActive"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Hover:" Name="hsHover"/>
+ <Label Name="labHover" />
+ </HorizontalStack>
+ <Button Margin="5" BorderWidth="0" Background="Gray" Width="Fit" Height="Fit">
+ <Label FontSize="10" Text="This is a test" Margin="5" FontColor="White" Foreground="White" />
+ </Button>
+ <TextBoxWidget TextAlignment="Left" Font="droid,14"
+ Width="300" Height="Fit" Margin="2"
+ Foreground="White" BorderWidth="1"
+ Text="editable text"/>
+ <GroupBox Title="Group Box" Width="300" Height="100"
+ Foreground="White" BorderWidth="2" Margin="3">
+ <Label Name="labValue" FontSize="14" Text="000" TextAlignment="Center"/>
+ </GroupBox>
+ <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
+ <GraduatedSlider Name="slider" Height="30" Width="300" Foreground="BlueBell"/>
+ </VerticalStack>
+<!-- <VerticalStack Width="Fit" Height="Fit" BorderWidth="1" Margin="5" WidgetSpacing="4">
+ <Button Width="Fit" Height="Fit" Margin="15">
+ <Image Path="/mnt/data/Images/130px-Blason_ville_fr_Aubure_(Haut-Rhin).svg.png"/>
+ </Button>
+ <HorizontalStack>
+ <Label Text="Update" FontColor="White" VerticalAlignment="Center" />
+ <Label Name="labUpdate" Text="xxxx" FontSize="16" Width="60" TextAlignment="Center" Background="DarkGreen"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Fps:" Width = "30" VerticalAlignment="Center" TextAlignment="Left"/>
+ <Label Name="labFps" Text="xxxx" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Min:" Width = "30" />
+ <Label Name="labFpsMin" Text="xxxx" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Max:" Width = "30"/>
+ <Label Name="labFpsMax" Text="xxxx" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ </VerticalStack>
+
+ <Scroller Background="DimGray" Height="350" Width="300"
+ Margin="5" VerticalScrolling="true">
+ <VerticalStack Name="colors" VerticalAlignment="Top" Margin="5">
+ <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
+ BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
+ </VerticalStack>
+ </Scroller>-->
+
+ </HorizontalStack>
+
+ <Slider
+ Height="20" Width="300"
+ Background="Transparent"
+ VerticalAlignment="Bottom" />
+ </Border>
+</Group>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<Group Name="MainGrp"
+ Width="800" Height="500"
+ Background="0.5,0.5,0.5,0.5" Foreground="White"
+ Margin="10" >
+ <Border Margin="10" CornerRadius="10"
+ Name="mainBorder"
+ BorderWidth="2" Foreground="Transparent"
+ Focusable="True"
+ MouseEnter="{Foreground = White}"
+ MouseLeave="{Foreground = Transparent}">
+ <HorizontalStack WidgetSpacing="1">
+ <VerticalStack Width="Fit">
+ <HorizontalStack WidgetSpacing="1" Fit="true">
+ <VerticalStack Fit="true">
+ <Label Text="{MousePosition}"/>
+ <HorizontalStack Name="hsFocus" Fit="true">
+ <Label Text="Focused:"/>
+ <Label Name="labFocus"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Active:" Name="hsActive"/>
+ <Label Name="labActive"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true">
+ <Label Text="Hover:" Name="hsHover"/>
+ <Label Name="labHover"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <VerticalStack Fit="true">
+ <CheckBox Name="chk1"/>
+ <CheckBox Name="chk2" IsChecked="true"/>
+
+ </VerticalStack>
+ <VerticalStack Fit="true">
+ <RadioButton IsChecked="true"/>
+ <RadioButton/>
+ <Button MouseClick="onButClick"/>
+ </VerticalStack>
+ </HorizontalStack>
+ <TextBox Name="textbox1" TextAlignment="Left" Font="droid,14"
+ Width="200" Height="Fit" Margin="2" Background="White"
+ Forground="Black"
+ Foreground="DimGray" BorderWidth="1"
+ Text="editable text"/>
+ <Popper Width="100">
+ <Border Fit="True" Background="ArmyGreen">
+ <Image Margin="10" Fit="true" Path="#Crow.Images.Icons.tetra.png"/>
+ </Border>
+ </Popper>
+
+ </VerticalStack>
+ <VerticalStack Fit="true" Margin="0" WidgetSpacing="1">
+ <Button Margin="1" Width="150" Height="100">
+ <Image Path="#Tests.image.tetra.png"/>
+ </Button>
+ <Popper Width="100">
+ <Border Fit="True" Background="ArmyGreen">
+ <Image Margin="10" Fit="true" Path="#Crow.Images.Icons.tetra.png"/>
+ </Border>
+ </Popper>
+ <Expandable Name="expander" Width="150" Height="Fit">
+ <VerticalStack Name="vsExpanded" Width="100">
+ <CheckBox Name="chk1"/>
+ <CheckBox Name="chk2" IsChecked="true"/>
+ <CheckBox Name="chk3"/>
+ <CheckBox Name="chk4"/>
+ </VerticalStack>
+ </Expandable>
+ <Expandable Name="expander2" Width="150" Height="Fit">
+ <VerticalStack Name="vsExpanded" Width="100">
+ <CheckBox Name="chk1"/>
+ <CheckBox Name="chk2" IsChecked="true"/>
+ </VerticalStack>
+ </Expandable>
+ <Expandable Name="expander3" Width="150" Height="Fit">
+ <VerticalStack Name="vsExpanded" Width="100">
+ <CheckBox Name="chk1" IsChecked="true"/>
+ <CheckBox Name="chk2"/>
+ </VerticalStack>
+ </Expandable>
+ <HorizontalStack>
+ <Label Text="Update" FontColor="White"/>
+ <Label Name="labUpdate" Text="{update}" FontSize="16" Width="60" TextAlignment="Center" Background="DarkGreen"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Fps:" Width = "30"/>
+ <Label Name="labFps" Text="{fps}" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Min:" Width = "30"/>
+ <Label Name="labFpsMin" Text="{fpsMin}" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ <HorizontalStack>
+ <Label Text="Max:" Width = "30"/>
+ <Label Name="labFpsMax" Text="{fpsMax}" Font="droid bold, 14"
+ TextAlignment="Center" Background="AoEnglish"/>
+ </HorizontalStack>
+ </VerticalStack>
+ <HorizontalStack Width="Fit">
+ <Scroller Name="scroller1" Background="DimGray" Width="Fit"
+ Margin="5" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
+ <VerticalStack Name="colors" VerticalAlignment="Top" Margin="1" Fit="true">
+<!-- <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
+ BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
+ <ProgressBar Width="100" Height="20" Value="{fps}" BorderWidth="2"
+ Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/> -->
+ </VerticalStack>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
+ Orientation="Vertical" Width="10" Height="Stretched"/>
+ </HorizontalStack>
+ </HorizontalStack>
+<!-- <HorizontalStack Name="hs0"
+ WidgetSpacing="1"
+ VerticalAlignment="Top">
+ <Slider Orientation="Vertical" Height="300" Width="10" Background="Transparent" />
+ <VerticalStack Name="vs1" Spacing="5">
+ <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
+ <HorizontalStack WidgetSpacing="10">
+
+
+ <Spinner Width="50" Value="5"></Spinner>
+ </HorizontalStack>
+ <HorizontalStack Name="hsPbar" Margin="5">
+ <ProgressBar Name="pbBar"
+ Width="200" Height="20"
+ Minimum="0"
+ Maximum="200"
+ Value="{fps}"
+ Foreground="BlueCrayola" Background="DarkGray"
+ BorderWidth="2" Foreground="White"/>
+ </HorizontalStack>
+
+ <Button Margin="5" BorderWidth="Stretched" Width="Fit" Height="Fit" HorizontalAlignment="Center">
+ <Label FontSize="18" Text="This is a test" Margin="5" Foreground="Black" />
+ </Button>
+
+ <GroupBox Title="Group Box" Width="300" Height="100"
+ Foreground="White" BorderWidth="2" Margin="3">
+ <Label Name="labValue" FontSize="14" Text="{../../slider.Value}" TextAlignment="Center"/>
+ </GroupBox>
+ <Slider Height="10" Width="300" BorderWidth="1" Background="Transparent" />
+ <GraduatedSlider Name="slider" Height="30" Width="300" Foreground="BlueBell"/>
+ </VerticalStack>
+
+ <HorizontalStack Height="350" Width="Fit">
+ <Scroller Name="scroller1" Background="DimGray" Height="Stretched" Width="Fit"
+ Margin="5" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
+ <VerticalStack Name="colors" VerticalAlignment="Top" Margin="1">
+ <ProgressBar Name="pbBar2" Width="100" Height="20" Value="50"
+ BorderWidth="2" Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
+ <ProgressBar Width="100" Height="20" Value="{fps}" BorderWidth="2"
+ Foreground="White" Foreground="BlueCrayola" Background="DarkGray"/>
+ </VerticalStack>
+ </Scroller>
+ <Scrollbar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
+ Orientation="Vertical" Width="16" />
+ </HorizontalStack>
+ </HorizontalStack>
+-->
+<!-- <Slider
+ Height="20" Width="100"
+ Background="Transparent"
+ VerticalAlignment="Bottom" />-->
+ </Border>
+</Group>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<Border BorderWidth="1" Foreground="White" CornerRadius="10" Width="500" Height="300">
+ <VerticalStack Height="Stretched" Background="0.4,0.4,0.4,0.4">
+ <Border BorderWidth="1" Foreground="White" Height="20" Background="0.1,0.5;1,0,0.5">
+ <HorizontalStack Name="hs" Margin="1" Spacing="1" Height="Fit" >
+ <GraphicObject Width="5"/>
+ <Image Name="Image" Margin="1" Width="12" Height="12" Path="#go.Images.Icons.tetra.png"/>
+ <Label Foreground="White" Width="Stretched" Name="Title" Margin="1" TextAlignment="Center" />
+ <Border CornerRadius="6" BorderWidth="1" Margin="0" Foreground="Transparent" Height="12" Width="12"
+ MouseEnter="{Foreground=White}" MouseLeave="{Foreground=Transparent}">
+ <Image Focusable="true" Name="Image" Margin="0" Width="Stretched" Height="Stretched"
+ Path="#go.Images.Icons.exit2.svg"/>
+ </Border>
+ <GraphicObject Width="5"/>
+ </HorizontalStack>
+ </Border>
+<!-- <Container Name="Content"/>-->
+ <HorizontalStack Spacing="10">
+ <GraphicObject Width="30"/>
+ <Image Name="Image" Width="40" Height="40" Background="Red"
+ Path="#go.Images.Icons.iconInfo.svg" />
+ <Label Font="serif, 12" Width="Stretched" Height="Stretched" Text="MessageBox"
+ Multiline="true" WordWrap="true"/>
+ <GraphicObject Width="30"/>
+ </HorizontalStack>
+ <HorizontalStack Height="Fit" Margin="5">
+ <GraphicObject/>
+ <Button Text="Ok"/>
+ <Button Text="Cancel"/>
+ </HorizontalStack>
+ </VerticalStack>
+</Border>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<Border BorderWidth="2" Fit="true">
+ <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"
+ ItemTemplate="#Tests.Interfaces.colorItem.crow">
+ <Template>
+ <Border BorderWidth="1" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
+ <HorizontalStack Margin="1" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}" >
+ <Scroller Name="scroller1" Height="{../../../HeightPolicy}" Width="{../../../WidthPolicy}"
+ Margin="2" VerticalScrolling="true" ScrollY="{../scrollbar1.Value}"
+ ValueChanged="../../../_scroller_ValueChanged">
+ <VerticalStack Width="{../../../../WidthPolicy}" Height="Fit" MinimumSize="10,10"
+ Name="List" Margin="0"
+ VerticalAlignment="Top"
+ HorizontalAlignment="Left"
+ LayoutChanged="../../../../_list_LayoutChanged"/>
+ </Scroller>
+ <ScrollBar Name="scrollbar1" Value="{../scroller1.ScrollY}"
+ Maximum="{../scroller1.MaximumScroll}" Orientation="Vertical"
+ Width="14" Height="{../../../HeightPolicy}" />
+ </HorizontalStack>
+ </Border>
+ </Template>
+ </ListBox>
+ <HorizontalStack Fit="true" HorizontalAlignment="Right">
+ <Button Caption="Load list" MouseClick="OnLoadList"/>
+ <Button Caption="Clear" MouseClick="OnClear"/>
+ </HorizontalStack>
+ </VerticalStack>
+</Border>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+
+ <VerticalStack Height="Fit" Width="Fit" Name="hstack" Margin="0" Spacing="Stretched">
+ <Border Height="Fit" Width="200" BorderWidth="2" CornerRadius="10">
+ <Label Name="labName" Text="{Name}" Width="Stretched" Height="Fit"/>
+ </Border>
+ <ListBox Data="{GetFileSystemInfos}" Width="Fit" Height="400"
+ Background="0.5,0.5,0.5,0.5"
+ SelectedItemChanged="OnSelectedItemChanged"
+ ItemTemplate="Interfaces/tmpDirItem.goml" >
+ <Template>
+ <Border BorderWidth="1" MinimumSize="20,20" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
+ <HorizontalStack Margin="1" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}">
+ <Scroller Name="scroller1" Height="{../../../HeightPolicy}" Width="{../../../WidthPolicy}"
+ Margin="2" VerticalScrolling="true" ScrollY="{../scrollbar1.Scroll}">
+ <VerticalStack Width="{../../../../WidthPolicy}" Height="Fit" Name="List" Margin="0" VerticalAlignment="Top"/>
+ </Scroller>
+ <Scrollbar Name="scrollbar1" Scroll="{../scroller1.ScrollY}" MaximumScroll="{../scroller1.MaximumScroll}"
+ Orientation="Vertical" Width="10" Height="{../../../HeightPolicy}" />
+ </HorizontalStack>
+ </Border>
+ </Template>
+ </ListBox>
+ </VerticalStack>
--- /dev/null
+<?xml version="1.0"?>
+<FileDialog Width="500" Height="300"/>
+
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack Fit="true">
+ <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="SCALED PROPORTIONNAL" Width="150"/>
+ <Image Width="50%" Height="Fit" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg"/>
+<!-- <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+ <Image Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+ <Image Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />-->
+ </HorizontalStack>
+<!-- <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
+ <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Margin="2" Background="vgradient|0:SkyBlue|1:White" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+ <Image KeepProportions="false" Margin="10" Background="vgradient|0:SkyBlue|1:White" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+ </HorizontalStack>
+ <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="UNSCALED" Width="150"/>
+ <Image Scaled="false" Background="Blue" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Margin="10" Background="Blue" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+ <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Tests.image.crow0.svg" />
+ </HorizontalStack>
+ <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="SCALED PROPORTIONNAL" Width="150"/>
+ <Image Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="SCALED NOT PROPORTIONNAL" Width="150"/>
+ <Image KeepProportions="false" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image KeepProportions="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ </HorizontalStack>
+ <HorizontalStack Fit="true" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Label Text="UNSCALED" Width="150"/>
+ <Image Scaled="false" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Margin="10" Background="Blue" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Margin="2" Background="Blue" Width="20" Height="20" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="100" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Margin="10" Background="Blue" Width="100" Height="50" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ <Image Scaled="false" Margin="10" Background="Blue" Width="50" Height="Fit" Path="#Crow.Images.Icons.tetra.png"/>
+ </HorizontalStack>
+ <HorizontalStack Width="Fit" Height="100" Background="hgradient|0:DarkRed|1:Transparent" Margin="5">
+ <Image Background="Blue" Path="#Tests.image.crow0.svg" />
+ <Image Margin="10" Background="White" Path="#Tests.image.crow0.svg" />
+ <Image Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
+ <Image Margin="1" Background="White" Width="20" Height="10" Path="#Tests.image.crow0.svg" />
+ </HorizontalStack>-->
+</VerticalStack>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack>
+ <TextRun Multiline="true" WordWrap="true" Width="Stretched" Height="100" Background="DimGray"
+ Text="This is a long text to test text wrapping, and so here is another statement to add to this meaningless text only designed to make a small test" />
+ <Label Name="labFps" Text="{fps}" Font="droid bold, 12" TextAlignment="Center" Background="AoEnglish" />
+</VerticalStack>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<MessageBox Title="message" Message="this is a message box"
+ Ok="onMsgBoxOk"
+ Cancel="onMsgBoxCancel"/>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+<Container Width="200" Height="100" Background="DimGray" Margin="5">
+ <Container Width="Stretched" Height="300" Background="DarkBlue">
+ <Label Text="{fps}" Background="BlueCrayola" VerticalAlignment="Center"/>
+ </Container>
+</Container>
--- /dev/null
+<?xml version="1.0"?>
+<VerticalStack Width="200" Height="Fit" Margin="20" Background="DimGray">
+ <RadioButton Caption="Radio1"/>
+ <RadioButton Caption="Radio2" IsChecked="true"/>
+ <RadioButton Caption="Radio3"/>
+ <RadioButton Caption="Radio4">
+ <Template>
+ <HorizontalStack Spacing="1" Height="{../HeightPolicy}" Width="{../WidthPolicy}">
+ <Image Margin="2" Width="14" Height="14" Path="{../../Image}" SvgSub="{../../SvgSub}"/>
+ <Label Text="{../../Caption}" Height="{../../HeightPolicy}" Width="{../../WidthPolicy}"/>
+ </HorizontalStack>
+ </Template>
+ </RadioButton>
+</VerticalStack>
+
--- /dev/null
+<?xml version="1.0" encoding="UTF-8" ?>
+<HorizontalStack Fit="true">
+ <VerticalStack Fit="true">
+ <TabView Name="tabview1"
+ Width="400" Height="200" Orientation="Horizontal" Spacing="20">
+ <TabItem Name="TabItem1" Caption="tab item 1" Margin="0">
+ <VerticalStack Fit="true">
+ <CheckBox/>
+ <CheckBox/>
+ <CheckBox/>
+ <CheckBox/>
+ </VerticalStack>
+ </TabItem>
+ <TabItem Name="TabItem2" Caption="tab item 2" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
+ <VerticalStack Fit="true">
+ <RadioButton/>
+ <RadioButton/>
+ <RadioButton/>
+ <RadioButton/>
+ </VerticalStack>
+ </TabItem>
+ <TabItem Name="TabItem2" Caption="tab item 3" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
+ <Container Margin="5" CornerRadius="2" Width="Stretched" Height="Stretched">
+ <TextBox Margin="5" Width="Stretched" Height="Stretched" Multiline="true" TextAlignment="TopLeft"/>
+ </Container>
+ </TabItem>
+ <TabItem Name="TabItem2" Caption="tab item 4" Width="Stretched" Height="Stretched" Margin="0" Background="Gray">
+ <TextBox/>
+ </TabItem>
+ </TabView>
+ <Button Background="vgradient|0:DimGray|1:Black" HorizontalAlignment="Right"
+ Caption="Add new tab" Width="Fit" Height="30" MouseClick="onAddTabButClick"/>
+ </VerticalStack>
+</HorizontalStack>
+
--- /dev/null
+<?xml version="1.0"?>
+<TreeView Height="400" Width="200" Data="{List2}" ItemTemplate="#Crow.Templates.TreeViewItem.crow"/>
\ No newline at end of file
--- /dev/null
+<?xml version="1.0"?>
+
+ <VerticalStack Height="Fit" Width="250" Name="hstack" Margin="0" Spacing="0">
+ <Border Height="Fit" Width="Stretched" BorderWidth="2" CornerRadius="10" Background="SteelBlue">
+ <Label Name="labName" Text="{Name}" Width="Stretched" Height="Fit" Margin="3"/>
+ </Border>
+ <ListBox Data="{Members}" Width="Stretched" Height="400" ItemTemplate="Interfaces/tmpMembers.goml" Focusable="true">
+
+ </ListBox>
+ </VerticalStack>
<OutputType>Exe</OutputType>
<RootNamespace>Tests</RootNamespace>
<AssemblyName>Tests</AssemblyName>
- <StartupObject>Tests.HelloCube</StartupObject>
+ <StartupObject>Tests.BasicTests</StartupObject>
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ReleaseVersion>0.4</ReleaseVersion>
<OutputPath>$(SolutionDir)build/$(Configuration)</OutputPath>
<IntermediateOutputPath>$(SolutionDir)build/obj/$(Configuration)</IntermediateOutputPath>
- <CustomCommands>
+ <CustomCommands>
<CustomCommands>
<Command type="Execute" command="${TargetName}" workingdir="${SolutionDir}/build/${ProjectConfigName}" />
</CustomCommands>
- </CustomCommands>
+ </CustomCommands>
+ <SynchReleaseVersion>false</SynchReleaseVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
</Reference>
<Reference Include="glib-sharp">
<HintPath>$(SolutionDir)packages\GtkSharp.3.1.3\lib\net45\glib-sharp.dll</HintPath>
+ <Package>glib-sharp-3.0</Package>
</Reference>
<Reference Include="OpenTK">
<HintPath>$(SolutionDir)packages\OpenTK.Next.1.2.2336.6514-pre\lib\net20\OpenTK.dll</HintPath>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)packages\GtkSharp.3.1.3\build\net45\GtkSharp.targets" Condition="Exists('$(SolutionDir)packages\GtkSharp.3.1.3\build\net45\GtkSharp.targets')" />
<ItemGroup>
- <Compile Include="Interfaces\testBorder.goml.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="BasicTests.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="OpenGL\Shader.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="OpenGL\vaoMesh.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="OpenTKGameWindow.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="OpenGL\Texture.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="HelloWorld.cs">
- <LogicalName></LogicalName>
- </Compile>
- <Compile Include="HelloCube.cs">
- <LogicalName></LogicalName>
- </Compile>
+ <Compile Include="Interfaces\testBorder.goml.cs" />
+ <Compile Include="BasicTests.cs" />
+ <Compile Include="OpenGL\Shader.cs" />
+ <Compile Include="OpenGL\vaoMesh.cs" />
+ <Compile Include="OpenTKGameWindow.cs" />
+ <Compile Include="OpenGL\Texture.cs" />
+ <Compile Include="HelloWorld.cs" />
+ <Compile Include="HelloCube.cs" />
</ItemGroup>
<ItemGroup>
<None Include="image\u.svg">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\log.xml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\testMeter.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\tmpMembers.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\itemTmp.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\tmpDirItem.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\5.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\6.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\basicTests\7.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\GraphicObject\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\GraphicObject\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\GraphicObject\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Container\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Container\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Container\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\3.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Container\3.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Group\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Group\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Group\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Group\3.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Group\4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\0h.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\1h.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\2h.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\3h.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Stack\4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\5.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\6.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\clip0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\clip1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\clip2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\clip3.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\clip4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\fps.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test_Listbox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test_stack.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test1.1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test1.2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test2WayBinding.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test3.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test5.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\test7.crow">
<LogicalName>Tests.Interfaces.test7.goml</LogicalName>
</None>
<None Include="Interfaces\Divers\testAll.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testBorder.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testButton.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testCheckbox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testCombobox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testContainer.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testGrid.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testGroupBox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testHStack.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testPopper.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testRadioButton.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testScrollbar.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testSpinner.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testStacks.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testTextBox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testWindow.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testWindow2.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
<None Include="Interfaces\Divers\testWindow3.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testColorList.crow">
+ <None Include="Interfaces\Expandable\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\test4.crow">
+ <None Include="Interfaces\Expandable\0.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\test6.crow">
+ <None Include="Interfaces\Expandable\7.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\test4.1.crow">
+ <None Include="Interfaces\Expandable\2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testMsgBox.crow">
+ <None Include="Interfaces\Splitter\1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testOutOfClipUpdate.crow">
+ <None Include="OpenTK.dll.config" />
+ <None Include="image\textest.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testFileDialog.goml">
+ <None Include="Interfaces\Divers\welcome.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testImage.crow">
+ <None Include="packages.config" />
+ <None Include="Interfaces\Unsorted\testColorList.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testDirViewer.crow">
+ <None Include="Interfaces\Unsorted\test4.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testTabView.crow">
+ <None Include="Interfaces\Unsorted\test6.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testTypeViewer.goml">
+ <None Include="Interfaces\Unsorted\test4.1.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testLabel.crow">
+ <None Include="Interfaces\Unsorted\testMsgBox.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testRadioButton2.crow">
+ <None Include="Interfaces\Unsorted\testOutOfClipUpdate.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Expandable\1.crow">
+ <None Include="Interfaces\Unsorted\testFileDialog.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Expandable\0.crow">
+ <None Include="Interfaces\Unsorted\testImage.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Expandable\7.crow">
+ <None Include="Interfaces\Unsorted\testDirViewer.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Expandable\2.crow">
+ <None Include="Interfaces\Unsorted\testTabView.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Nouveau dossier\testTreeView.crow">
+ <None Include="Interfaces\Unsorted\testTypeViewer.goml">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Splitter\1.crow">
+ <None Include="Interfaces\Unsorted\testLabel.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="OpenTK.dll.config">
- <LogicalName></LogicalName>
- </None>
- <None Include="image\textest.png">
+ <None Include="Interfaces\Unsorted\testRadioButton2.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
</None>
- <None Include="Interfaces\Divers\welcome.crow">
+ <None Include="Interfaces\Unsorted\testTreeView.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
- <LogicalName></LogicalName>
- </None>
- <None Include="packages.config">
- <LogicalName></LogicalName>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="Interfaces\GraphicObject\" />
<Folder Include="Interfaces\Group\" />
<Folder Include="Interfaces\Divers\" />
- <Folder Include="Interfaces\Nouveau dossier\" />
<Folder Include="Interfaces\Expandable\" />
<Folder Include="Interfaces\Splitter\" />
+ <Folder Include="Interfaces\Unsorted\" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="image\tetra.png">
--- /dev/null
+BlueLabel {
+ Background = Blue;
+}
using System.ComponentModel;
using System.Diagnostics;
using System.Xml.Serialization;
+using System;
namespace Crow
{
contentSize.Width += go.Slot.Width - go.LastSlots.Width;
if (stretchedGO != null) {
- stretchedGO.Slot.Width = this.ClientRectangle.Width - contentSize.Width - Spacing * (Children.Count - 1);
- stretchedGO.bmp = null;
+ int newW = Math.Max (
+ this.ClientRectangle.Width - contentSize.Width - Spacing * (Children.Count - 1),
+ stretchedGO.MinimumSize.Width);
+ if (stretchedGO.MaximumSize.Width > 0)
+ newW = Math.Min (newW, stretchedGO.MaximumSize.Width);
+ if (newW != stretchedGO.Slot.Width) {
+ stretchedGO.Slot.Width = newW;
+ stretchedGO.bmp = null;
#if DEBUG_LAYOUTING
Debug.WriteLine ("\tAdjusting Width of " + stretchedGO.ToString());
#endif
- stretchedGO.LayoutChanged -= OnChildLayoutChanges;
- stretchedGO.OnLayoutChanges (LayoutingType.Width);
- stretchedGO.LayoutChanged += OnChildLayoutChanges;
- stretchedGO.LastSlots.Width = stretchedGO.Slot.Width;
+ stretchedGO.LayoutChanged -= OnChildLayoutChanges;
+ stretchedGO.OnLayoutChanges (LayoutingType.Width);
+ stretchedGO.LayoutChanged += OnChildLayoutChanges;
+ stretchedGO.LastSlots.Width = stretchedGO.Slot.Width;
+ }
}
if (Width == Measure.Fit)
contentSize.Height += go.Slot.Height - go.LastSlots.Height;
if (stretchedGO != null) {
- stretchedGO.Slot.Height = this.ClientRectangle.Height - contentSize.Height - Spacing * (Children.Count -1);
- stretchedGO.bmp = null;
+ int newH = Math.Max (
+ this.ClientRectangle.Height - contentSize.Height - Spacing * (Children.Count - 1),
+ stretchedGO.MinimumSize.Height);
+ if (stretchedGO.MaximumSize.Height > 0)
+ newH = Math.Min (newH, stretchedGO.MaximumSize.Height);
+ if (newH != stretchedGO.Slot.Height) {
+ stretchedGO.Slot.Height = newH;
+ stretchedGO.bmp = null;
#if DEBUG_LAYOUTING
Debug.WriteLine ("\tAdjusting Width of " + stretchedGO.ToString());
#endif
- stretchedGO.LayoutChanged -= OnChildLayoutChanges;
- stretchedGO.OnLayoutChanges (LayoutingType.Height);
- stretchedGO.LayoutChanged += OnChildLayoutChanges;
- stretchedGO.LastSlots.Height = stretchedGO.Slot.Height;
+ stretchedGO.LayoutChanged -= OnChildLayoutChanges;
+ stretchedGO.OnLayoutChanges (LayoutingType.Height);
+ stretchedGO.LayoutChanged += OnChildLayoutChanges;
+ stretchedGO.LastSlots.Height = stretchedGO.Slot.Height;
+ }
}
if (Height == Measure.Fit)
return;
_background = value;
NotifyValueChanged ("Background", _background);
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
}
}
[XmlAttributeAttribute()][DefaultValue("White")]
return;
_foreground = value;
NotifyValueChanged ("Foreground", _foreground);
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
}
}
[XmlAttributeAttribute()][DefaultValue("sans,10")]
return;
_cornerRadius = value;
NotifyValueChanged ("CornerRadius", _cornerRadius);
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
}
}
[XmlAttributeAttribute()][DefaultValue(0)]
return;
//ensure main win doesn't keep hidden childrens ref
- if (!_isVisible && this.Contains (Interface.CurrentInterface.hoverWidget))
- Interface.CurrentInterface.hoverWidget = null;
+ if (!_isVisible && this.Contains (Interface.CurrentInterface.HoverWidget))
+ Interface.CurrentInterface.HoverWidget = null;
if (Parent is GraphicObject)
(Parent as GraphicObject).RegisterForLayouting (LayoutingType.Sizing);
// those files being placed in a Styles folder
string styleKey = Style;
if (!string.IsNullOrEmpty (Style)) {
- if (Interface.CurrentInterface.Styling.ContainsKey (Style)) {
- styling.Add (Interface.CurrentInterface.Styling [Style]);
+ if (Interface.Styling.ContainsKey (Style)) {
+ styling.Add (Interface.Styling [Style]);
}
}
- if (Interface.CurrentInterface.Styling.ContainsKey (thisType.FullName)) {
- styling.Add (Interface.CurrentInterface.Styling [thisType.FullName]);
+ if (Interface.Styling.ContainsKey (thisType.FullName)) {
+ styling.Add (Interface.Styling [thisType.FullName]);
if (string.IsNullOrEmpty (styleKey))
styleKey = thisType.FullName;
}
- if (Interface.CurrentInterface.Styling.ContainsKey (thisType.Name)) {
- styling.Add (Interface.CurrentInterface.Styling [thisType.Name]);
+ if (Interface.Styling.ContainsKey (thisType.Name)) {
+ styling.Add (Interface.Styling [thisType.Name]);
if (string.IsNullOrEmpty (styleKey))
styleKey = thisType.Name;
}
if (Parent != null)
Parent.RegisterClip (clip + Slot.Position + ClientRectangle.Position);
}
- public bool IsQueueForGraphicUpdate = false;
- /// <summary>
- /// Clear chached object and add clipping region in redraw list of interface
- /// </summary>
+ public bool IsQueueForRedraw = false;
+ /// <summary> Full update, taking care of sizing policy </summary>
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
public void RegisterForGraphicUpdate ()
{
- Interface.RegisterForGraphicUpdate (this);
+ bmp = null;
+ if (Width == Measure.Fit || Height == Measure.Fit)
+ RegisterForLayouting (LayoutingType.Sizing);
+ Interface.CurrentInterface.EnqueueForRepaint (this);
+ }
+ /// <summary> query an update of the content, a redraw </summary>
+ [MethodImpl(MethodImplOptions.AggressiveInlining)]
+ public void RegisterForRedraw ()
+ {
+ bmp = null;
+ Interface.CurrentInterface.EnqueueForRepaint (this);
}
-
#region Layouting
[XmlIgnore]public int LayoutingTries {
get { return layoutingTries; }
//if no layouting remains in queue for item, registre for redraw
if (this.registeredLayoutings == LayoutingType.None && bmp == null)
- RegisterForGraphicUpdate ();
+ Interface.CurrentInterface.EnqueueForRepaint (this);
return true;
}
}
public virtual void checkHoverWidget(MouseMoveEventArgs e)
{
- if (Interface.CurrentInterface.hoverWidget != this) {
- Interface.CurrentInterface.hoverWidget = this;
+ if (Interface.CurrentInterface.HoverWidget != this) {
+ Interface.CurrentInterface.HoverWidget = this;
onMouseEnter (this, e);
}
#region Mouse handling
public override void checkHoverWidget (MouseMoveEventArgs e)
{
- if (Interface.CurrentInterface.hoverWidget != this) {
- Interface.CurrentInterface.hoverWidget = this;
+ if (Interface.CurrentInterface.HoverWidget != this) {
+ Interface.CurrentInterface.HoverWidget = this;
onMouseEnter (this, e);
}
for (int i = Children.Count - 1; i >= 0; i--) {
return;
selColor = value;
NotifyValueChanged ("SelectionBackground", selColor);
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
}
}
[XmlAttributeAttribute][DefaultValue("White")]
return;
selFontColor = value;
NotifyValueChanged ("SelectionForeground", selFontColor);
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
}
}
[XmlAttributeAttribute][DefaultValue(Alignment.Left)]
if (value == _textAlignment)
return;
_textAlignment = value;
- RegisterForGraphicUpdate ();
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
NotifyValueChanged ("TextAlignment", _textAlignment);
}
}
if (horizontalStretch == value)
return;
horizontalStretch = value;
- RegisterForGraphicUpdate ();
+ RegisterForRedraw ();
NotifyValueChanged ("HorizontalStretch", horizontalStretch);
}
}
if (verticalStretch == value)
return;
verticalStretch = value;
+ RegisterForRedraw ();
NotifyValueChanged ("VerticalStretch", verticalStretch);
-
}
}
[XmlAttributeAttribute][DefaultValue("label")]
lines = getLines;
- this.RegisterForGraphicUpdate ();
- this.RegisterForLayouting (LayoutingType.Sizing);
NotifyValueChanged ("Text", _text);
+ this.RegisterForGraphicUpdate ();
}
}
[XmlAttributeAttribute][DefaultValue(false)]
using (Stream stream = Interface.GetStreamFromPath (ItemTemplate))
stream.CopyTo (templateStream);
}
- templateBaseType = Interface.GetTopContainerOfGOMLStream (templateStream);
+ templateBaseType = Interface.GetTopContainerOfXMLStream (templateStream);
}
lock (Interface.CurrentInterface.UpdateMutex) {
#region Mouse handling
public override void checkHoverWidget (MouseMoveEventArgs e)
{
- if (Interface.CurrentInterface.hoverWidget != this) {
- Interface.CurrentInterface.hoverWidget = this;
+ if (Interface.CurrentInterface.HoverWidget != this) {
+ Interface.CurrentInterface.HoverWidget = this;
onMouseEnter (this, e);
}
{
#region CTOR
static Interface(){
- Interface.LoadCursors ();
+ LoadCursors ();
+ LoadStyling ();
FontRenderingOptions = new FontOptions ();
FontRenderingOptions.Antialias = Antialias.Subpixel;
}
public Interface(){
Interface.CurrentInterface = this;
- LoadStyling ();
}
#endregion
#region Static and constants
- internal bool XmlLoading = false;
/// <summary> keep ressource path for debug msg </summary>
internal static string CurrentGOMLPath = "";
//used in templatedControl
public static FontOptions FontRenderingOptions;
#endregion
+ internal bool XmlLoading = false;
+
public Queue<LayoutingQueueItem> LayoutingQueue = new Queue<LayoutingQueueItem> ();
- public Queue<GraphicObject> GraphicUpdateQueue = new Queue<GraphicObject>();
- public Dictionary<string, Dictionary<string, object>> Styling;
- public string Clipboard;
- public static void RegisterForGraphicUpdate(GraphicObject g)
+ public Queue<GraphicObject> DrawingQueue = new Queue<GraphicObject>();
+ public string Clipboard;//TODO:use object instead for complex copy paste
+ public void EnqueueForRepaint(GraphicObject g)
{
- lock (CurrentInterface.GraphicUpdateQueue) {
- if (g.IsQueueForGraphicUpdate)
- return;
- if (CurrentInterface == null)
+ lock (DrawingQueue) {
+ if (g.IsQueueForRedraw)
return;
- CurrentInterface.GraphicUpdateQueue.Enqueue (g);
- g.IsQueueForGraphicUpdate = true;
+ DrawingQueue.Enqueue (g);
+ g.IsQueueForRedraw = true;
}
}
- #region default values loading helpers
+ #region default values and style loading
/// Default values of properties from GraphicObjects are retrieve from XML Attributes.
/// The reflexion process used to retrieve those values being very slow, it is compiled in MSIL
/// and injected as a dynamic method referenced in the DefaultValuesLoader Dictionnary.
/// The compilation is done on the first object instancing, and is also done for custom widgets
public delegate void loadDefaultInvoker(object instance);
public static Dictionary<String, loadDefaultInvoker> DefaultValuesLoader = new Dictionary<string, loadDefaultInvoker>();
- #endregion
+ public static Dictionary<string, Dictionary<string, object>> Styling;
+ /// <summary> parse all styling data's and build global Styling Dictionary </summary>
+ static void LoadStyling() {
+ System.Globalization.CultureInfo savedCulture = Thread.CurrentThread.CurrentCulture;
+ Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
+
+ Styling = new Dictionary<string, Dictionary<string, object>> ();
- public static void LoadCursors(){
+ //fetch styling info in this order, if member styling is alreadey referenced in previous
+ //assembly, it's ignored.
+ loadStylingFromAssembly (Assembly.GetEntryAssembly ());
+ loadStylingFromAssembly (Assembly.GetExecutingAssembly ());
+
+ Thread.CurrentThread.CurrentCulture = savedCulture;
+ }
+ /// <summary> Search for .style resources in assembly </summary>
+ static void loadStylingFromAssembly (Assembly assembly) {
+ foreach (string s in assembly
+ .GetManifestResourceNames ()
+ .Where (r => r.EndsWith (".style", StringComparison.OrdinalIgnoreCase))) {
+ new StyleReader (assembly, s)
+ .Dispose ();
+ }
+ }
+ static void LoadCursors(){
//Load cursors
XCursor.Cross = XCursorFile.Load("#Crow.Images.Icons.Cursors.cross").Cursors[0];
XCursor.Default = XCursorFile.Load("#Crow.Images.Icons.Cursors.arrow").Cursors[0];
XCursor.H = XCursorFile.Load("#Crow.Images.Icons.Cursors.sb_h_double_arrow").Cursors[0];
XCursor.V = XCursorFile.Load("#Crow.Images.Icons.Cursors.sb_v_double_arrow").Cursors[0];
}
+ #endregion
+
#region Load/Save
public static Stream GetStreamFromPath (string path)
/// Pre-read first node to set GraphicObject class for loading
/// and reset stream position to 0
/// </summary>
- public static Type GetTopContainerOfGOMLStream (Stream stream)
+ public static Type GetTopContainerOfXMLStream (Stream stream)
{
string root = "Object";
stream.Seek (0, SeekOrigin.Begin);
CurrentGOMLPath = path;
GraphicObject tmp = null;
using (Stream stream = GetStreamFromPath (path)) {
- tmp = Load(stream, GetTopContainerOfGOMLStream(stream), hostClass);
+ tmp = Load(stream, GetTopContainerOfXMLStream(stream), hostClass);
}
Interface.XmlLoaderCount --;
return tmp;
}
}
-
- public void LoadStyling() {
- System.Globalization.CultureInfo savedCulture = Thread.CurrentThread.CurrentCulture;
- Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
-
- Styling = new Dictionary<string, Dictionary<string, object>> ();
-
- //fetch styling info in this order, if member styling is alreadey referenced in previous
- //assembly, it's ignored.
- loadStylingFromAssembly (Assembly.GetEntryAssembly ());
- loadStylingFromAssembly (Assembly.GetExecutingAssembly ());
-
- Thread.CurrentThread.CurrentCulture = savedCulture;
- }
-
- void loadStylingFromAssembly (Assembly assembly) {
- foreach (string s in assembly
- .GetManifestResourceNames ()
- .Where (r => r.EndsWith (".style", StringComparison.OrdinalIgnoreCase))) {
-
- StyleReader sr = new StyleReader (assembly, s);
- sr.Dispose ();
- }
- }
#endregion
#if MEASURE_TIME
#endif
public List<GraphicObject> GraphicTree = new List<GraphicObject>();
- public Color Background = Color.Transparent;
- internal static Interface currentWindow;
public static Interface CurrentInterface;
- Rectangles _redrawClip = new Rectangles();//should find another way to access it from child
+ Rectangles _redrawClip = new Rectangles();
Context ctx;
Surface surf;
#endif
}
}
- public GraphicObject hoverWidget
+ public GraphicObject HoverWidget
{
get { return _hoverWidget; }
set {
processDrawing ();
Monitor.Exit (UpdateMutex);
-
- // if (ToolTip.isVisible) {
- // ToolTip.panel.processkLayouting();
- // if (ToolTip.panel.layoutIsValid)
- // ToolTip.panel.Paint(ref ctx);
- // }
- // Debug.WriteLine("INTERFACE: layouting: {0} ticks \t graphical update {1} ticks \t drawing {2} ticks",
- // layoutTime.ElapsedTicks,
- // guTime.ElapsedTicks,
- // drawingTime.ElapsedTicks);
- // Debug.WriteLine("INTERFACE: layouting: {0} ms \t graphical update {1} ms \t drawing {2} ms",
- // layoutTime.ElapsedMilliseconds,
- // guTime.ElapsedMilliseconds,
- // drawingTime.ElapsedMilliseconds);
-
- // Debug.WriteLine("UPDATE: {0} ticks \t, {1} ms",
- // updateTime.ElapsedTicks,
- // updateTime.ElapsedMilliseconds);
}
void processLayouting(){
#if MEASURE_TIME
#if MEASURE_TIME
clippingTime.Restart ();
#endif
- lock (CurrentInterface.GraphicUpdateQueue) {
- while (CurrentInterface.GraphicUpdateQueue.Count > 0) {
- GraphicObject g = CurrentInterface.GraphicUpdateQueue.Dequeue ();
- g.bmp = null;
- g.IsQueueForGraphicUpdate = false;
+ lock (CurrentInterface.DrawingQueue) {
+ while (CurrentInterface.DrawingQueue.Count > 0) {
+ GraphicObject g = CurrentInterface.DrawingQueue.Dequeue ();
+ g.IsQueueForRedraw = false;
try {
if (g.Parent == null)
continue;
g.Parent.RegisterClip (g.LastPaintedSlot);
- g.Parent.RegisterClip (g.getSlot ());
+ if (g.getSlot () != g.LastPaintedSlot)
+ g.Parent.RegisterClip (g.getSlot ());
} catch (Exception ex) {
Debug.WriteLine ("Error Register Clip: " + ex.ToString ());
}
{
GraphicTree.Remove(g);
GraphicTree.Insert(0, g);
- //g.registerClipRect ();
+ EnqueueForRepaint (g);
}
}
/// <summary> Remove all Graphic objects from top container </summary>
return true;
}
- if (hoverWidget != null) {
+ if (HoverWidget != null) {
//TODO, ensure object is still in the graphic tree
//check topmost graphicobject first
- GraphicObject tmp = hoverWidget;
+ GraphicObject tmp = HoverWidget;
GraphicObject topc = null;
while (tmp is GraphicObject) {
topc = tmp;
int i = 0;
while (i < idxhw) {
if (GraphicTree [i].MouseIsIn (e.Position)) {
- hoverWidget.onMouseLeave (this, e);
+ HoverWidget.onMouseLeave (this, e);
GraphicTree [i].checkHoverWidget (e);
return true;
}
}
- if (hoverWidget.MouseIsIn (e.Position)) {
- hoverWidget.checkHoverWidget (e);
+ if (HoverWidget.MouseIsIn (e.Position)) {
+ HoverWidget.checkHoverWidget (e);
return true;
} else {
- hoverWidget.onMouseLeave (this, e);
+ HoverWidget.onMouseLeave (this, e);
//seek upward from last focused graph obj's
- while (hoverWidget.Parent as GraphicObject != null) {
- hoverWidget = hoverWidget.Parent as GraphicObject;
- if (hoverWidget.MouseIsIn (e.Position)) {
- hoverWidget.checkHoverWidget (e);
+ while (HoverWidget.Parent as GraphicObject != null) {
+ HoverWidget = HoverWidget.Parent as GraphicObject;
+ if (HoverWidget.MouseIsIn (e.Position)) {
+ HoverWidget.checkHoverWidget (e);
return true;
} else
- hoverWidget.onMouseLeave (this, e);
+ HoverWidget.onMouseLeave (this, e);
}
}
}
return true;
}
}
- hoverWidget = null;
+ HoverWidget = null;
return false;
}
public bool ProcessMouseButtonUp(int button)
Mouse.EnableBit (button);
MouseButtonEventArgs e = new MouseButtonEventArgs () { Mouse = Mouse };
- if (hoverWidget == null)
+ if (HoverWidget == null)
return false;
- hoverWidget.onMouseDown(hoverWidget,new BubblingMouseButtonEventArg(e));
+ HoverWidget.onMouseDown(HoverWidget,new BubblingMouseButtonEventArg(e));
if (FocusedWidget == null)
return true;
Mouse.SetScrollRelative (0, delta);
MouseWheelEventArgs e = new MouseWheelEventArgs () { Mouse = Mouse, DeltaPrecise = delta };
- if (hoverWidget == null)
+ if (HoverWidget == null)
return false;
- hoverWidget.onMouseWheel (this, e);
+ HoverWidget.onMouseWheel (this, e);
return true;
}
public StyleReader (Assembly assembly, string resId)
: base(assembly.GetManifestResourceStream (resId))
{
- Interface iface = Interface.CurrentInterface;
string styleKey = resId.Substring (0, resId.Length - 6);
string token = "";
List<string> targetsClasses = new List<string> ();
string expression = token.Trim ();
foreach (string tc in targetsClasses) {
- if (!iface.Styling.ContainsKey (tc))
- iface.Styling [tc] = new Dictionary<string, object> ();
- else if (iface.Styling [tc].ContainsKey (currentProperty))
+ if (!Interface.Styling.ContainsKey (tc))
+ Interface.Styling [tc] = new Dictionary<string, object> ();
+ else if (Interface.Styling [tc].ContainsKey (currentProperty))
continue;
- iface.Styling [tc] [currentProperty] = expression;
+ Interface.Styling [tc] [currentProperty] = expression;
}
token = "";
}