Skip to content

Commit 415b471

Browse files
committed
fix a bug introduced in the DesignerActionPanel refactoring
1 parent 5373f94 commit 415b471

8 files changed

+28
-18
lines changed

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.CheckBoxPropertyLine.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,9 @@ protected override void OnValueChanged()
6363
_checkBox.Checked = (bool)Value;
6464
}
6565

66-
public sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
66+
public static StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionPropertyItem item) => new Info(list, item);
67+
68+
private sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
6769
{
6870
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)
6971
{

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.EditorPropertyLine.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -475,7 +475,9 @@ protected override bool ProcessDialogKey(Keys keyData)
475475
}
476476
}
477477

478-
public new sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
478+
public static new StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionPropertyItem item) => new Info(list, item);
479+
480+
private sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
479481
{
480482
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)
481483
{

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.HeaderLine.cs

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ private HeaderLine(IServiceProvider serviceProvider, DesignerActionPanel actionP
1515

1616
protected override Font GetFont() => new(ActionPanel.Font, FontStyle.Bold);
1717

18-
public new sealed class Info(DesignerActionList list, DesignerActionTextItem item) : StandardLineInfo(list)
18+
public static new StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionTextItem item) => new HeaderTextLineInfo(list, item);
19+
20+
private sealed class HeaderTextLineInfo(DesignerActionList list, DesignerActionTextItem item) : TextLineInfo(list, item)
1921
{
20-
public override DesignerActionTextItem Item { get; } = item;
2122
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)
2223
{
2324
return new HeaderLine(serviceProvider, actionPanel);

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.MethodLine.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,8 @@ protected override bool ProcessDialogKey(Keys keyData)
110110
}
111111
}
112112

113-
public sealed class Info(DesignerActionList list, DesignerActionMethodItem item) : StandardLineInfo(list)
113+
public static StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionMethodItem item) => new Info(list, item);
114+
private sealed class Info(DesignerActionList list, DesignerActionMethodItem item) : StandardLineInfo(list)
114115
{
115116
public override DesignerActionMethodItem Item { get; } = item;
116117
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.PropertyLine.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,7 @@ internal sealed override void UpdateActionItem(LineInfo lineInfo, ToolTip toolTi
112112
}
113113
}
114114

115-
public abstract class PropertyLineInfo(DesignerActionList list, DesignerActionPropertyItem item) : StandardLineInfo(list)
115+
protected abstract class PropertyLineInfo(DesignerActionList list, DesignerActionPropertyItem item) : StandardLineInfo(list)
116116
{
117117
public override DesignerActionPropertyItem Item { get; } = item;
118118
}

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.TextBoxPropertyLine.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -359,7 +359,9 @@ public EditorLabelAccessibleObject(EditorLabel owner)
359359
}
360360
}
361361

362-
public sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
362+
public static StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionPropertyItem item) => new Info(list, item);
363+
364+
private sealed class Info(DesignerActionList list, DesignerActionPropertyItem item) : PropertyLineInfo(list, item)
363365
{
364366
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)
365367
{

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.TextLine.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -63,15 +63,17 @@ protected virtual Font GetFont()
6363

6464
internal override void UpdateActionItem(LineInfo lineInfo, ToolTip toolTip, ref int currentTabIndex)
6565
{
66-
Info info = (Info)lineInfo;
67-
_textItem = info.Item;
66+
TextLineInfo textLineInfo = (TextLineInfo)lineInfo;
67+
_textItem = textLineInfo.Item;
6868
_label.Text = StripAmpersands(_textItem.DisplayName);
6969
_label.Font = GetFont();
7070
_label.TabIndex = currentTabIndex++;
7171
toolTip.SetToolTip(_label, _textItem.Description);
7272
}
7373

74-
public sealed class Info(DesignerActionList list, DesignerActionTextItem item) : StandardLineInfo(list)
74+
public static StandardLineInfo CreateLineInfo(DesignerActionList list, DesignerActionTextItem item) => new TextLineInfo(list, item);
75+
76+
protected class TextLineInfo(DesignerActionList list, DesignerActionTextItem item) : StandardLineInfo(list)
7577
{
7678
public override DesignerActionTextItem Item { get; } = item;
7779
public override Line CreateLine(IServiceProvider serviceProvider, DesignerActionPanel actionPanel)

src/System.Windows.Forms.Design/src/System/ComponentModel/Design/DesignerActionPanel.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -661,7 +661,7 @@ private StandardLineInfo ProcessTaskItem(DesignerActionList list, DesignerAction
661661
{
662662
if (item is DesignerActionMethodItem methodItem)
663663
{
664-
return new MethodLine.Info(list, methodItem);
664+
return MethodLine.CreateLineInfo(list, methodItem);
665665
}
666666
else if (item is DesignerActionPropertyItem pti)
667667
{
@@ -675,37 +675,37 @@ private StandardLineInfo ProcessTaskItem(DesignerActionList list, DesignerAction
675675
bool standardValuesSupported = pd.Converter.GetStandardValuesSupported(context);
676676
if (pd.TryGetEditor(out UITypeEditor _))
677677
{
678-
return new EditorPropertyLine.Info(list, pti);
678+
return EditorPropertyLine.CreateLineInfo(list, pti);
679679
}
680680
else if (pd.PropertyType == typeof(bool))
681681
{
682682
if (IsReadOnlyProperty(pd))
683683
{
684-
return new TextBoxPropertyLine.Info(list, pti);
684+
return TextBoxPropertyLine.CreateLineInfo(list, pti);
685685
}
686686
else
687687
{
688-
return new CheckBoxPropertyLine.Info(list, pti);
688+
return CheckBoxPropertyLine.CreateLineInfo(list, pti);
689689
}
690690
}
691691
else if (standardValuesSupported)
692692
{
693-
return new EditorPropertyLine.Info(list, pti);
693+
return EditorPropertyLine.CreateLineInfo(list, pti);
694694
}
695695
else
696696
{
697-
return new TextBoxPropertyLine.Info(list, pti);
697+
return TextBoxPropertyLine.CreateLineInfo(list, pti);
698698
}
699699
}
700700
else if (item is DesignerActionTextItem textItem)
701701
{
702702
if (item is DesignerActionHeaderItem)
703703
{
704-
return new HeaderLine.Info(list, textItem);
704+
return HeaderLine.CreateLineInfo(list, textItem);
705705
}
706706
else
707707
{
708-
return new TextLine.Info(list, textItem);
708+
return TextLine.CreateLineInfo(list, textItem);
709709
}
710710
}
711711
else

0 commit comments

Comments
 (0)