Browse Source

- Support changing DockPanel.Dock through quick operations.

- Register some more controls in ToolBox.
- Minor bug fixes.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/branches/wpfdesigner@6161 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
pull/1/head
Kumar Devvrat 15 years ago
parent
commit
1d94e769fa
  1. 3
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/BasicMetadata.cs
  2. 4
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/ControlStyles.xaml
  3. 14
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/QuickOperationMenu.cs
  4. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/MarginHandleExtension.cs
  5. 18
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/QuickOperationMenuExtension.cs
  6. 2
      src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/Editors/NumberEditor.xaml.cs

3
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/BasicMetadata.cs

@ -208,6 +208,7 @@ namespace ICSharpCode.WpfDesign.Designer @@ -208,6 +208,7 @@ namespace ICSharpCode.WpfDesign.Designer
Metadata.AddPopularControl(typeof(ComboBox));
Metadata.AddPopularControl(typeof(Label));
Metadata.AddPopularControl(typeof(TextBox));
Metadata.AddPopularControl(typeof(TextBlock));
Metadata.AddPopularControl(typeof(RadioButton));
Metadata.AddPopularControl(typeof(Canvas));
Metadata.AddPopularControl(typeof(Grid));
@ -216,7 +217,9 @@ namespace ICSharpCode.WpfDesign.Designer @@ -216,7 +217,9 @@ namespace ICSharpCode.WpfDesign.Designer
Metadata.AddPopularControl(typeof(Expander));
Metadata.AddPopularControl(typeof(GroupBox));
Metadata.AddPopularControl(typeof(Image));
Metadata.AddPopularControl(typeof(MediaElement));
Metadata.AddPopularControl(typeof(InkCanvas));
Metadata.AddPopularControl(typeof(DataGrid));
Metadata.AddPopularControl(typeof(ListBox));
Metadata.AddPopularControl(typeof(ListView));
Metadata.AddPopularControl(typeof(Menu));

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

@ -494,8 +494,8 @@ @@ -494,8 +494,8 @@
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type Controls:QuickOperationMenu}">
<Menu Height="15" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="15" BorderThickness="0">
<MenuItem Height="15" Width="15" Padding="0" BorderBrush="LightGray" BorderThickness="1" Name="MainHeader">
<Menu Height="15" HorizontalAlignment="Left" Name="menu1" VerticalAlignment="Top" Width="15" BorderThickness="0" Background="Transparent">
<MenuItem Height="15" Width="15" Padding="0" Background="LightGray" BorderThickness="1" Name="MainHeader">
<MenuItem.Header>
<Path Data="M3,5.5 L12,5.5 L7.5,11 z" Fill="Gray" />
</MenuItem.Header>

14
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Controls/QuickOperationMenu.cs

@ -70,8 +70,7 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -70,8 +70,7 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
base.OnApplyTemplate();
var mainHeader = Template.FindName("MainHeader", this) as MenuItem;
if (mainHeader != null) {
_mainHeader = mainHeader;
_mainHeader.MouseLeave += OnMouseOut;
_mainHeader = mainHeader;
}
}
@ -118,16 +117,5 @@ namespace ICSharpCode.WpfDesign.Designer.Controls @@ -118,16 +117,5 @@ namespace ICSharpCode.WpfDesign.Designer.Controls
}
return check;
}
protected override void OnMouseEnter(MouseEventArgs e)
{
base.OnMouseEnter(e);
MainHeader.IsSubmenuOpen = true;
}
private void OnMouseOut(object sender, MouseEventArgs e)
{
MainHeader.IsSubmenuOpen = false;
}
}
}

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/MarginHandleExtension.cs

@ -51,7 +51,7 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions @@ -51,7 +51,7 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions
_leftHandle.Visibility=Visibility.Hidden;
_leftHandle.ShouldBeVisible=false;
_topHandle.Visibility=Visibility.Hidden;
_rightHandle.ShouldBeVisible=false;
_topHandle.ShouldBeVisible=false;
_rightHandle.Visibility=Visibility.Hidden;
_rightHandle.ShouldBeVisible=false;
_bottomHandle.Visibility=Visibility.Hidden;

18
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/Extensions/QuickOperationMenuExtension.cs

@ -47,6 +47,15 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions @@ -47,6 +47,15 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions
_menu.MainHeader.Items.Add(new Separator());
menuItemsAdded++;
}
if(this.ExtendedItem.Parent!=null && this.ExtendedItem.Parent.View is DockPanel) {
var sda = new MenuItem() {Header = "Set Dock to"};
_menu.AddSubMenuInTheHeader(sda);
setValue = this.ExtendedItem.Properties.GetAttachedProperty(DockPanel.DockProperty).ValueOnInstance.ToString();
_menu.AddSubMenuCheckable(sda, Enum.GetValues(typeof (Dock)), Dock.Left.ToString(), setValue);
_menu.MainHeader.Items.Add(new Separator());
menuItemsAdded++;
}
var ha = new MenuItem() {Header = "Horizontal Alignment"};
_menu.AddSubMenuInTheHeader(ha);
@ -80,6 +89,15 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions @@ -80,6 +89,15 @@ namespace ICSharpCode.WpfDesign.Designer.Extensions
this.ExtendedItem.Properties[StackPanel.OrientationProperty].SetValue(orientation);
}
}
if ((string)parent.Header == "Set Dock to") {
var value = _menu.UncheckChildrenAndSelectClicked(parent, clickedOn);
if(value!=null) {
var dock = Enum.Parse(typeof (Dock), value);
if (dock != null)
this.ExtendedItem.Properties.GetAttachedProperty(DockPanel.DockProperty).SetValue(dock);
}
}
if ((string) parent.Header == "Horizontal Alignment") {
var value = _menu.UncheckChildrenAndSelectClicked(parent, clickedOn);

2
src/AddIns/DisplayBindings/WpfDesign/WpfDesign.Designer/Project/PropertyGrid/Editors/NumberEditor.xaml.cs

@ -139,7 +139,7 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid.Editors @@ -139,7 +139,7 @@ namespace ICSharpCode.WpfDesign.Designer.PropertyGrid.Editors
}
}else{
textBox.Foreground = Brushes.DarkRed;
textBox.ToolTip = "Cannot Convert to Type : " + PropertyNode.FirstProperty.ReturnType.Name;
textBox.ToolTip = "Cannot convert to Type : " + PropertyNode.FirstProperty.ReturnType.Name;
}
}else{
textBox.Foreground = Brushes.DarkRed;

Loading…
Cancel
Save