Browse Source

Allow move panels using its border

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@3335 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Ivan Shumilin 17 years ago
parent
commit
ed94ec5b92
  1. 13
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
  2. 33
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/PanelMoveAdorner.cs
  3. 28
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PanelMove.cs
  4. 4
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/ToolService.cs
  5. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/WpfDesign.Designer.csproj
  6. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Tools.cs

13
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml

@ -10,6 +10,19 @@ @@ -10,6 +10,19 @@
<ResourceDictionary Source="NumericUpDown.xaml" />
</ResourceDictionary.MergedDictionaries>
<Style TargetType="{x:Type Controls:PanelMoveAdorner}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:PanelMoveAdorner}">
<Border BorderThickness="4"
Margin="-2"
BorderBrush="Transparent"
Cursor="SizeAll" />
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
<Style TargetType="{x:Type Controls:EnumButton}"
BasedOn="{StaticResource {x:Type ToggleButton}}">
<Setter Property="Margin"

33
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/PanelMoveAdorner.cs

@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Controls;
using System.Windows;
using System.Windows.Input;
using ICSharpCode.WpfDesign.Designer.Services;
namespace ICSharpCode.WpfDesign.Designer.Controls
{
public class PanelMoveAdorner : Control
{
static PanelMoveAdorner()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(PanelMoveAdorner),
new FrameworkPropertyMetadata(typeof(PanelMoveAdorner)));
}
public PanelMoveAdorner(DesignItem item)
{
this.item = item;
}
DesignItem item;
protected override void OnMouseLeftButtonDown(MouseButtonEventArgs e)
{
e.Handled = true;
new DragMoveMouseGesture(item, false).Start(item.Services.Tool.DesignPanel, e);
}
}
}

28
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/PanelMove.cs

@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using ICSharpCode.WpfDesign.Adorners;
using ICSharpCode.WpfDesign.Extensions;
using System.Windows.Controls;
using System.Windows;
using ICSharpCode.WpfDesign.Designer.Controls;
namespace ICSharpCode.WpfDesign.Designer.Extensions
{
[ExtensionFor(typeof(Panel))]
[ExtensionServer(typeof(PrimarySelectionExtensionServer))]
public class PanelMove : AdornerProvider
{
protected override void OnInitialized()
{
var adornerPanel = new AdornerPanel();
var adorner = new PanelMoveAdorner(ExtendedItem);
AdornerPanel.SetPlacement(adorner, AdornerPlacement.FillContent);
adornerPanel.Children.Add(adorner);
Adorners.Add(adornerPanel);
base.OnInitialized();
}
}
}

4
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Services/ToolService.cs

@ -58,5 +58,9 @@ namespace ICSharpCode.WpfDesign.Designer.Services @@ -58,5 +58,9 @@ namespace ICSharpCode.WpfDesign.Designer.Services
}
public event EventHandler CurrentToolChanged;
public IDesignPanel DesignPanel {
get { return _designPanel; }
}
}
}

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/WpfDesign.Designer.csproj

@ -79,6 +79,7 @@ @@ -79,6 +79,7 @@
</Compile>
<Compile Include="Controls\GridAdorner.cs" />
<Compile Include="Controls\NumericUpDown.cs" />
<Compile Include="Controls\PanelMoveAdorner.cs" />
<Compile Include="Controls\SelectionFrame.cs" />
<Compile Include="Controls\ErrorBalloon.cs" />
<Compile Include="Controls\ResizeThumb.cs" />
@ -103,6 +104,7 @@ @@ -103,6 +104,7 @@
<Compile Include="Extensions\GuideLinePlacementBehavior.cs">
<SubType>Code</SubType>
</Compile>
<Compile Include="Extensions\PanelMove.cs" />
<Compile Include="ModelTools.cs" />
<Compile Include="Extensions\PanelInstanceFactory.cs" />
<Compile Include="Extensions\PanelSelectionHandler.cs" />

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign/Project/Tools.cs

@ -57,6 +57,8 @@ namespace ICSharpCode.WpfDesign @@ -57,6 +57,8 @@ namespace ICSharpCode.WpfDesign
/// Is raised when the current tool changes.
/// </summary>
event EventHandler CurrentToolChanged;
IDesignPanel DesignPanel { get; }
}
/// <summary>

Loading…
Cancel
Save