mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-28 16:58:01 +01:00
Merge pull request #950 from tig/remove_ienumerable
POC to remove IEnumerable from View & Window
This commit is contained in:
@@ -185,16 +185,16 @@ static class Demo {
|
||||
};
|
||||
|
||||
var tf = new Button (3, 19, "Ok");
|
||||
var frameView = new FrameView (new Rect (3, 10, 25, 6), "Options");
|
||||
frameView.Add (new CheckBox (1, 0, "Remember me"));
|
||||
frameView.Add (new RadioGroup (1, 2, new ustring [] { "_Personal", "_Company" }));
|
||||
// Add some content
|
||||
container.Add (
|
||||
login,
|
||||
loginText,
|
||||
password,
|
||||
passText,
|
||||
new FrameView (new Rect (3, 10, 25, 6), "Options"){
|
||||
new CheckBox (1, 0, "Remember me"),
|
||||
new RadioGroup (1, 2, new ustring [] { "_Personal", "_Company" }),
|
||||
},
|
||||
frameView,
|
||||
new ListView (new Rect (59, 6, 16, 4), new string [] {
|
||||
"First row",
|
||||
"<>",
|
||||
|
||||
@@ -111,7 +111,7 @@ namespace Terminal.Gui {
|
||||
/// frames for the vies that use <see cref="LayoutStyle.Computed"/>.
|
||||
/// </para>
|
||||
/// </remarks>
|
||||
public partial class View : Responder, IEnumerable, ISupportInitializeNotification {
|
||||
public partial class View : Responder, ISupportInitializeNotification {
|
||||
|
||||
internal enum Direction {
|
||||
Forward,
|
||||
@@ -386,15 +386,15 @@ namespace Terminal.Gui {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets an enumerator that enumerates the subviews in this view.
|
||||
/// </summary>
|
||||
/// <returns>The enumerator.</returns>
|
||||
public IEnumerator GetEnumerator ()
|
||||
{
|
||||
foreach (var v in InternalSubviews)
|
||||
yield return v;
|
||||
}
|
||||
///// <summary>
|
||||
///// Gets an enumerator that enumerates the subviews in this view.
|
||||
///// </summary>
|
||||
///// <returns>The enumerator.</returns>
|
||||
//public IEnumerator GetEnumerator ()
|
||||
//{
|
||||
// foreach (var v in InternalSubviews)
|
||||
// yield return v;
|
||||
//}
|
||||
|
||||
LayoutStyle layoutStyle;
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ namespace Terminal.Gui {
|
||||
/// The 'client area' of a <see cref="Window"/> is a rectangle deflated by one or more rows/columns from <see cref="View.Bounds"/>. A this time there is no
|
||||
/// API to determine this rectangle.
|
||||
/// </remarks>
|
||||
public class Window : Toplevel, IEnumerable {
|
||||
public class Window : Toplevel {
|
||||
View contentView;
|
||||
ustring title;
|
||||
|
||||
@@ -122,14 +122,14 @@ namespace Terminal.Gui {
|
||||
base.Add (contentView);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Enumerates the various <see cref="View"/>s in the embedded <see cref="ContentView"/>.
|
||||
/// </summary>
|
||||
/// <returns>The enumerator.</returns>
|
||||
public new IEnumerator GetEnumerator ()
|
||||
{
|
||||
return contentView.GetEnumerator ();
|
||||
}
|
||||
///// <summary>
|
||||
///// Enumerates the various <see cref="View"/>s in the embedded <see cref="ContentView"/>.
|
||||
///// </summary>
|
||||
///// <returns>The enumerator.</returns>
|
||||
//public new IEnumerator GetEnumerator ()
|
||||
//{
|
||||
// return contentView.GetEnumerator ();
|
||||
//}
|
||||
|
||||
/// <inheritdoc/>
|
||||
public override void Add (View view)
|
||||
|
||||
@@ -14,9 +14,9 @@
|
||||
|
||||
e.g. If AssemblyVersion is 1.2.3.4, Version could be EITHER 1.2.3.4 or 1.2.3-pre.4 depending on whether it's a pre-release or not.
|
||||
-->
|
||||
<Version>1.0.0-pre.4</Version>
|
||||
<AssemblyVersion>1.0.0.4</AssemblyVersion>
|
||||
<FileVersion>1.0.0.4</FileVersion>
|
||||
<Version>1.0.0-pre.5</Version>
|
||||
<AssemblyVersion>1.0.0.5</AssemblyVersion>
|
||||
<FileVersion>1.0.0.5</FileVersion>
|
||||
<Authors>Miguel de Icaza, Charlie Kindel (@tig), @BDisp</Authors>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -24,7 +24,8 @@
|
||||
<PackageReleaseNotes>
|
||||
v1.00 -
|
||||
* If StatusBar.Visible is set to false, TopLevel resizes correctly enabling hiding/showing of a StatusBar. UICatalog demonstrates.
|
||||
* New sample/demo app - ReactiveExample - Shows how to use reactive extensions and ReactiveUI with gui.cs.
|
||||
* New sample/demo app - ReactiveExample - Shows how to use reactive extensions and ReactiveUI with gui.cs. (Thanks @worldbeater)
|
||||
* BREAKING API CHANGE - Removed IEnumerable from View and Window. Use Subviews property instead. See #950.
|
||||
|
||||
v0.90 - "Feature Complete" pre-release of Terminal.Gui (aka gui.cs) 1.0. This release is a signficant upgrade from the previous published release (0.81). Most of the major changes and bug fixes are listed below. NOTE: This release includes breaking changes to the API; we will strive to avoid any more breaking changes before 1.0.
|
||||
|
||||
|
||||
@@ -643,7 +643,7 @@ namespace Terminal.Gui {
|
||||
|
||||
void SetViewsNeedsDisplay ()
|
||||
{
|
||||
foreach (View view in contentView) {
|
||||
foreach (View view in contentView.Subviews) {
|
||||
view.SetNeedsDisplay ();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -35,7 +35,6 @@ namespace Terminal.Gui {
|
||||
Assert.Empty (r.Subviews);
|
||||
Assert.False (r.WantContinuousButtonPressed);
|
||||
Assert.False (r.WantMousePositionReports);
|
||||
Assert.Null (r.GetEnumerator ().Current);
|
||||
Assert.Null (r.SuperView);
|
||||
Assert.Null (r.MostFocused);
|
||||
|
||||
@@ -59,7 +58,6 @@ namespace Terminal.Gui {
|
||||
Assert.Empty (r.Subviews);
|
||||
Assert.False (r.WantContinuousButtonPressed);
|
||||
Assert.False (r.WantMousePositionReports);
|
||||
Assert.Null (r.GetEnumerator ().Current);
|
||||
Assert.Null (r.SuperView);
|
||||
Assert.Null (r.MostFocused);
|
||||
|
||||
@@ -83,7 +81,6 @@ namespace Terminal.Gui {
|
||||
Assert.Empty (r.Subviews);
|
||||
Assert.False (r.WantContinuousButtonPressed);
|
||||
Assert.False (r.WantMousePositionReports);
|
||||
Assert.Null (r.GetEnumerator ().Current);
|
||||
Assert.Null (r.SuperView);
|
||||
Assert.Null (r.MostFocused);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user