Browse Source

Re-introduced CursorView in ResourceEditor.

pull/567/head
Andreas Weizel 11 years ago
parent
commit
dc5729e6ab
  1. 4
      data/resources/StringResources.resx
  2. 12
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/BitmapExtensions.cs
  3. 1
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEditorDisplayBinding.cs
  4. 8
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ViewModels/ResourceItem.cs
  5. 7
      src/AddIns/DisplayBindings/ResourceEditor/Project/Src/Views/ImageViewBase.xaml.cs

4
data/resources/StringResources.resx

@ -8250,4 +8250,8 @@ a line break</value> @@ -8250,4 +8250,8 @@ a line break</value>
<data name="ResourceEditor.Filter" xml:space="preserve">
<value>Filter:</value>
</data>
<data name="ResourceEditor.BitmapView.UpdateCursor" xml:space="preserve">
<value>Update cursor ...</value>
<comment>Text for the button that makes it possible to update the stored cursor</comment>
</data>
</root>

12
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/BitmapExtensions.cs

@ -58,5 +58,17 @@ namespace ResourceEditor @@ -58,5 +58,17 @@ namespace ResourceEditor
return imageSource;
}
public static ImageSource ToImageSource(this System.Windows.Forms.Cursor cursor)
{
int width = cursor.Size.Width;
int height = cursor.Size.Height;
using (System.Drawing.Bitmap b = new System.Drawing.Bitmap(width, height)) {
using (System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(b)) {
cursor.Draw(g, new System.Drawing.Rectangle(0, 0, width, height));
return b.ToBitmapSource();
}
}
}
}
}

1
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ResourceEditorDisplayBinding.cs

@ -69,6 +69,7 @@ namespace ResourceEditor @@ -69,6 +69,7 @@ namespace ResourceEditor
resourceEditor.AddItemView(ResourceItemEditorType.String, new TextView());
resourceEditor.AddItemView(ResourceItemEditorType.Bitmap, new ImageViewBase());
resourceEditor.AddItemView(ResourceItemEditorType.Icon, new ImageViewBase());
resourceEditor.AddItemView(ResourceItemEditorType.Cursor, new ImageViewBase());
resourceEditor.AddItemView(ResourceItemEditorType.Binary, new BinaryView());
resourceEditor.AddItemView(ResourceItemEditorType.Boolean, new BooleanView());
resourceEditor.DirtyStateChanged += (sender, e) => {

8
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/ViewModels/ResourceItem.cs

@ -281,6 +281,14 @@ namespace ResourceEditor.ViewModels @@ -281,6 +281,14 @@ namespace ResourceEditor.ViewModels
return false;
}
break;
case ResourceItemEditorType.Cursor:
try {
newValue = new Cursor(fileDialog.FileName);
} catch (Exception ex) {
SD.MessageService.ShowWarningFormatted("${res:ResourceEditor.Messages.CantLoadResourceFromFile}", ex.Message);
return false;
}
break;
}
if (newValue != null) {

7
src/AddIns/DisplayBindings/ResourceEditor/Project/Src/Views/ImageViewBase.xaml.cs

@ -84,6 +84,13 @@ namespace ResourceEditor.Views @@ -84,6 +84,13 @@ namespace ResourceEditor.Views
UpdateLinkText = SD.ResourceService.GetString("ResourceEditor.BitmapView.UpdateIcon");
}
break;
case ResourceItemEditorType.Cursor:
var gdiCursor = resourceItem.ResourceValue as System.Windows.Forms.Cursor;
if (gdiCursor != null) {
DisplayedImage = gdiCursor.ToImageSource();
UpdateLinkText = SD.ResourceService.GetString("ResourceEditor.BitmapView.UpdateCursor");
}
break;
}
}
}

Loading…
Cancel
Save