Browse Source

Some fixes to the diagram code; Some progress with the class editor (mostly conversion to TreeViewAdv); Some FxCop fixes.

git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2451 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61
shortcuts
Itar Bar-Haim 19 years ago
parent
commit
17a6e5e55b
  1. 2
      src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Shapes/VectorShape.cs
  2. 2
      src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/CanvasItem.cs
  3. 5
      src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvas.cs
  4. 8
      src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramViewContent.cs
  5. 2
      src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassEditorPad.cs
  6. 18
      src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs
  7. 17
      src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs
  8. 33
      src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.resx
  9. 46
      src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/BaseRectangle.cs
  10. 6
      src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/Drawables/DrawableRectangle.cs
  11. 1
      src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/IRectangle.cs
  12. 12
      src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/ItemsStack.cs

2
src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Shapes/VectorShape.cs

@ -17,7 +17,7 @@ namespace ClassDiagram @@ -17,7 +17,7 @@ namespace ClassDiagram
{
public abstract class VectorShape : BaseRectangle, IDrawableRectangle
{
public VectorShape ()
protected VectorShape ()
{
KeepAspectRatio = true;
}

2
src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/CanvasItem.cs

@ -333,7 +333,7 @@ namespace ClassDiagram @@ -333,7 +333,7 @@ namespace ClassDiagram
decorator.HandleMouseDown(pos);
}
bool hit = HitTest(pos);
//bool hit = HitTest(pos);
if (DragAreaHitTest(pos))
{

5
src/AddIns/DisplayBindings/ClassDiagram/ClassCanvas/Src/ClassCanvas.cs

@ -182,6 +182,7 @@ namespace ClassDiagram @@ -182,6 +182,7 @@ namespace ClassDiagram
public void SetRecommendedGraphicsAttributes (Graphics graphics)
{
if (graphics == null) return;
graphics.CompositingQuality = CompositingQuality.HighSpeed;
//graphics.SmoothingMode = SmoothingMode.AntiAlias;
graphics.SmoothingMode = SmoothingMode.HighQuality;
@ -200,6 +201,7 @@ namespace ClassDiagram @@ -200,6 +201,7 @@ namespace ClassDiagram
private void PictureBox1Paint (object sender, PaintEventArgs e)
{
// System.Diagnostics.Debug.WriteLine("ClassCanvas.PictureBox1Paint");
Size bbox = GetDiagramPixelSize();
pictureBox1.Width = bbox.Width + 100;
@ -367,7 +369,6 @@ namespace ClassDiagram @@ -367,7 +369,6 @@ namespace ClassDiagram
if (!value && redrawNeeded)
{
redrawNeeded = false;
this.Invalidate(true);
HandleRedraw (this, EventArgs.Empty);
}
}
@ -389,6 +390,8 @@ namespace ClassDiagram @@ -389,6 +390,8 @@ namespace ClassDiagram
redrawNeeded = true;
return;
}
// System.Diagnostics.StackTrace st = new System.Diagnostics.StackTrace();
// System.Diagnostics.Debug.WriteLine(st.ToString());
this.Invalidate(true);
}

8
src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassDiagramViewContent.cs

@ -73,12 +73,17 @@ namespace ClassDiagramAddin @@ -73,12 +73,17 @@ namespace ClassDiagramAddin
void OnParseInformationUpdated(object sender, ParseInformationEventArgs e)
{
System.Diagnostics.Debug.WriteLine("ClassDiagramViewContent.OnParseInformationUpdated");
if (e == null) return;
if (e.CompilationUnit == null) return;
if (e.CompilationUnit.ProjectContent == null) return;
if (e.CompilationUnit.ProjectContent.Classes == null) return;
if (e.CompilationUnit.ProjectContent != projectContent) return;
//TODO - this is a wrong way to handle changed parse informtation.
// the correct way is to mark removed classes as missing, and to
// update changed classes that exist in the diagram.
/*
List<CanvasItem> addedItems = new List<CanvasItem>();
foreach (IClass ct in e.CompilationUnit.ProjectContent.Classes)
{
@ -101,6 +106,7 @@ namespace ClassDiagramAddin @@ -101,6 +106,7 @@ namespace ClassDiagramAddin
canvas.RemoveCanvasItem(cci);
}
}
*/
}
private void PlaceNewItems (ICollection<CanvasItem> items)

2
src/AddIns/DisplayBindings/ClassDiagram/ClassDiagramAddin/Src/ClassEditorPad.cs

@ -58,7 +58,7 @@ namespace ClassDiagramAddin @@ -58,7 +58,7 @@ namespace ClassDiagramAddin
ICompilationUnit compUnit = e.Method.DeclaringType.CompilationUnit;
FileService.JumpToFilePosition(compUnit.FileName,
e.Parameter.Region.BeginLine - 1,
e.Parameter.Region.BeginColumn - 1);
e.Parameter.Region.BeginColumn);
}
private void EditorClassMemberAdded (object sender, IMemberEventArgs e)

18
src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs generated

@ -46,6 +46,7 @@ namespace ClassDiagram @@ -46,6 +46,7 @@ namespace ClassDiagram
this._type = new Aga.Controls.Tree.NodeControls.NodeComboBox();
this._modifiers = new Aga.Controls.Tree.NodeControls.NodeComboBox();
this._summary = new Aga.Controls.Tree.NodeControls.NodeTextBox();
this._paramModifiers = new Aga.Controls.Tree.NodeControls.NodeComboBox();
this.SuspendLayout();
//
// membersList
@ -70,6 +71,7 @@ namespace ClassDiagram @@ -70,6 +71,7 @@ namespace ClassDiagram
this.membersList.NodeControls.Add(this._type);
this.membersList.NodeControls.Add(this._modifiers);
this.membersList.NodeControls.Add(this._summary);
this.membersList.NodeControls.Add(this._paramModifiers);
this.membersList.Search.BackColor = System.Drawing.Color.Pink;
this.membersList.Search.FontColor = System.Drawing.Color.Black;
this.membersList.SelectedNode = null;
@ -128,10 +130,13 @@ namespace ClassDiagram @@ -128,10 +130,13 @@ namespace ClassDiagram
// _modifiers
//
this._modifiers.DataPropertyName = "MemberModifier";
this._modifiers.DropDownItems.Add("Public");
this._modifiers.DropDownItems.Add("Private");
this._modifiers.DropDownItems.Add("Protected");
this._modifiers.DropDownItems.Add("Internal");
this._modifiers.EditEnabled = true;
this._modifiers.ParentColumn = this.modifierCol;
this._modifiers.Trimming = System.Drawing.StringTrimming.EllipsisCharacter;
this._modifiers.EditorShowing += new System.ComponentModel.CancelEventHandler(this._modifiersEditorShowing);
//
// _summary
//
@ -140,6 +145,16 @@ namespace ClassDiagram @@ -140,6 +145,16 @@ namespace ClassDiagram
this._summary.ParentColumn = this.summaryCol;
this._summary.Trimming = System.Drawing.StringTrimming.EllipsisCharacter;
//
// _paramModifiers
//
this._paramModifiers.DataPropertyName = "MemberModifier";
this._paramModifiers.DropDownItems.Add("In");
this._paramModifiers.DropDownItems.Add("Out");
this._paramModifiers.DropDownItems.Add("Ref");
this._paramModifiers.DropDownItems.Add("Params");
this._paramModifiers.DropDownItems.Add("Optional");
this._paramModifiers.ParentColumn = this.modifierCol;
//
// ClassEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -149,6 +164,7 @@ namespace ClassDiagram @@ -149,6 +164,7 @@ namespace ClassDiagram
this.Size = new System.Drawing.Size(603, 299);
this.ResumeLayout(false);
}
private Aga.Controls.Tree.NodeControls.NodeComboBox _paramModifiers;
private Aga.Controls.Tree.NodeControls.NodeIcon _icon;
private Aga.Controls.Tree.NodeControls.NodeComboBox _modifiers;
private Aga.Controls.Tree.NodeControls.NodeComboBox _type;

17
src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs

@ -98,19 +98,8 @@ namespace ClassDiagram @@ -98,19 +98,8 @@ namespace ClassDiagram
if (iconIndex > -1)
icon = ClassBrowserIconService.ImageList.Images[iconIndex];
if (methodMember != null)
{
if (methodMember.IsConstructor)
{
if (methodMember.DeclaringType != null)
memberName = methodMember.DeclaringType.Name;
else
memberName = methodMember.Name;
}
else
memberName = methodMember.Name;
}
if (eventMember != null) memberName = eventMember.Name;
if (methodMember != null) memberName = ambience.Convert(methodMember);
if (eventMember != null) memberName = ambience.Convert(eventMember);
if (propertyMember != null) memberName = ambience.Convert(propertyMember);
if (fieldMember != null) memberName = ambience.Convert(fieldMember);
}
@ -532,6 +521,8 @@ namespace ClassDiagram @@ -532,6 +521,8 @@ namespace ClassDiagram
}
else if (parameterItem != null)
{
_modifiers.DropDownItems.Clear();
_modifiers.DropDownItems.Add(ParameterModifiers.In);
_modifiers.DropDownItems.Add(ParameterModifiers.Out);
_modifiers.DropDownItems.Add(ParameterModifiers.Ref);

33
src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.resx

@ -117,37 +117,4 @@ @@ -117,37 +117,4 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Drawing" name="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="ClassEditor.OpenBrace" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAEtJREFUOE9j/P//
PwNFAGQALgw0OA6IgdJ41ODRrAzSDDKEXAMI2g72Ph4XgGzH6/xRAyBRO8wDkeKERFlShuZSgq7AGQv4
MhCyHADpzI8LoRhpHQAAAABJRU5ErkJggg==
</value>
</data>
<data name="ClassEditor.CloseBrace" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAFJJREFUOE9j/P//
PwNFAGQALgw0GGR6HF41BAyIgxqijNMSfAZAvYfXFTidDzMY6gIgF7tXRw0Ahi+RsTAMAhFncsYbBqB8
QFFSpjgzEYohkDwAfDKPC3ze7YgAAAAASUVORK5CYII=
</value>
</data>
<data name="ClassEditor.Comma" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAADhJREFUOE9j/P//
PwNFAGQAJZgizWDXU2L7qAGQ2BsNRCLCAJhPQJkFGF7YkzzBQKTIAEKaqRKNABFqxFkudmmJAAAAAElF
TkSuQmCC
</value>
</data>
<data name="ClassEditor.EmptyBraces" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAGFJREFUOE9j/P//
PwNFAGQAMgYaFgfEQCEMcZBNcRjiaJqVQZqxKoQaDJRTRtFDjO0wNdgMR3c+yHYM56MZgCI/agAwyNBi
YRgEItZkTEpCIiYpi+JMytCcSX5mQs9pxPABw+lNu0PRCSMAAAAASUVORK5CYII=
</value>
</data>
</root>

46
src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/BaseRectangle.cs

@ -26,7 +26,14 @@ namespace Tools.Diagrams @@ -26,7 +26,14 @@ namespace Tools.Diagrams
public IRectangle Container
{
get { return container; }
set { container = value; }
set
{
if (container != null)
container.AbsolutePositionChanged -= HandleAbsolutePositionChanged;
container = value;
if (container != null)
container.AbsolutePositionChanged += HandleAbsolutePositionChanged;
}
}
#region Geometry
@ -34,13 +41,24 @@ namespace Tools.Diagrams @@ -34,13 +41,24 @@ namespace Tools.Diagrams
public virtual float X
{
get { return x; }
set { x = value; }
set
{
if (x == value) return;
x = value;
OnAbsolutePositionChanged();
}
}
public virtual float Y
{
get { return y; }
set { y = value; }
set
{
if (y == value) return;
y = value;
OnAbsolutePositionChanged();
}
}
public virtual float AbsoluteX
@ -65,11 +83,19 @@ namespace Tools.Diagrams @@ -65,11 +83,19 @@ namespace Tools.Diagrams
}
}
public void ResetActualSize()
{
aw = float.NaN;
ah = float.NaN;
OnActualSizeChanged();
}
public virtual float ActualWidth
{
get { return aw; }
set
{
if (aw == value) return;
aw = value;
if (keepAspectRatio)
ah = aw * (GetAbsoluteContentHeight() / GetAbsoluteContentWidth());
@ -83,6 +109,7 @@ namespace Tools.Diagrams @@ -83,6 +109,7 @@ namespace Tools.Diagrams
get { return ah; }
set
{
if (ah == value) return;
ah = value;
if (keepAspectRatio)
aw = ah * (GetAbsoluteContentWidth() / GetAbsoluteContentHeight());
@ -96,6 +123,7 @@ namespace Tools.Diagrams @@ -96,6 +123,7 @@ namespace Tools.Diagrams
get { return w; }
set
{
if (w == value) return;
w = value;
OnSizeChanged();
OnWidthChanged();
@ -107,6 +135,7 @@ namespace Tools.Diagrams @@ -107,6 +135,7 @@ namespace Tools.Diagrams
get { return h; }
set
{
if (h == value) return;
h = value;
OnSizeChanged();
OnHeightChanged();
@ -147,6 +176,16 @@ namespace Tools.Diagrams @@ -147,6 +176,16 @@ namespace Tools.Diagrams
set { keepAspectRatio = value; }
}
protected virtual void HandleAbsolutePositionChanged(object sender, EventArgs e)
{
OnAbsolutePositionChanged();
}
protected virtual void OnAbsolutePositionChanged()
{
AbsolutePositionChanged(this, EventArgs.Empty);
}
protected virtual void OnSizeChanged() {}
protected virtual void OnWidthChanged()
{
@ -180,6 +219,7 @@ namespace Tools.Diagrams @@ -180,6 +219,7 @@ namespace Tools.Diagrams
get { return true; }
}
public event EventHandler AbsolutePositionChanged = delegate {};
public event EventHandler WidthChanged = delegate {};
public event EventHandler HeightChanged = delegate {};
public event EventHandler ActualWidthChanged = delegate {};

6
src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/Drawables/DrawableRectangle.cs

@ -48,6 +48,12 @@ namespace Tools.Diagrams.Drawables @@ -48,6 +48,12 @@ namespace Tools.Diagrams.Drawables
set { strokePen = value; }
}
protected override void OnAbsolutePositionChanged()
{
base.OnAbsolutePositionChanged();
path = null;
}
protected override void OnActualSizeChanged()
{
path = null;

1
src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/IRectangle.cs

@ -111,6 +111,7 @@ namespace Tools.Diagrams @@ -111,6 +111,7 @@ namespace Tools.Diagrams
bool IsHResizable { get; }
bool IsVResizable { get; }
event EventHandler AbsolutePositionChanged;
event EventHandler WidthChanged;
event EventHandler HeightChanged;
event EventHandler ActualWidthChanged;

12
src/AddIns/DisplayBindings/ClassDiagram/DiagramRouter/ItemsStack.cs

@ -36,6 +36,7 @@ namespace Tools.Diagrams @@ -36,6 +36,7 @@ namespace Tools.Diagrams
public void Add (T item)
{
// System.Diagnostics.Debug.WriteLine("ItemStack.Add");
items.Add(item);
item.Container = this;
modified = true;
@ -43,6 +44,7 @@ namespace Tools.Diagrams @@ -43,6 +44,7 @@ namespace Tools.Diagrams
public void Remove (T item)
{
// System.Diagnostics.Debug.WriteLine("ItemStack.Remove");
items.Remove(item);
item.Container = null;
modified = true;
@ -50,6 +52,7 @@ namespace Tools.Diagrams @@ -50,6 +52,7 @@ namespace Tools.Diagrams
public void Clear()
{
// System.Diagnostics.Debug.WriteLine("ItemStack.Clear");
items.Clear();
modified = true;
}
@ -59,6 +62,7 @@ namespace Tools.Diagrams @@ -59,6 +62,7 @@ namespace Tools.Diagrams
get { return axis; }
set
{
// System.Diagnostics.Debug.WriteLine("ItemStack.set_OrientationAxis curr: " + axis + "; new: " + value);
axis = value;
modified = true;
}
@ -279,14 +283,13 @@ namespace Tools.Diagrams @@ -279,14 +283,13 @@ namespace Tools.Diagrams
protected override void OnActualSizeChanged()
{
// System.Diagnostics.Debug.WriteLine("ItemStack.OnActualSizeChanged");
modified = true;
}
protected override void OnSizeChanged()
{
modified = true;
base.ActualWidth = float.NaN;
base.ActualHeight = float.NaN;
ResetActualSize();
}
#region Geometry
@ -296,6 +299,7 @@ namespace Tools.Diagrams @@ -296,6 +299,7 @@ namespace Tools.Diagrams
get { return minHeight; }
set
{
// System.Diagnostics.Debug.WriteLine("ItemStack.set_MinHeight curr: " + minHeight + "; new: " + value);
minHeight = value;
modified = true;
}
@ -306,6 +310,7 @@ namespace Tools.Diagrams @@ -306,6 +310,7 @@ namespace Tools.Diagrams
get { return minWidth; }
set
{
// System.Diagnostics.Debug.WriteLine("ItemStack.set_MinWidth curr: " + minWidth + "; new: " + value);
minWidth = value;
modified = true;
}
@ -357,6 +362,7 @@ namespace Tools.Diagrams @@ -357,6 +362,7 @@ namespace Tools.Diagrams
get { return spacing; }
set
{
// System.Diagnostics.Debug.WriteLine("ItemStack.set_Spacing curr: " + spacing + "; new: " + value);
spacing = value;
modified = true;
}

Loading…
Cancel
Save