diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompletionDataHelper.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompletionDataHelper.cs
index 225cdc2acb..961fce8a5d 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompletionDataHelper.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/CompletionDataHelper.cs
@@ -505,7 +505,11 @@ namespace ICSharpCode.XamlBinding
{
var list = new XamlCompletionItemList();
string visibleValue = context.RawAttributeValue.Substring(0, context.ValueStartOffset + 1);
- var markup = Utils.GetInnermostMarkupExtensionInfo(MarkupExtensionParser.Parse(visibleValue));
+ if (context.PressedKey == '=')
+ visibleValue += "=";
+ context.RawAttributeValue = visibleValue;
+ context.AttributeValue = MarkupExtensionParser.ParseValue(visibleValue);
+ var markup = Utils.GetInnermostMarkupExtensionInfo(context.AttributeValue.ExtensionValue);
var type = ResolveType(markup.ExtensionType, context) ?? ResolveType(markup.ExtensionType + "Extension", context);
if (type == null) {
@@ -530,7 +534,7 @@ namespace ICSharpCode.XamlBinding
int lastStart = markup.NamedArguments.Max(i => i.Value.StartOffset);
var item = markup.NamedArguments.First(p => p.Value.StartOffset == lastStart);
- if (context.Editor.Document.GetCharAt(context.Editor.Caret.Offset - 1) == '=' ||
+ if (context.RawAttributeValue.EndsWith("=") ||
(item.Value.IsString && item.Value.StringValue.EndsWith(context.Editor.GetWordBeforeCaretExtended()))) {
MemberResolveResult mrr = XamlResolver.ResolveMember(item.Key, context) as MemberResolveResult;
if (mrr != null && mrr.ResolvedMember != null && mrr.ResolvedMember.ReturnType != null) {
@@ -604,9 +608,16 @@ namespace ICSharpCode.XamlBinding
{
if (type == null || type.GetUnderlyingClass() == null)
yield break;
-
+
var c = type.GetUnderlyingClass();
+ if (type is ConstructedReturnType && type.TypeArgumentCount > 0 && c.FullyQualifiedName == "System.Nullable") {
+ ConstructedReturnType rt = type as ConstructedReturnType;
+ c = rt.TypeArguments.First().GetUnderlyingClass();
+ if (c == null)
+ yield break;
+ }
+
switch (c.ClassType) {
case ClassType.Class:
switch (c.FullyQualifiedName) {
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs
index 265c9d6631..e97e0de672 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/Extensions.cs
@@ -5,12 +5,15 @@
// $Revision$
//
-using ICSharpCode.AvalonEdit.Document;
using System;
using System.Collections.Generic;
using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
using System.Xml;
using System.Xml.Linq;
+
+using ICSharpCode.AvalonEdit.Document;
using ICSharpCode.NRefactory;
using ICSharpCode.SharpDevelop;
using ICSharpCode.SharpDevelop.Dom;
@@ -30,6 +33,12 @@ namespace ICSharpCode.XamlBinding
return element;
}
+ public static void AddRange(this UIElementCollection coll, IEnumerable items)
+ {
+ foreach (var item in items)
+ coll.Add(item);
+ }
+
public static string[] Split(this string thisValue, StringSplitOptions options, params char[] delimiters)
{
if (thisValue == null)
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormCommand.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormCommand.cs
new file mode 100644
index 0000000000..982a016b89
--- /dev/null
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormCommand.cs
@@ -0,0 +1,29 @@
+//
+//
+//
+//
+// $Revision$
+//
+
+using System;
+using System.Windows.Forms;
+
+using ICSharpCode.Core;
+using ICSharpCode.SharpDevelop;
+
+namespace ICSharpCode.XamlBinding.PowerToys.Commands
+{
+ ///
+ /// Description of CreateBusinessFormCommand
+ ///
+ public class CreateBusinessFormCommand : AbstractMenuCommand
+ {
+ ///
+ /// Starts the command
+ ///
+ public override void Run()
+ {
+ // TODO: Add your code here !!!
+ }
+ }
+}
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormFromClassCommand.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormFromClassCommand.cs
index 8043296119..207f26913b 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormFromClassCommand.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Commands/CreateBusinessFormFromClassCommand.cs
@@ -21,7 +21,15 @@ namespace ICSharpCode.XamlBinding.PowerToys.Commands
///
public override void Run()
{
- new SelectSourceClassDialog().ShowDialog();
+ SelectSourceClassDialog selectSourceClass = new SelectSourceClassDialog();
+
+ if (selectSourceClass.ShowDialog() ?? false) {
+ SourceClassFormEditor editor = new SourceClassFormEditor(selectSourceClass.SelectedClass);
+
+ if (editor.ShowDialog() ?? false) {
+ return;
+ }
+ }
}
}
}
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml
index 3441e442b7..46196f028b 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml
@@ -9,14 +9,39 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
+
+
+
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml.cs
index 16d76f7899..c498f8e696 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/EditGridColumnsAndRowsDialog.xaml.cs
@@ -37,8 +37,6 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
XElement rowDefitions;
XElement colDefitions;
IList additionalProperties;
- int selectedCellX = -1, selectedCellY = -1;
- bool? swap = null;
class UndoStep
{
@@ -91,10 +89,13 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
this.redoStack = new Stack();
this.undoStack = new Stack();
+ CommandBindings.Add(new CommandBinding(ApplicationCommands.Undo, delegate { UndoItemClick(null, null); }));
+ CommandBindings.Add(new CommandBinding(ApplicationCommands.Redo, delegate { RedoItemClick(null, null); }));
+
RebuildGrid();
}
- MenuItem CreateItem(string header, Action clickAction, TextBlock senderItem)
+ MenuItem CreateItem(string header, Action clickAction, StackPanel senderItem)
{
MenuItem item = new MenuItem();
@@ -104,7 +105,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
return item;
}
- void InsertAbove(TextBlock block)
+ void InsertAbove(StackPanel block)
{
UpdateUndoRedoState();
@@ -142,7 +143,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void InsertBelow(TextBlock block)
+ void InsertBelow(StackPanel block)
{
UpdateUndoRedoState();
@@ -180,7 +181,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void MoveUp(TextBlock block)
+ void MoveUp(StackPanel block)
{
int row = (int)block.GetValue(Grid.RowProperty);
if (row > 0) {
@@ -241,7 +242,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
}
}
- void MoveDown(TextBlock block)
+ void MoveDown(StackPanel block)
{
int row = (int)block.GetValue(Grid.RowProperty);
if (row < rowDefitions.Elements().Count() - 1) {
@@ -302,7 +303,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
}
}
- void DeleteRow(TextBlock block)
+ void DeleteRow(StackPanel block)
{
int row = (int)block.GetValue(Grid.RowProperty);
UpdateUndoRedoState();
@@ -335,7 +336,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void InsertBefore(TextBlock block)
+ void InsertBefore(StackPanel block)
{
int column = (int)block.GetValue(Grid.ColumnProperty);
UpdateUndoRedoState();
@@ -372,7 +373,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void InsertAfter(TextBlock block)
+ void InsertAfter(StackPanel block)
{
int column = (int)block.GetValue(Grid.ColumnProperty);
UpdateUndoRedoState();
@@ -409,7 +410,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void MoveLeft(TextBlock block)
+ void MoveLeft(StackPanel block)
{
int column = (int)block.GetValue(Grid.ColumnProperty);
@@ -471,7 +472,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
}
}
- void MoveRight(TextBlock block)
+ void MoveRight(StackPanel block)
{
int column = (int)block.GetValue(Grid.ColumnProperty);
@@ -533,7 +534,7 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
}
}
- void DeleteColumn(TextBlock block)
+ void DeleteColumn(StackPanel block)
{
int column = (int)block.GetValue(Grid.ColumnProperty);
UpdateUndoRedoState();
@@ -566,50 +567,6 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
- void SwapContent(TextBlock block)
- {
- lblInstruction.Text = "Click on the cell you want to swap the selected cell with.";
- lblInstruction.Visibility = Visibility.Visible;
-
- this.selectedCellX = (int)block.GetValue(Grid.ColumnProperty);
- this.selectedCellY = (int)block.GetValue(Grid.RowProperty);
-
- swap = true;
- }
-
- void MoveContent(TextBlock block)
- {
- lblInstruction.Text = "Click on the cell you want to move the selected content to.";
- lblInstruction.Visibility = Visibility.Visible;
-
- this.selectedCellX = (int)block.GetValue(Grid.ColumnProperty);
- this.selectedCellY = (int)block.GetValue(Grid.RowProperty);
-
- swap = false;
- }
-
- void DeleteContent(TextBlock block)
- {
- int column = (int)block.GetValue(Grid.ColumnProperty);
- int row = (int)block.GetValue(Grid.RowProperty);
- UpdateUndoRedoState();
-
- gridTree.Elements()
- .Where(
- element => {
- var colAttrib = element.Attribute(XName.Get("Grid.Column")) ?? new XAttribute(XName.Get("Grid.Column"), 0);
- var rowAttrib = element.Attribute(XName.Get("Grid.Row")) ?? new XAttribute(XName.Get("Grid.Row"), 0);
- int colAttribValue = 0, rowAttribValue = 0;
- if (int.TryParse(colAttrib.Value, out colAttribValue) && int.TryParse(rowAttrib.Value, out rowAttribValue))
- return colAttribValue == column && rowAttribValue == row;
-
- return false;
- }
- ).ForEach(item => item.Remove());
-
- RebuildGrid();
- }
-
void BtnCancelClick(object sender, RoutedEventArgs e)
{
this.DialogResult = false;
@@ -620,32 +577,6 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
this.DialogResult = true;
}
- string BuildDescriptionForCell(int row, int col)
- {
- StringBuilder builder = new StringBuilder();
-
- var controls = gridTree
- .Elements()
- .Where(
- element => {
- var rowAttrib = element.Attribute(XName.Get("Grid.Row")) ?? new XAttribute(XName.Get("Grid.Row"), 0);
- var colAttrib = element.Attribute(XName.Get("Grid.Column")) ?? new XAttribute(XName.Get("Grid.Column"), 0);
- return row.ToString() == rowAttrib.Value && col.ToString() == colAttrib.Value;
- }
- );
-
- foreach (var control in controls) {
- var nameAttrib = control.Attribute(XName.Get("Name", CompletionDataHelper.XamlNamespace)) ?? control.Attribute(XName.Get("Name"));
- if (builder.Length > 0)
- builder.Append(", ");
- builder.Append(control.Name.LocalName);
- if (nameAttrib != null)
- builder.Append(" (" + nameAttrib.Value + ")");
- }
-
- return builder.ToString();
- }
-
void RebuildGrid()
{
this.gridDisplay.Children.Clear();
@@ -671,19 +602,23 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
this.gridDisplay.RowDefinitions.Add(new RowDefinition() { Height = new GridLength(1, GridUnitType.Star) });
for (int j = 0; j < cols; j++) {
- TextBlock displayRect = new TextBlock() {
+ StackPanel displayRect = new StackPanel() {
Margin = new Thickness(5),
- Background = Brushes.CornflowerBlue,
- Text = BuildDescriptionForCell(i, j),
- TextAlignment = TextAlignment.Center,
- TextWrapping = TextWrapping.Wrap
+ Background = Brushes.LightGray,
+ Orientation = Orientation.Vertical
};
+ displayRect.AllowDrop = true;
+
+ displayRect.Drop += new DragEventHandler(DisplayRectDrop);
+ displayRect.DragOver += new DragEventHandler(DisplayRectDragOver);
+
+ displayRect.Children.AddRange(BuildItemsForCell(i, j));
+
displayRect.SetValue(Grid.RowProperty, i);
displayRect.SetValue(Grid.ColumnProperty, j);
displayRect.ContextMenuOpening += new ContextMenuEventHandler(DisplayRectContextMenuOpening);
- displayRect.MouseLeftButtonDown += new MouseButtonEventHandler(DisplayRectMouseLeftButtonDown);
this.gridDisplay.Children.Add(displayRect);
}
@@ -691,70 +626,75 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
this.InvalidateVisual();
}
-
- void UpdateUndoRedoState()
+
+ void DisplayRectDragOver(object sender, DragEventArgs e)
{
- this.undoStack.Push(UndoStep.CreateStep(gridTree, rowDefitions, colDefitions, additionalProperties));
- this.redoStack.Clear();
+ StackPanel target = sender as StackPanel;
+
+// if (target != null) {
+// foreach (UIElement element in target.Children) {
+// element.
+// }
+// }
}
- void DisplayRectMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ void DisplayRectDrop(object sender, DragEventArgs e)
{
- if (selectedCellX > -1 && selectedCellY > -1 && swap.HasValue) {
+ XElement data = e.Data.GetData(typeof(XElement)) as XElement;
+ if (data != null) {
UpdateUndoRedoState();
- TextBlock block = sender as TextBlock;
- int targetX = (int)block.GetValue(Grid.ColumnProperty);
- int targetY = (int)block.GetValue(Grid.RowProperty);
-
- var elements = gridTree.Elements()
- .Where(
- element => {
- var colAttrib = element.Attribute(XName.Get("Grid.Column")) ?? new XAttribute(XName.Get("Grid.Column"), 0);
- var rowAttrib = element.Attribute(XName.Get("Grid.Row")) ?? new XAttribute(XName.Get("Grid.Row"), 0);
- int colAttribValue = 0, rowAttribValue = 0;
- if (int.TryParse(colAttrib.Value, out colAttribValue) && int.TryParse(rowAttrib.Value, out rowAttribValue))
- return colAttribValue == targetX && rowAttribValue == targetY;
-
- return false;
- }
- ).ToList();
-
- var elements2 = gridTree.Elements()
- .Where(
- element => {
- var colAttrib = element.Attribute(XName.Get("Grid.Column")) ?? new XAttribute(XName.Get("Grid.Column"), 0);
- var rowAttrib = element.Attribute(XName.Get("Grid.Row")) ?? new XAttribute(XName.Get("Grid.Row"), 0);
- int colAttribValue = 0, rowAttribValue = 0;
- if (int.TryParse(colAttrib.Value, out colAttribValue) && int.TryParse(rowAttrib.Value, out rowAttribValue))
- return colAttribValue == selectedCellX && rowAttribValue == selectedCellY;
-
- return false;
- }
- ).ToList();
-
- if (swap == true) {
- elements.ForEach(
- element => {
- element.SetAttributeValue(XName.Get("Grid.Column"), selectedCellX);
- element.SetAttributeValue(XName.Get("Grid.Row"), selectedCellY);
- }
- );
- }
+ StackPanel target = sender as StackPanel;
+ int x = (int)target.GetValue(Grid.ColumnProperty);
+ int y = (int)target.GetValue(Grid.RowProperty);
- elements2.ForEach(
+ data.SetAttributeValue(XName.Get("Grid.Column"), x);
+ data.SetAttributeValue(XName.Get("Grid.Row"), y);
+ }
+ }
+
+ IEnumerable BuildItemsForCell(int row, int column)
+ {
+ var controls = gridTree
+ .Elements()
+ .Where(
element => {
- element.SetAttributeValue(XName.Get("Grid.Column"), targetX);
- element.SetAttributeValue(XName.Get("Grid.Row"), targetY);
+ var rowAttrib = element.Attribute(XName.Get("Grid.Row")) ?? new XAttribute(XName.Get("Grid.Row"), 0);
+ var colAttrib = element.Attribute(XName.Get("Grid.Column")) ?? new XAttribute(XName.Get("Grid.Column"), 0);
+ return row.ToString() == rowAttrib.Value && column.ToString() == colAttrib.Value;
}
);
- }
- lblInstruction.Visibility = Visibility.Collapsed;
- selectedCellX = selectedCellY = -1;
- swap = null;
-
- RebuildGrid();
+ foreach (var control in controls) {
+ var nameAttrib = control.Attribute(XName.Get("Name", CompletionDataHelper.XamlNamespace)) ?? control.Attribute(XName.Get("Name"));
+ StringBuilder builder = new StringBuilder(control.Name.LocalName);
+ if (nameAttrib != null)
+ builder.Append(" (" + nameAttrib.Value + ")");
+
+ Label label = new Label() {
+ Content = builder.ToString(),
+ Template = this.Resources["itemTemplate"] as ControlTemplate,
+ AllowDrop = true,
+ Tag = control
+ };
+
+ label.MouseLeftButtonDown += new MouseButtonEventHandler(LabelMouseLeftButtonDown);
+
+ yield return label;
+ }
+ }
+
+ void LabelMouseLeftButtonDown(object sender, MouseButtonEventArgs e)
+ {
+ DragDropEffects allowedEffects = DragDropEffects.Move;
+ if (DragDrop.DoDragDrop(sender as Label, (sender as Label).Tag, allowedEffects) != DragDropEffects.None)
+ RebuildGrid();
+ }
+
+ void UpdateUndoRedoState()
+ {
+ this.undoStack.Push(UndoStep.CreateStep(gridTree, rowDefitions, colDefitions, additionalProperties));
+ this.redoStack.Clear();
}
public XElement GetConstructedTree()
@@ -778,6 +718,8 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
redoItem.IsEnabled = redoStack.Count > 0;
redoItem.Click += new RoutedEventHandler(RedoItemClick);
+ StackPanel block = sender as StackPanel;
+
ContextMenu menu = new ContextMenu() {
Items = {
undoItem,
@@ -786,33 +728,25 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
new MenuItem() {
Header = "Row",
Items = {
- CreateItem("Insert above", InsertAbove, sender as TextBlock),
- CreateItem("Insert below", InsertBelow, sender as TextBlock),
+ CreateItem("Insert above", InsertAbove, block),
+ CreateItem("Insert below", InsertBelow, block),
new Separator(),
- CreateItem("Move up", MoveUp, sender as TextBlock),
- CreateItem("Move down", MoveDown, sender as TextBlock),
+ CreateItem("Move up", MoveUp, block),
+ CreateItem("Move down", MoveDown, block),
new Separator(),
- CreateItem("Delete", DeleteRow, sender as TextBlock)
+ CreateItem("Delete", DeleteRow, block)
}
},
new MenuItem() {
Header = "Column",
Items = {
- CreateItem("Insert before", InsertBefore, sender as TextBlock),
- CreateItem("Insert after", InsertAfter, sender as TextBlock),
+ CreateItem("Insert before", InsertBefore, block),
+ CreateItem("Insert after", InsertAfter, block),
new Separator(),
- CreateItem("Move left", MoveLeft, sender as TextBlock),
- CreateItem("Move right", MoveRight, sender as TextBlock),
+ CreateItem("Move left", MoveLeft, block),
+ CreateItem("Move right", MoveRight, block),
new Separator(),
- CreateItem("Delete", DeleteColumn, sender as TextBlock)
- }
- },
- new MenuItem() {
- Header = "Cell",
- Items = {
- CreateItem("Swap content", SwapContent, sender as TextBlock),
- CreateItem("Move content", MoveContent, sender as TextBlock),
- CreateItem("Delete content", DeleteContent, sender as TextBlock)
+ CreateItem("Delete", DeleteColumn, block)
}
}
}
@@ -823,12 +757,14 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
void RedoItemClick(object sender, RoutedEventArgs e)
{
- HandleSteps(redoStack, undoStack);
+ if (redoStack.Count > 0)
+ HandleSteps(redoStack, undoStack);
}
void UndoItemClick(object sender, RoutedEventArgs e)
{
- HandleSteps(undoStack, redoStack);
+ if (undoStack.Count > 0)
+ HandleSteps(undoStack, redoStack);
}
void HandleSteps(Stack stack1, Stack stack2)
@@ -844,5 +780,17 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
RebuildGrid();
}
+
+ void BtnDeleteItemClick(object sender, RoutedEventArgs e)
+ {
+ Button source = sender as Button;
+ XElement item = source.Tag as XElement;
+ if (item != null) {
+ UpdateUndoRedoState();
+ item.Remove();
+ }
+
+ RebuildGrid();
+ }
}
}
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml
index 3e561eb9a3..0982130a53 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml
@@ -1,14 +1,16 @@
+
+
+
@@ -16,7 +18,7 @@
-
+
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml.cs
index 6465080b6d..1e9fdfe5e4 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SelectSourceClassDialog.xaml.cs
@@ -33,6 +33,14 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
public string Name { get; set; }
}
+ bool HasSelection {
+ get { return this.lvClasses.SelectedIndex != -1; }
+ }
+
+ public IClass SelectedClass {
+ get { return HasSelection ? ((ClassWrapper)this.lvClasses.SelectedItem).Class : null; }
+ }
+
public SelectSourceClassDialog()
{
InitializeComponent();
@@ -64,7 +72,27 @@ namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
static bool Filter(string value, ClassWrapper item)
{
- return item.Name.Contains(value);
+ return item.Name.IndexOf(value, StringComparison.OrdinalIgnoreCase) > -1;
+ }
+ }
+
+ public class SelectionConverter : IValueConverter
+ {
+ public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+ {
+ if (value is int) {
+ return ((int)value) != -1;
+ }
+
+ return false;
+ }
+
+ public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
+ {
+ if (value is bool)
+ return ((bool)value) ? 0 : -1;
+
+ return -1;
}
}
}
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml
new file mode 100644
index 0000000000..a85ec3b097
--- /dev/null
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml
@@ -0,0 +1,52 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Select Object To Create:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml.cs
new file mode 100644
index 0000000000..f1cd61494d
--- /dev/null
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/PowerToys/Dialogs/SourceClassFormEditor.xaml.cs
@@ -0,0 +1,58 @@
+//
+//
+//
+//
+// $Revision$
+//
+
+using ICSharpCode.SharpDevelop.Dom;
+using System;
+using System.Linq;
+using System.Collections.Generic;
+using System.Text;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+
+namespace ICSharpCode.XamlBinding.PowerToys.Dialogs
+{
+ ///
+ /// Interaction logic for SourceClassFormEditor.xaml
+ ///
+ public partial class SourceClassFormEditor : Window
+ {
+ IClass selectedClass;
+
+ public SourceClassFormEditor(IClass selectedClass)
+ {
+ InitializeComponent();
+
+ this.selectedClass = selectedClass;
+ this.Title += selectedClass.Name;
+
+ this.lsClassProperties.ItemsSource = selectedClass.Properties.Select(item => new { Property = item, Name = item.Name, IsSelected = false });
+ }
+
+ void TxtColumnGroupCountTextChanged(object sender, TextChangedEventArgs e)
+ {
+ int columnCount;
+
+ if (int.TryParse(txtColumnGroupCount.Text, out columnCount)) {
+ for (int i = displayGrid.ColumnDefinitions.Count; i < columnCount; i++) {
+ displayGrid.ColumnDefinitions.Add(new ColumnDefinition() { Width = new GridLength(1, GridUnitType.Star) });
+ displayGrid.Children.Add(CreateGridSplitter(i));
+ }
+ }
+ }
+
+ GridSplitter CreateGridSplitter(int column)
+ {
+ GridSplitter splitter = new GridSplitter() { Width = 5, HorizontalAlignment = HorizontalAlignment.Left };
+ splitter.SetValue(Grid.ColumnProperty, column);
+ return splitter;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj
index 2fad1843eb..6457539ae0 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlBinding.csproj
@@ -80,6 +80,7 @@
Code
+
@@ -99,6 +100,10 @@
SelectSourceClassDialog.xaml
Code
+
+ SourceClassFormEditor.xaml
+ Code
+
@@ -176,5 +181,6 @@
+
\ No newline at end of file
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs
index c820f3f5ef..0975806c79 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlCodeCompletionBinding.cs
@@ -48,17 +48,25 @@ namespace ICSharpCode.XamlBinding
return CodeCompletionKeyPressResult.Completed;
case '>':
return CodeCompletionKeyPressResult.None;
+ case '\'':
case '"':
if (!XmlParser.IsInsideAttributeValue(editor.Document.Text, editor.Caret.Offset)) {
+ // count all " or ' chars before the next > char
int search = editor.Caret.Offset + 1;
- while (search < editor.Document.TextLength - 1 && char.IsWhiteSpace(editor.Document.GetCharAt(search)))
+ int endMarkerCount = 1;
+ char curCh = editor.Document.GetCharAt(search);
+ while (search < editor.Document.TextLength - 1 && curCh != '>') {
+ if (curCh == ch)
+ endMarkerCount++;
search++;
-
- if (editor.Document.GetCharAt(search) != '"') {
- editor.Document.Insert(editor.Caret.Offset, "\"\"");
+ curCh = editor.Document.GetCharAt(search);
+ }
+ // if the count is odd we need to add an additional " or ' char
+ if (endMarkerCount % 2 != 0) {
+ editor.Document.Insert(editor.Caret.Offset, ch.ToString());
editor.Caret.Offset--;
this.CtrlSpace(editor);
- return CodeCompletionKeyPressResult.EatKey;
+ return CodeCompletionKeyPressResult.Completed;
}
}
break;
@@ -66,11 +74,11 @@ namespace ICSharpCode.XamlBinding
if (context.AttributeName != null
&& XmlParser.IsInsideAttributeValue(editor.Document.Text, editor.Caret.Offset)
&& !(context.RawAttributeValue.StartsWith("{}") && context.RawAttributeValue.Length != 2)) {
- editor.Document.Insert(editor.Caret.Offset, "{}");
+ editor.Document.Insert(editor.Caret.Offset, "}");
editor.Caret.Offset--;
DoMarkupExtensionCompletion(CompletionDataHelper.ResolveCompletionContext(editor, '{'));
- return CodeCompletionKeyPressResult.EatKey;
+ return CodeCompletionKeyPressResult.Completed;
}
break;
case '.':
@@ -85,7 +93,7 @@ namespace ICSharpCode.XamlBinding
break;
case ':':
if (context.ActiveElement != null && XmlParser.GetQualifiedAttributeNameAtIndex(editor.Document.Text, editor.Caret.Offset) == null) {
- if (!context.AttributeName.Name.StartsWith("xmlns")) {
+ if (context.AttributeName != null && !context.AttributeName.Name.StartsWith("xmlns")) {
list = CompletionDataHelper.CreateListForContext(context);
list.PreselectionLength = editor.GetWordBeforeCaretExtended().Length;
editor.ShowCompletionWindow(list);
@@ -99,6 +107,9 @@ namespace ICSharpCode.XamlBinding
if (!XmlParser.IsInsideAttributeValue(editor.Document.Text, editor.Caret.Offset)) {
int searchOffset = editor.Caret.Offset;
+ if (editor.SelectionLength != 0)
+ editor.Document.Remove(editor.SelectionStart, editor.SelectionLength);
+
while (searchOffset < editor.Document.TextLength - 1) {
searchOffset++;
if (!char.IsWhiteSpace(editor.Document.GetCharAt(searchOffset)))
@@ -116,11 +127,8 @@ namespace ICSharpCode.XamlBinding
this.CtrlSpace(editor);
return CodeCompletionKeyPressResult.EatKey;
} else {
- editor.Document.Insert(editor.Caret.Offset, "=");
- context = CompletionDataHelper.ResolveCompletionContext(editor, '=');
-
DoMarkupExtensionCompletion(context);
- return CodeCompletionKeyPressResult.EatKey;
+ return CodeCompletionKeyPressResult.Completed;
}
default:
if (context.Description != XamlContextDescription.None && !char.IsWhiteSpace(ch)) {
@@ -322,7 +330,8 @@ namespace ICSharpCode.XamlBinding
if (!XamlBindingOptions.UseExtensionCompletion)
return false;
XamlCompletionItemList completionList = CompletionDataHelper.CreateMarkupExtensionCompletion(context) as XamlCompletionItemList;
- completionList.PreselectionLength = context.Editor.GetWordBeforeCaretExtended().Length;
+ if (context.PressedKey != '.' && context.PressedKey != '=' && completionList.PreselectionLength == 0)
+ completionList.PreselectionLength = context.Editor.GetWordBeforeCaretExtended().Length;
context.Editor.ShowCompletionWindow(completionList);
var insightList = CompletionDataHelper.CreateMarkupExtensionInsight(context);
context.Editor.ShowInsightWindow(insightList);
diff --git a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlColorizer.cs b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlColorizer.cs
index 6dd3257a82..de9dd69f65 100644
--- a/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlColorizer.cs
+++ b/src/AddIns/BackendBindings/XamlBinding/XamlBinding/XamlColorizer.cs
@@ -57,7 +57,9 @@ namespace ICSharpCode.XamlBinding
// output
public IList GetResults()
{
- return results;
+ lock (this) {
+ return results;
+ }
}
Tasks.Task task;
@@ -77,8 +79,7 @@ namespace ICSharpCode.XamlBinding
public void Invalidate(string fileContent, string fileName, DocumentLine currentLine, TextView textView)
{
- task.Cancel();
- this.Invalid = false;
+ task.CancelAndWait();
this.FileContent = fileContent;
this.FileName = fileName;
@@ -148,12 +149,12 @@ namespace ICSharpCode.XamlBinding
}
if (context.Description != XamlContextDescription.InComment && !string.IsNullOrEmpty(attribute)) {
int startIndex = LineText.Substring(0, Math.Min(index, LineText.Length)).LastIndexOf(attribute);
- if (startIndex >= 0) {
- if (propertyNameIndex > -1)
- infos.Add(new HighlightingInfo(attribute.Trim('/'), startIndex + propertyNameIndex + 1, startIndex + attribute.TrimEnd('/').Length, Offset, context));
- else
- infos.Add(new HighlightingInfo(attribute, startIndex, startIndex + attribute.Length, Offset, context));
- }
+ if (startIndex >= 0) {
+ if (propertyNameIndex > -1)
+ infos.Add(new HighlightingInfo(attribute.Trim('/'), startIndex + propertyNameIndex + 1, startIndex + attribute.TrimEnd('/').Length, Offset, context));
+ else
+ infos.Add(new HighlightingInfo(attribute, startIndex, startIndex + attribute.Length, Offset, context));
+ }
}
}
} while (index > -1);
@@ -214,6 +215,7 @@ namespace ICSharpCode.XamlBinding
} else {
HighlightTask task = highlightCache[line];
if (task.CompletedSuccessfully) {
+ task.Invalid = false;
foreach (var result in task.GetResults()) {
ColorizeMember(result.Info, line, result.Member);
}
diff --git a/src/AddIns/Misc/Profiler/Profiler.sln b/src/AddIns/Misc/Profiler/Profiler.sln
index 22f56da76f..b74ab6c5aa 100644
--- a/src/AddIns/Misc/Profiler/Profiler.sln
+++ b/src/AddIns/Misc/Profiler/Profiler.sln
@@ -1,7 +1,7 @@
-Microsoft Visual Studio Solution File, Format Version 10.00
-# Visual Studio 2008
-# SharpDevelop 3.1.0.4082
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 10
+# SharpDevelop 4.0.0.4504
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5147BA25-8362-481D-8CF9-450096595B7A}"
ProjectSection(SolutionItems) = preProject
TODO.txt = TODO.txt
@@ -13,12 +13,6 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Frontend", "Frontend", "{E0
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls", "Frontend\Controls\Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddIn", "Frontend\AddIn\AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BenchmarkRunner", "Frontend\BenchmarkRunner\BenchmarkRunner.csproj", "{DBEF953E-F7BC-4D54-8A27-B758EC875C49}"
-EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gui", "Frontend\Gui\Gui.csproj", "{FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}"
ProjectSection(ProjectDependencies) = postProject
{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}
@@ -27,19 +21,25 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Gui", "Frontend\Gui\Gui.csp
{778BA9AE-EE77-444F-A0C9-D795BB977C1A} = {778BA9AE-EE77-444F-A0C9-D795BB977C1A}
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "BenchmarkRunner", "Frontend\BenchmarkRunner\BenchmarkRunner.csproj", "{DBEF953E-F7BC-4D54-8A27-B758EC875C49}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "AddIn", "Frontend\AddIn\AddIn.csproj", "{D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Controls", "Frontend\Controls\Controls.csproj", "{BDA49550-5ED1-4C6B-B648-657B2CACD8E0}"
+EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{791AE00B-AD96-410A-AAA8-957DDD83C57A}"
ProjectSection(SolutionItems) = postProject
EndProjectSection
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnicodeTest", "Tests\UnicodeTest\UnicodeTest.csproj", "{D336926C-6180-4F62-B88D-E366B240127B}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmark", "Tests\Benchmark\Benchmark.csproj", "{F09B6132-5DF9-4E63-BA23-EE82D75CD5B9}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "Tests\HelloWorld\HelloWorld.csproj", "{778BA9AE-EE77-444F-A0C9-D795BB977C1A}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PauseTest", "Tests\PauseTest\PauseTest.csproj", "{650AEAA0-0678-4A75-A1CC-F46DC4E44D2A}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld", "Tests\HelloWorld\HelloWorld.csproj", "{778BA9AE-EE77-444F-A0C9-D795BB977C1A}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Profiler.Tests", "Tests\Profiler.Tests\Profiler.Tests.csproj", "{068F9531-5D29-49E0-980E-59982A3A0469}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Benchmark", "Tests\Benchmark\Benchmark.csproj", "{F09B6132-5DF9-4E63-BA23-EE82D75CD5B9}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "UnicodeTest", "Tests\UnicodeTest\UnicodeTest.csproj", "{D336926C-6180-4F62-B88D-E366B240127B}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Hook", "Hook\Hook.vcproj", "{68D5EE3B-0C35-4DF1-BD29-6606851A02C1}"
EndProject
@@ -62,6 +62,8 @@ Global
Debug|x64 = Debug|x64
Release|Win32 = Release|Win32
Release|x64 = Release|x64
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}.Debug|Win32.ActiveCfg = Debug|Any CPU
@@ -168,19 +170,55 @@ Global
{D336926C-6180-4F62-B88D-E366B240127B}.Release|Win32.ActiveCfg = Release|Win32
{D336926C-6180-4F62-B88D-E366B240127B}.Release|x64.Build.0 = Release|x64
{D336926C-6180-4F62-B88D-E366B240127B}.Release|x64.ActiveCfg = Release|x64
+ {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FE88FE17-D9FB-4FCC-9A35-6BFFB6B26CC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2EACD124-3D84-4F4D-8C82-D3E396A5DA21}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2EACD124-3D84-4F4D-8C82-D3E396A5DA21}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2EACD124-3D84-4F4D-8C82-D3E396A5DA21}.Release|Any CPU.Build.0 = Release|Any CPU
+ {2EACD124-3D84-4F4D-8C82-D3E396A5DA21}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}.Release|Any CPU.Build.0 = Release|Any CPU
+ {72FFB35A-C9E2-4A31-B4FA-E3E3E28DED5F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Release|Any CPU.Build.0 = Release|Any CPU
+ {68D5EE3B-0C35-4DF1-BD29-6606851A02C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A}.Release|Any CPU.Build.0 = Release|Any CPU
+ {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {BDA49550-5ED1-4C6B-B648-657B2CACD8E0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {BDA49550-5ED1-4C6B-B648-657B2CACD8E0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {BDA49550-5ED1-4C6B-B648-657B2CACD8E0}.Release|Any CPU.Build.0 = Release|Any CPU
+ {BDA49550-5ED1-4C6B-B648-657B2CACD8E0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Release|Any CPU.Build.0 = Release|Any CPU
+ {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {DBEF953E-F7BC-4D54-8A27-B758EC875C49}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {DBEF953E-F7BC-4D54-8A27-B758EC875C49}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {DBEF953E-F7BC-4D54-8A27-B758EC875C49}.Release|Any CPU.Build.0 = Release|Any CPU
+ {DBEF953E-F7BC-4D54-8A27-B758EC875C49}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}.Release|Any CPU.Build.0 = Release|Any CPU
+ {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(NestedProjects) = preSolution
- {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
- {DBEF953E-F7BC-4D54-8A27-B758EC875C49} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
- {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
{BDA49550-5ED1-4C6B-B648-657B2CACD8E0} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
- {F09B6132-5DF9-4E63-BA23-EE82D75CD5B9} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
- {778BA9AE-EE77-444F-A0C9-D795BB977C1A} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
- {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
- {068F9531-5D29-49E0-980E-59982A3A0469} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
+ {D294A12D-4B38-4F25-9AA6-3D4A6CE26E7B} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
+ {DBEF953E-F7BC-4D54-8A27-B758EC875C49} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
+ {FF09FBA1-86DA-4D8D-B549-A4FC70FC5AE9} = {E06867E9-6942-4DB6-89F5-DE0BF56C44DE}
{D336926C-6180-4F62-B88D-E366B240127B} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
+ {068F9531-5D29-49E0-980E-59982A3A0469} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
+ {650AEAA0-0678-4A75-A1CC-F46DC4E44D2A} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
+ {778BA9AE-EE77-444F-A0C9-D795BB977C1A} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
+ {F09B6132-5DF9-4E63-BA23-EE82D75CD5B9} = {791AE00B-AD96-410A-AAA8-957DDD83C57A}
EndGlobalSection
EndGlobal