aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-18 20:03:36 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2018-02-18 20:03:36 +0100
commitac3e60a3c49a2a1175564fbc994d3aed47c6bfb4 (patch)
tree64d5dd3ef06d608970a6f2d61e5442dc2fd73b28
parent3f84c4647e1adfb4da0415945113a70371b7527e (diff)
'/' handling to start at current node in BindingMember, test drag and drop
-rw-r--r--Tests/BasicTests.cs5
-rwxr-xr-xTests/Interfaces/DragAndDrop/0.crow26
-rw-r--r--Tests/Tests.csproj4
-rw-r--r--src/GraphicObjects/GraphicObject.cs6
-rw-r--r--src/IML/BindingMember.cs4
5 files changed, 32 insertions, 13 deletions
diff --git a/Tests/BasicTests.cs b/Tests/BasicTests.cs
index 3bfd16e8..8c851286 100644
--- a/Tests/BasicTests.cs
+++ b/Tests/BasicTests.cs
@@ -167,8 +167,9 @@ namespace Tests
//testFiles = new string [] { @"Interfaces/Divers/welcome.crow" };
//testFiles = new string [] { @"Interfaces/TemplatedContainer/testTabView.crow" };
//testFiles = new string [] { @"Interfaces/TemplatedControl/testSpinner.crow" };
- //testFiles = new string [] { @"Interfaces/GraphicObject/testCtxMenu.crow" };
- testFiles = new string [] { @"Interfaces/TemplatedControl/testItemTemplateTag.crow" };
+ testFiles = new string [] { @"Interfaces/DragAndDrop/0.crow" };
+ //testFiles = new string [] { @"Interfaces/TemplatedControl/testItemTemplateTag.crow" };
+ testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/DragAndDrop", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Divers", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/GraphicObject", "*.crow")).ToArray ();
testFiles = testFiles.Concat (Directory.GetFiles (@"Interfaces/Container", "*.crow")).ToArray ();
diff --git a/Tests/Interfaces/DragAndDrop/0.crow b/Tests/Interfaces/DragAndDrop/0.crow
index 63290f9e..a9c11334 100755
--- a/Tests/Interfaces/DragAndDrop/0.crow
+++ b/Tests/Interfaces/DragAndDrop/0.crow
@@ -1,9 +1,19 @@
<?xml version="1.0"?>
-<VerticalStack MinimumSize="50,50" Background="Onyx" Margin="10" Width="90%" Height="90%">
- <GraphicObject Margin="10" Width="Stretched" Height="Fit" Background="Mantis"
- MinimumSize="10,10"/>
- <GraphicObject Margin="10" Width="Stretched" Height="Fit" Background="Mantis"
- MinimumSize="10,10"/>
- <GraphicObject Margin="10" Width="Stretched" Height="Fit" Background="Mantis"
- MinimumSize="10,10"/>
-</VerticalStack> \ No newline at end of file
+<HorizontalStack Background="Onyx" Margin="10" Width="90%" Height="90%" Spacing="100" Focusable="true">
+ <Container StartDrag="{Background=Yellow}" EndDrag="{Background=Mantis}" Focusable="true" Fit="true"
+ MouseEnter="{/txt.Foreground=Red;Background=Blue}" MouseLeave="{/txt.Foreground=White}"
+ AllowDrag="true" Width="200" Height="200" Background="Mantis">
+ <VerticalStack Margin="50">
+ <Label Name="txt" Text="Drag me" Foreground="Gray"/>
+ <Label Text="Dragged" Visible="{/IsDragged}"/>
+ </VerticalStack>
+ </Container>
+ <Container StartDrag="{Background=Yellow}" EndDrag="{Background=Mantis}" Focusable="true" Fit="true"
+ MouseEnter="{/txt.Foreground=Red}" MouseLeave="{/txt.Foreground=White}"
+ AllowDrop="true" Background="Mantis">
+ <VerticalStack Margin="50">
+ <Label Name="txt" Text="Drop here" Foreground="Gray"/>
+ <Label Text="Dragged" Visible="{/IsDragged}"/>
+ </VerticalStack>
+ </Container>
+</HorizontalStack> \ No newline at end of file
diff --git a/Tests/Tests.csproj b/Tests/Tests.csproj
index fb384de9..e5cccb5c 100644
--- a/Tests/Tests.csproj
+++ b/Tests/Tests.csproj
@@ -365,6 +365,9 @@
<None Include="Interfaces\GraphicObject\testCtxMenu.crow">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
+ <None Include="Interfaces\DragAndDrop\0.crow">
+ <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
+ </None>
</ItemGroup>
<ItemGroup>
<Folder Include="Interfaces\" />
@@ -380,6 +383,7 @@
<Folder Include="Interfaces\TemplatedGroup\" />
<Folder Include="GraphicObjects\" />
<Folder Include="Tutorials\" />
+ <Folder Include="Interfaces\DragAndDrop\" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="image\tetra.png">
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs
index aca7032e..ef2e0197 100644
--- a/src/GraphicObjects/GraphicObject.cs
+++ b/src/GraphicObjects/GraphicObject.cs
@@ -317,7 +317,8 @@ namespace Crow
public event EventHandler Enabled;
/// <summary>Occurs when the enabled state this object is set to false</summary>
public event EventHandler Disabled;
- public event EventHandler Dragged;
+ public event EventHandler StartDrag;
+ public event EventHandler EndDrag;
public event EventHandler Dropped;
/// <summary>Occurs when one part of the rendering slot changed</summary>
public event EventHandler<LayoutingEventArgs> LayoutChanged;
@@ -1100,13 +1101,14 @@ namespace Crow
/// </summary>
protected virtual void onStartDrag (object sender, EventArgs e){
Debug.WriteLine("DRAG => " + this.ToString());
- Dragged.Raise (this, null);
+ StartDrag.Raise (this, null);
}
/// <summary>
/// Occured when dragging ends without dropping
/// </summary>
protected virtual void onEndDrag (object sender, EventArgs e){
IsDragged = false;
+ EndDrag.Raise (this, null);
Debug.WriteLine("END DRAG => " + this.ToString());
}
/// <summary>
diff --git a/src/IML/BindingMember.cs b/src/IML/BindingMember.cs
index 7aaa851c..4a2b2c61 100644
--- a/src/IML/BindingMember.cs
+++ b/src/IML/BindingMember.cs
@@ -97,8 +97,10 @@ namespace Crow.IML
IsStringConstant = true;
return;
}
+ } else if (string.IsNullOrEmpty (splitedExp [0])) {
+ ptr++;
} else {
- if (string.IsNullOrEmpty (splitedExp [0]) || splitedExp [0] == ".") {//template root
+ if (splitedExp [0] == ".") {//template root
LevelsUp = -1;
ptr++;
} else {