diff options
| -rw-r--r-- | Crow/Default.style | 1 | ||||
| -rw-r--r-- | Crow/Templates/Button.template | 2 | ||||
| -rw-r--r-- | Crow/Templates/FileDialog.template | 2 | ||||
| -rw-r--r-- | Crow/src/Command.cs | 1 | ||||
| -rw-r--r-- | Crow/src/ItemTemplate.cs | 9 | ||||
| -rw-r--r-- | Crow/src/Widgets/FileDialog.cs | 18 | ||||
| -rw-r--r-- | Crow/src/styling/StyleReader.cs | 2 |
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 = ""; |