From 2c3133639a093a8bb555e468f633410af44c08b3 Mon Sep 17 00:00:00 2001 From: Itar Bar-Haim Date: Sat, 24 Feb 2007 14:02:03 +0000 Subject: [PATCH] Fixed coloring issue; Fixed parameter documentation display. git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@2395 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61 --- .../ClassEditor/ClassEditor.Designer.cs | 4 + .../ClassDiagram/ClassEditor/ClassEditor.cs | 173 +++--------------- 2 files changed, 32 insertions(+), 145 deletions(-) diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs index 4e579665d1..3fc1a61995 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.Designer.cs @@ -115,18 +115,22 @@ namespace ClassDiagram this._name.DataPropertyName = "MemberName"; this._name.EditEnabled = true; this._name.ParentColumn = this.nameCol; + this._name.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; + this._name.DrawText += new System.EventHandler(this._nameDrawText); // // _type // this._type.DataPropertyName = "MemberType"; this._type.EditEnabled = true; this._type.ParentColumn = this.typeCol; + this._type.Trimming = System.Drawing.StringTrimming.EllipsisCharacter; // // _modifiers // this._modifiers.DataPropertyName = "MemberModifier"; 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 diff --git a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs index d11d863dfe..cb906291df 100644 --- a/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs +++ b/src/AddIns/DisplayBindings/ClassDiagram/ClassEditor/ClassEditor.cs @@ -50,15 +50,7 @@ namespace ClassDiagram public event EventHandler ClassMemberAdded = delegate {}; TreeModel model = new TreeModel(); - - //TreeListViewItem editedItem = null; - /* - TreeColumn nameCol = new TreeColumn("Name", 100); - TreeColumn typeCol = new TreeColumn("Type", 100); - TreeColumn modifierCol = new TreeColumn("Modifier", 100); - TreeColumn summaryCol = new TreeColumn("Summary", 100); - */ - + private class GroupNode : Node { public GroupNode(Type groupType, string title) @@ -183,16 +175,18 @@ namespace ClassDiagram private class ParameterNode : Node { - public ParameterNode(IParameter parameter, IAmbience ambience, Image icon, ClassEditor editor) + public ParameterNode(IMethod method, IParameter parameter, IAmbience ambience, Image icon, ClassEditor editor) { this.ambience = ambience; this.icon = icon; this.parameter = parameter; this.editor = editor; + this.method = method; UpdateMethod(); } + IAmbience ambience; IParameter parameter; IMethod method; @@ -254,7 +248,7 @@ namespace ClassDiagram public string MemberSummary { - get { return ClassEditor.GetSummary(parameter); } + get { return ClassEditor.GetParameterSummary(method, parameter.Name); } set { IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, Modification.Summary, value); @@ -275,8 +269,7 @@ namespace ClassDiagram get { return icon; } } - public string MemberName - { + public string MemberName { get { return base.Text; } } } @@ -290,28 +283,6 @@ namespace ClassDiagram membersList.Model = model; -// try -// { -// membersList.SmallImageList = ClassBrowserIconService.ImageList; -// } -// catch -// { -// membersList.SmallImageList = new ImageList(); -// } - - //TODO - check with the #D documentation how to add new icons correctly. - //membersList.SmallImageList.Images.Add("OpenBrace", (Bitmap)resources.GetObject("openbrace")); - //membersList.SmallImageList.Images.Add("Comma", (Bitmap)resources.GetObject("comma")); - //membersList.SmallImageList.Images.Add("CloseBrace", (Bitmap)resources.GetObject("closebrace")); - //membersList.SmallImageList.Images.Add("EmptyBraces", (Bitmap)resources.GetObject("emptybraces")); - -// membersList.DoubleClick += HandleDoubleClick; -// membersList.BeforeLabelEdit += BeforeEdit; -// membersList.AfterLabelEdit += AfterEdit; - - Controls.Add(membersList); - membersList.Dock = DockStyle.Fill; - classTypeGroupCreators.Add(ClassType.Class, SetClassGroups); classTypeGroupCreators.Add(ClassType.Interface, SetClassGroups); classTypeGroupCreators.Add(ClassType.Struct, SetClassGroups); @@ -320,6 +291,16 @@ namespace ClassDiagram //classTypeGroupCreators[ClassType.Module] = SetClassGroups; //??? } + private void InitTypeList() + { + _type.DropDownItems.Clear(); + + IProjectContent pc = ProjectService.CurrentProject.CreateProjectContent(); + foreach (IClass c in pc.Classes) + _type.DropDownItems.Add(c.Name); + _type.DropDownItems.Sort(); + } + private void HandleDoubleClick (object sender, EventArgs e) { @@ -334,87 +315,9 @@ namespace ClassDiagram { ParameterModified(this, e); } - /* - private void BeforeEdit(object sender, TreeListViewBeforeLabelEditEventArgs e) - { - editedItem = model.Nodes[membersList.SelectedNodes[0].Index]; - IMember itemMember = editedItem.Tag as IMember; - IParameter itemParameter = editedItem.Tag as IParameter; - if (itemMember != null) - { - if (e.ColumnIndex == nameCol.Index) - { - } - else if (e.ColumnIndex == typeCol.Index) - { - } - else if (e.ColumnIndex == modifierCol.Index) - { - e.Editor = visibilityModifierEditor; - } - else if (e.ColumnIndex == summaryCol.Index) - { - } - else - { - e.Cancel = true; - } - } - else if (itemParameter != null) - { - if (e.ColumnIndex == nameCol.Index) - { - } - else if (e.ColumnIndex == typeCol.Index) - { - } - else if (e.ColumnIndex == modifierCol.Index) - { - e.Editor = parameterModifierEditor; - } - else if (e.ColumnIndex == summaryCol.Index) - { - } - else - { - e.Cancel = true; - } - } - - if (addParameterItems.ContainsValue(editedItem)) - { - e.Cancel = true; - } - } - */ private void AfterEdit (object sender, TreeListViewLabelEditEventArgs e) { - /* - Modification modification = Modification.None; - if (e.ColumnIndex == nameCol.Index) - { - modification = Modification.Name; - } - else if (e.ColumnIndex == typeCol.Index) - { - modification = Modification.Type; - } - else if (e.ColumnIndex == modifierCol.Index) - { - modification = Modification.Modifier; - } - else if (e.ColumnIndex == summaryCol.Index) - { - modification = Modification.Summary; - } - else - { - e.Cancel = true; - } - - if (e.Cancel) return; - */ /* IProjectContent pc = ProjectService.CurrentProject.CreateProjectContent(); IMember member = null; @@ -456,34 +359,6 @@ namespace ClassDiagram return; } */ - /* - member = editedItem.Tag as IMember; - IParameter parameter = editedItem.Tag as IParameter; - if (member != null) - { - IMemberModificationEventArgs mmea = new IMemberModificationEventArgs(member, modification, e.Label); - MemberModified(this, mmea); - e.Cancel = mmea.Cancel; - } - else if (parameter != null) - { - IMethod method = editedItem.Parent.Tag as IMethod; - if (method == null) - { - e.Cancel = true; - } - else - { - IParameterModificationEventArgs pmea = new IParameterModificationEventArgs(method, parameter, modification, e.Label); - ParameterModified(this, pmea); - e.Cancel = pmea.Cancel; - } - } - else - { - e.Cancel = true; - } - */ } private void SetClassGroups (IClass classType) @@ -578,12 +453,14 @@ namespace ClassDiagram private static string GetSummary (IDecoration decoration) { + if (decoration == null) return String.Empty; return GetSummary(decoration.Documentation, @"/docroot/summary"); } - private static string GetSummary (IParameter parameter) + private static string GetParameterSummary (IDecoration decoration, string parameterName) { - return GetSummary(parameter.Documentation, @"/docroot/param[@name='"+parameter.Name+"']"); + if (decoration == null) return String.Empty; + return GetSummary(decoration.Documentation, @"/docroot/param[@name='"+parameterName+"']"); } private static string GetSummary (string documentation, string xpath) @@ -608,7 +485,7 @@ namespace ClassDiagram Image currentImage = openBrace; foreach (IParameter param in method.Parameters) { - ParameterNode parameter = new ParameterNode(param, GetAmbience(), currentImage, this); + ParameterNode parameter = new ParameterNode(method, param, GetAmbience(), currentImage, this); currentImage = comma; item.Nodes.Add(parameter); } @@ -618,7 +495,6 @@ namespace ClassDiagram currentImage = closeBrace; AddParameterNode addParam = new AddParameterNode(currentImage); - // addParam.ForeColor = Color.Gray; item.Nodes.Add(addParam); addParameterItems[method] = addParam; } @@ -658,6 +534,7 @@ namespace ClassDiagram if (memberItem != null) { _modifiers.DropDownItems.Clear(); + _modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Public); _modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Private); _modifiers.DropDownItems.Add(ICSharpCode.NRefactory.Ast.Modifiers.Protected); @@ -712,6 +589,12 @@ namespace ClassDiagram } } } + + void _nameDrawText(object sender, DrawEventArgs e) + { + if ((e.Node.Tag is GroupNode || e.Node.Tag is AddParameterNode) && e.Node.IsSelected == false) + e.TextBrush = Brushes.Gray; + } } public enum Modification { None, Name, Type, Modifier, Summary }