aboutsummaryrefslogtreecommitdiffstatsci
diff options
context:
space:
mode:
authorJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-12-31 16:37:46 +0100
committerJean-Philippe Bruyère <jp_bruyere@hotmail.com>2020-12-31 16:37:46 +0100
commit8fc9498edb1a9089c9615fb47087c90163ae96b5 (patch)
treed42e12db2bf7ffc80f6de57523f341b647be2a1f
parentbf28ee3f82423cc7a83d4afeb6ba0dcbde4cdbe7 (diff)
unbox value type in emitGetSubData, FileDialog enabled for folder only, minimum size for Button in style and no longer in template root groupcrowIde
-rw-r--r--Crow/Default.style1
-rw-r--r--Crow/Templates/Button.template2
-rw-r--r--Crow/Templates/FileDialog.template2
-rw-r--r--Crow/src/Command.cs1
-rw-r--r--Crow/src/ItemTemplate.cs9
-rw-r--r--Crow/src/Widgets/FileDialog.cs18
-rw-r--r--Crow/src/styling/StyleReader.cs2
7 files changed, 22 insertions, 13 deletions
diff --git a/Crow/Default.style b/Crow/Default.style
index ae09ec1c..dff927ff 100644
--- a/Crow/Default.style
+++ b/Crow/Default.style
@@ -67,6 +67,7 @@ Wrapper {
}
Button {
Caption = "Button";
+ MinimumSize = "50,20";
Width = "Fit";
}
Label {
diff --git a/Crow/Templates/Button.template b/Crow/Templates/Button.template
index 14b14a2f..c46da8c6 100644
--- a/Crow/Templates/Button.template
+++ b/Crow/Templates/Button.template
@@ -1,5 +1,5 @@
<?xml version="1.0"?>
-<Border Background="{./Background}" MinimumSize="50,20" Name="Content"
+<Border Background="{./Background}" Name="Content"
Foreground="Transparent" CornerRadius="{../CornerRadius}" BorderWidth="1"
MouseEnter="{Foreground=vgradient|0:White|0.2:Grey|0.9:Grey|1:Black};{caption.Foreground=White}"
MouseLeave="{Foreground=Transparent};{caption.Foreground=LightGrey}"
diff --git a/Crow/Templates/FileDialog.template b/Crow/Templates/FileDialog.template
index 5140aae7..3967d9d8 100644
--- a/Crow/Templates/FileDialog.template
+++ b/Crow/Templates/FileDialog.template
@@ -22,7 +22,7 @@
<TextBox Style="TxtInFileDialog" Text="{²./CurrentDirectory}"/>
</HorizontalStack>
<DirectoryView ShowHidden="{²../cbShowHidden.IsChecked}" FileMask="{²../txtFileMask.Text}" ShowFiles="{²../cbShowFiles.IsChecked}" Name="fv" CurrentDirectory="{./CurrentDirectory}" SelectedItemChanged="./onFVSelectedItemChanged"
- Width="100%" Margin="0" MouseDoubleClick="./onFileSelect">
+ Width="100%" Margin="0" MouseDoubleClick="./onFileSelectDblClick">
<Template>
<ListBox ItemTemplate="#Crow.FileItems.template" Name="fileView" Data="{./FileSystemEntries}"
SelectedItemChanged="./onSelectedItemChanged">
diff --git a/Crow/src/Command.cs b/Crow/src/Command.cs
index caa8a3b0..b14aff75 100644
--- a/Crow/src/Command.cs
+++ b/Crow/src/Command.cs
@@ -22,7 +22,6 @@ namespace Crow {
return;
caption = value;
NotifyValueChanged ("Caption", caption);
-
}
}
/// <summary>
diff --git a/Crow/src/ItemTemplate.cs b/Crow/src/ItemTemplate.cs
index e1696256..ea56f5da 100644
--- a/Crow/src/ItemTemplate.cs
+++ b/Crow/src/ItemTemplate.cs
@@ -169,7 +169,7 @@ namespace Crow
//get the dataSource of the sender
il.Emit (OpCodes.Ldarg_0);//push root TemplatedGroup into the stack
il.Emit (OpCodes.Ldarg_1);//load sender node of expand
- il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataSource);
+ il.Emit (OpCodes.Callvirt, CompilerServices.miGetDataSource);
if (fetchMethodName != "self") {//special keyword self allows the use of recurent list<<<
if (dataType == null) {
@@ -178,8 +178,9 @@ namespace Crow
il.Emit (OpCodes.Ldstr, fetchMethodName);
il.Emit (OpCodes.Call, CompilerServices.miGetDataTypeAndFetch);
- }else
- emitGetSubData(il, dataType);
+ } else {
+ emitGetSubData (il, dataType);
+ }
}
//set 'return' from the fetch method as 'data' of the list
//il.Emit (OpCodes.Callvirt, piData.GetSetMethod ());
@@ -228,6 +229,8 @@ namespace Crow
}
//data is on the stack
void emitGetSubData(ILGenerator il, Type dataType){
+ if (dataType.IsValueType)
+ il.Emit (OpCodes.Unbox_Any, dataType);
MethodInfo miGetDatas = dataType.GetMethod (fetchMethodName, new Type[] {});
if (miGetDatas == null)
miGetDatas = CompilerServices.SearchExtMethod (dataType, fetchMethodName);
diff --git a/Crow/src/Widgets/FileDialog.cs b/Crow/src/Widgets/FileDialog.cs
index 8c58e632..bc6b46c0 100644
--- a/Crow/src/Widgets/FileDialog.cs
+++ b/Crow/src/Widgets/FileDialog.cs
@@ -111,13 +111,19 @@ namespace Crow
return;
CurrentDirectory = Directory.GetParent(CurrentDirectory).FullName;
}
- void onFileSelect(object sender, MouseButtonEventArgs e){
- if (string.IsNullOrEmpty (SelectedFile))
- CurrentDirectory = SelectedDirectory;
- else {
- OkClicked.Raise (this, null);
- IFace.DeleteWidget (this);
+ void onFileSelectDblClick (object sender, MouseButtonEventArgs e) {
+ CurrentDirectory = SelectedDirectory;
+ }
+
+ void onFileSelect (object sender, MouseButtonEventArgs e){
+ if (ShowFiles) {
+ if (string.IsNullOrEmpty (SelectedFile)) {
+ CurrentDirectory = SelectedDirectory;
+ return;
+ }
}
+ OkClicked.Raise (this, null);
+ IFace.DeleteWidget (this);
}
void onCancel(object sender, MouseButtonEventArgs e){
IFace.DeleteWidget (this);
diff --git a/Crow/src/styling/StyleReader.cs b/Crow/src/styling/StyleReader.cs
index 84839890..f5f141e5 100644
--- a/Crow/src/styling/StyleReader.cs
+++ b/Crow/src/styling/StyleReader.cs
@@ -85,7 +85,7 @@ namespace Crow
break;
case ',':
ReadChar ();
- if (!(curState == States.classNames) || string.IsNullOrEmpty (token))
+ if (curState != States.classNames || string.IsNullOrEmpty (token))
throw new ParserException (line, column, "Unexpected char ','", resId);
targetsClasses.Add (token);
token = "";