Author: alanmc
Date: 2007-08-21 17:45:52 -0400 (Tue, 21 Aug 2007)
New Revision: 84595
Modified:
trunk/lunareclipse/ChangeLog
trunk/lunareclipse/Properties/PropertyManager.cs
Log:
* Properties/PropertyManager.cs: Hooking into the Selected and
deselected events so that the propertypane appears and disappears
correctly. More properties are editable now. All property changes
correctly update the selection pane (if there is one).
Modified: trunk/lunareclipse/ChangeLog
===================================================================
--- trunk/lunareclipse/ChangeLog 2007-08-21 21:44:49 UTC (rev 84594)
+++ trunk/lunareclipse/ChangeLog 2007-08-21 21:45:52 UTC (rev 84595)
@@ -1,5 +1,12 @@
2007-08-21 Alan McGovern <[EMAIL PROTECTED]>
+ * Properties/PropertyManager.cs: Hooking into the Selected and
deselected
+ events so that the propertypane appears and disappears correctly. More
+ properties are editable now. All property changes correctly update the
+ selection pane (if there is one).
+
+2007-08-21 Alan McGovern <[EMAIL PROTECTED]>
+
* Model/SelectionChangedEventArgs.cs: I have no idea what the 'Selected'
property was supposed to be for. Removed it, it's useless.
Modified: trunk/lunareclipse/Properties/PropertyManager.cs
===================================================================
--- trunk/lunareclipse/Properties/PropertyManager.cs 2007-08-21 21:44:49 UTC
(rev 84594)
+++ trunk/lunareclipse/Properties/PropertyManager.cs 2007-08-21 21:45:52 UTC
(rev 84595)
@@ -52,19 +52,29 @@
{
properties = new List<PropertyInfo>();
controller.BeforeDrawChanged += delegate {
- Console.WriteLine("Hooking out");
selector = controller.Current as Selector;
- if(selector != null)
- selector.ItemSelected -= ItemSelected;
+ if(selector == null)
+ return;
+ selector.ItemSelected -= ItemSelectionChanged;
+ selector.ItemDeselected -= ItemSelectionChanged;
};
controller.DrawChanged += delegate {
- Console.WriteLine("Hooking in");
selector = controller.Current as Selector;
- if(selector != null)
- selector.ItemSelected += ItemSelected;
+ if(selector == null)
+ return;
+
+ selector.ItemSelected += ItemSelectionChanged;
+ selector.ItemDeselected +=ItemSelectionChanged;
};
}
+ private void ItemSelectionChanged(object sender,
SelectionChangedEventArgs e)
+ {
+ if(selector.SelectedObjects.Count != 1)
+ SelectedObject = null;
+ else
+ SelectedObject = e.SelectedBorder;
+ }
static PropertyManager()
{
@@ -73,18 +83,18 @@
info.Add(Rectangle.VisibilityProperty, new
PropertyInfo(ReflectionHelper.GetData(Rectangle.VisibilityProperty),
PropertyType.Visibility));
info.Add(Rectangle.RadiusXProperty, new
PropertyInfo(ReflectionHelper.GetData(Rectangle.RadiusXProperty),
PropertyType.Double));
info.Add(Rectangle.RadiusYProperty, new
PropertyInfo(ReflectionHelper.GetData(Rectangle.RadiusYProperty),
PropertyType.Double));
- info.Add(Rectangle.StrokeThicknessProperty, new
PropertyInfo(ReflectionHelper.GetData(Rectangle.StrokeThicknessProperty),
PropertyType.Integer));
+ info.Add(Rectangle.StrokeThicknessProperty, new
PropertyInfo(ReflectionHelper.GetData(Rectangle.StrokeThicknessProperty),
PropertyType.Double));
info.Add(Path.DataProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.DataProperty), PropertyType.Data));
// extended properties
info.Add(Path.StretchProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StretchProperty),
PropertyType.Stretch, false, true));
info.Add(Path.StrokeDashArrayProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeDashArrayProperty),
PropertyType.DashArray, false, true));
info.Add(Path.StrokeDashCapProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeDashCapProperty),
PropertyType.PenLineCap, false, true));
- info.Add(Path.StrokeDashOffsetProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeDashOffsetProperty),
PropertyType.Integer, false, true));
- info.Add(Path.StrokeStartLineCapProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeStartLineCapProperty),
PropertyType.PenLineCap, false, true));
- info.Add(Path.StrokeEndLineCapProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeEndLineCapProperty),
PropertyType.PenLineCap, false, true));
+ info.Add(Path.StrokeDashOffsetProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeDashOffsetProperty),
PropertyType.Double, false, true));
+ //info.Add(Path.StrokeStartLineCapProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeStartLineCapProperty),
PropertyType.stroke, false, true));
+ //info.Add(Path.StrokeEndLineCapProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeEndLineCapProperty),
PropertyType.str, false, true));
info.Add(Path.StrokeLineJoinProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeLineJoinProperty),
PropertyType.PenLineJoin, false, true));
- info.Add(Path.StrokeMiterLimitProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeMiterLimitProperty),
PropertyType.Integer, false, true));
+ info.Add(Path.StrokeMiterLimitProperty, new
PropertyInfo(ReflectionHelper.GetData(Path.StrokeMiterLimitProperty),
PropertyType.Double, false, true));
info.Add(Canvas.WidthProperty, new
PropertyInfo(ReflectionHelper.GetData(Canvas.WidthProperty),
PropertyType.Double, false, true));
info.Add(Canvas.HeightProperty, new
PropertyInfo(ReflectionHelper.GetData(Canvas.HeightProperty),
PropertyType.Double, false, true));
@@ -92,17 +102,6 @@
info.Add(Canvas.TopProperty, new
PropertyInfo(ReflectionHelper.GetData(Canvas.TopProperty), PropertyType.Double,
true, false));
info.Add(Canvas.ZIndexProperty, new
PropertyInfo(ReflectionHelper.GetData(Canvas.ZIndexProperty),
PropertyType.Integer, false, false));
}
- private void ItemSelected(object sender,
SelectionChangedEventArgs e)
- {
- if(selector.SelectedObjects.Count != 1)
- {
- SelectedObject = null;
- return;
- }
-
- if(selector.SelectedObjects.Count == 1 && e.Selected)
- SelectedObject = e.SelectedBorder;
- }
private void UpdateProperties()
{
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches