From 474dfbb579754fd6c55804476f91e98167d00044 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 12:33:14 +0000 Subject: [PATCH 01/64] Added basic table viewing --- Terminal.Gui/Views/TableView.cs | 190 +++++++++++++++++++++++++++++ UICatalog/Scenarios/TableEditor.cs | 78 ++++++++++++ 2 files changed, 268 insertions(+) create mode 100644 Terminal.Gui/Views/TableView.cs create mode 100644 UICatalog/Scenarios/TableEditor.cs diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs new file mode 100644 index 000000000..3bf49df02 --- /dev/null +++ b/Terminal.Gui/Views/TableView.cs @@ -0,0 +1,190 @@ +ο»Ώusing System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Terminal.Gui.Views { + + /// + /// View for tabular data based on a + /// + public class TableView : View { + + private int columnOffset; + private int rowOffset; + + public DataTable Table { get; private set; } + + /// + /// Zero indexed offset for the upper left to display in . + /// + /// This property allows very wide tables to be rendered with horizontal scrolling + public int ColumnOffset { + get => columnOffset; + + //try to prevent this being set to an out of bounds column + set => columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + } + + + /// + /// Zero indexed offset for the to display in on line 2 of the control (first line being headers) + /// + /// This property allows very wide tables to be rendered with horizontal scrolling + public int RowOffset { + get => rowOffset; + set => rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + } + + /// + /// The maximum number of characters to render in any given column. This prevents one long column from pushing out all the others + /// + public int MaximumCellWidth {get;set;} = 100; + + /// + /// The text representation that should be rendered for cells with the value + /// + public string NullSymbol {get;set;} = "-"; + + /// + /// Initialzies a class using layout. + /// + /// The table to display in the control + public TableView (DataTable table) : base () + { + this.Table = table ?? throw new ArgumentNullException (nameof (table)); + } + /// + public override void Redraw (Rect bounds) + { + Attribute currentAttribute; + var current = ColorScheme.Focus; + Driver.SetAttribute (current); + Move (0, 0); + + var frame = Frame; + + int activeColor = ColorScheme.HotNormal; + int trackingColor = ColorScheme.HotFocus; + + // What columns to render at what X offset in viewport + Dictionary columnsToRender = CalculateViewport(bounds); + + Driver.SetAttribute (ColorScheme.HotNormal); + + // Render the headers + foreach(var kvp in columnsToRender) { + + Move (kvp.Value,0); + Driver.AddStr(kvp.Key.ColumnName); + } + + //render the cells + for (int line = 1; line < frame.Height; line++) { + + //work out what Row to render + var rowToRender = RowOffset + (line-1); + if(rowToRender >= Table.Rows.Count) + break; + + foreach(var kvp in columnsToRender) { + Move (kvp.Value,line); + Driver.AddStr(GetRenderedVal(Table.Rows[rowToRender][kvp.Key])); + } + } + + /* + + for (int line = 1; line < frame.Height; line++) { + var lineRect = new Rect (0, line, frame.Width, 1); + if (!bounds.Contains (lineRect)) + continue; + + Move (0, line); + Driver.SetAttribute (ColorScheme.HotNormal); + Driver.AddStr ("test"); + + currentAttribute = ColorScheme.HotNormal; + SetAttribute (ColorScheme.Normal); + }*/ + + void SetAttribute (Attribute attribute) + { + if (currentAttribute != attribute) { + currentAttribute = attribute; + Driver.SetAttribute (attribute); + } + } + + } + + /// + /// Calculates which columns should be rendered given the in which to display and the + /// + /// + /// + /// + private Dictionary CalculateViewport(Rect bounds, int padding = 1) + { + Dictionary toReturn = new Dictionary(); + + int usedSpace = 0; + int availableHorizontalSpace = bounds.Width; + int rowsToRender = bounds.Height-1; //1 reserved for the headers row + + foreach(var col in Table.Columns.Cast().Skip(ColumnOffset)) { + + toReturn.Add(col,usedSpace); + usedSpace += CalculateMaxRowSize(col,rowsToRender) + padding; + + if(usedSpace > availableHorizontalSpace) + return toReturn; + + } + + return toReturn; + } + + /// + /// Returns the maximum of the name and the maximum length of data that will be rendered starting at and rendering + /// + /// + /// + /// + private int CalculateMaxRowSize (DataColumn col, int rowsToRender) + { + int spaceRequired = col.ColumnName.Length; + + for(int i = RowOffset; i + /// Returns the value that should be rendered to best represent a strongly typed read from + /// + /// + /// + private string GetRenderedVal (object value) + { + if(value == null || value == DBNull.Value) + { + return NullSymbol; + } + + var representation = value.ToString(); + + //if it is too long to fit + if(representation.Length > MaximumCellWidth) + return representation.Substring(0,MaximumCellWidth); + + return representation; + } + } +} diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs new file mode 100644 index 000000000..2d76fb60e --- /dev/null +++ b/UICatalog/Scenarios/TableEditor.cs @@ -0,0 +1,78 @@ +ο»Ώusing System; +using System.Collections.Generic; +using System.Data; +using Terminal.Gui; +using Terminal.Gui.Views; + +namespace UICatalog.Scenarios { + + [ScenarioMetadata (Name: "TableEditor", Description: "A Terminal.Gui DataTable editor via TableView")] + [ScenarioCategory ("Controls")] + [ScenarioCategory ("Dialogs")] + [ScenarioCategory ("Text")] + [ScenarioCategory ("Dialogs")] + [ScenarioCategory ("TopLevel")] + public class TableEditor : Scenario + { + TableView tableView; + + public override void Setup () + { + var dt = BuildDemoDataTable(30,1000); + + Win.Title = this.GetName() + "-" + dt.TableName ?? "Untitled"; + Win.Y = 1; // menu + Win.Height = Dim.Fill (1); // status bar + Top.LayoutSubviews (); + + this.tableView = new TableView (dt) { + X = 0, + Y = 0, + Width = Dim.Fill (), + Height = Dim.Fill (), + }; + tableView.CanFocus = true; + Win.Add (tableView); + } + + /// + /// Generates a new demo with the given number of (min 4) and + /// + /// + /// + /// + public static DataTable BuildDemoDataTable(int cols, int rows) + { + var dt = new DataTable(); + + dt.Columns.Add(new DataColumn("StrCol",typeof(string))); + dt.Columns.Add(new DataColumn("DateCol",typeof(DateTime))); + dt.Columns.Add(new DataColumn("IntCol",typeof(int))); + dt.Columns.Add(new DataColumn("DoubleCol",typeof(double))); + + for(int i=0;i< cols -4; i++) { + dt.Columns.Add("Column" + (i+4)); + } + + var r = new Random(100); + + for(int i=0;i< rows;i++) { + + List row = new List(){ + "Some long text with unicode 'πŸ˜€'", + new DateTime(2000+i,12,25), + r.Next(i), + r.NextDouble()*i + }; + + for(int j=0;j< cols -4; j++) { + row.Add("SomeValue" + r.Next(100)); + } + + dt.Rows.Add(row.ToArray()); + } + + return dt; + } + } +} From dcb020ab147bd14f08c40a8312eb184e2168c6e8 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 13:09:08 +0000 Subject: [PATCH 02/64] Added keyboard navigation and fixed layout/rendering issues --- Terminal.Gui/Views/TableView.cs | 114 ++++++++++++++++++++++------- UICatalog/Scenarios/TableEditor.cs | 10 ++- 2 files changed, 94 insertions(+), 30 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 3bf49df02..7040e51e2 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -2,8 +2,6 @@ using System.Collections.Generic; using System.Data; using System.Linq; -using System.Text; -using System.Threading.Tasks; namespace Terminal.Gui.Views { @@ -22,10 +20,21 @@ namespace Terminal.Gui.Views { /// /// This property allows very wide tables to be rendered with horizontal scrolling public int ColumnOffset { - get => columnOffset; + get { + return columnOffset; + } //try to prevent this being set to an out of bounds column - set => columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + set { + //the value before we changed it + var origValue = columnOffset; + + columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + + //if value actually changed we must update UI + if(columnOffset != origValue) + SetNeedsDisplay(); + } } @@ -34,9 +43,20 @@ namespace Terminal.Gui.Views { /// /// This property allows very wide tables to be rendered with horizontal scrolling public int RowOffset { - get => rowOffset; - set => rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + get { + return rowOffset; } + set { + //the value before we changed it + var origValue = rowOffset; + + rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + + //if value actually changed we must update UI + if(rowOffset != origValue) + SetNeedsDisplay(); + } + } /// /// The maximum number of characters to render in any given column. This prevents one long column from pushing out all the others @@ -48,6 +68,11 @@ namespace Terminal.Gui.Views { /// public string NullSymbol {get;set;} = "-"; + /// + /// The symbol to add after each cell value and header value to visually seperate values + /// + public char SeparatorSymbol {get;set; } = ' '; + /// /// Initialzies a class using layout. /// @@ -74,42 +99,36 @@ namespace Terminal.Gui.Views { Driver.SetAttribute (ColorScheme.HotNormal); + //invalidate current row (prevents scrolling around leaving old characters in the frame + Driver.AddStr(new string (' ',bounds.Width)); + // Render the headers foreach(var kvp in columnsToRender) { Move (kvp.Value,0); - Driver.AddStr(kvp.Key.ColumnName); + Driver.AddStr(kvp.Key.ColumnName+ SeparatorSymbol); } //render the cells for (int line = 1; line < frame.Height; line++) { + //invalidate current row (prevents scrolling around leaving old characters in the frame + Move (0,line); + Driver.AddStr(new string (' ',bounds.Width)); + //work out what Row to render var rowToRender = RowOffset + (line-1); + + //if we have run off the end of the table if(rowToRender >= Table.Rows.Count) - break; + continue; foreach(var kvp in columnsToRender) { Move (kvp.Value,line); - Driver.AddStr(GetRenderedVal(Table.Rows[rowToRender][kvp.Key])); + Driver.AddStr(GetRenderedVal(Table.Rows[rowToRender][kvp.Key]) + SeparatorSymbol); } } - /* - - for (int line = 1; line < frame.Height; line++) { - var lineRect = new Rect (0, line, frame.Width, 1); - if (!bounds.Contains (lineRect)) - continue; - - Move (0, line); - Driver.SetAttribute (ColorScheme.HotNormal); - Driver.AddStr ("test"); - - currentAttribute = ColorScheme.HotNormal; - SetAttribute (ColorScheme.Normal); - }*/ - void SetAttribute (Attribute attribute) { if (currentAttribute != attribute) { @@ -119,7 +138,50 @@ namespace Terminal.Gui.Views { } } - + + /// + public override bool ProcessKey (KeyEvent keyEvent) + { + switch (keyEvent.Key) { + case Key.CursorLeft: + ColumnOffset--; + break; + case Key.CursorRight: + ColumnOffset++; + break; + case Key.CursorDown: + RowOffset++; + break; + case Key.CursorUp: + RowOffset--; + break; + case Key.PageUp: + RowOffset -= Frame.Height; + break; + case Key.V | Key.CtrlMask: + case Key.PageDown: + RowOffset += Frame.Height; + break; + case Key.Home | Key.CtrlMask: + RowOffset = 0; + ColumnOffset = 0; + break; + case Key.Home: + ColumnOffset = 0; + break; + case Key.End | Key.CtrlMask: + //jump to end of table + RowOffset = Table.Rows.Count-1; + ColumnOffset = Table.Columns.Count-1; + break; + case Key.End: + //jump to end of row + ColumnOffset = Table.Columns.Count-1; + break; + } + PositionCursor (); + return true; + } /// /// Calculates which columns should be rendered given the in which to display and the /// @@ -157,7 +219,7 @@ namespace Terminal.Gui.Views { { int spaceRequired = col.ColumnName.Length; - for(int i = RowOffset; i - /// Generates a new demo with the given number of (min 4) and + /// Generates a new demo with the given number of (min 5) and /// /// /// @@ -49,8 +49,9 @@ namespace UICatalog.Scenarios { dt.Columns.Add(new DataColumn("DateCol",typeof(DateTime))); dt.Columns.Add(new DataColumn("IntCol",typeof(int))); dt.Columns.Add(new DataColumn("DoubleCol",typeof(double))); + dt.Columns.Add(new DataColumn("NullsCol",typeof(string))); - for(int i=0;i< cols -4; i++) { + for(int i=0;i< cols -5; i++) { dt.Columns.Add("Column" + (i+4)); } @@ -62,10 +63,11 @@ namespace UICatalog.Scenarios { "Some long text with unicode 'πŸ˜€'", new DateTime(2000+i,12,25), r.Next(i), - r.NextDouble()*i + r.NextDouble()*i, + DBNull.Value }; - for(int j=0;j< cols -4; j++) { + for(int j=0;j< cols -5; j++) { row.Add("SomeValue" + r.Next(100)); } From bfefc724dfacb7195ec6e7dc953960de00ec434e Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 13:50:23 +0000 Subject: [PATCH 03/64] Added selected cell properties --- Terminal.Gui/Views/TableView.cs | 148 ++++++++++++++++++++++---------- 1 file changed, 101 insertions(+), 47 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7040e51e2..f2c88bf60 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -1,4 +1,5 @@ -ο»Ώusing System; +ο»Ώusing NStack; +using System; using System.Collections.Generic; using System.Data; using System.Linq; @@ -12,6 +13,8 @@ namespace Terminal.Gui.Views { private int columnOffset; private int rowOffset; + private int selectedRow; + private int selectedColumn; public DataTable Table { get; private set; } @@ -20,42 +23,37 @@ namespace Terminal.Gui.Views { /// /// This property allows very wide tables to be rendered with horizontal scrolling public int ColumnOffset { - get { - return columnOffset; - } + get => columnOffset; //try to prevent this being set to an out of bounds column - set { - //the value before we changed it - var origValue = columnOffset; - - columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); - - //if value actually changed we must update UI - if(columnOffset != origValue) - SetNeedsDisplay(); - } + set => columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); } - /// /// Zero indexed offset for the to display in on line 2 of the control (first line being headers) /// /// This property allows very wide tables to be rendered with horizontal scrolling public int RowOffset { - get { - return rowOffset; - } - set { - //the value before we changed it - var origValue = rowOffset; + get => rowOffset; + set => rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + } - rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + /// + /// The index of in that the user has currently selected + /// + public int SelectedColumn { + get => selectedColumn; - //if value actually changed we must update UI - if(rowOffset != origValue) - SetNeedsDisplay(); - } + //try to prevent this being set to an out of bounds column + set => selectedColumn = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + } + + /// + /// The index of in that the user has currently selected + /// + public int SelectedRow { + get => selectedRow; + set => selectedRow = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); } /// @@ -91,22 +89,19 @@ namespace Terminal.Gui.Views { var frame = Frame; - int activeColor = ColorScheme.HotNormal; - int trackingColor = ColorScheme.HotFocus; - // What columns to render at what X offset in viewport Dictionary columnsToRender = CalculateViewport(bounds); - Driver.SetAttribute (ColorScheme.HotNormal); + Driver.SetAttribute (ColorScheme.Normal); //invalidate current row (prevents scrolling around leaving old characters in the frame Driver.AddStr(new string (' ',bounds.Width)); - + // Render the headers foreach(var kvp in columnsToRender) { Move (kvp.Value,0); - Driver.AddStr(kvp.Key.ColumnName+ SeparatorSymbol); + Driver.AddStr(Truncate(kvp.Key.ColumnName+ SeparatorSymbol,bounds.Width - kvp.Value)); } //render the cells @@ -114,6 +109,7 @@ namespace Terminal.Gui.Views { //invalidate current row (prevents scrolling around leaving old characters in the frame Move (0,line); + Driver.SetAttribute(ColorScheme.Normal); Driver.AddStr(new string (' ',bounds.Width)); //work out what Row to render @@ -125,7 +121,14 @@ namespace Terminal.Gui.Views { foreach(var kvp in columnsToRender) { Move (kvp.Value,line); - Driver.AddStr(GetRenderedVal(Table.Rows[rowToRender][kvp.Key]) + SeparatorSymbol); + + bool isSelectedCell = rowToRender == SelectedRow && kvp.Key.Ordinal == SelectedColumn; + + Driver.SetAttribute(isSelectedCell? ColorScheme.HotFocus: ColorScheme.Normal); + + + var valueToRender = GetRenderedVal(Table.Rows[rowToRender][kvp.Key]) + SeparatorSymbol; + Driver.AddStr(Truncate(valueToRender,bounds.Width - kvp.Value )); } } @@ -138,50 +141,101 @@ namespace Terminal.Gui.Views { } } - + + private ustring Truncate (string valueToRender, int availableHorizontalSpace) + { + if(string.IsNullOrEmpty(valueToRender) || valueToRender.Length < availableHorizontalSpace) + return valueToRender; + + return valueToRender.Substring(0,availableHorizontalSpace); + } + /// public override bool ProcessKey (KeyEvent keyEvent) { switch (keyEvent.Key) { case Key.CursorLeft: - ColumnOffset--; + SelectedColumn--; + RefreshViewport(); break; case Key.CursorRight: - ColumnOffset++; + SelectedColumn++; + RefreshViewport(); break; case Key.CursorDown: - RowOffset++; + SelectedRow++; + RefreshViewport(); break; case Key.CursorUp: - RowOffset--; + SelectedRow--; + RefreshViewport(); break; case Key.PageUp: - RowOffset -= Frame.Height; + SelectedRow -= Frame.Height; + RefreshViewport(); break; - case Key.V | Key.CtrlMask: case Key.PageDown: - RowOffset += Frame.Height; + SelectedRow += Frame.Height; + RefreshViewport(); break; case Key.Home | Key.CtrlMask: - RowOffset = 0; - ColumnOffset = 0; + SelectedRow = 0; + SelectedColumn = 0; + RefreshViewport(); break; case Key.Home: - ColumnOffset = 0; + SelectedColumn = 0; + RefreshViewport(); break; case Key.End | Key.CtrlMask: //jump to end of table - RowOffset = Table.Rows.Count-1; - ColumnOffset = Table.Columns.Count-1; + SelectedRow = Table.Rows.Count-1; + SelectedColumn = Table.Columns.Count-1; + RefreshViewport(); break; case Key.End: //jump to end of row - ColumnOffset = Table.Columns.Count-1; + SelectedColumn = Table.Columns.Count-1; + RefreshViewport(); break; } PositionCursor (); return true; } + + /// + /// Updates the viewport ( / ) to ensure that the users selected cell is visible and redraws control + /// + /// This always calls + public void RefreshViewport () + { + //TODO: implement + + Dictionary columnsToRender = CalculateViewport(Bounds); + + + //if we have scrolled too far to the left + if(SelectedColumn < columnsToRender.Keys.Min(col=>col.Ordinal)) { + ColumnOffset = SelectedColumn; + } + + //if we have scrolled too far to the right + if(SelectedColumn > columnsToRender.Keys.Max(col=>col.Ordinal)) { + ColumnOffset = SelectedColumn; + } + + //if we have scrolled too far down + if(SelectedRow > RowOffset + Bounds.Height-1) { + RowOffset = SelectedRow; + } + //if we have scrolled too far up + if(SelectedRow < RowOffset) { + RowOffset = SelectedRow; + } + + SetNeedsDisplay(); + } + /// /// Calculates which columns should be rendered given the in which to display and the /// From 6744e0604114ff39ab92bbb84ba6985f13e37036 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 14:11:18 +0000 Subject: [PATCH 04/64] Added edit cell values into the example in UICatalog --- UICatalog/Scenarios/TableEditor.cs | 56 +++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 1c9c23a58..fe5196a30 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -32,9 +32,63 @@ namespace UICatalog.Scenarios { Height = Dim.Fill (), }; tableView.CanFocus = true; + + tableView.KeyPress += KeyPressed; + Win.Add (tableView); } + private void KeyPressed (View.KeyEventEventArgs obj) + { + if(obj.KeyEvent.Key == Key.Enter) { + EditCurrentCell(); + } + + } + + private void EditCurrentCell () + { + var oldValue = tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn].ToString(); + bool okPressed = false; + + var ok = new Button ("Ok", is_default: true); + ok.Clicked += () => { okPressed = true; Application.RequestStop (); }; + var cancel = new Button ("Cancel"); + cancel.Clicked += () => { Application.RequestStop (); }; + var d = new Dialog ("Enter new value", 60, 20, ok, cancel); + + var lbl = new Label() { + X = 0, + Y = 1, + Text = tableView.Table.Columns[tableView.SelectedColumn].ColumnName + }; + + var tf = new TextField() + { + Text = oldValue, + X = 0, + Y = 2, + Width = Dim.Fill() + }; + + d.Add (lbl,tf); + tf.SetFocus(); + + Application.Run (d); + + if(okPressed) { + + try { + tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn] = tf.Text; + } + catch(Exception ex) { + MessageBox.ErrorQuery(60,20,"Failed to set text", ex.Message,"Ok"); + } + + tableView.RefreshViewport(); + } + } + /// /// Generates a new demo with the given number of (min 5) and /// @@ -60,7 +114,7 @@ namespace UICatalog.Scenarios { for(int i=0;i< rows;i++) { List row = new List(){ - "Some long text with unicode 'πŸ˜€'", + "Some long text that is super cool", new DateTime(2000+i,12,25), r.Next(i), r.NextDouble()*i, From 85f0e9667c8d05f2b0eb946cc47e656810ca1522 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 14:12:45 +0000 Subject: [PATCH 05/64] Support for setting the value to null in example --- UICatalog/Scenarios/TableEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index fe5196a30..1d346fb75 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -79,7 +79,7 @@ namespace UICatalog.Scenarios { if(okPressed) { try { - tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn] = tf.Text; + tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn] = string.IsNullOrWhiteSpace(tf.Text.ToString()) ? DBNull.Value : (object)tf.Text; } catch(Exception ex) { MessageBox.ErrorQuery(60,20,"Failed to set text", ex.Message,"Ok"); From cdbc37ca90a094589ccbc6d5609889f51b35d219 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 15:08:50 +0000 Subject: [PATCH 06/64] Standardisation (blank constructor, menu in example etc) - Added blank constructor (Table is now optional and can be null, in which case control will be blank) - Moved edit to be an F key and follow pattern of open/close seen in HexEditor --- Terminal.Gui/Views/TableView.cs | 165 ++++++++++++++++------------- UICatalog/Scenarios/TableEditor.cs | 47 ++++++-- 2 files changed, 125 insertions(+), 87 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index f2c88bf60..7ea5b7de0 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -15,8 +15,9 @@ namespace Terminal.Gui.Views { private int rowOffset; private int selectedRow; private int selectedColumn; + private DataTable table; - public DataTable Table { get; private set; } + public DataTable Table { get => table; set {table = value; Update(); } } /// /// Zero indexed offset for the upper left to display in . @@ -26,16 +27,16 @@ namespace Terminal.Gui.Views { get => columnOffset; //try to prevent this being set to an out of bounds column - set => columnOffset = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + set => columnOffset = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); } /// /// Zero indexed offset for the to display in on line 2 of the control (first line being headers) /// /// This property allows very wide tables to be rendered with horizontal scrolling - public int RowOffset { - get => rowOffset; - set => rowOffset = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + public int RowOffset { + get => rowOffset; + set => rowOffset = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); } /// @@ -45,31 +46,31 @@ namespace Terminal.Gui.Views { get => selectedColumn; //try to prevent this being set to an out of bounds column - set => selectedColumn = Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + set => selectedColumn = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); } /// /// The index of in that the user has currently selected /// - public int SelectedRow { - get => selectedRow; - set => selectedRow = Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + public int SelectedRow { + get => selectedRow; + set => selectedRow = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); } /// /// The maximum number of characters to render in any given column. This prevents one long column from pushing out all the others /// - public int MaximumCellWidth {get;set;} = 100; + public int MaximumCellWidth { get; set; } = 100; /// /// The text representation that should be rendered for cells with the value /// - public string NullSymbol {get;set;} = "-"; + public string NullSymbol { get; set; } = "-"; /// /// The symbol to add after each cell value and header value to visually seperate values /// - public char SeparatorSymbol {get;set; } = ' '; + public char SeparatorSymbol { get; set; } = ' '; /// /// Initialzies a class using layout. @@ -77,8 +78,16 @@ namespace Terminal.Gui.Views { /// The table to display in the control public TableView (DataTable table) : base () { - this.Table = table ?? throw new ArgumentNullException (nameof (table)); + this.Table = table; } + + /// + /// Initialzies a class using layout. Set the property to begin editing + /// + public TableView () : base () + { + } + /// public override void Redraw (Rect bounds) { @@ -90,45 +99,45 @@ namespace Terminal.Gui.Views { var frame = Frame; // What columns to render at what X offset in viewport - Dictionary columnsToRender = CalculateViewport(bounds); + Dictionary columnsToRender = CalculateViewport (bounds); Driver.SetAttribute (ColorScheme.Normal); //invalidate current row (prevents scrolling around leaving old characters in the frame - Driver.AddStr(new string (' ',bounds.Width)); - + Driver.AddStr (new string (' ', bounds.Width)); + // Render the headers - foreach(var kvp in columnsToRender) { - - Move (kvp.Value,0); - Driver.AddStr(Truncate(kvp.Key.ColumnName+ SeparatorSymbol,bounds.Width - kvp.Value)); + foreach (var kvp in columnsToRender) { + + Move (kvp.Value, 0); + Driver.AddStr (Truncate (kvp.Key.ColumnName + SeparatorSymbol, bounds.Width - kvp.Value)); } //render the cells for (int line = 1; line < frame.Height; line++) { - + //invalidate current row (prevents scrolling around leaving old characters in the frame - Move (0,line); - Driver.SetAttribute(ColorScheme.Normal); - Driver.AddStr(new string (' ',bounds.Width)); + Move (0, line); + Driver.SetAttribute (ColorScheme.Normal); + Driver.AddStr (new string (' ', bounds.Width)); //work out what Row to render - var rowToRender = RowOffset + (line-1); + var rowToRender = RowOffset + (line - 1); //if we have run off the end of the table - if(rowToRender >= Table.Rows.Count) + if ( Table == null || rowToRender >= Table.Rows.Count) continue; - foreach(var kvp in columnsToRender) { - Move (kvp.Value,line); + foreach (var kvp in columnsToRender) { + Move (kvp.Value, line); bool isSelectedCell = rowToRender == SelectedRow && kvp.Key.Ordinal == SelectedColumn; - Driver.SetAttribute(isSelectedCell? ColorScheme.HotFocus: ColorScheme.Normal); + Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); - - var valueToRender = GetRenderedVal(Table.Rows[rowToRender][kvp.Key]) + SeparatorSymbol; - Driver.AddStr(Truncate(valueToRender,bounds.Width - kvp.Value )); + + var valueToRender = GetRenderedVal (Table.Rows [rowToRender] [kvp.Key]) + SeparatorSymbol; + Driver.AddStr (Truncate (valueToRender, bounds.Width - kvp.Value)); } } @@ -144,10 +153,10 @@ namespace Terminal.Gui.Views { private ustring Truncate (string valueToRender, int availableHorizontalSpace) { - if(string.IsNullOrEmpty(valueToRender) || valueToRender.Length < availableHorizontalSpace) + if (string.IsNullOrEmpty (valueToRender) || valueToRender.Length < availableHorizontalSpace) return valueToRender; - return valueToRender.Substring(0,availableHorizontalSpace); + return valueToRender.Substring (0, availableHorizontalSpace); } /// @@ -156,47 +165,47 @@ namespace Terminal.Gui.Views { switch (keyEvent.Key) { case Key.CursorLeft: SelectedColumn--; - RefreshViewport(); + Update (); break; case Key.CursorRight: SelectedColumn++; - RefreshViewport(); + Update (); break; case Key.CursorDown: SelectedRow++; - RefreshViewport(); + Update (); break; case Key.CursorUp: SelectedRow--; - RefreshViewport(); + Update (); break; case Key.PageUp: SelectedRow -= Frame.Height; - RefreshViewport(); + Update (); break; case Key.PageDown: SelectedRow += Frame.Height; - RefreshViewport(); + Update (); break; case Key.Home | Key.CtrlMask: SelectedRow = 0; SelectedColumn = 0; - RefreshViewport(); + Update (); break; case Key.Home: SelectedColumn = 0; - RefreshViewport(); + Update (); break; case Key.End | Key.CtrlMask: //jump to end of table - SelectedRow = Table.Rows.Count-1; - SelectedColumn = Table.Columns.Count-1; - RefreshViewport(); + SelectedRow = Table == null ? 0 : Table.Rows.Count - 1; + SelectedColumn = Table == null ? 0 : Table.Columns.Count - 1; + Update (); break; case Key.End: //jump to end of row - SelectedColumn = Table.Columns.Count-1; - RefreshViewport(); + SelectedColumn = Table == null ? 0 : Table.Columns.Count - 1; + Update (); break; } PositionCursor (); @@ -204,36 +213,38 @@ namespace Terminal.Gui.Views { } /// - /// Updates the viewport ( / ) to ensure that the users selected cell is visible and redraws control + /// Updates the view to reflect changes to and to ( / ) etc /// /// This always calls - public void RefreshViewport () + public void Update() { - //TODO: implement - - Dictionary columnsToRender = CalculateViewport(Bounds); + if(Table == null) { + SetNeedsDisplay (); + return; + } + Dictionary columnsToRender = CalculateViewport (Bounds); //if we have scrolled too far to the left - if(SelectedColumn < columnsToRender.Keys.Min(col=>col.Ordinal)) { + if (SelectedColumn < columnsToRender.Keys.Min (col => col.Ordinal)) { ColumnOffset = SelectedColumn; } //if we have scrolled too far to the right - if(SelectedColumn > columnsToRender.Keys.Max(col=>col.Ordinal)) { + if (SelectedColumn > columnsToRender.Keys.Max (col => col.Ordinal)) { ColumnOffset = SelectedColumn; } //if we have scrolled too far down - if(SelectedRow > RowOffset + Bounds.Height-1) { + if (SelectedRow > RowOffset + Bounds.Height - 1) { RowOffset = SelectedRow; } //if we have scrolled too far up - if(SelectedRow < RowOffset) { + if (SelectedRow < RowOffset) { RowOffset = SelectedRow; } - SetNeedsDisplay(); + SetNeedsDisplay (); } /// @@ -242,24 +253,27 @@ namespace Terminal.Gui.Views { /// /// /// - private Dictionary CalculateViewport(Rect bounds, int padding = 1) + private Dictionary CalculateViewport (Rect bounds, int padding = 1) { - Dictionary toReturn = new Dictionary(); + Dictionary toReturn = new Dictionary (); + + if(Table == null) + return toReturn; int usedSpace = 0; int availableHorizontalSpace = bounds.Width; - int rowsToRender = bounds.Height-1; //1 reserved for the headers row - - foreach(var col in Table.Columns.Cast().Skip(ColumnOffset)) { - - toReturn.Add(col,usedSpace); - usedSpace += CalculateMaxRowSize(col,rowsToRender) + padding; + int rowsToRender = bounds.Height - 1; //1 reserved for the headers row - if(usedSpace > availableHorizontalSpace) + foreach (var col in Table.Columns.Cast ().Skip (ColumnOffset)) { + + toReturn.Add (col, usedSpace); + usedSpace += CalculateMaxRowSize (col, rowsToRender) + padding; + + if (usedSpace > availableHorizontalSpace) return toReturn; - + } - + return toReturn; } @@ -273,10 +287,10 @@ namespace Terminal.Gui.Views { { int spaceRequired = col.ColumnName.Length; - for(int i = RowOffset; i private string GetRenderedVal (object value) { - if(value == null || value == DBNull.Value) - { + if (value == null || value == DBNull.Value) { return NullSymbol; } - - var representation = value.ToString(); + + var representation = value.ToString (); //if it is too long to fit - if(representation.Length > MaximumCellWidth) - return representation.Substring(0,MaximumCellWidth); + if (representation.Length > MaximumCellWidth) + return representation.Substring (0, MaximumCellWidth); return representation; } diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 1d346fb75..5bae8cd3f 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -18,14 +18,30 @@ namespace UICatalog.Scenarios { public override void Setup () { - var dt = BuildDemoDataTable(30,1000); - - Win.Title = this.GetName() + "-" + dt.TableName ?? "Untitled"; + Win.Title = this.GetName(); Win.Y = 1; // menu Win.Height = Dim.Fill (1); // status bar Top.LayoutSubviews (); - this.tableView = new TableView (dt) { + var menu = new MenuBar (new MenuBarItem [] { + new MenuBarItem ("_File", new MenuItem [] { + new MenuItem ("_OpenExample", "", () => OpenExample()), + new MenuItem ("_CloseExample", "", () => CloseExample()), + new MenuItem ("_Quit", "", () => Quit()), + }), + }); + Top.Add (menu); + + var statusBar = new StatusBar (new StatusItem [] { + //new StatusItem(Key.Enter, "~ENTER~ ApplyEdits", () => { _hexView.ApplyEdits(); }), + new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample()), + new StatusItem(Key.F3, "~F3~ EditCell", () => EditCurrentCell()), + new StatusItem(Key.F4, "~F4~ CloseExample", () => CloseExample()), + new StatusItem(Key.CtrlMask | Key.Q, "~^Q~ Quit", () => Quit()), + }); + Top.Add (statusBar); + + this.tableView = new TableView () { X = 0, Y = 0, Width = Dim.Fill (), @@ -33,21 +49,30 @@ namespace UICatalog.Scenarios { }; tableView.CanFocus = true; - tableView.KeyPress += KeyPressed; Win.Add (tableView); } - private void KeyPressed (View.KeyEventEventArgs obj) + private void CloseExample () { - if(obj.KeyEvent.Key == Key.Enter) { - EditCurrentCell(); - } - + tableView.Table = null; + } + + private void Quit () + { + Application.RequestStop (); + } + + private void OpenExample () + { + tableView.Table = BuildDemoDataTable(30,1000); } private void EditCurrentCell () { + if(tableView.Table == null) + return; + var oldValue = tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn].ToString(); bool okPressed = false; @@ -85,7 +110,7 @@ namespace UICatalog.Scenarios { MessageBox.ErrorQuery(60,20,"Failed to set text", ex.Message,"Ok"); } - tableView.RefreshViewport(); + tableView.Update(); } } From 39b7ec4da9e377ef870165ad8730623815785e56 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 15:33:54 +0000 Subject: [PATCH 07/64] Fixed indexes when closing a a large table and then opening a small table --- Terminal.Gui/Views/TableView.cs | 6 ++++++ UICatalog/Scenarios/TableEditor.cs | 9 +++++---- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7ea5b7de0..0296e7fb4 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -223,6 +223,12 @@ namespace Terminal.Gui.Views { return; } + //if user opened a large table scrolled down a lot then opened a smaller table (or API deleted a bunch of columns without telling anyone) + ColumnOffset = Math.Max(Math.Min(ColumnOffset,Table.Columns.Count -1),0); + RowOffset = Math.Max(Math.Min(RowOffset,Table.Rows.Count -1),0); + SelectedColumn = Math.Max(Math.Min(SelectedColumn,Table.Columns.Count -1),0); + SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); + Dictionary columnsToRender = CalculateViewport (Bounds); //if we have scrolled too far to the left diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 5bae8cd3f..d5da0ad55 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -25,7 +25,8 @@ namespace UICatalog.Scenarios { var menu = new MenuBar (new MenuBarItem [] { new MenuBarItem ("_File", new MenuItem [] { - new MenuItem ("_OpenExample", "", () => OpenExample()), + new MenuItem ("_OpenBigExample", "", () => OpenExample(true)), + new MenuItem ("_OpenSmallExample", "", () => OpenExample(false)), new MenuItem ("_CloseExample", "", () => CloseExample()), new MenuItem ("_Quit", "", () => Quit()), }), @@ -34,7 +35,7 @@ namespace UICatalog.Scenarios { var statusBar = new StatusBar (new StatusItem [] { //new StatusItem(Key.Enter, "~ENTER~ ApplyEdits", () => { _hexView.ApplyEdits(); }), - new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample()), + new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample(true)), new StatusItem(Key.F3, "~F3~ EditCell", () => EditCurrentCell()), new StatusItem(Key.F4, "~F4~ CloseExample", () => CloseExample()), new StatusItem(Key.CtrlMask | Key.Q, "~^Q~ Quit", () => Quit()), @@ -63,9 +64,9 @@ namespace UICatalog.Scenarios { Application.RequestStop (); } - private void OpenExample () + private void OpenExample (bool big) { - tableView.Table = BuildDemoDataTable(30,1000); + tableView.Table = BuildDemoDataTable(big ? 30 : 5, big ? 1000 : 5); } private void EditCurrentCell () From 10d3781c2e2b97254f6bcf007fe1635ecbb96118 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 19 Nov 2020 16:05:34 +0000 Subject: [PATCH 08/64] Added comments and removed unused variables/method --- Terminal.Gui/Views/TableView.cs | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 0296e7fb4..5042727c9 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -17,6 +17,9 @@ namespace Terminal.Gui.Views { private int selectedColumn; private DataTable table; + /// + /// The data table to render in the view. Setting this property automatically updates and redraws the control. + /// public DataTable Table { get => table; set {table = value; Update(); } } /// @@ -91,11 +94,7 @@ namespace Terminal.Gui.Views { /// public override void Redraw (Rect bounds) { - Attribute currentAttribute; - var current = ColorScheme.Focus; - Driver.SetAttribute (current); Move (0, 0); - var frame = Frame; // What columns to render at what X offset in viewport @@ -141,16 +140,14 @@ namespace Terminal.Gui.Views { } } - void SetAttribute (Attribute attribute) - { - if (currentAttribute != attribute) { - currentAttribute = attribute; - Driver.SetAttribute (attribute); - } - } - } + /// + /// Truncates so that it occupies a maximum of + /// + /// + /// + /// private ustring Truncate (string valueToRender, int availableHorizontalSpace) { if (string.IsNullOrEmpty (valueToRender) || valueToRender.Length < availableHorizontalSpace) From 74d4d1b895e3352f50ca8f56cc7c8443cc431047 Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 23 Nov 2020 09:32:24 +0000 Subject: [PATCH 09/64] Fixed CanFocus not being true by default for TableView --- Terminal.Gui/Views/TableView.cs | 3 ++- UICatalog/Scenarios/TableEditor.cs | 2 -- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 5042727c9..0ed95a557 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -79,7 +79,7 @@ namespace Terminal.Gui.Views { /// Initialzies a class using layout. /// /// The table to display in the control - public TableView (DataTable table) : base () + public TableView (DataTable table) : this () { this.Table = table; } @@ -89,6 +89,7 @@ namespace Terminal.Gui.Views { /// public TableView () : base () { + CanFocus = true; } /// diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index d5da0ad55..03d4c7801 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -48,8 +48,6 @@ namespace UICatalog.Scenarios { Width = Dim.Fill (), Height = Dim.Fill (), }; - tableView.CanFocus = true; - Win.Add (tableView); } From 1416f2f047445b6a76ddde59ef846b836268cf54 Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 8 Dec 2020 11:57:41 +0000 Subject: [PATCH 10/64] Fixed always swallowing keystrokes in ProcessKey in TableView --- Terminal.Gui/Views/TableView.cs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 0ed95a557..10a50701b 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -205,6 +205,9 @@ namespace Terminal.Gui.Views { SelectedColumn = Table == null ? 0 : Table.Columns.Count - 1; Update (); break; + default: + // Not a keystroke we care about + return false; } PositionCursor (); return true; From 185f4ed4cde26480b26b01223437837600bdbea2 Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 14 Dec 2020 10:28:41 +0000 Subject: [PATCH 11/64] Added gridlines and fixed partial column rendering --- Terminal.Gui/Views/TableView.cs | 300 +++++++++++++++++++++++++---- UICatalog/Scenarios/TableEditor.cs | 88 +++++++++ 2 files changed, 350 insertions(+), 38 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 10a50701b..a1cbfe819 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -6,6 +6,37 @@ using System.Linq; namespace Terminal.Gui.Views { + /// + /// Defines rendering options that affect how the table is displayed + /// + public class TableStyle { + + /// + /// When scrolling down always lock the column headers in place as the first row of the table + /// + public bool AlwaysShowHeaders {get;set;} = false; + + /// + /// True to render a solid line above the headers + /// + public bool ShowHorizontalHeaderOverline {get;set;} = true; + + /// + /// True to render a solid line under the headers + /// + public bool ShowHorizontalHeaderUnderline {get;set;} = true; + + /// + /// True to render a solid line vertical line between cells + /// + public bool ShowVerticalCellLines {get;set;} = true; + + /// + /// True to render a solid line vertical line between headers + /// + public bool ShowVerticalHeaderLines {get;set;} = true; + } + /// /// View for tabular data based on a /// @@ -16,12 +47,18 @@ namespace Terminal.Gui.Views { private int selectedRow; private int selectedColumn; private DataTable table; + private TableStyle style = new TableStyle(); /// /// The data table to render in the view. Setting this property automatically updates and redraws the control. /// public DataTable Table { get => table; set {table = value; Update(); } } - + + /// + /// Contains options for changing how the table is rendered + /// + public TableStyle Style { get => style; set {style = value; Update(); } } + /// /// Zero indexed offset for the upper left to display in . /// @@ -71,7 +108,7 @@ namespace Terminal.Gui.Views { public string NullSymbol { get; set; } = "-"; /// - /// The symbol to add after each cell value and header value to visually seperate values + /// The symbol to add after each cell value and header value to visually seperate values (if not using vertical gridlines) /// public char SeparatorSymbol { get; set; } = ' '; @@ -102,45 +139,204 @@ namespace Terminal.Gui.Views { Dictionary columnsToRender = CalculateViewport (bounds); Driver.SetAttribute (ColorScheme.Normal); - + //invalidate current row (prevents scrolling around leaving old characters in the frame Driver.AddStr (new string (' ', bounds.Width)); - // Render the headers - foreach (var kvp in columnsToRender) { + int line = 0; - Move (kvp.Value, 0); - Driver.AddStr (Truncate (kvp.Key.ColumnName + SeparatorSymbol, bounds.Width - kvp.Value)); - } + if(ShouldRenderHeaders()){ + // Render something like: + /* + β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + β”‚ArithmeticComparatorβ”‚chi β”‚Healthboardβ”‚Interpretationβ”‚Labnumberβ”‚ + β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ + */ + if(Style.ShowHorizontalHeaderOverline){ + RenderHeaderOverline(line,bounds.Width,columnsToRender); + line++; + } - //render the cells - for (int line = 1; line < frame.Height; line++) { + RenderHeaderMidline(line,bounds.Width,columnsToRender); + line++; - //invalidate current row (prevents scrolling around leaving old characters in the frame - Move (0, line); - Driver.SetAttribute (ColorScheme.Normal); - Driver.AddStr (new string (' ', bounds.Width)); - - //work out what Row to render - var rowToRender = RowOffset + (line - 1); - - //if we have run off the end of the table - if ( Table == null || rowToRender >= Table.Rows.Count) - continue; - - foreach (var kvp in columnsToRender) { - Move (kvp.Value, line); - - bool isSelectedCell = rowToRender == SelectedRow && kvp.Key.Ordinal == SelectedColumn; - - Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); - - - var valueToRender = GetRenderedVal (Table.Rows [rowToRender] [kvp.Key]) + SeparatorSymbol; - Driver.AddStr (Truncate (valueToRender, bounds.Width - kvp.Value)); + if(Style.ShowHorizontalHeaderUnderline){ + RenderHeaderUnderline(line,bounds.Width,columnsToRender); + line++; } } + + //render the cells + for (; line < frame.Height; line++) { + ClearLine(line,bounds.Width); + + //work out what Row to render + var rowToRender = RowOffset + (line - GetHeaderHeight()); + + //if we have run off the end of the table + if ( Table == null || rowToRender >= Table.Rows.Count || rowToRender < 0) + continue; + + RenderRow(line,bounds.Width,rowToRender,columnsToRender); + } + } + + /// + /// Clears a line of the console by filling it with spaces + /// + /// + /// + private void ClearLine(int row, int width) + { + Move (0, row); + Driver.SetAttribute (ColorScheme.Normal); + Driver.AddStr (new string (' ', width)); + } + + /// + /// Returns the amount of vertical space required to display the header + /// + /// + private int GetHeaderHeight() + { + int heightRequired = 1; + + if(Style.ShowHorizontalHeaderOverline) + heightRequired++; + + if(Style.ShowHorizontalHeaderUnderline) + heightRequired++; + + return heightRequired; + } + + private void RenderHeaderOverline(int row,int availableWidth, Dictionary columnsToRender) + { + // Renders a line above table headers (when visible) like: + // β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β” + + for(int c = 0;c< availableWidth;c++) { + + var rune = Driver.HLine; + + if (Style.ShowVerticalHeaderLines){ + + if(c == 0){ + rune = Driver.ULCorner; + } + // if the next column is the start of a header + else if(columnsToRender.Values.Contains(c+1)){ + rune = Driver.TopTee; + } + else if(c == availableWidth -1){ + rune = Driver.URCorner; + } + } + + AddRuneAt(Driver,c,row,rune); + } + } + + private void RenderHeaderMidline(int row,int availableWidth, Dictionary columnsToRender) + { + // Renders something like: + // β”‚ArithmeticComparatorβ”‚chi β”‚Healthboardβ”‚Interpretationβ”‚Labnumberβ”‚ + + ClearLine(row,availableWidth); + + //render start of line + if(style.ShowVerticalHeaderLines) + AddRune(0,row,Driver.VLine); + + foreach (var kvp in columnsToRender) { + + //where the header should start + var col = kvp.Value; + + RenderSeparator(col-1,row); + + Move (col, row); + Driver.AddStr(Truncate (kvp.Key.ColumnName, availableWidth - kvp.Value)); + + } + + //render end of line + if(style.ShowVerticalHeaderLines) + AddRune(availableWidth-1,row,Driver.VLine); + } + + private void RenderHeaderUnderline(int row,int availableWidth, Dictionary columnsToRender) + { + // Renders a line below the table headers (when visible) like: + // β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ + + for(int c = 0;c< availableWidth;c++) { + + var rune = Driver.HLine; + + if (Style.ShowVerticalHeaderLines){ + if(c == 0){ + rune = Style.ShowVerticalCellLines ? Driver.LeftTee : Driver.LLCorner; + } + // if the next column is the start of a header + else if(columnsToRender.Values.Contains(c+1)){ + + /*TODO: is β”Ό symbol in Driver?*/ + rune = Style.ShowVerticalCellLines ? 'β”Ό' :Driver.BottomTee; + } + else if(c == availableWidth -1){ + rune = Style.ShowVerticalCellLines ? Driver.RightTee : Driver.LRCorner; + } + } + + AddRuneAt(Driver,c,row,rune); + } + + } + private void RenderRow(int row, int availableWidth, int rowToRender, Dictionary columnsToRender) + { + //render start of line + if(style.ShowVerticalHeaderLines) + AddRune(0,row,Driver.VLine); + + // Render cells for each visible header for the current row + foreach (var kvp in columnsToRender) { + + // move to start of cell (in line with header positions) + Move (kvp.Value, row); + + // Set color scheme based on whether the current cell is the selected one + bool isSelectedCell = rowToRender == SelectedRow && kvp.Key.Ordinal == SelectedColumn; + Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); + + // Render the (possibly truncated) cell value + var valueToRender = GetRenderedVal (Table.Rows [rowToRender] [kvp.Key]); + Driver.AddStr (Truncate (valueToRender, availableWidth - kvp.Value)); + + // Reset color scheme to normal and render the vertical line (or space) at the end of the cell + Driver.SetAttribute (ColorScheme.Normal); + RenderSeparator(kvp.Value-1,row); + } + + //render end of line + if(style.ShowVerticalHeaderLines) + AddRune(availableWidth-1,row,Driver.VLine); + } + + private void RenderSeparator(int col, int row) + { + if(col<0) + return; + + Rune symbol = style.ShowVerticalHeaderLines ? Driver.VLine : SeparatorSymbol; + AddRune(col,row,symbol); + } + + void AddRuneAt (ConsoleDriver d,int col, int row, Rune ch) + { + Move (col, row); + d.AddRune (ch); } /// @@ -231,6 +427,7 @@ namespace Terminal.Gui.Views { SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); Dictionary columnsToRender = CalculateViewport (Bounds); + var headerHeight = GetHeaderHeight(); //if we have scrolled too far to the left if (SelectedColumn < columnsToRender.Keys.Min (col => col.Ordinal)) { @@ -243,7 +440,7 @@ namespace Terminal.Gui.Views { } //if we have scrolled too far down - if (SelectedRow > RowOffset + Bounds.Height - 1) { + if (SelectedRow >= RowOffset + (Bounds.Height - headerHeight)) { RowOffset = SelectedRow; } //if we have scrolled too far up @@ -266,24 +463,46 @@ namespace Terminal.Gui.Views { if(Table == null) return toReturn; - + int usedSpace = 0; + + //if horizontal space is required at the start of the line (before the first header) + if(Style.ShowVerticalHeaderLines || Style.ShowVerticalCellLines) + usedSpace+=2; + int availableHorizontalSpace = bounds.Width; - int rowsToRender = bounds.Height - 1; //1 reserved for the headers row + int rowsToRender = bounds.Height; - foreach (var col in Table.Columns.Cast ().Skip (ColumnOffset)) { + // reserved for the headers row + if(ShouldRenderHeaders()) + rowsToRender -= GetHeaderHeight(); - toReturn.Add (col, usedSpace); + bool first = true; + + foreach (var col in Table.Columns.Cast().Skip (ColumnOffset)) { + + int startingIdxForCurrentHeader = usedSpace; + + // is there enough space for this column (and it's data)? usedSpace += CalculateMaxRowSize (col, rowsToRender) + padding; - if (usedSpace > availableHorizontalSpace) + // no (don't render it) unless its the only column we are render (that must be one massively wide column!) + if (!first && usedSpace > availableHorizontalSpace) return toReturn; + // there is space + toReturn.Add (col, startingIdxForCurrentHeader); + first=false; } return toReturn; } + private bool ShouldRenderHeaders() + { + return Style.AlwaysShowHeaders || rowOffset == 0; + } + /// /// Returns the maximum of the name and the maximum length of data that will be rendered starting at and rendering /// @@ -294,6 +513,11 @@ namespace Terminal.Gui.Views { { int spaceRequired = col.ColumnName.Length; + // if table has no rows + if(RowOffset < 0) + return spaceRequired; + + for (int i = RowOffset; i < RowOffset + rowsToRender && i < Table.Rows.Count; i++) { //expand required space if cell is bigger than the last biggest cell or header diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 03d4c7801..8b3eac99f 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -30,6 +30,15 @@ namespace UICatalog.Scenarios { new MenuItem ("_CloseExample", "", () => CloseExample()), new MenuItem ("_Quit", "", () => Quit()), }), + new MenuBarItem ("_View", new MenuItem [] { + new MenuItem ("_AlwaysShowHeaders", "", () => ToggleAlwaysShowHeader()), + new MenuItem ("_HeaderOverLine", "", () => ToggleOverline()), + new MenuItem ("_HeaderMidLine", "", () => ToggleHeaderMidline()), + new MenuItem ("_HeaderUnderLine", "", () => ToggleUnderline()), + new MenuItem ("_CellLines", "", () => ToggleCellLines()), + new MenuItem ("_AllLines", "", () => ToggleAllCellLines()), + new MenuItem ("_NoLines", "", () => ToggleNoCellLines()), + }), }); Top.Add (menu); @@ -38,6 +47,7 @@ namespace UICatalog.Scenarios { new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample(true)), new StatusItem(Key.F3, "~F3~ EditCell", () => EditCurrentCell()), new StatusItem(Key.F4, "~F4~ CloseExample", () => CloseExample()), + new StatusItem(Key.F5, "~F5~ OpenSimple", () => OpenSimple(true)), new StatusItem(Key.CtrlMask | Key.Q, "~^Q~ Quit", () => Quit()), }); Top.Add (statusBar); @@ -52,6 +62,52 @@ namespace UICatalog.Scenarios { Win.Add (tableView); } + + + private void ToggleAlwaysShowHeader () + { + tableView.Style.AlwaysShowHeaders = !tableView.Style.AlwaysShowHeaders; + tableView.Update(); + } + + private void ToggleOverline () + { + tableView.Style.ShowHorizontalHeaderOverline = !tableView.Style.ShowHorizontalHeaderOverline; + tableView.Update(); + } + private void ToggleHeaderMidline () + { + tableView.Style.ShowVerticalHeaderLines = !tableView.Style.ShowVerticalHeaderLines; + tableView.Update(); + } + private void ToggleUnderline () + { + tableView.Style.ShowHorizontalHeaderUnderline = !tableView.Style.ShowHorizontalHeaderUnderline; + tableView.Update(); + } + private void ToggleCellLines() + { + tableView.Style.ShowVerticalCellLines = !tableView.Style.ShowVerticalCellLines; + tableView.Update(); + } + private void ToggleAllCellLines() + { + tableView.Style.ShowHorizontalHeaderOverline = true; + tableView.Style.ShowVerticalHeaderLines = true; + tableView.Style.ShowHorizontalHeaderUnderline = true; + tableView.Style.ShowVerticalCellLines = true; + tableView.Update(); + } + private void ToggleNoCellLines() + { + tableView.Style.ShowHorizontalHeaderOverline = false; + tableView.Style.ShowVerticalHeaderLines = false; + tableView.Style.ShowHorizontalHeaderUnderline = false; + tableView.Style.ShowVerticalCellLines = false; + tableView.Update(); + } + + private void CloseExample () { tableView.Table = null; @@ -66,6 +122,11 @@ namespace UICatalog.Scenarios { { tableView.Table = BuildDemoDataTable(big ? 30 : 5, big ? 1000 : 5); } + private void OpenSimple (bool big) + { + + tableView.Table = BuildSimpleDataTable(big ? 30 : 5, big ? 1000 : 5); + } private void EditCurrentCell () { @@ -154,5 +215,32 @@ namespace UICatalog.Scenarios { return dt; } + + /// + /// Builds a simple table in which cell values contents are the index of the cell. This helps testing that scrolling etc is working correctly and not skipping out any rows/columns when paging + /// + /// + /// + /// + public static DataTable BuildSimpleDataTable(int cols, int rows) + { + var dt = new DataTable(); + + for(int c = 0; c < cols; c++) { + dt.Columns.Add("Col"+c); + } + + for(int r = 0; r < rows; r++) { + var newRow = dt.NewRow(); + + for(int c = 0; c < cols; c++) { + newRow[c] = $"R{r}C{c}"; + } + + dt.Rows.Add(newRow); + } + + return dt; + } } } From 700e097e4bf55852c80ba902035bafda595a81cc Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 14 Dec 2020 10:45:32 +0000 Subject: [PATCH 12/64] Fixed start of line rendering and line flag checks --- Terminal.Gui/Views/TableView.cs | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index a1cbfe819..9dcf9f722 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -254,7 +254,7 @@ namespace Terminal.Gui.Views { //where the header should start var col = kvp.Value; - RenderSeparator(col-1,row); + RenderSeparator(col-1,row,true); Move (col, row); Driver.AddStr(Truncate (kvp.Key.ColumnName, availableWidth - kvp.Value)); @@ -297,7 +297,7 @@ namespace Terminal.Gui.Views { private void RenderRow(int row, int availableWidth, int rowToRender, Dictionary columnsToRender) { //render start of line - if(style.ShowVerticalHeaderLines) + if(style.ShowVerticalCellLines) AddRune(0,row,Driver.VLine); // Render cells for each visible header for the current row @@ -316,20 +316,22 @@ namespace Terminal.Gui.Views { // Reset color scheme to normal and render the vertical line (or space) at the end of the cell Driver.SetAttribute (ColorScheme.Normal); - RenderSeparator(kvp.Value-1,row); + RenderSeparator(kvp.Value-1,row,false); } //render end of line - if(style.ShowVerticalHeaderLines) + if(style.ShowVerticalCellLines) AddRune(availableWidth-1,row,Driver.VLine); } - private void RenderSeparator(int col, int row) + private void RenderSeparator(int col, int row,bool isHeader) { if(col<0) return; + + var renderLines = isHeader ? style.ShowVerticalHeaderLines : style.ShowVerticalCellLines; - Rune symbol = style.ShowVerticalHeaderLines ? Driver.VLine : SeparatorSymbol; + Rune symbol = renderLines ? Driver.VLine : SeparatorSymbol; AddRune(col,row,symbol); } @@ -468,7 +470,7 @@ namespace Terminal.Gui.Views { //if horizontal space is required at the start of the line (before the first header) if(Style.ShowVerticalHeaderLines || Style.ShowVerticalCellLines) - usedSpace+=2; + usedSpace+=1; int availableHorizontalSpace = bounds.Width; int rowsToRender = bounds.Height; @@ -500,6 +502,9 @@ namespace Terminal.Gui.Views { private bool ShouldRenderHeaders() { + if(Table == null || Table.Columns.Count == 0) + return false; + return Style.AlwaysShowHeaders || rowOffset == 0; } From ace6251414ae27b5d0370b1948dd7767a534a709 Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 14 Dec 2020 13:45:34 +0000 Subject: [PATCH 13/64] Support for column styles (alignment and format) --- Terminal.Gui/Views/TableView.cs | 265 ++++++++++++++++++++++++----- UICatalog/Scenarios/TableEditor.cs | 49 +++++- 2 files changed, 265 insertions(+), 49 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 9dcf9f722..be09d4abe 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -6,6 +6,59 @@ using System.Linq; namespace Terminal.Gui.Views { + public class ColumnStyle { + + /// + /// Defines the default alignment for all values rendered in this column. For custom alignment based on cell contents use . + /// + public TextAlignment Alignment {get;set;} + + /// + /// Defines a delegate for returning custom alignment per cell based on cell values. When specified this will override + /// + public Func AlignmentGetter; + + /// + /// Defines a delegate for returning custom representations of cell values. If not set then is used. Return values from your delegate may be truncated e.g. based on + /// + public Func RepresentationGetter; + + /// + /// Set the maximum width of the column in characters. This value will be ignored if more than the tables . Defaults to + /// + public int MaxWidth {get;set;} = TableView.DefaultMaxCellWidth; + + /// + /// Set the minimum width of the column in characters. This value will be ignored if more than the tables or the + /// + public int MinWidth {get;set;} + + /// + /// Returns the alignment for the cell based on and / + /// + /// + /// + public TextAlignment GetAlignment(object cellValue) + { + if(AlignmentGetter != null) + return AlignmentGetter(cellValue); + + return Alignment; + } + + /// + /// Returns the full string to render (which may be truncated if too long) that the current style says best represents the given + /// + /// + /// + public string GetRepresentation (object value) + { + if(RepresentationGetter != null) + return RepresentationGetter(value); + + return value?.ToString(); + } + } /// /// Defines rendering options that affect how the table is displayed /// @@ -35,6 +88,21 @@ namespace Terminal.Gui.Views { /// True to render a solid line vertical line between headers /// public bool ShowVerticalHeaderLines {get;set;} = true; + + /// + /// Collection of columns for which you want special rendering (e.g. custom column lengths, text alignment etc) + /// + public Dictionary ColumnStyles {get;set; } = new Dictionary(); + + /// + /// Returns the entry from for the given or null if no custom styling is defined for it + /// + /// + /// + public ColumnStyle GetColumnStyleIfAny (DataColumn col) + { + return ColumnStyles.TryGetValue(col,out ColumnStyle result) ? result : null; + } } /// @@ -49,6 +117,11 @@ namespace Terminal.Gui.Views { private DataTable table; private TableStyle style = new TableStyle(); + /// + /// The default maximum cell width for and + /// + public const int DefaultMaxCellWidth = 100; + /// /// The data table to render in the view. Setting this property automatically updates and redraws the control. /// @@ -100,7 +173,7 @@ namespace Terminal.Gui.Views { /// /// The maximum number of characters to render in any given column. This prevents one long column from pushing out all the others /// - public int MaximumCellWidth { get; set; } = 100; + public int MaxCellWidth { get; set; } = DefaultMaxCellWidth; /// /// The text representation that should be rendered for cells with the value @@ -136,7 +209,7 @@ namespace Terminal.Gui.Views { var frame = Frame; // What columns to render at what X offset in viewport - Dictionary columnsToRender = CalculateViewport (bounds); + var columnsToRender = CalculateViewport(bounds).ToArray(); Driver.SetAttribute (ColorScheme.Normal); @@ -211,7 +284,7 @@ namespace Terminal.Gui.Views { return heightRequired; } - private void RenderHeaderOverline(int row,int availableWidth, Dictionary columnsToRender) + private void RenderHeaderOverline(int row,int availableWidth, ColumnToRender[] columnsToRender) { // Renders a line above table headers (when visible) like: // β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β” @@ -226,7 +299,7 @@ namespace Terminal.Gui.Views { rune = Driver.ULCorner; } // if the next column is the start of a header - else if(columnsToRender.Values.Contains(c+1)){ + else if(columnsToRender.Any(r=>r.X == c+1)){ rune = Driver.TopTee; } else if(c == availableWidth -1){ @@ -238,7 +311,7 @@ namespace Terminal.Gui.Views { } } - private void RenderHeaderMidline(int row,int availableWidth, Dictionary columnsToRender) + private void RenderHeaderMidline(int row,int availableWidth, ColumnToRender[] columnsToRender) { // Renders something like: // β”‚ArithmeticComparatorβ”‚chi β”‚Healthboardβ”‚Interpretationβ”‚Labnumberβ”‚ @@ -249,15 +322,19 @@ namespace Terminal.Gui.Views { if(style.ShowVerticalHeaderLines) AddRune(0,row,Driver.VLine); - foreach (var kvp in columnsToRender) { + for(int i =0 ; i columnsToRender) + /// + /// Calculates how much space is available to render index of the given the remaining horizontal space + /// + /// + /// + /// + private int GetCellWidth (ColumnToRender [] columnsToRender, int i,int availableWidth) + { + var current = columnsToRender[i]; + var next = i+1 < columnsToRender.Length ? columnsToRender[i+1] : null; + + if(next == null) { + // cell can fill to end of the line + return availableWidth - current.X; + } + else { + // cell can fill up to next cell start + return next.X - current.X; + } + + } + + private void RenderHeaderUnderline(int row,int availableWidth, ColumnToRender[] columnsToRender) { // Renders a line below the table headers (when visible) like: // β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€ @@ -280,7 +379,7 @@ namespace Terminal.Gui.Views { rune = Style.ShowVerticalCellLines ? Driver.LeftTee : Driver.LLCorner; } // if the next column is the start of a header - else if(columnsToRender.Values.Contains(c+1)){ + else if(columnsToRender.Any(r=>r.X == c+1)){ /*TODO: is β”Ό symbol in Driver?*/ rune = Style.ShowVerticalCellLines ? 'β”Ό' :Driver.BottomTee; @@ -294,29 +393,37 @@ namespace Terminal.Gui.Views { } } - private void RenderRow(int row, int availableWidth, int rowToRender, Dictionary columnsToRender) + private void RenderRow(int row, int availableWidth, int rowToRender, ColumnToRender[] columnsToRender) { //render start of line if(style.ShowVerticalCellLines) AddRune(0,row,Driver.VLine); // Render cells for each visible header for the current row - foreach (var kvp in columnsToRender) { + for(int i=0;i< columnsToRender.Length ;i++) { + + var current = columnsToRender[i]; + var availableWidthForCell = GetCellWidth(columnsToRender,i,availableWidth); + + var colStyle = Style.GetColumnStyleIfAny(current.Column); // move to start of cell (in line with header positions) - Move (kvp.Value, row); + Move (current.X, row); // Set color scheme based on whether the current cell is the selected one - bool isSelectedCell = rowToRender == SelectedRow && kvp.Key.Ordinal == SelectedColumn; + bool isSelectedCell = rowToRender == SelectedRow && current.Column.Ordinal == SelectedColumn; Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); + var val = Table.Rows [rowToRender][current.Column]; + // Render the (possibly truncated) cell value - var valueToRender = GetRenderedVal (Table.Rows [rowToRender] [kvp.Key]); - Driver.AddStr (Truncate (valueToRender, availableWidth - kvp.Value)); + var representation = GetRepresentation(val,colStyle); + + Driver.AddStr (TruncateOrPad(val,representation,availableWidthForCell,colStyle)); // Reset color scheme to normal and render the vertical line (or space) at the end of the cell Driver.SetAttribute (ColorScheme.Normal); - RenderSeparator(kvp.Value-1,row,false); + RenderSeparator(current.X-1,row,false); } //render end of line @@ -342,17 +449,49 @@ namespace Terminal.Gui.Views { } /// - /// Truncates so that it occupies a maximum of + /// Truncates or pads so that it occupies a exactly using the alignment specified in (or left if no style is defined) /// - /// + /// The object in this cell of the + /// The string representation of /// + /// Optional style indicating custom alignment for the cell /// - private ustring Truncate (string valueToRender, int availableHorizontalSpace) + private ustring TruncateOrPad (object originalCellValue,string representation, int availableHorizontalSpace, ColumnStyle colStyle) { - if (string.IsNullOrEmpty (valueToRender) || valueToRender.Length < availableHorizontalSpace) - return valueToRender; + if (string.IsNullOrEmpty (representation)) + return representation; - return valueToRender.Substring (0, availableHorizontalSpace); + // if value is not wide enough + if(representation.Length < availableHorizontalSpace) { + + // pad it out with spaces to the given alignment + int toPad = availableHorizontalSpace - representation.Length; + + switch(colStyle?.GetAlignment(originalCellValue) ?? TextAlignment.Left) { + + case TextAlignment.Left : + representation = representation.PadRight(toPad); + break; + case TextAlignment.Right : + representation = representation.PadLeft(toPad); + break; + + // TODO: With single line cells, centered and justified are the same right? + case TextAlignment.Centered : + case TextAlignment.Justified : + //round down + representation = representation.PadRight((int)Math.Floor(toPad/2.0)); + //round up + representation = representation.PadLeft((int)Math.Ceiling(toPad/2.0)); + break; + + } + + return representation; + } + + // value is too wide + return representation.Substring (0, availableHorizontalSpace); } /// @@ -428,16 +567,16 @@ namespace Terminal.Gui.Views { SelectedColumn = Math.Max(Math.Min(SelectedColumn,Table.Columns.Count -1),0); SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); - Dictionary columnsToRender = CalculateViewport (Bounds); + var columnsToRender = CalculateViewport (Bounds).ToArray(); var headerHeight = GetHeaderHeight(); //if we have scrolled too far to the left - if (SelectedColumn < columnsToRender.Keys.Min (col => col.Ordinal)) { + if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) { ColumnOffset = SelectedColumn; } //if we have scrolled too far to the right - if (SelectedColumn > columnsToRender.Keys.Max (col => col.Ordinal)) { + if (SelectedColumn > columnsToRender.Max (r=> r.Column.Ordinal)) { ColumnOffset = SelectedColumn; } @@ -459,12 +598,10 @@ namespace Terminal.Gui.Views { /// /// /// - private Dictionary CalculateViewport (Rect bounds, int padding = 1) + private IEnumerable CalculateViewport (Rect bounds, int padding = 1) { - Dictionary toReturn = new Dictionary (); - if(Table == null) - return toReturn; + yield break; int usedSpace = 0; @@ -484,20 +621,19 @@ namespace Terminal.Gui.Views { foreach (var col in Table.Columns.Cast().Skip (ColumnOffset)) { int startingIdxForCurrentHeader = usedSpace; + var colStyle = Style.GetColumnStyleIfAny(col); // is there enough space for this column (and it's data)? - usedSpace += CalculateMaxRowSize (col, rowsToRender) + padding; + usedSpace += CalculateMaxCellWidth (col, rowsToRender,colStyle) + padding; // no (don't render it) unless its the only column we are render (that must be one massively wide column!) if (!first && usedSpace > availableHorizontalSpace) - return toReturn; + yield break; // there is space - toReturn.Add (col, startingIdxForCurrentHeader); + yield return new ColumnToRender(col, startingIdxForCurrentHeader); first=false; } - - return toReturn; } private bool ShouldRenderHeaders() @@ -513,8 +649,9 @@ namespace Terminal.Gui.Views { /// /// /// + /// /// - private int CalculateMaxRowSize (DataColumn col, int rowsToRender) + private int CalculateMaxCellWidth(DataColumn col, int rowsToRender,ColumnStyle colStyle) { int spaceRequired = col.ColumnName.Length; @@ -526,9 +663,28 @@ namespace Terminal.Gui.Views { for (int i = RowOffset; i < RowOffset + rowsToRender && i < Table.Rows.Count; i++) { //expand required space if cell is bigger than the last biggest cell or header - spaceRequired = Math.Max (spaceRequired, GetRenderedVal (Table.Rows [i] [col]).Length); + spaceRequired = Math.Max (spaceRequired, GetRepresentation(Table.Rows [i][col],colStyle).Length); } + // Don't require more space than the style allows + if(colStyle != null){ + + // enforce maximum cell width based on style + if(spaceRequired > colStyle.MaxWidth) { + spaceRequired = colStyle.MaxWidth; + } + + // enforce minimum cell width based on style + if(spaceRequired < colStyle.MinWidth) { + spaceRequired = colStyle.MinWidth; + } + } + + // enforce maximum cell width based on global table style + if(spaceRequired > MaxCellWidth) + spaceRequired = MaxCellWidth; + + return spaceRequired; } @@ -536,20 +692,37 @@ namespace Terminal.Gui.Views { /// Returns the value that should be rendered to best represent a strongly typed read from /// /// + /// Optional style defining how to represent cell values /// - private string GetRenderedVal (object value) + private string GetRepresentation(object value,ColumnStyle colStyle) { if (value == null || value == DBNull.Value) { return NullSymbol; } - var representation = value.ToString (); + return colStyle != null ? colStyle.GetRepresentation(value): value.ToString(); + } + } - //if it is too long to fit - if (representation.Length > MaximumCellWidth) - return representation.Substring (0, MaximumCellWidth); + /// + /// Describes a desire to render a column at a given horizontal position in the UI + /// + internal class ColumnToRender { - return representation; + /// + /// The column to render + /// + public DataColumn Column {get;set;} + + /// + /// The horizontal position to begin rendering the column at + /// + public int X{get;set;} + + public ColumnToRender (DataColumn col, int x) + { + Column = col; + X = x; } } } diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 8b3eac99f..3ee7f34aa 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -38,6 +38,7 @@ namespace UICatalog.Scenarios { new MenuItem ("_CellLines", "", () => ToggleCellLines()), new MenuItem ("_AllLines", "", () => ToggleAllCellLines()), new MenuItem ("_NoLines", "", () => ToggleNoCellLines()), + new MenuItem ("_ClearColumnStyles", "", () => ClearColumnStyles()), }), }); Top.Add (menu); @@ -62,7 +63,11 @@ namespace UICatalog.Scenarios { Win.Add (tableView); } - + private void ClearColumnStyles () + { + tableView.Style.ColumnStyles.Clear(); + tableView.Update(); + } private void ToggleAlwaysShowHeader () { @@ -121,10 +126,48 @@ namespace UICatalog.Scenarios { private void OpenExample (bool big) { tableView.Table = BuildDemoDataTable(big ? 30 : 5, big ? 1000 : 5); + SetDemoTableStyles(); } + + private void SetDemoTableStyles () + { + var alignMid = new ColumnStyle() { + Alignment = TextAlignment.Centered + }; + var alignRight = new ColumnStyle() { + Alignment = TextAlignment.Right + }; + + var dateFormatStyle = new ColumnStyle() { + Alignment = TextAlignment.Right, + RepresentationGetter = (v)=> v is DateTime d ? d.ToString("yyyy-MM-dd"):v.ToString() + }; + + var negativeRight = new ColumnStyle() { + + RepresentationGetter = (v)=> v is double d ? + d.ToString("0.##"): + v.ToString(), + MinWidth = 10, + AlignmentGetter = (v)=>v is double d ? + // align negative values right + d < 0 ? TextAlignment.Right : + // align positive values left + TextAlignment.Left: + // not a double + TextAlignment.Left + }; + + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DateCol"],dateFormatStyle); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DoubleCol"],negativeRight); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["NullsCol"],alignMid); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["IntCol"],alignRight); + + tableView.Update(); + } + private void OpenSimple (bool big) { - tableView.Table = BuildSimpleDataTable(big ? 30 : 5, big ? 1000 : 5); } @@ -202,7 +245,7 @@ namespace UICatalog.Scenarios { "Some long text that is super cool", new DateTime(2000+i,12,25), r.Next(i), - r.NextDouble()*i, + (r.NextDouble()*i)-0.5 /*add some negatives to demo styles*/, DBNull.Value }; From 30251c8bafbf31c64ddd58655c438053f2cb0e6f Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 14 Dec 2020 14:01:29 +0000 Subject: [PATCH 14/64] Fixed alignment padding and made better use of Bounds.Width --- Terminal.Gui/Views/TableView.cs | 45 ++++++++++++++------------------- 1 file changed, 19 insertions(+), 26 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index be09d4abe..eccc83605 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -230,7 +230,7 @@ namespace Terminal.Gui.Views { line++; } - RenderHeaderMidline(line,bounds.Width,columnsToRender); + RenderHeaderMidline(line,columnsToRender); line++; if(Style.ShowHorizontalHeaderUnderline){ @@ -251,7 +251,7 @@ namespace Terminal.Gui.Views { if ( Table == null || rowToRender >= Table.Rows.Count || rowToRender < 0) continue; - RenderRow(line,bounds.Width,rowToRender,columnsToRender); + RenderRow(line,rowToRender,columnsToRender); } } @@ -311,12 +311,12 @@ namespace Terminal.Gui.Views { } } - private void RenderHeaderMidline(int row,int availableWidth, ColumnToRender[] columnsToRender) + private void RenderHeaderMidline(int row, ColumnToRender[] columnsToRender) { // Renders something like: // β”‚ArithmeticComparatorβ”‚chi β”‚Healthboardβ”‚Interpretationβ”‚Labnumberβ”‚ - ClearLine(row,availableWidth); + ClearLine(row,Bounds.Width); //render start of line if(style.ShowVerticalHeaderLines) @@ -325,7 +325,7 @@ namespace Terminal.Gui.Views { for(int i =0 ; i @@ -348,15 +348,14 @@ namespace Terminal.Gui.Views { /// /// /// - /// - private int GetCellWidth (ColumnToRender [] columnsToRender, int i,int availableWidth) + private int GetCellWidth (ColumnToRender [] columnsToRender, int i) { var current = columnsToRender[i]; var next = i+1 < columnsToRender.Length ? columnsToRender[i+1] : null; if(next == null) { // cell can fill to end of the line - return availableWidth - current.X; + return Bounds.Width - current.X; } else { // cell can fill up to next cell start @@ -393,7 +392,7 @@ namespace Terminal.Gui.Views { } } - private void RenderRow(int row, int availableWidth, int rowToRender, ColumnToRender[] columnsToRender) + private void RenderRow(int row, int rowToRender, ColumnToRender[] columnsToRender) { //render start of line if(style.ShowVerticalCellLines) @@ -403,7 +402,7 @@ namespace Terminal.Gui.Views { for(int i=0;i< columnsToRender.Length ;i++) { var current = columnsToRender[i]; - var availableWidthForCell = GetCellWidth(columnsToRender,i,availableWidth); + var availableWidthForCell = GetCellWidth(columnsToRender,i); var colStyle = Style.GetColumnStyleIfAny(current.Column); @@ -428,7 +427,7 @@ namespace Terminal.Gui.Views { //render end of line if(style.ShowVerticalCellLines) - AddRune(availableWidth-1,row,Driver.VLine); + AddRune(Bounds.Width-1,row,Driver.VLine); } private void RenderSeparator(int col, int row,bool isHeader) @@ -456,7 +455,7 @@ namespace Terminal.Gui.Views { /// /// Optional style indicating custom alignment for the cell /// - private ustring TruncateOrPad (object originalCellValue,string representation, int availableHorizontalSpace, ColumnStyle colStyle) + private string TruncateOrPad (object originalCellValue,string representation, int availableHorizontalSpace, ColumnStyle colStyle) { if (string.IsNullOrEmpty (representation)) return representation; @@ -465,29 +464,23 @@ namespace Terminal.Gui.Views { if(representation.Length < availableHorizontalSpace) { // pad it out with spaces to the given alignment - int toPad = availableHorizontalSpace - representation.Length; + int toPad = availableHorizontalSpace - (representation.Length+1 /*leave 1 space for cell boundary*/); switch(colStyle?.GetAlignment(originalCellValue) ?? TextAlignment.Left) { case TextAlignment.Left : - representation = representation.PadRight(toPad); - break; + return representation + new string(' ',toPad); case TextAlignment.Right : - representation = representation.PadLeft(toPad); - break; + return new string(' ',toPad) + representation; // TODO: With single line cells, centered and justified are the same right? case TextAlignment.Centered : case TextAlignment.Justified : - //round down - representation = representation.PadRight((int)Math.Floor(toPad/2.0)); - //round up - representation = representation.PadLeft((int)Math.Ceiling(toPad/2.0)); - break; - + return + new string(' ',(int)Math.Floor(toPad/2.0)) + // round down + representation + + new string(' ',(int)Math.Ceiling(toPad/2.0)) ; // round up } - - return representation; } // value is too wide From 7cf34777d370bb456cc9dc02a34c4fa7ef57b5f8 Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 14 Dec 2020 15:49:29 +0000 Subject: [PATCH 15/64] Fixed missing xmldoc --- Terminal.Gui/Views/TableView.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index eccc83605..0a9a8cc0c 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -6,6 +6,9 @@ using System.Linq; namespace Terminal.Gui.Views { + /// + /// Describes how to render a given column in a including and textual representation of cells (e.g. date formats) + /// public class ColumnStyle { /// @@ -448,7 +451,7 @@ namespace Terminal.Gui.Views { } /// - /// Truncates or pads so that it occupies a exactly using the alignment specified in (or left if no style is defined) + /// Truncates or pads so that it occupies a exactly using the alignment specified in (or left if no style is defined) /// /// The object in this cell of the /// The string representation of From e1b60fb9fa26d35ba0b82dadfdb21826afd1ed2d Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 16 Dec 2020 19:47:15 +0000 Subject: [PATCH 16/64] Added Format property to ColumnStyle --- Terminal.Gui/Views/TableView.cs | 12 ++++++++++++ UICatalog/Scenarios/TableEditor.cs | 4 +--- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 0a9a8cc0c..7323e2772 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -26,6 +26,11 @@ namespace Terminal.Gui.Views { /// public Func RepresentationGetter; + /// + /// Defines the format for values e.g. "yyyy-MM-dd" for dates + /// + public string Format{get;set;} + /// /// Set the maximum width of the column in characters. This value will be ignored if more than the tables . Defaults to /// @@ -56,6 +61,13 @@ namespace Terminal.Gui.Views { /// public string GetRepresentation (object value) { + if(!string.IsNullOrWhiteSpace(Format)) { + + if(value is IFormattable f) + return f.ToString(Format,null); + } + + if(RepresentationGetter != null) return RepresentationGetter(value); diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 3ee7f34aa..1767e8691 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -145,9 +145,7 @@ namespace UICatalog.Scenarios { var negativeRight = new ColumnStyle() { - RepresentationGetter = (v)=> v is double d ? - d.ToString("0.##"): - v.ToString(), + Format = "0.##", MinWidth = 10, AlignmentGetter = (v)=>v is double d ? // align negative values right From 94c4f2aab1e63e0578057b7ab9c265f71035c28a Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 28 Dec 2020 20:05:01 +0000 Subject: [PATCH 17/64] Mouse support for selecting cells --- Terminal.Gui/Views/TableView.cs | 47 +++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7323e2772..7df3a44dd 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -558,6 +558,53 @@ namespace Terminal.Gui.Views { return true; } + /// + public override bool MouseEvent (MouseEvent me) + { + if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) && + me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp) + return false; + + if (!HasFocus && CanFocus) { + SetFocus (); + } + + if (Table == null) { + return false; + } + + if (me.Flags == MouseFlags.WheeledDown) { + + RowOffset++; + Update (); + return true; + } else if (me.Flags == MouseFlags.WheeledUp) { + RowOffset--; + return true; + } + + if(me.Flags == MouseFlags.Button1Clicked) { + + var viewPort = CalculateViewport(Bounds); + + var headerHeight = GetHeaderHeight(); + + var col = viewPort.LastOrDefault(c=>c.X < me.OfX); + + var rowIdx = RowOffset - headerHeight + me.OfY; + + if(col != null && rowIdx >= 0) { + + SelectedRow = rowIdx; + SelectedColumn = col.Column.Ordinal; + + Update(); + } + } + + return false; + } + /// /// Updates the view to reflect changes to and to ( / ) etc /// From 0045bed69221950d0a6bf0df36bf0061fa619aad Mon Sep 17 00:00:00 2001 From: tznind Date: Mon, 28 Dec 2020 20:07:57 +0000 Subject: [PATCH 18/64] Added missing update on scroll wheel up --- Terminal.Gui/Views/TableView.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7df3a44dd..03c1de17e 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -580,6 +580,7 @@ namespace Terminal.Gui.Views { return true; } else if (me.Flags == MouseFlags.WheeledUp) { RowOffset--; + Update (); return true; } From 2404a48fc65885b7dd07a01a69b776ad6a906db3 Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 05:57:06 +0000 Subject: [PATCH 19/64] Fixed mouse scrolling (wheel) away from selected cell --- Terminal.Gui/Views/TableView.cs | 46 ++++++++++++++++++++++++++++----- 1 file changed, 39 insertions(+), 7 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 03c1de17e..6cc4a6c92 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -576,11 +576,17 @@ namespace Terminal.Gui.Views { if (me.Flags == MouseFlags.WheeledDown) { RowOffset++; - Update (); + + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; } else if (me.Flags == MouseFlags.WheeledUp) { RowOffset--; - Update (); + + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; } @@ -617,11 +623,8 @@ namespace Terminal.Gui.Views { return; } - //if user opened a large table scrolled down a lot then opened a smaller table (or API deleted a bunch of columns without telling anyone) - ColumnOffset = Math.Max(Math.Min(ColumnOffset,Table.Columns.Count -1),0); - RowOffset = Math.Max(Math.Min(RowOffset,Table.Rows.Count -1),0); - SelectedColumn = Math.Max(Math.Min(SelectedColumn,Table.Columns.Count -1),0); - SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); + EnsureValidScrollOffsets(); + EnsureValidSelection(); var columnsToRender = CalculateViewport (Bounds).ToArray(); var headerHeight = GetHeaderHeight(); @@ -648,6 +651,35 @@ namespace Terminal.Gui.Views { SetNeedsDisplay (); } + /// + /// Updates and where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if has not been set. + /// + /// Changes will not be immediately visible in the display until you call + public void EnsureValidScrollOffsets () + { + if(Table == null){ + return; + } + + ColumnOffset = Math.Max(Math.Min(ColumnOffset,Table.Columns.Count -1),0); + RowOffset = Math.Max(Math.Min(RowOffset,Table.Rows.Count -1),0); + } + + + /// + /// Updates and where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if has not been set. + /// + /// Changes will not be immediately visible in the display until you call + public void EnsureValidSelection () + { + if(Table == null){ + return; + } + + SelectedColumn = Math.Max(Math.Min(SelectedColumn,Table.Columns.Count -1),0); + SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); + } + /// /// Calculates which columns should be rendered given the in which to display and the /// From d3ec8b2f03b10958d31fd6310c6e298f37c0263f Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 06:08:41 +0000 Subject: [PATCH 20/64] Refactored Update method. Includes new public method EnsureSelectedCellIsVisible --- Terminal.Gui/Views/TableView.cs | 55 ++++++++++++++++++++------------- 1 file changed, 34 insertions(+), 21 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 6cc4a6c92..141816d96 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -626,27 +626,7 @@ namespace Terminal.Gui.Views { EnsureValidScrollOffsets(); EnsureValidSelection(); - var columnsToRender = CalculateViewport (Bounds).ToArray(); - var headerHeight = GetHeaderHeight(); - - //if we have scrolled too far to the left - if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) { - ColumnOffset = SelectedColumn; - } - - //if we have scrolled too far to the right - if (SelectedColumn > columnsToRender.Max (r=> r.Column.Ordinal)) { - ColumnOffset = SelectedColumn; - } - - //if we have scrolled too far down - if (SelectedRow >= RowOffset + (Bounds.Height - headerHeight)) { - RowOffset = SelectedRow; - } - //if we have scrolled too far up - if (SelectedRow < RowOffset) { - RowOffset = SelectedRow; - } + EnsureSelectedCellIsVisible(); SetNeedsDisplay (); } @@ -680,6 +660,39 @@ namespace Terminal.Gui.Views { SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); } + /// + /// Updates scroll offsets to ensure that the selected cell is visible. Has no effect if has not been set. + /// + /// Changes will not be immediately visible in the display until you call + public void EnsureSelectedCellIsVisible () + { + if(Table == null){ + return; + } + + var columnsToRender = CalculateViewport (Bounds).ToArray(); + var headerHeight = GetHeaderHeight(); + + //if we have scrolled too far to the left + if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) { + ColumnOffset = SelectedColumn; + } + + //if we have scrolled too far to the right + if (SelectedColumn > columnsToRender.Max (r=> r.Column.Ordinal)) { + ColumnOffset = SelectedColumn; + } + + //if we have scrolled too far down + if (SelectedRow >= RowOffset + (Bounds.Height - headerHeight)) { + RowOffset = SelectedRow; + } + //if we have scrolled too far up + if (SelectedRow < RowOffset) { + RowOffset = SelectedRow; + } + } + /// /// Calculates which columns should be rendered given the in which to display and the /// From 52af2a609e77bfacf43615a86c45818ce8efe536 Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 06:47:51 +0000 Subject: [PATCH 21/64] Fixed namespace, comments and added tests --- Terminal.Gui/Views/TableView.cs | 13 ++-- UICatalog/Scenarios/TableEditor.cs | 1 - UnitTests/TableViewTests.cs | 98 ++++++++++++++++++++++++++++++ 3 files changed, 104 insertions(+), 8 deletions(-) create mode 100644 UnitTests/TableViewTests.cs diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 141816d96..7b3125fd0 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; using System.Data; using System.Linq; -namespace Terminal.Gui.Views { +namespace Terminal.Gui { /// /// Describes how to render a given column in a including and textual representation of cells (e.g. date formats) @@ -148,23 +148,22 @@ namespace Terminal.Gui.Views { public TableStyle Style { get => style; set {style = value; Update(); } } /// - /// Zero indexed offset for the upper left to display in . + /// Horizontal scroll offset. The index of the first column in to display when when rendering the view. /// /// This property allows very wide tables to be rendered with horizontal scrolling public int ColumnOffset { get => columnOffset; //try to prevent this being set to an out of bounds column - set => columnOffset = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + set => columnOffset = Table == null ? 0 :Math.Max (0,Math.Min (Table.Columns.Count - 1, value)); } /// - /// Zero indexed offset for the to display in on line 2 of the control (first line being headers) + /// Vertical scroll offset. The index of the first row in to display in the first non header line of the control when rendering the view. /// - /// This property allows very wide tables to be rendered with horizontal scrolling public int RowOffset { get => rowOffset; - set => rowOffset = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + set => rowOffset = Table == null ? 0 : Math.Max (0,Math.Min (Table.Rows.Count - 1, value)); } /// @@ -666,7 +665,7 @@ namespace Terminal.Gui.Views { /// Changes will not be immediately visible in the display until you call public void EnsureSelectedCellIsVisible () { - if(Table == null){ + if(Table == null || Table.Columns.Count <= 0){ return; } diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 1767e8691..cce0349b1 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -2,7 +2,6 @@ using System.Collections.Generic; using System.Data; using Terminal.Gui; -using Terminal.Gui.Views; namespace UICatalog.Scenarios { diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs new file mode 100644 index 000000000..c4819d251 --- /dev/null +++ b/UnitTests/TableViewTests.cs @@ -0,0 +1,98 @@ +using System; +using System.Collections.Generic; +using System.Data; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using Terminal.Gui; +using Xunit; + +namespace UnitTests { + public class TableViewTests + { + + [Fact] + public void EnsureValidScrollOffsets_WithNoCells() + { + var tableView = new TableView(); + + Assert.Equal(0,tableView.RowOffset); + Assert.Equal(0,tableView.ColumnOffset); + + // Set empty table + tableView.Table = new DataTable(); + + // Since table has no rows or columns scroll offset should default to 0 + tableView.EnsureValidScrollOffsets(); + Assert.Equal(0,tableView.RowOffset); + Assert.Equal(0,tableView.ColumnOffset); + } + + + + [Fact] + public void EnsureValidScrollOffsets_LoadSmallerTable() + { + var tableView = new TableView(); + tableView.Bounds = new Rect(0,0,25,10); + + Assert.Equal(0,tableView.RowOffset); + Assert.Equal(0,tableView.ColumnOffset); + + // Set big table + tableView.Table = BuildTable(25,50); + + // Scroll down and along + tableView.RowOffset = 20; + tableView.ColumnOffset = 10; + + tableView.EnsureValidScrollOffsets(); + + // The scroll should be valid at the moment + Assert.Equal(20,tableView.RowOffset); + Assert.Equal(10,tableView.ColumnOffset); + + // Set small table + tableView.Table = BuildTable(2,2); + + // Setting a small table should automatically trigger fixing the scroll offsets to ensure valid cells + Assert.Equal(0,tableView.RowOffset); + Assert.Equal(0,tableView.ColumnOffset); + + + // Trying to set invalid indexes should not be possible + tableView.RowOffset = 20; + tableView.ColumnOffset = 10; + + Assert.Equal(1,tableView.RowOffset); + Assert.Equal(1,tableView.ColumnOffset); + } + + /// + /// Builds a simple table of string columns with the requested number of columns and rows + /// + /// + /// + /// + public static DataTable BuildTable(int cols, int rows) + { + var dt = new DataTable(); + + for(int c = 0; c < cols; c++) { + dt.Columns.Add("Col"+c); + } + + for(int r = 0; r < rows; r++) { + var newRow = dt.NewRow(); + + for(int c = 0; c < cols; c++) { + newRow[c] = $"R{r}C{c}"; + } + + dt.Rows.Add(newRow); + } + + return dt; + } + } +} \ No newline at end of file From 81edb73785fc70b26786876806e9a53a4fb8f69f Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 07:18:12 +0000 Subject: [PATCH 22/64] Added SelectedCellChanged event --- Terminal.Gui/Views/TableView.cs | 34 +++++++++++++++++++++++++++--- UICatalog/Scenarios/TableEditor.cs | 17 +++++++++++++-- 2 files changed, 46 insertions(+), 5 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7b3125fd0..55504e14a 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -172,8 +172,15 @@ namespace Terminal.Gui { public int SelectedColumn { get => selectedColumn; - //try to prevent this being set to an out of bounds column - set => selectedColumn = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + set { + var oldValue = selectedColumn; + + //try to prevent this being set to an out of bounds column + selectedColumn = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); + + if(oldValue != selectedColumn) + OnSelectedCellChanged(); + } } /// @@ -181,7 +188,15 @@ namespace Terminal.Gui { /// public int SelectedRow { get => selectedRow; - set => selectedRow = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + set { + + var oldValue = selectedColumn; + + selectedRow = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); + + if(oldValue != selectedRow) + OnSelectedCellChanged(); + } } /// @@ -199,6 +214,11 @@ namespace Terminal.Gui { /// public char SeparatorSymbol { get; set; } = ' '; + /// + /// This event is raised when the selected cell in the table changes. + /// + public event Action SelectedCellChanged; + /// /// Initialzies a class using layout. /// @@ -692,6 +712,14 @@ namespace Terminal.Gui { } } + /// + /// Invokes the event + /// + protected virtual void OnSelectedCellChanged() + { + SelectedCellChanged?.Invoke(new EventArgs()); + } + /// /// Calculates which columns should be rendered given the in which to display and the /// diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index cce0349b1..8e168af60 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -56,10 +56,23 @@ namespace UICatalog.Scenarios { X = 0, Y = 0, Width = Dim.Fill (), - Height = Dim.Fill (), + Height = Dim.Fill (1), }; Win.Add (tableView); + + var selectedCellLabel = new Label(){ + X = 0, + Y = Pos.Bottom(tableView), + Text = "0,0", + Width = Dim.Fill(), + TextAlignment = TextAlignment.Right + + }; + + Win.Add(selectedCellLabel); + + tableView.SelectedCellChanged += (s,e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; } private void ClearColumnStyles () @@ -231,7 +244,7 @@ namespace UICatalog.Scenarios { dt.Columns.Add(new DataColumn("NullsCol",typeof(string))); for(int i=0;i< cols -5; i++) { - dt.Columns.Add("Column" + (i+4)); + dt.Columns.Add("Column" + (i+5)); } var r = new Random(100); From 4bb9d9ac66b9afd5e0a21263e27191ad3d6d4746 Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 07:20:44 +0000 Subject: [PATCH 23/64] Fixed typo changing EventHandler to Action in UICatalog --- UICatalog/Scenarios/TableEditor.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 8e168af60..1abd247d9 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -72,7 +72,7 @@ namespace UICatalog.Scenarios { Win.Add(selectedCellLabel); - tableView.SelectedCellChanged += (s,e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; + tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; } private void ClearColumnStyles () From 65806b1ba2fc4aa8b8642be9f5d046b2062ba0ef Mon Sep 17 00:00:00 2001 From: tznind Date: Tue, 29 Dec 2020 09:54:50 +0000 Subject: [PATCH 24/64] Added SelectedCellChangedEventArgs and tests --- Terminal.Gui/Views/TableView.cs | 69 ++++++++++++++++++++++++++++++--- UnitTests/TableViewTests.cs | 60 ++++++++++++++++++++++++++++ 2 files changed, 123 insertions(+), 6 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 55504e14a..5395e70b6 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -179,7 +179,7 @@ namespace Terminal.Gui { selectedColumn = Table == null ? 0 : Math.Min (Table.Columns.Count - 1, Math.Max (0, value)); if(oldValue != selectedColumn) - OnSelectedCellChanged(); + OnSelectedCellChanged(new SelectedCellChangedEventArgs(Table,oldValue,SelectedColumn,SelectedRow,SelectedRow)); } } @@ -190,12 +190,12 @@ namespace Terminal.Gui { get => selectedRow; set { - var oldValue = selectedColumn; + var oldValue = selectedRow; selectedRow = Table == null ? 0 : Math.Min (Table.Rows.Count - 1, Math.Max (0, value)); if(oldValue != selectedRow) - OnSelectedCellChanged(); + OnSelectedCellChanged(new SelectedCellChangedEventArgs(Table,SelectedColumn,SelectedColumn,oldValue,selectedRow)); } } @@ -217,7 +217,7 @@ namespace Terminal.Gui { /// /// This event is raised when the selected cell in the table changes. /// - public event Action SelectedCellChanged; + public event Action SelectedCellChanged; /// /// Initialzies a class using layout. @@ -715,9 +715,9 @@ namespace Terminal.Gui { /// /// Invokes the event /// - protected virtual void OnSelectedCellChanged() + protected virtual void OnSelectedCellChanged(SelectedCellChangedEventArgs args) { - SelectedCellChanged?.Invoke(new EventArgs()); + SelectedCellChanged?.Invoke(args); } /// @@ -853,4 +853,61 @@ namespace Terminal.Gui { X = x; } } + + /// + /// Defines the event arguments for + /// + public class SelectedCellChangedEventArgs : EventArgs + { + /// + /// The current table to which the new indexes refer. May be null e.g. if selection change is the result of clearing the table from the view + /// + /// + public DataTable Table {get;} + + + /// + /// The previous selected column index. May be invalid e.g. when the selection has been changed as a result of replacing the existing Table with a smaller one + /// + /// + public int OldCol {get;} + + + /// + /// The newly selected column index. + /// + /// + public int NewCol {get;} + + + /// + /// The previous selected row index. May be invalid e.g. when the selection has been changed as a result of deleting rows from the table + /// + /// + public int OldRow {get;} + + + /// + /// The newly selected row index. + /// + /// + public int NewRow {get;} + + /// + /// Creates a new instance of arguments describing a change in selected cell in a + /// + /// + /// + /// + /// + /// + public SelectedCellChangedEventArgs(DataTable t, int oldCol, int newCol, int oldRow, int newRow) + { + Table = t; + OldCol = oldCol; + NewCol = newCol; + OldRow = oldRow; + NewRow = newRow; + } + } } diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs index c4819d251..481facd06 100644 --- a/UnitTests/TableViewTests.cs +++ b/UnitTests/TableViewTests.cs @@ -67,6 +67,66 @@ namespace UnitTests { Assert.Equal(1,tableView.RowOffset); Assert.Equal(1,tableView.ColumnOffset); } + + [Fact] + public void SelectedCellChanged_NotFiredForSameValue() + { + var tableView = new TableView(){ + Table = BuildTable(25,50) + }; + + bool called = false; + tableView.SelectedCellChanged += (e)=>{called=true;}; + + Assert.Equal(0,tableView.SelectedColumn); + Assert.False(called); + + // Changing value to same as it already was should not raise an event + tableView.SelectedColumn = 0; + + Assert.False(called); + + tableView.SelectedColumn = 10; + Assert.True(called); + } + + + + [Fact] + public void SelectedCellChanged_SelectedColumnIndexesCorrect() + { + var tableView = new TableView(){ + Table = BuildTable(25,50) + }; + + bool called = false; + tableView.SelectedCellChanged += (e)=>{ + called=true; + Assert.Equal(0,e.OldCol); + Assert.Equal(10,e.NewCol); + }; + + tableView.SelectedColumn = 10; + Assert.True(called); + } + + [Fact] + public void SelectedCellChanged_SelectedRowIndexesCorrect() + { + var tableView = new TableView(){ + Table = BuildTable(25,50) + }; + + bool called = false; + tableView.SelectedCellChanged += (e)=>{ + called=true; + Assert.Equal(0,e.OldRow); + Assert.Equal(10,e.NewRow); + }; + + tableView.SelectedRow = 10; + Assert.True(called); + } /// /// Builds a simple table of string columns with the requested number of columns and rows From a237e1a8e4bf5ddc8bdacc6ba2b301fe9bd82f0f Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 30 Dec 2020 07:53:52 +0000 Subject: [PATCH 25/64] Fixed draw/scroll bugs when header is not visible due to scrolling --- Terminal.Gui/Views/TableView.cs | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 5395e70b6..547a234ba 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -273,13 +273,15 @@ namespace Terminal.Gui { } } + int headerLinesConsumed = line; + //render the cells for (; line < frame.Height; line++) { ClearLine(line,bounds.Width); //work out what Row to render - var rowToRender = RowOffset + (line - GetHeaderHeight()); + var rowToRender = RowOffset + (line - headerLinesConsumed); //if we have run off the end of the table if ( Table == null || rowToRender >= Table.Rows.Count || rowToRender < 0) @@ -613,7 +615,7 @@ namespace Terminal.Gui { var viewPort = CalculateViewport(Bounds); - var headerHeight = GetHeaderHeight(); + var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; var col = viewPort.LastOrDefault(c=>c.X < me.OfX); @@ -690,7 +692,7 @@ namespace Terminal.Gui { } var columnsToRender = CalculateViewport (Bounds).ToArray(); - var headerHeight = GetHeaderHeight(); + var headerHeight = ShouldRenderHeaders()? GetHeaderHeight() : 0; //if we have scrolled too far to the left if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) { From d4f14f81d2b0241703c196a94ffdf54651296bff Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 30 Dec 2020 08:05:58 +0000 Subject: [PATCH 26/64] Changed TableEditor in UICatalog to use checked menus --- UICatalog/Scenarios/TableEditor.cs | 58 +++++++++++++++++++++--------- 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 1abd247d9..e18e09bc8 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -14,6 +14,11 @@ namespace UICatalog.Scenarios { public class TableEditor : Scenario { TableView tableView; + private MenuItem miAlwaysShowHeaders; + private MenuItem miHeaderOverline; + private MenuItem miHeaderMidline; + private MenuItem miHeaderUnderline; + private MenuItem miCellLines; public override void Setup () { @@ -22,6 +27,13 @@ namespace UICatalog.Scenarios { Win.Height = Dim.Fill (1); // status bar Top.LayoutSubviews (); + this.tableView = new TableView () { + X = 0, + Y = 0, + Width = Dim.Fill (), + Height = Dim.Fill (1), + }; + var menu = new MenuBar (new MenuBarItem [] { new MenuBarItem ("_File", new MenuItem [] { new MenuItem ("_OpenBigExample", "", () => OpenExample(true)), @@ -30,11 +42,11 @@ namespace UICatalog.Scenarios { new MenuItem ("_Quit", "", () => Quit()), }), new MenuBarItem ("_View", new MenuItem [] { - new MenuItem ("_AlwaysShowHeaders", "", () => ToggleAlwaysShowHeader()), - new MenuItem ("_HeaderOverLine", "", () => ToggleOverline()), - new MenuItem ("_HeaderMidLine", "", () => ToggleHeaderMidline()), - new MenuItem ("_HeaderUnderLine", "", () => ToggleUnderline()), - new MenuItem ("_CellLines", "", () => ToggleCellLines()), + miAlwaysShowHeaders = new MenuItem ("_AlwaysShowHeaders", "", () => ToggleAlwaysShowHeader()){Checked = tableView.Style.AlwaysShowHeaders, CheckType = MenuItemCheckStyle.Checked }, + miHeaderOverline = new MenuItem ("_HeaderOverLine", "", () => ToggleOverline()){Checked = tableView.Style.ShowHorizontalHeaderOverline, CheckType = MenuItemCheckStyle.Checked }, + miHeaderMidline = new MenuItem ("_HeaderMidLine", "", () => ToggleHeaderMidline()){Checked = tableView.Style.ShowVerticalHeaderLines, CheckType = MenuItemCheckStyle.Checked }, + miHeaderUnderline =new MenuItem ("_HeaderUnderLine", "", () => ToggleUnderline()){Checked = tableView.Style.ShowHorizontalHeaderUnderline, CheckType = MenuItemCheckStyle.Checked }, + miCellLines =new MenuItem ("_CellLines", "", () => ToggleCellLines()){Checked = tableView.Style.ShowVerticalCellLines, CheckType = MenuItemCheckStyle.Checked }, new MenuItem ("_AllLines", "", () => ToggleAllCellLines()), new MenuItem ("_NoLines", "", () => ToggleNoCellLines()), new MenuItem ("_ClearColumnStyles", "", () => ClearColumnStyles()), @@ -42,6 +54,8 @@ namespace UICatalog.Scenarios { }); Top.Add (menu); + + var statusBar = new StatusBar (new StatusItem [] { //new StatusItem(Key.Enter, "~ENTER~ ApplyEdits", () => { _hexView.ApplyEdits(); }), new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample(true)), @@ -52,13 +66,6 @@ namespace UICatalog.Scenarios { }); Top.Add (statusBar); - this.tableView = new TableView () { - X = 0, - Y = 0, - Width = Dim.Fill (), - Height = Dim.Fill (1), - }; - Win.Add (tableView); var selectedCellLabel = new Label(){ @@ -83,28 +90,33 @@ namespace UICatalog.Scenarios { private void ToggleAlwaysShowHeader () { - tableView.Style.AlwaysShowHeaders = !tableView.Style.AlwaysShowHeaders; + miAlwaysShowHeaders.Checked = !miAlwaysShowHeaders.Checked; + tableView.Style.AlwaysShowHeaders = miAlwaysShowHeaders.Checked; tableView.Update(); } private void ToggleOverline () { - tableView.Style.ShowHorizontalHeaderOverline = !tableView.Style.ShowHorizontalHeaderOverline; + miHeaderOverline.Checked = !miHeaderOverline.Checked; + tableView.Style.ShowHorizontalHeaderOverline = miHeaderOverline.Checked; tableView.Update(); } private void ToggleHeaderMidline () { - tableView.Style.ShowVerticalHeaderLines = !tableView.Style.ShowVerticalHeaderLines; + miHeaderMidline.Checked = !miHeaderMidline.Checked; + tableView.Style.ShowVerticalHeaderLines = miHeaderMidline.Checked; tableView.Update(); } private void ToggleUnderline () { - tableView.Style.ShowHorizontalHeaderUnderline = !tableView.Style.ShowHorizontalHeaderUnderline; + miHeaderUnderline.Checked = !miHeaderUnderline.Checked; + tableView.Style.ShowHorizontalHeaderUnderline = miHeaderUnderline.Checked; tableView.Update(); } private void ToggleCellLines() { - tableView.Style.ShowVerticalCellLines = !tableView.Style.ShowVerticalCellLines; + miCellLines.Checked = !miCellLines.Checked; + tableView.Style.ShowVerticalCellLines = miCellLines.Checked; tableView.Update(); } private void ToggleAllCellLines() @@ -113,6 +125,12 @@ namespace UICatalog.Scenarios { tableView.Style.ShowVerticalHeaderLines = true; tableView.Style.ShowHorizontalHeaderUnderline = true; tableView.Style.ShowVerticalCellLines = true; + + miHeaderOverline.Checked = true; + miHeaderMidline.Checked = true; + miHeaderUnderline.Checked = true; + miCellLines.Checked = true; + tableView.Update(); } private void ToggleNoCellLines() @@ -121,6 +139,12 @@ namespace UICatalog.Scenarios { tableView.Style.ShowVerticalHeaderLines = false; tableView.Style.ShowHorizontalHeaderUnderline = false; tableView.Style.ShowVerticalCellLines = false; + + miHeaderOverline.Checked = false; + miHeaderMidline.Checked = false; + miHeaderUnderline.Checked = false; + miCellLines.Checked = false; + tableView.Update(); } From 448bc3af3be9b30d0a289a0d46576b56a5d58be3 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 30 Dec 2020 08:14:47 +0000 Subject: [PATCH 27/64] Fixed cell selection when clicking near cell border --- Terminal.Gui/Views/TableView.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 547a234ba..bae21e1ac 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -617,8 +617,12 @@ namespace Terminal.Gui { var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; - var col = viewPort.LastOrDefault(c=>c.X < me.OfX); + var col = viewPort.LastOrDefault(c=>c.X <= me.OfX); + // Click is on the header section of rendered UI + if(me.OfY < headerHeight) + return false; + var rowIdx = RowOffset - headerHeight + me.OfY; if(col != null && rowIdx >= 0) { From f610cc841610633df98d79fdce942fcb1d57956e Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 31 Dec 2020 10:06:49 +0000 Subject: [PATCH 28/64] better handling of unicode in table view --- Terminal.Gui/Views/TableView.cs | 10 +++++----- UICatalog/Scenarios/TableEditor.cs | 12 ++++++++---- UnitTests/TableViewTests.cs | 15 ++++++++++++++- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index bae21e1ac..267ef2d21 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -497,10 +497,10 @@ namespace Terminal.Gui { return representation; // if value is not wide enough - if(representation.Length < availableHorizontalSpace) { + if(representation.Sum(c=>Rune.ColumnWidth(c)) < availableHorizontalSpace) { // pad it out with spaces to the given alignment - int toPad = availableHorizontalSpace - (representation.Length+1 /*leave 1 space for cell boundary*/); + int toPad = availableHorizontalSpace - (representation.Sum(c=>Rune.ColumnWidth(c)) +1 /*leave 1 space for cell boundary*/); switch(colStyle?.GetAlignment(originalCellValue) ?? TextAlignment.Left) { @@ -520,7 +520,7 @@ namespace Terminal.Gui { } // value is too wide - return representation.Substring (0, availableHorizontalSpace); + return new string(representation.TakeWhile(c=>(availableHorizontalSpace-= Rune.ColumnWidth(c))>0).ToArray()); } /// @@ -787,7 +787,7 @@ namespace Terminal.Gui { /// private int CalculateMaxCellWidth(DataColumn col, int rowsToRender,ColumnStyle colStyle) { - int spaceRequired = col.ColumnName.Length; + int spaceRequired = col.ColumnName.Sum(c=>Rune.ColumnWidth(c)); // if table has no rows if(RowOffset < 0) @@ -797,7 +797,7 @@ namespace Terminal.Gui { for (int i = RowOffset; i < RowOffset + rowsToRender && i < Table.Rows.Count; i++) { //expand required space if cell is bigger than the last biggest cell or header - spaceRequired = Math.Max (spaceRequired, GetRepresentation(Table.Rows [i][col],colStyle).Length); + spaceRequired = Math.Max (spaceRequired, GetRepresentation(Table.Rows [i][col],colStyle).Sum(c=>Rune.ColumnWidth(c))); } // Don't require more space than the style allows diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index e18e09bc8..04354baee 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Data; using Terminal.Gui; +using System.Globalization; namespace UICatalog.Scenarios { @@ -261,14 +262,16 @@ namespace UICatalog.Scenarios { { var dt = new DataTable(); + int explicitCols = 6; dt.Columns.Add(new DataColumn("StrCol",typeof(string))); dt.Columns.Add(new DataColumn("DateCol",typeof(DateTime))); dt.Columns.Add(new DataColumn("IntCol",typeof(int))); dt.Columns.Add(new DataColumn("DoubleCol",typeof(double))); dt.Columns.Add(new DataColumn("NullsCol",typeof(string))); + dt.Columns.Add(new DataColumn("Unicode",typeof(string))); - for(int i=0;i< cols -5; i++) { - dt.Columns.Add("Column" + (i+5)); + for(int i=0;i< cols -explicitCols; i++) { + dt.Columns.Add("Column" + (i+explicitCols)); } var r = new Random(100); @@ -280,10 +283,11 @@ namespace UICatalog.Scenarios { new DateTime(2000+i,12,25), r.Next(i), (r.NextDouble()*i)-0.5 /*add some negatives to demo styles*/, - DBNull.Value + DBNull.Value, + "Les Mise" + Char.ConvertFromUtf32(Int32.Parse("0301", NumberStyles.HexNumber)) + "rables" }; - for(int j=0;j< cols -5; j++) { + for(int j=0;j< cols -explicitCols; j++) { row.Add("SomeValue" + r.Next(100)); } diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs index 481facd06..b702d3334 100644 --- a/UnitTests/TableViewTests.cs +++ b/UnitTests/TableViewTests.cs @@ -2,10 +2,10 @@ using System; using System.Collections.Generic; using System.Data; using System.Linq; -using System.Text; using System.Threading.Tasks; using Terminal.Gui; using Xunit; +using System.Globalization; namespace UnitTests { public class TableViewTests @@ -127,6 +127,19 @@ namespace UnitTests { tableView.SelectedRow = 10; Assert.True(called); } + + [Fact] + public void Test_SumColumnWidth_UnicodeLength() + { + Assert.Equal(11,"hello there".Sum(c=>Rune.ColumnWidth(c))); + + // Creates a string with the peculiar (french?) r symbol + String surrogate = "Les Mise" + Char.ConvertFromUtf32(Int32.Parse("0301", NumberStyles.HexNumber)) + "rables"; + + // The unicode width of this string is shorter than the string length! + Assert.Equal(14,surrogate.Sum(c=>Rune.ColumnWidth(c))); + Assert.Equal(15,surrogate.Length); + } /// /// Builds a simple table of string columns with the requested number of columns and rows From d35b3b8c3d7c228bdc6a18c13985fe83f9c323e1 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 31 Dec 2020 10:18:05 +0000 Subject: [PATCH 29/64] Added wheel left/right for horizontal scrolling --- Terminal.Gui/Views/TableView.cs | 40 +++++++++++++++++++++------------ 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 267ef2d21..7ce5b0e0d 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -583,7 +583,8 @@ namespace Terminal.Gui { public override bool MouseEvent (MouseEvent me) { if (!me.Flags.HasFlag (MouseFlags.Button1Clicked) && !me.Flags.HasFlag (MouseFlags.Button1DoubleClicked) && - me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp) + me.Flags != MouseFlags.WheeledDown && me.Flags != MouseFlags.WheeledUp && + me.Flags != MouseFlags.WheeledLeft && me.Flags != MouseFlags.WheeledRight) return false; if (!HasFocus && CanFocus) { @@ -594,21 +595,32 @@ namespace Terminal.Gui { return false; } - if (me.Flags == MouseFlags.WheeledDown) { - - RowOffset++; - - EnsureValidScrollOffsets(); - SetNeedsDisplay(); + // Scroll wheel flags + switch(me.Flags) + { + case MouseFlags.WheeledDown: + RowOffset++; + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; - return true; - } else if (me.Flags == MouseFlags.WheeledUp) { - RowOffset--; - - EnsureValidScrollOffsets(); - SetNeedsDisplay(); + case MouseFlags.WheeledUp: + RowOffset--; + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; - return true; + case MouseFlags.WheeledRight: + ColumnOffset++; + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; + + case MouseFlags.WheeledLeft: + ColumnOffset--; + EnsureValidScrollOffsets(); + SetNeedsDisplay(); + return true; } if(me.Flags == MouseFlags.Button1Clicked) { From 913d3a247ed22eb3cd4d18fcc59bfc9eb2e462be Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 31 Dec 2020 13:02:09 +0000 Subject: [PATCH 30/64] Added PositionCursor implementation - Added new methods ScreenToCell and CellToScreen --- Terminal.Gui/Views/TableView.cs | 97 ++++++++++++++++++++++++++++----- 1 file changed, 82 insertions(+), 15 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 7ce5b0e0d..db18988ea 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -579,6 +579,22 @@ namespace Terminal.Gui { return true; } + /// + /// Positions the cursor in the area of the screen in which the start of the active cell is rendered. Calls base implementation if active cell is not visible due to scrolling or table is loaded etc + /// + public override void PositionCursor() + { + if(Table == null) { + base.PositionCursor(); + return; + } + + var screenPoint = CellToScreen(SelectedColumn,SelectedRow); + + if(screenPoint != null) + Move(screenPoint.Value.X,screenPoint.Value.Y); + } + /// public override bool MouseEvent (MouseEvent me) { @@ -625,23 +641,12 @@ namespace Terminal.Gui { if(me.Flags == MouseFlags.Button1Clicked) { - var viewPort = CalculateViewport(Bounds); - - var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; + var hit = ScreenToCell(me.OfX,me.OfY); - var col = viewPort.LastOrDefault(c=>c.X <= me.OfX); - - // Click is on the header section of rendered UI - if(me.OfY < headerHeight) - return false; - - var rowIdx = RowOffset - headerHeight + me.OfY; - - if(col != null && rowIdx >= 0) { + if(hit != null) { - SelectedRow = rowIdx; - SelectedColumn = col.Column.Ordinal; - + SelectedRow = hit.Value.Y; + SelectedColumn = hit.Value.X; Update(); } } @@ -649,6 +654,68 @@ namespace Terminal.Gui { return false; } + /// + /// Returns the column and row of that corresponds to a given point on the screen (relative to the control client area). Returns null if the point is in the header, no table is loaded or outside the control bounds + /// + /// X offset from the top left of the control + /// Y offset from the top left of the control + /// + public Point? ScreenToCell (int clientX, int clientY) + { + if(Table == null) + return null; + + var viewPort = CalculateViewport(Bounds); + + var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; + + var col = viewPort.LastOrDefault(c=>c.X <= clientX); + + // Click is on the header section of rendered UI + if(clientY < headerHeight) + return null; + + var rowIdx = RowOffset - headerHeight + clientY; + + if(col != null && rowIdx >= 0) { + + return new Point(col.Column.Ordinal,rowIdx); + } + + return null; + } + + /// + /// Returns the screen position (relative to the control client area) that the given cell is rendered or null if it is outside the current scroll area or no table is loaded + /// + /// The index of the column you are looking for, use + /// The index of the row in that you are looking for + /// + public Point? CellToScreen (int tableColumn, int tableRow) + { + if(Table == null) + return null; + + var viewPort = CalculateViewport(Bounds); + + var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; + + var colHit = viewPort.FirstOrDefault(c=>c.Column.Ordinal == tableColumn); + + // current column is outside the scroll area + if(colHit == null) + return null; + + // the cell is too far up above the current scroll area + if(RowOffset > tableRow) + return null; + + // the cell is way down below the scroll area and off the screen + if(tableRow > RowOffset + (Bounds.Height - headerHeight)) + return null; + + return new Point(colHit.X,tableRow + headerHeight - RowOffset); + } /// /// Updates the view to reflect changes to and to ( / ) etc /// From 31bdec453509e9eeee8ca1694e0d7f6c86749c34 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 31 Dec 2020 13:09:31 +0000 Subject: [PATCH 31/64] Added FullRowSelect property --- Terminal.Gui/Views/TableView.cs | 15 ++++++++++++--- UICatalog/Scenarios/TableEditor.cs | 8 ++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index db18988ea..d631b5d92 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -147,6 +147,11 @@ namespace Terminal.Gui { /// public TableStyle Style { get => style; set {style = value; Update(); } } + /// + /// True to select the entire row at once. False to select individual cells. Defaults to false + /// + public bool FullRowSelect {get;set;} + /// /// Horizontal scroll offset. The index of the first column in to display when when rendering the view. /// @@ -446,7 +451,9 @@ namespace Terminal.Gui { Move (current.X, row); // Set color scheme based on whether the current cell is the selected one - bool isSelectedCell = rowToRender == SelectedRow && current.Column.Ordinal == SelectedColumn; + bool isSelectedCell = rowToRender == SelectedRow && + (current.Column.Ordinal == SelectedColumn || FullRowSelect); + Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); var val = Table.Rows [rowToRender][current.Column]; @@ -456,8 +463,10 @@ namespace Terminal.Gui { Driver.AddStr (TruncateOrPad(val,representation,availableWidthForCell,colStyle)); - // Reset color scheme to normal and render the vertical line (or space) at the end of the cell - Driver.SetAttribute (ColorScheme.Normal); + // If not in full row select mode always, reset color scheme to normal and render the vertical line (or space) at the end of the cell + if(!FullRowSelect) + Driver.SetAttribute (ColorScheme.Normal); + RenderSeparator(current.X-1,row,false); } diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 04354baee..863dc774b 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -20,6 +20,7 @@ namespace UICatalog.Scenarios { private MenuItem miHeaderMidline; private MenuItem miHeaderUnderline; private MenuItem miCellLines; + private MenuItem miFullRowSelect; public override void Setup () { @@ -47,6 +48,7 @@ namespace UICatalog.Scenarios { miHeaderOverline = new MenuItem ("_HeaderOverLine", "", () => ToggleOverline()){Checked = tableView.Style.ShowHorizontalHeaderOverline, CheckType = MenuItemCheckStyle.Checked }, miHeaderMidline = new MenuItem ("_HeaderMidLine", "", () => ToggleHeaderMidline()){Checked = tableView.Style.ShowVerticalHeaderLines, CheckType = MenuItemCheckStyle.Checked }, miHeaderUnderline =new MenuItem ("_HeaderUnderLine", "", () => ToggleUnderline()){Checked = tableView.Style.ShowHorizontalHeaderUnderline, CheckType = MenuItemCheckStyle.Checked }, + miFullRowSelect =new MenuItem ("_FullRowSelect", "", () => ToggleFullRowSelect()){Checked = tableView.FullRowSelect, CheckType = MenuItemCheckStyle.Checked }, miCellLines =new MenuItem ("_CellLines", "", () => ToggleCellLines()){Checked = tableView.Style.ShowVerticalCellLines, CheckType = MenuItemCheckStyle.Checked }, new MenuItem ("_AllLines", "", () => ToggleAllCellLines()), new MenuItem ("_NoLines", "", () => ToggleNoCellLines()), @@ -114,6 +116,12 @@ namespace UICatalog.Scenarios { tableView.Style.ShowHorizontalHeaderUnderline = miHeaderUnderline.Checked; tableView.Update(); } + private void ToggleFullRowSelect () + { + miFullRowSelect.Checked = !miFullRowSelect.Checked; + tableView.FullRowSelect= miFullRowSelect.Checked; + tableView.Update(); + } private void ToggleCellLines() { miCellLines.Checked = !miCellLines.Checked; From df3e191a72dfd67dede5b029abb2a1d384bf4825 Mon Sep 17 00:00:00 2001 From: tznind Date: Thu, 31 Dec 2020 13:38:15 +0000 Subject: [PATCH 32/64] Added CellActivated event which occurs on Enter or double click --- Terminal.Gui/Views/TableView.cs | 69 ++++++++++++++++++++++++++++++ UICatalog/Scenarios/TableEditor.cs | 16 +++---- 2 files changed, 77 insertions(+), 8 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index d631b5d92..8b185bc93 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -224,6 +224,16 @@ namespace Terminal.Gui { /// public event Action SelectedCellChanged; + /// + /// This event is raised when a cell is activated e.g. by double clicking or pressing + /// + public event Action CellActivated; + + /// + /// The key which when pressed should trigger event. Defaults to Enter. + /// + public Key CellActivationKey {get;set;} = Key.Enter; + /// /// Initialzies a class using layout. /// @@ -535,6 +545,12 @@ namespace Terminal.Gui { /// public override bool ProcessKey (KeyEvent keyEvent) { + if(keyEvent.Key == CellActivationKey && Table != null) { + OnCellActivated(new CellActivatedEventArgs(Table,SelectedColumn,SelectedRow)); + return true; + } + + switch (keyEvent.Key) { case Key.CursorLeft: SelectedColumn--; @@ -660,6 +676,14 @@ namespace Terminal.Gui { } } + // Double clicking a cell activates + if(me.Flags == MouseFlags.Button1DoubleClicked) { + var hit = ScreenToCell(me.OfX,me.OfY); + if(hit!= null) { + OnCellActivated(new CellActivatedEventArgs(Table,hit.Value.X,hit.Value.Y)); + } + } + return false; } @@ -813,6 +837,15 @@ namespace Terminal.Gui { { SelectedCellChanged?.Invoke(args); } + + /// + /// Invokes the event + /// + /// + protected virtual void OnCellActivated (CellActivatedEventArgs args) + { + CellActivated?.Invoke(args); + } /// /// Calculates which columns should be rendered given the in which to display and the @@ -1004,4 +1037,40 @@ namespace Terminal.Gui { NewRow = newRow; } } + + /// + /// Defines the event arguments for event + /// + public class CellActivatedEventArgs : EventArgs + { + /// + /// The current table to which the new indexes refer. May be null e.g. if selection change is the result of clearing the table from the view + /// + /// + public DataTable Table {get;} + + + /// + /// The column index of the cell that is being activated + /// + /// + public int Col {get;} + + /// + /// The row index of the cell that is being activated + /// + /// + public int Row {get;} + + /// + /// Creates a new instance of arguments describing a cell being activated in + /// + /// + public CellActivatedEventArgs(DataTable t, int col, int row) + { + Table = t; + Col = col; + Row = row; + } + } } diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 863dc774b..a07212030 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -62,9 +62,8 @@ namespace UICatalog.Scenarios { var statusBar = new StatusBar (new StatusItem [] { //new StatusItem(Key.Enter, "~ENTER~ ApplyEdits", () => { _hexView.ApplyEdits(); }), new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample(true)), - new StatusItem(Key.F3, "~F3~ EditCell", () => EditCurrentCell()), - new StatusItem(Key.F4, "~F4~ CloseExample", () => CloseExample()), - new StatusItem(Key.F5, "~F5~ OpenSimple", () => OpenSimple(true)), + new StatusItem(Key.F3, "~F3~ CloseExample", () => CloseExample()), + new StatusItem(Key.F4, "~F4~ OpenSimple", () => OpenSimple(true)), new StatusItem(Key.CtrlMask | Key.Q, "~^Q~ Quit", () => Quit()), }); Top.Add (statusBar); @@ -83,6 +82,7 @@ namespace UICatalog.Scenarios { Win.Add(selectedCellLabel); tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; + tableView.CellActivated += EditCurrentCell; } private void ClearColumnStyles () @@ -214,12 +214,12 @@ namespace UICatalog.Scenarios { tableView.Table = BuildSimpleDataTable(big ? 30 : 5, big ? 1000 : 5); } - private void EditCurrentCell () + private void EditCurrentCell (CellActivatedEventArgs e) { - if(tableView.Table == null) + if(e.Table == null) return; - var oldValue = tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn].ToString(); + var oldValue = e.Table.Rows[e.Row][e.Col].ToString(); bool okPressed = false; var ok = new Button ("Ok", is_default: true); @@ -231,7 +231,7 @@ namespace UICatalog.Scenarios { var lbl = new Label() { X = 0, Y = 1, - Text = tableView.Table.Columns[tableView.SelectedColumn].ColumnName + Text = e.Table.Columns[e.Col].ColumnName }; var tf = new TextField() @@ -250,7 +250,7 @@ namespace UICatalog.Scenarios { if(okPressed) { try { - tableView.Table.Rows[tableView.SelectedRow][tableView.SelectedColumn] = string.IsNullOrWhiteSpace(tf.Text.ToString()) ? DBNull.Value : (object)tf.Text; + e.Table.Rows[e.Row][e.Col] = string.IsNullOrWhiteSpace(tf.Text.ToString()) ? DBNull.Value : (object)tf.Text; } catch(Exception ex) { MessageBox.ErrorQuery(60,20,"Failed to set text", ex.Message,"Ok"); From 54eab6eb56b5a44182da3d4b858caf2473f1fb8d Mon Sep 17 00:00:00 2001 From: tznind Date: Sat, 2 Jan 2021 15:57:41 +0000 Subject: [PATCH 33/64] Added multi select mode --- Terminal.Gui/Views/TableView.cs | 125 ++++++++++++++++++++++++++++++-- 1 file changed, 119 insertions(+), 6 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index d631b5d92..b7168c638 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -152,6 +152,18 @@ namespace Terminal.Gui { /// public bool FullRowSelect {get;set;} + /// + /// True to allow regions to be selected + /// + /// + public bool MultiSelect {get;set;} = true; + + /// + /// When is enabled this property contain all rectangles of selected cells. Rectangles describe column/rows selected in (not screen coordinates) + /// + /// + public Stack MultiSelectedRegions {get;} = new Stack(); + /// /// Horizontal scroll offset. The index of the first column in to display when when rendering the view. /// @@ -451,8 +463,7 @@ namespace Terminal.Gui { Move (current.X, row); // Set color scheme based on whether the current cell is the selected one - bool isSelectedCell = rowToRender == SelectedRow && - (current.Column.Ordinal == SelectedColumn || FullRowSelect); + bool isSelectedCell = IsSelected(current.Column.Ordinal,rowToRender); Driver.SetAttribute (isSelectedCell ? ColorScheme.HotFocus : ColorScheme.Normal); @@ -537,19 +548,23 @@ namespace Terminal.Gui { { switch (keyEvent.Key) { case Key.CursorLeft: - SelectedColumn--; + case Key.ShiftMask | Key.CursorLeft: + ChangeSelectionByOffset(-1,0,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorRight: - SelectedColumn++; + case Key.ShiftMask | Key.CursorRight: + ChangeSelectionByOffset(1,0,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorDown: - SelectedRow++; + case Key.ShiftMask | Key.CursorDown: + ChangeSelectionByOffset(0,1,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorUp: - SelectedRow--; + case Key.ShiftMask | Key.CursorUp: + ChangeSelectionByOffset(0,-1,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.PageUp: @@ -588,6 +603,74 @@ namespace Terminal.Gui { return true; } + private void ChangeSelectionByOffset (int offsetX, int offsetY, bool extendExistingSelection) + { + if(!MultiSelect || !extendExistingSelection) + MultiSelectedRegions.Clear(); + + if(extendExistingSelection) + { + // If we are extending current selection but there isn't one + if(MultiSelectedRegions.Count == 0) + { + // Create a new region between the old active cell and the new offset + var rect = CreateTableSelection(SelectedColumn,SelectedRow,SelectedColumn+offsetX,SelectedRow+offsetY); + MultiSelectedRegions.Push(rect); + } + else + { + // Extend the current head selection to include the new offset + var head = MultiSelectedRegions.Pop(); + var newRect = CreateTableSelection(head.Origin.X,head.Origin.Y,SelectedColumn + offsetX,SelectedRow + offsetY); + MultiSelectedRegions.Push(newRect); + } + } + + SelectedColumn += offsetX; + SelectedRow += offsetY; + + } + + + /// + /// Returns a new rectangle between the two points with positive width/height regardless of relative positioning of the points. pt1 is always considered the point + /// + /// Origin point for the selection in X + /// Origin point for the selection in Y + /// End point for the selection in X + /// End point for the selection in Y + /// + private TableSelection CreateTableSelection (int pt1X, int pt1Y, int pt2X, int pt2Y) + { + var top = Math.Min(pt1Y,pt2Y); + var bot = Math.Max(pt1Y,pt2Y); + + var left = Math.Min(pt1X,pt2X); + var right = Math.Max(pt1X,pt2X); + + // Rect class is inclusive of Top Left but exclusive of Bottom Right so extend by 1 + return new TableSelection(new Point(pt1X,pt1Y),new Rect(left,top,right-left + 1,bot-top + 1)); + } + + /// + /// Returns true if the given cell is selected either because it is the active cell or part of a multi cell selection (e.g. ) + /// + /// + /// + /// + public bool IsSelected(int col, int row) + { + // Cell is also selected if + if(MultiSelect && MultiSelectedRegions.Any(r=>r.Rect.Contains(col,row))) + return true; + + return row == SelectedRow && + (col == SelectedColumn || FullRowSelect); + } + + + + /// /// Positions the cursor in the area of the screen in which the start of the active cell is rendered. Calls base implementation if active cell is not visible due to scrolling or table is loaded etc /// @@ -1004,4 +1087,34 @@ namespace Terminal.Gui { NewRow = newRow; } } + + /// + /// Describes a selected region of the table + /// + public class TableSelection{ + + /// + /// Corner of the where selection began + /// + /// + public Point Origin{get;} + + /// + /// Area selected + /// + /// + public Rect Rect { get; } + + /// + /// Creates a new selected area starting at the origin corner and covering the provided rectangular area + /// + /// + /// + public TableSelection(Point origin, Rect rect) + { + Origin = origin; + Rect = rect; + } + + } } From b313dd8396dc6e426839975e8535300b3fd695c3 Mon Sep 17 00:00:00 2001 From: tznind Date: Sat, 2 Jan 2021 18:58:36 +0000 Subject: [PATCH 34/64] Mouse, Home, End etc work properly with multi select now --- Terminal.Gui/Views/TableView.cs | 86 +++++++++++++++++++++------------ 1 file changed, 56 insertions(+), 30 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index b7168c638..9c8e8734e 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -546,53 +546,64 @@ namespace Terminal.Gui { /// public override bool ProcessKey (KeyEvent keyEvent) { + if(Table == null){ + PositionCursor (); + return true; + } + switch (keyEvent.Key) { case Key.CursorLeft: - case Key.ShiftMask | Key.CursorLeft: + case Key.CursorLeft | Key.ShiftMask: ChangeSelectionByOffset(-1,0,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorRight: - case Key.ShiftMask | Key.CursorRight: + case Key.CursorRight | Key.ShiftMask: ChangeSelectionByOffset(1,0,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorDown: - case Key.ShiftMask | Key.CursorDown: + case Key.CursorDown | Key.ShiftMask: ChangeSelectionByOffset(0,1,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.CursorUp: - case Key.ShiftMask | Key.CursorUp: + case Key.CursorUp | Key.ShiftMask: ChangeSelectionByOffset(0,-1,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.PageUp: - SelectedRow -= Frame.Height; + case Key.PageUp | Key.ShiftMask: + ChangeSelectionByOffset(0,-Frame.Height,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.PageDown: - SelectedRow += Frame.Height; + case Key.PageDown | Key.ShiftMask: + ChangeSelectionByOffset(0,Frame.Height,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.Home | Key.CtrlMask: - SelectedRow = 0; - SelectedColumn = 0; + case Key.Home | Key.CtrlMask | Key.ShiftMask: + // jump to table origin + SetSelection(0,0,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.Home: - SelectedColumn = 0; + case Key.Home | Key.ShiftMask: + // jump to start of line + SetSelection(0,SelectedRow,keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.End | Key.CtrlMask: - //jump to end of table - SelectedRow = Table == null ? 0 : Table.Rows.Count - 1; - SelectedColumn = Table == null ? 0 : Table.Columns.Count - 1; + case Key.End | Key.CtrlMask | Key.ShiftMask: + // jump to end of table + SetSelection(Table.Columns.Count - 1, Table.Rows.Count - 1, keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.End: + case Key.End | Key.ShiftMask: //jump to end of row - SelectedColumn = Table == null ? 0 : Table.Columns.Count - 1; + SetSelection(Table.Columns.Count - 1,SelectedRow, keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; default: @@ -603,7 +614,13 @@ namespace Terminal.Gui { return true; } - private void ChangeSelectionByOffset (int offsetX, int offsetY, bool extendExistingSelection) + /// + /// Moves the and to the given col/row in . Optionally starting a box selection (see ) + /// + /// + /// + /// True to create a multi cell selection or adjust an existing one + public void SetSelection (int col, int row, bool extendExistingSelection) { if(!MultiSelect || !extendExistingSelection) MultiSelectedRegions.Clear(); @@ -613,22 +630,32 @@ namespace Terminal.Gui { // If we are extending current selection but there isn't one if(MultiSelectedRegions.Count == 0) { - // Create a new region between the old active cell and the new offset - var rect = CreateTableSelection(SelectedColumn,SelectedRow,SelectedColumn+offsetX,SelectedRow+offsetY); + // Create a new region between the old active cell and the new cell + var rect = CreateTableSelection(SelectedColumn,SelectedRow,col,row); MultiSelectedRegions.Push(rect); } else { - // Extend the current head selection to include the new offset + // Extend the current head selection to include the new cell var head = MultiSelectedRegions.Pop(); - var newRect = CreateTableSelection(head.Origin.X,head.Origin.Y,SelectedColumn + offsetX,SelectedRow + offsetY); + var newRect = CreateTableSelection(head.Origin.X,head.Origin.Y,col,row); MultiSelectedRegions.Push(newRect); } } - SelectedColumn += offsetX; - SelectedRow += offsetY; - + SelectedColumn = col; + SelectedRow = row; + } + + /// + /// Moves the and by the provided offsets. Optionally starting a box selection (see ) + /// + /// Offset in number of columns + /// Offset in number of rows + /// True to create a multi cell selection or adjust an existing one + public void ChangeSelectionByOffset (int offsetX, int offsetY, bool extendExistingSelection) + { + SetSelection(SelectedColumn + offsetX, SelectedRow + offsetY,extendExistingSelection); } @@ -660,17 +687,18 @@ namespace Terminal.Gui { /// public bool IsSelected(int col, int row) { - // Cell is also selected if + // Cell is also selected if in any multi selection region if(MultiSelect && MultiSelectedRegions.Any(r=>r.Rect.Contains(col,row))) return true; + // Cell is also selected if Y axis appears in any region (when FullRowSelect is enabled) + if(FullRowSelect && MultiSelect && MultiSelectedRegions.Any(r=>r.Rect.Bottom> row && r.Rect.Top <= row)) + return true; + return row == SelectedRow && (col == SelectedColumn || FullRowSelect); } - - - /// /// Positions the cursor in the area of the screen in which the start of the active cell is rendered. Calls base implementation if active cell is not visible due to scrolling or table is loaded etc /// @@ -731,14 +759,12 @@ namespace Terminal.Gui { return true; } - if(me.Flags == MouseFlags.Button1Clicked) { + if(me.Flags.HasFlag(MouseFlags.Button1Clicked)) { var hit = ScreenToCell(me.OfX,me.OfY); - if(hit != null) { - - SelectedRow = hit.Value.Y; - SelectedColumn = hit.Value.X; + // TODO : if shift is held down extend selection + SetSelection(hit.Value.X,hit.Value.Y,false ); Update(); } } From 0c2685bcbe1628ee3ba75283569623a251543428 Mon Sep 17 00:00:00 2001 From: tznind Date: Sat, 2 Jan 2021 19:20:00 +0000 Subject: [PATCH 35/64] Added test for box selection --- UnitTests/TableViewTests.cs | 84 +++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs index b702d3334..9a2d0a791 100644 --- a/UnitTests/TableViewTests.cs +++ b/UnitTests/TableViewTests.cs @@ -140,6 +140,90 @@ namespace UnitTests { Assert.Equal(14,surrogate.Sum(c=>Rune.ColumnWidth(c))); Assert.Equal(15,surrogate.Length); } + + [Fact] + public void IsSelected_MultiSelectionOn_Vertical() + { + var tableView = new TableView(){ + Table = BuildTable(25,50), + MultiSelect = true + }; + + // 3 cell vertical selection + tableView.SetSelection(1,1,false); + tableView.SetSelection(1,3,true); + + Assert.False(tableView.IsSelected(0,0)); + Assert.False(tableView.IsSelected(1,0)); + Assert.False(tableView.IsSelected(2,0)); + + Assert.False(tableView.IsSelected(0,1)); + Assert.True(tableView.IsSelected(1,1)); + Assert.False(tableView.IsSelected(2,1)); + + Assert.False(tableView.IsSelected(0,2)); + Assert.True(tableView.IsSelected(1,2)); + Assert.False(tableView.IsSelected(2,2)); + + Assert.False(tableView.IsSelected(0,3)); + Assert.True(tableView.IsSelected(1,3)); + Assert.False(tableView.IsSelected(2,3)); + + Assert.False(tableView.IsSelected(0,4)); + Assert.False(tableView.IsSelected(1,4)); + Assert.False(tableView.IsSelected(2,4)); + } + + + [Fact] + public void IsSelected_MultiSelectionOn_Horizontal() + { + var tableView = new TableView(){ + Table = BuildTable(25,50), + MultiSelect = true + }; + + // 2 cell horizontal selection + tableView.SetSelection(1,0,false); + tableView.SetSelection(2,0,true); + + Assert.False(tableView.IsSelected(0,0)); + Assert.True(tableView.IsSelected(1,0)); + Assert.True(tableView.IsSelected(2,0)); + Assert.False(tableView.IsSelected(3,0)); + + Assert.False(tableView.IsSelected(0,1)); + Assert.False(tableView.IsSelected(1,1)); + Assert.False(tableView.IsSelected(2,1)); + Assert.False(tableView.IsSelected(3,1)); + } + + + + [Fact] + public void IsSelected_MultiSelectionOn_BoxSelection() + { + var tableView = new TableView(){ + Table = BuildTable(25,50), + MultiSelect = true + }; + + // 4 cell horizontal in box 2x2 + tableView.SetSelection(0,0,false); + tableView.SetSelection(1,1,true); + + Assert.True(tableView.IsSelected(0,0)); + Assert.True(tableView.IsSelected(1,0)); + Assert.False(tableView.IsSelected(2,0)); + + Assert.True(tableView.IsSelected(0,1)); + Assert.True(tableView.IsSelected(1,1)); + Assert.False(tableView.IsSelected(2,1)); + + Assert.False(tableView.IsSelected(0,2)); + Assert.False(tableView.IsSelected(1,2)); + Assert.False(tableView.IsSelected(2,2)); + } /// /// Builds a simple table of string columns with the requested number of columns and rows From b2e54ec83dcebbfa78adfa802f6faf7b656dd1a2 Mon Sep 17 00:00:00 2001 From: tznind Date: Sun, 3 Jan 2021 10:28:27 +0000 Subject: [PATCH 36/64] Fixed page up/down offset and added test --- Terminal.Gui/Views/TableView.cs | 23 ++++++++++++++++------- UnitTests/TableViewTests.cs | 33 +++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+), 7 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index c7ed425d1..23bf89b99 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -330,6 +330,15 @@ namespace Terminal.Gui { Driver.AddStr (new string (' ', width)); } + /// + /// Returns the amount of vertical space currently occupied by the header or 0 if it is not visible. + /// + /// + private int GetHeaderHeightIfAny() + { + return ShouldRenderHeaders()? GetHeaderHeight():0; + } + /// /// Returns the amount of vertical space required to display the header /// @@ -589,12 +598,12 @@ namespace Terminal.Gui { break; case Key.PageUp: case Key.PageUp | Key.ShiftMask: - ChangeSelectionByOffset(0,-Frame.Height,keyEvent.Key.HasFlag(Key.ShiftMask)); + ChangeSelectionByOffset(0,-(Bounds.Height - GetHeaderHeightIfAny()),keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.PageDown: case Key.PageDown | Key.ShiftMask: - ChangeSelectionByOffset(0,Frame.Height,keyEvent.Key.HasFlag(Key.ShiftMask)); + ChangeSelectionByOffset(0,Bounds.Height - GetHeaderHeightIfAny(),keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; case Key.Home | Key.CtrlMask: @@ -778,8 +787,8 @@ namespace Terminal.Gui { var hit = ScreenToCell(me.OfX,me.OfY); if(hit != null) { - // TODO : if shift is held down extend selection - SetSelection(hit.Value.X,hit.Value.Y,false ); + + SetSelection(hit.Value.X,hit.Value.Y,me.Flags.HasFlag(MouseFlags.ButtonShift)); Update(); } } @@ -808,7 +817,7 @@ namespace Terminal.Gui { var viewPort = CalculateViewport(Bounds); - var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; + var headerHeight = GetHeaderHeightIfAny(); var col = viewPort.LastOrDefault(c=>c.X <= clientX); @@ -839,7 +848,7 @@ namespace Terminal.Gui { var viewPort = CalculateViewport(Bounds); - var headerHeight = ShouldRenderHeaders()? GetHeaderHeight():0; + var headerHeight = GetHeaderHeightIfAny(); var colHit = viewPort.FirstOrDefault(c=>c.Column.Ordinal == tableColumn); @@ -916,7 +925,7 @@ namespace Terminal.Gui { } var columnsToRender = CalculateViewport (Bounds).ToArray(); - var headerHeight = ShouldRenderHeaders()? GetHeaderHeight() : 0; + var headerHeight = GetHeaderHeightIfAny(); //if we have scrolled too far to the left if (SelectedColumn < columnsToRender.Min (r => r.Column.Ordinal)) { diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs index 9a2d0a791..143397908 100644 --- a/UnitTests/TableViewTests.cs +++ b/UnitTests/TableViewTests.cs @@ -224,6 +224,39 @@ namespace UnitTests { Assert.False(tableView.IsSelected(1,2)); Assert.False(tableView.IsSelected(2,2)); } + + [Fact] + public void PageDown_ExcludesHeaders() + { + + var driver = new FakeDriver (); + Application.Init (driver, new FakeMainLoop (() => FakeConsole.ReadKey (true))); + driver.Init (() => { }); + + + var tableView = new TableView(){ + Table = BuildTable(25,50), + MultiSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + // Header should take up 2 lines + tableView.Style.ShowHorizontalHeaderOverline = false; + tableView.Style.ShowHorizontalHeaderUnderline = true; + tableView.Style.AlwaysShowHeaders = false; + + Assert.Equal(0,tableView.RowOffset); + + tableView.ProcessKey(new KeyEvent(Key.PageDown,new KeyModifiers())); + + // window height is 5 rows 2 are header so page down should give 3 new rows + Assert.Equal(3,tableView.RowOffset); + + // header is no longer visible so page down should give 5 new rows + tableView.ProcessKey(new KeyEvent(Key.PageDown,new KeyModifiers())); + + Assert.Equal(8,tableView.RowOffset); + } /// /// Builds a simple table of string columns with the requested number of columns and rows From d988a3444437d5c4aa9603e45bbfb1c41f7a6406 Mon Sep 17 00:00:00 2001 From: tznind Date: Sun, 3 Jan 2021 21:57:00 +0000 Subject: [PATCH 37/64] Added SelectAll, better selection iteration and validation --- Terminal.Gui/Views/TableView.cs | 111 +++++++++++++++++++- UICatalog/Scenarios/TableEditor.cs | 29 +++++- UnitTests/TableViewTests.cs | 159 +++++++++++++++++++++++++++++ 3 files changed, 294 insertions(+), 5 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 23bf89b99..67f897dc2 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -624,6 +624,10 @@ namespace Terminal.Gui { SetSelection(Table.Columns.Count - 1, Table.Rows.Count - 1, keyEvent.Key.HasFlag(Key.ShiftMask)); Update (); break; + case Key.A | Key.CtrlMask: + SelectAll(); + Update (); + break; case Key.End: case Key.End | Key.ShiftMask: //jump to end of row @@ -682,6 +686,71 @@ namespace Terminal.Gui { SetSelection(SelectedColumn + offsetX, SelectedRow + offsetY,extendExistingSelection); } + /// + /// When is on, creates selection over all cells in the table (replacing any old selection regions) + /// + public void SelectAll() + { + if(Table == null || !MultiSelect || Table.Rows.Count == 0) + return; + + MultiSelectedRegions.Clear(); + + // Create a single region over entire table, set the origin of the selection to the active cell so that a followup spread selection e.g. shift-right behaves properly + MultiSelectedRegions.Push(new TableSelection(new Point(SelectedColumn,SelectedRow), new Rect(0,0,Table.Columns.Count,table.Rows.Count))); + Update(); + } + + /// + /// Returns all cells in any (if is enabled) and the selected cell + /// + /// + public IEnumerable GetAllSelectedCells() + { + if(Table == null || Table.Rows.Count == 0) + yield break; + + EnsureValidSelection(); + + // If there are one or more rectangular selections + if(MultiSelect && MultiSelectedRegions.Any()){ + + // Quiz any cells for whether they are selected. For performance we only need to check those between the top left and lower right vertex of selection regions + var yMin = MultiSelectedRegions.Min(r=>r.Rect.Top); + var yMax = MultiSelectedRegions.Max(r=>r.Rect.Bottom); + + var xMin = FullRowSelect ? 0 : MultiSelectedRegions.Min(r=>r.Rect.Left); + var xMax = FullRowSelect ? Table.Columns.Count : MultiSelectedRegions.Max(r=>r.Rect.Right); + + for(int y = yMin ; y < yMax ; y++) + { + for(int x = xMin ; x < xMax ; x++) + { + if(IsSelected(x,y)){ + yield return new Point(x,y); + } + } + } + } + else{ + + // if there are no region selections then it is just the active cell + + // if we are selecting the full row + if(FullRowSelect) + { + // all cells in active row are selected + for(int x =0;x /// Returns a new rectangle between the two points with positive width/height regardless of relative positioning of the points. pt1 is always considered the point @@ -901,17 +970,51 @@ namespace Terminal.Gui { /// - /// Updates and where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if has not been set. + /// Updates , and where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if has not been set. /// /// Changes will not be immediately visible in the display until you call - public void EnsureValidSelection () + public void EnsureValidSelection() { if(Table == null){ + + // Table doesn't exist, we should probably clear those selections + MultiSelectedRegions.Clear(); return; } SelectedColumn = Math.Max(Math.Min(SelectedColumn,Table.Columns.Count -1),0); SelectedRow = Math.Max(Math.Min(SelectedRow,Table.Rows.Count -1),0); + + var oldRegions = MultiSelectedRegions.ToArray().Reverse(); + + MultiSelectedRegions.Clear(); + + // evaluate + foreach(var region in oldRegions) + { + // ignore regions entirely below current table state + if(region.Rect.Top >= Table.Rows.Count) + continue; + + // ignore regions entirely too far right of table columns + if(region.Rect.Left >= Table.Columns.Count) + continue; + + // ensure region's origin exists + region.Origin = new Point( + Math.Max(Math.Min(region.Origin.X,Table.Columns.Count -1),0), + Math.Max(Math.Min(region.Origin.Y,Table.Rows.Count -1),0)); + + // ensure regions do not go over edge of table bounds + region.Rect = Rect.FromLTRB(region.Rect.Left, + region.Rect.Top, + Math.Max(Math.Min(region.Rect.Right, Table.Columns.Count ),0), + Math.Max(Math.Min(region.Rect.Bottom,Table.Rows.Count),0) + ); + + MultiSelectedRegions.Push(region); + } + } /// @@ -1165,13 +1268,13 @@ namespace Terminal.Gui { /// Corner of the where selection began /// /// - public Point Origin{get;} + public Point Origin{get;set;} /// /// Area selected /// /// - public Rect Rect { get; } + public Rect Rect { get; set;} /// /// Creates a new selected area starting at the origin corner and covering the provided rectangular area diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index a07212030..839a95013 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Data; using Terminal.Gui; +using System.Linq; using System.Globalization; namespace UICatalog.Scenarios { @@ -60,7 +61,6 @@ namespace UICatalog.Scenarios { var statusBar = new StatusBar (new StatusItem [] { - //new StatusItem(Key.Enter, "~ENTER~ ApplyEdits", () => { _hexView.ApplyEdits(); }), new StatusItem(Key.F2, "~F2~ OpenExample", () => OpenExample(true)), new StatusItem(Key.F3, "~F3~ CloseExample", () => CloseExample()), new StatusItem(Key.F4, "~F4~ OpenSimple", () => OpenSimple(true)), @@ -83,6 +83,33 @@ namespace UICatalog.Scenarios { tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; tableView.CellActivated += EditCurrentCell; + tableView.KeyPress += TableViewKeyPress; + } + + private void TableViewKeyPress (View.KeyEventEventArgs e) + { + if(e.KeyEvent.Key == Key.DeleteChar){ + + if(tableView.FullRowSelect) + { + // Delete button deletes all rows when in full row mode + foreach(int toRemove in tableView.GetAllSelectedCells().Select(p=>p.Y).Distinct().OrderByDescending(i=>i)) + tableView.Table.Rows.RemoveAt(toRemove); + } + else{ + + // otherwise set all selected cells to null + foreach(var pt in tableView.GetAllSelectedCells()) + { + tableView.Table.Rows[pt.Y][pt.X] = DBNull.Value; + } + } + + tableView.Update(); + e.Handled = true; + } + + } private void ClearColumnStyles () diff --git a/UnitTests/TableViewTests.cs b/UnitTests/TableViewTests.cs index 143397908..fa39627fd 100644 --- a/UnitTests/TableViewTests.cs +++ b/UnitTests/TableViewTests.cs @@ -257,7 +257,166 @@ namespace UnitTests { Assert.Equal(8,tableView.RowOffset); } + + [Fact] + public void DeleteRow_SelectAll_AdjustsSelectionToPreventOverrun() + { + // create a 4 by 4 table + var tableView = new TableView(){ + Table = BuildTable(4,4), + MultiSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + tableView.SelectAll(); + Assert.Equal(16,tableView.GetAllSelectedCells().Count()); + + // delete one of the columns + tableView.Table.Columns.RemoveAt(2); + + // table should now be 3x4 + Assert.Equal(12,tableView.GetAllSelectedCells().Count()); + + // remove a row + tableView.Table.Rows.RemoveAt(1); + + // table should now be 3x3 + Assert.Equal(9,tableView.GetAllSelectedCells().Count()); + } + + + [Fact] + public void DeleteRow_SelectLastRow_AdjustsSelectionToPreventOverrun() + { + // create a 4 by 4 table + var tableView = new TableView(){ + Table = BuildTable(4,4), + MultiSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + // select the last row + tableView.MultiSelectedRegions.Clear(); + tableView.MultiSelectedRegions.Push(new TableSelection(new Point(0,3), new Rect(0,3,4,1))); + + Assert.Equal(4,tableView.GetAllSelectedCells().Count()); + + // remove a row + tableView.Table.Rows.RemoveAt(0); + + tableView.EnsureValidSelection(); + + // since the selection no longer exists it should be removed + Assert.Empty(tableView.MultiSelectedRegions); + } + + [Theory] + [InlineData(true)] + [InlineData(false)] + public void GetAllSelectedCells_SingleCellSelected_ReturnsOne(bool multiSelect) + { + var tableView = new TableView(){ + Table = BuildTable(3,3), + MultiSelect = multiSelect, + Bounds = new Rect(0,0,10,5) + }; + + tableView.SetSelection(1,1,false); + + Assert.Single(tableView.GetAllSelectedCells()); + Assert.Equal(new Point(1,1),tableView.GetAllSelectedCells().Single()); + } + + + [Fact] + public void GetAllSelectedCells_SquareSelection_ReturnsFour() + { + var tableView = new TableView(){ + Table = BuildTable(3,3), + MultiSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + // move cursor to 1,1 + tableView.SetSelection(1,1,false); + // spread selection across to 2,2 (e.g. shift+right then shift+down) + tableView.SetSelection(2,2,true); + + var selected = tableView.GetAllSelectedCells().ToArray(); + + Assert.Equal(4,selected.Length); + Assert.Equal(new Point(1,1),selected[0]); + Assert.Equal(new Point(2,1),selected[1]); + Assert.Equal(new Point(1,2),selected[2]); + Assert.Equal(new Point(2,2),selected[3]); + } + + [Fact] + public void GetAllSelectedCells_SquareSelection_FullRowSelect() + { + var tableView = new TableView(){ + Table = BuildTable(3,3), + MultiSelect = true, + FullRowSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + // move cursor to 1,1 + tableView.SetSelection(1,1,false); + // spread selection across to 2,2 (e.g. shift+right then shift+down) + tableView.SetSelection(2,2,true); + + var selected = tableView.GetAllSelectedCells().ToArray(); + + Assert.Equal(6,selected.Length); + Assert.Equal(new Point(0,1),selected[0]); + Assert.Equal(new Point(1,1),selected[1]); + Assert.Equal(new Point(2,1),selected[2]); + Assert.Equal(new Point(0,2),selected[3]); + Assert.Equal(new Point(1,2),selected[4]); + Assert.Equal(new Point(2,2),selected[5]); + } + + + [Fact] + public void GetAllSelectedCells_TwoIsolatedSelections_ReturnsSix() + { + var tableView = new TableView(){ + Table = BuildTable(20,20), + MultiSelect = true, + Bounds = new Rect(0,0,10,5) + }; + + /* + Sets up disconnected selections like: + + 00000000000 + 01100000000 + 01100000000 + 00000001100 + 00000000000 + */ + + tableView.MultiSelectedRegions.Clear(); + tableView.MultiSelectedRegions.Push(new TableSelection(new Point(1,1),new Rect(1,1,2,2))); + tableView.MultiSelectedRegions.Push(new TableSelection(new Point(7,3),new Rect(7,3,2,1))); + + tableView.SelectedColumn = 8; + tableView.SelectedRow = 3; + + var selected = tableView.GetAllSelectedCells().ToArray(); + + Assert.Equal(6,selected.Length); + + Assert.Equal(new Point(1,1),selected[0]); + Assert.Equal(new Point(2,1),selected[1]); + Assert.Equal(new Point(1,2),selected[2]); + Assert.Equal(new Point(2,2),selected[3]); + Assert.Equal(new Point(7,3),selected[4]); + Assert.Equal(new Point(8,3),selected[5]); + } + /// /// Builds a simple table of string columns with the requested number of columns and rows /// From 1549d775c548a4990119edd62c1b843fb0d4479e Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 08:29:12 +0000 Subject: [PATCH 38/64] Added vertical scrollbars --- UICatalog/Scenarios/TableEditor.cs | 32 ++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/UICatalog/Scenarios/TableEditor.cs b/UICatalog/Scenarios/TableEditor.cs index 839a95013..9e32e9ca9 100644 --- a/UICatalog/Scenarios/TableEditor.cs +++ b/UICatalog/Scenarios/TableEditor.cs @@ -84,6 +84,38 @@ namespace UICatalog.Scenarios { tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; tableView.CellActivated += EditCurrentCell; tableView.KeyPress += TableViewKeyPress; + + SetupScrollBar(); + } + + private void SetupScrollBar () + { + var _scrollBar = new ScrollBarView (tableView, true); + + _scrollBar.ChangedPosition += () => { + tableView.RowOffset = _scrollBar.Position; + if (tableView.RowOffset != _scrollBar.Position) { + _scrollBar.Position = tableView.RowOffset; + } + tableView.SetNeedsDisplay (); + }; + /* + _scrollBar.OtherScrollBarView.ChangedPosition += () => { + _listView.LeftItem = _scrollBar.OtherScrollBarView.Position; + if (_listView.LeftItem != _scrollBar.OtherScrollBarView.Position) { + _scrollBar.OtherScrollBarView.Position = _listView.LeftItem; + } + _listView.SetNeedsDisplay (); + };*/ + + tableView.DrawContent += (e) => { + _scrollBar.Size = tableView.Table?.Rows?.Count ??0; + _scrollBar.Position = tableView.RowOffset; + // _scrollBar.OtherScrollBarView.Size = _listView.Maxlength - 1; + // _scrollBar.OtherScrollBarView.Position = _listView.LeftItem; + _scrollBar.Refresh (); + }; + } private void TableViewKeyPress (View.KeyEventEventArgs e) From 5bff06405a05352f6b11ebb1d29508eb20cbc04e Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 08:58:34 +0000 Subject: [PATCH 39/64] Fixed checking OfX instead of X on mouse event handler --- Terminal.Gui/Views/TableView.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 67f897dc2..6d30a9f1a 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -854,7 +854,7 @@ namespace Terminal.Gui { if(me.Flags.HasFlag(MouseFlags.Button1Clicked)) { - var hit = ScreenToCell(me.OfX,me.OfY); + var hit = ScreenToCell(me.X,me.Y); if(hit != null) { SetSelection(hit.Value.X,hit.Value.Y,me.Flags.HasFlag(MouseFlags.ButtonShift)); @@ -864,7 +864,7 @@ namespace Terminal.Gui { // Double clicking a cell activates if(me.Flags == MouseFlags.Button1DoubleClicked) { - var hit = ScreenToCell(me.OfX,me.OfY); + var hit = ScreenToCell(me.X,me.Y); if(hit!= null) { OnCellActivated(new CellActivatedEventArgs(Table,hit.Value.X,hit.Value.Y)); } From cbcd55771079669a605bd7c204ffea29fcd350f7 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 12:18:47 +0000 Subject: [PATCH 40/64] Added a CSV editor Scenario and an article introducing table view and how to use it --- UICatalog/Scenarios/CsvEditor.cs | 428 +++++++++++++++++++++++++++++++ docfx/articles/tableview.md | 57 ++++ 2 files changed, 485 insertions(+) create mode 100644 UICatalog/Scenarios/CsvEditor.cs create mode 100644 docfx/articles/tableview.md diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs new file mode 100644 index 000000000..3df6f687c --- /dev/null +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -0,0 +1,428 @@ +ο»Ώusing System; +using System.Collections.Generic; +using System.Data; +using Terminal.Gui; +using System.Linq; +using System.Globalization; +using System.IO; +using System.Text; + +namespace UICatalog.Scenarios { + + [ScenarioMetadata (Name: "Csv Editor", Description: "Open and edit simple CSV files")] + [ScenarioCategory ("Controls")] + [ScenarioCategory ("Dialogs")] + [ScenarioCategory ("Text")] + [ScenarioCategory ("Dialogs")] + [ScenarioCategory ("TopLevel")] + public class CsvEditor : Scenario + { + TableView tableView; + private string currentFile; + + public override void Setup () + { + Win.Title = this.GetName(); + Win.Y = 1; // menu + Win.Height = Dim.Fill (1); // status bar + Top.LayoutSubviews (); + + this.tableView = new TableView () { + X = 0, + Y = 0, + Width = Dim.Fill (), + Height = Dim.Fill (1), + }; + + var menu = new MenuBar (new MenuBarItem [] { + new MenuBarItem ("_File", new MenuItem [] { + new MenuItem ("_Open CSV", "", () => Open()), + new MenuItem ("_Save", "", () => Save()), + new MenuItem ("_Quit", "", () => Quit()), + }), + new MenuBarItem ("_Edit", new MenuItem [] { + new MenuItem ("_Rename Column", "", () => RenameColumn()), + }), + new MenuBarItem ("_Insert", new MenuItem [] { + new MenuItem ("_New Column", "", () => AddColumn()), + new MenuItem ("_New Row", "", () => AddRow()), + }) + }); + Top.Add (menu); + + var statusBar = new StatusBar (new StatusItem [] { + new StatusItem(Key.CtrlMask | Key.O, "~^O~ Open", () => Open()), + new StatusItem(Key.CtrlMask | Key.S, "~^S~ Save", () => Save()), + new StatusItem(Key.CtrlMask | Key.Q, "~^Q~ Quit", () => Quit()), + }); + Top.Add (statusBar); + + Win.Add (tableView); + + var selectedCellLabel = new Label(){ + X = 0, + Y = Pos.Bottom(tableView), + Text = "0,0", + Width = Dim.Fill(), + TextAlignment = TextAlignment.Right + + }; + + Win.Add(selectedCellLabel); + + tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; + tableView.CellActivated += EditCurrentCell; + tableView.KeyPress += TableViewKeyPress; + + SetupScrollBar(); + } + + private void RenameColumn () + { + if(NoTableLoaded()) { + return; + } + + var currentCol = tableView.Table.Columns[tableView.SelectedColumn]; + + if(GetText("Rename Column","Name:",currentCol.ColumnName,out string newName)) { + currentCol.ColumnName = newName; + tableView.Update(); + } + + + } + + private bool NoTableLoaded () + { + if(tableView.Table == null) { + MessageBox.ErrorQuery("No Table Loaded","No table has currently be opened","Ok"); + return true; + } + + return false; + } + + private void AddRow () + { + if(NoTableLoaded()) { + return; + } + + tableView.Table.Rows.Add(); + tableView.Update(); + } + + private void AddColumn () + { + if(NoTableLoaded()) { + return; + } + + if(GetText("Enter column name","Name:","",out string colName)) { + tableView.Table.Columns.Add(new DataColumn(colName)); + tableView.Update(); + } + + } + + private void Save() + { + if(tableView.Table == null || string.IsNullOrWhiteSpace(currentFile)) { + MessageBox.ErrorQuery("No file loaded","No file is currently loaded","Ok"); + return; + } + + var sb = new StringBuilder(); + + sb.AppendLine(string.Join(",",tableView.Table.Columns.Cast().Select(c=>c.ColumnName))); + + foreach(DataRow row in tableView.Table.Rows) { + sb.AppendLine(string.Join(",",row.ItemArray)); + } + + File.WriteAllText(currentFile,sb.ToString()); + } + + private void Open() + { + var ofd = new FileDialog("Select File","Open","File","Select a CSV file to open (does not support newlines, escaping etc)"); + ofd.AllowedFileTypes = new string[]{".csv" }; + + Application.Run(ofd); + + if(!string.IsNullOrWhiteSpace(ofd.FilePath?.ToString())) + { + Open(ofd.FilePath.ToString()); + } + } + + private void Open(string filename) + { + + int lineNumber = 0; + currentFile = null; + + try { + var dt = new DataTable(); + var lines = File.ReadAllLines(filename); + + foreach(var h in lines[0].Split(',')){ + dt.Columns.Add(h); + } + + + foreach(var line in lines.Skip(1)) { + lineNumber++; + dt.Rows.Add(line.Split(',')); + } + + tableView.Table = dt; + + // Only set the current filename if we succesfully loaded the entire file + currentFile = filename; + } + catch(Exception ex) { + MessageBox.ErrorQuery("Open Failed",$"Error on line {lineNumber}{Environment.NewLine}{ex.Message}","Ok"); + } + } + private void SetupScrollBar () + { + var _scrollBar = new ScrollBarView (tableView, true); + + _scrollBar.ChangedPosition += () => { + tableView.RowOffset = _scrollBar.Position; + if (tableView.RowOffset != _scrollBar.Position) { + _scrollBar.Position = tableView.RowOffset; + } + tableView.SetNeedsDisplay (); + }; + /* + _scrollBar.OtherScrollBarView.ChangedPosition += () => { + _listView.LeftItem = _scrollBar.OtherScrollBarView.Position; + if (_listView.LeftItem != _scrollBar.OtherScrollBarView.Position) { + _scrollBar.OtherScrollBarView.Position = _listView.LeftItem; + } + _listView.SetNeedsDisplay (); + };*/ + + tableView.DrawContent += (e) => { + _scrollBar.Size = tableView.Table?.Rows?.Count ??0; + _scrollBar.Position = tableView.RowOffset; + // _scrollBar.OtherScrollBarView.Size = _listView.Maxlength - 1; + // _scrollBar.OtherScrollBarView.Position = _listView.LeftItem; + _scrollBar.Refresh (); + }; + + } + + private void TableViewKeyPress (View.KeyEventEventArgs e) + { + if(e.KeyEvent.Key == Key.DeleteChar){ + + if(tableView.FullRowSelect) + { + // Delete button deletes all rows when in full row mode + foreach(int toRemove in tableView.GetAllSelectedCells().Select(p=>p.Y).Distinct().OrderByDescending(i=>i)) + tableView.Table.Rows.RemoveAt(toRemove); + } + else{ + + // otherwise set all selected cells to null + foreach(var pt in tableView.GetAllSelectedCells()) + { + tableView.Table.Rows[pt.Y][pt.X] = DBNull.Value; + } + } + + tableView.Update(); + e.Handled = true; + } + } + + private void ClearColumnStyles () + { + tableView.Style.ColumnStyles.Clear(); + tableView.Update(); + } + + + private void CloseExample () + { + tableView.Table = null; + } + + private void Quit () + { + Application.RequestStop (); + } + + private void OpenExample (bool big) + { + tableView.Table = BuildDemoDataTable(big ? 30 : 5, big ? 1000 : 5); + SetDemoTableStyles(); + } + + private void SetDemoTableStyles () + { + var alignMid = new ColumnStyle() { + Alignment = TextAlignment.Centered + }; + var alignRight = new ColumnStyle() { + Alignment = TextAlignment.Right + }; + + var dateFormatStyle = new ColumnStyle() { + Alignment = TextAlignment.Right, + RepresentationGetter = (v)=> v is DateTime d ? d.ToString("yyyy-MM-dd"):v.ToString() + }; + + var negativeRight = new ColumnStyle() { + + Format = "0.##", + MinWidth = 10, + AlignmentGetter = (v)=>v is double d ? + // align negative values right + d < 0 ? TextAlignment.Right : + // align positive values left + TextAlignment.Left: + // not a double + TextAlignment.Left + }; + + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DateCol"],dateFormatStyle); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DoubleCol"],negativeRight); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["NullsCol"],alignMid); + tableView.Style.ColumnStyles.Add(tableView.Table.Columns["IntCol"],alignRight); + + tableView.Update(); + } + + private void OpenSimple (bool big) + { + tableView.Table = BuildSimpleDataTable(big ? 30 : 5, big ? 1000 : 5); + } + private bool GetText(string title, string label, string initialText, out string enteredText) + { + bool okPressed = false; + + var ok = new Button ("Ok", is_default: true); + ok.Clicked += () => { okPressed = true; Application.RequestStop (); }; + var cancel = new Button ("Cancel"); + cancel.Clicked += () => { Application.RequestStop (); }; + var d = new Dialog (title, 60, 20, ok, cancel); + + var lbl = new Label() { + X = 0, + Y = 1, + Text = label + }; + + var tf = new TextField() + { + Text = initialText, + X = 0, + Y = 2, + Width = Dim.Fill() + }; + + d.Add (lbl,tf); + tf.SetFocus(); + + Application.Run (d); + + enteredText = okPressed? tf.Text.ToString() : null; + return okPressed; + } + private void EditCurrentCell (CellActivatedEventArgs e) + { + if(e.Table == null) + return; + + var oldValue = e.Table.Rows[e.Row][e.Col].ToString(); + + if(GetText("Enter new value",e.Table.Columns[e.Col].ColumnName,oldValue, out string newText)) { + try { + e.Table.Rows[e.Row][e.Col] = string.IsNullOrWhiteSpace(newText) ? DBNull.Value : (object)newText; + } + catch(Exception ex) { + MessageBox.ErrorQuery(60,20,"Failed to set text", ex.Message,"Ok"); + } + + tableView.Update(); + } + } + + /// + /// Generates a new demo with the given number of (min 5) and + /// + /// + /// + /// + public static DataTable BuildDemoDataTable(int cols, int rows) + { + var dt = new DataTable(); + + int explicitCols = 6; + dt.Columns.Add(new DataColumn("StrCol",typeof(string))); + dt.Columns.Add(new DataColumn("DateCol",typeof(DateTime))); + dt.Columns.Add(new DataColumn("IntCol",typeof(int))); + dt.Columns.Add(new DataColumn("DoubleCol",typeof(double))); + dt.Columns.Add(new DataColumn("NullsCol",typeof(string))); + dt.Columns.Add(new DataColumn("Unicode",typeof(string))); + + for(int i=0;i< cols -explicitCols; i++) { + dt.Columns.Add("Column" + (i+explicitCols)); + } + + var r = new Random(100); + + for(int i=0;i< rows;i++) { + + List row = new List(){ + "Some long text that is super cool", + new DateTime(2000+i,12,25), + r.Next(i), + (r.NextDouble()*i)-0.5 /*add some negatives to demo styles*/, + DBNull.Value, + "Les Mise" + Char.ConvertFromUtf32(Int32.Parse("0301", NumberStyles.HexNumber)) + "rables" + }; + + for(int j=0;j< cols -explicitCols; j++) { + row.Add("SomeValue" + r.Next(100)); + } + + dt.Rows.Add(row.ToArray()); + } + + return dt; + } + + /// + /// Builds a simple table in which cell values contents are the index of the cell. This helps testing that scrolling etc is working correctly and not skipping out any rows/columns when paging + /// + /// + /// + /// + public static DataTable BuildSimpleDataTable(int cols, int rows) + { + var dt = new DataTable(); + + for(int c = 0; c < cols; c++) { + dt.Columns.Add("Col"+c); + } + + for(int r = 0; r < rows; r++) { + var newRow = dt.NewRow(); + + for(int c = 0; c < cols; c++) { + newRow[c] = $"R{r}C{c}"; + } + + dt.Rows.Add(newRow); + } + + return dt; + } + } +} diff --git a/docfx/articles/tableview.md b/docfx/articles/tableview.md new file mode 100644 index 000000000..75955f7bd --- /dev/null +++ b/docfx/articles/tableview.md @@ -0,0 +1,57 @@ +# Table View + +This control supports viewing and editing tabular data. It provides a view of a [System.DataTable](https://docs.microsoft.com/en-us/dotnet/api/system.data.datatable?view=net-5.0). + +System.DataTable is a core class of .net standard and can be created very easily + +## Csv Example + +You can create a DataTable from a CSV file by creating a new instance and adding columns and rows as you read them. For a robust solution however you might want to look into a CSV parser library that deals with escaping, multi line rows etc. + +```csharp +var dt = new DataTable(); +var lines = File.ReadAllLines(filename); + +foreach(var h in lines[0].Split(',')){ + dt.Columns.Add(h); +} + + +foreach(var line in lines.Skip(1)) { + lineNumber++; + dt.Rows.Add(line.Split(',')); +} +``` + +## Database Example + +All Ado.net database providers (Oracle, MySql, SqlServer etc) support reading data as DataTables for example: + +```csharp +var dt = new DataTable(); + +using(var con = new SqlConnection("Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;")) +{ + con.Open(); + var cmd = new SqlCommand("select * from myTable;",con); + var adapter = new SqlDataAdapter(cmd); + + adapter.Fill(dt); +} +``` + +## Displaying the table + +Once you have set up your data table set it in the view: + +```csharp +tableView = new TableView () { + X = 0, + Y = 0, + Width = 50, + Height = 10, +}; + +tableView.Table = yourDataTable; +``` + From 20920313909b88dea77fb79444627adaf229e4d0 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 14:07:46 +0000 Subject: [PATCH 41/64] Added alignment and format functions to CsvEditor --- Terminal.Gui/Views/TableView.cs | 13 ++ UICatalog/Scenarios/CsvEditor.cs | 225 ++++++++++++++----------------- 2 files changed, 114 insertions(+), 124 deletions(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index 6d30a9f1a..d3d390209 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -118,6 +118,19 @@ namespace Terminal.Gui { { return ColumnStyles.TryGetValue(col,out ColumnStyle result) ? result : null; } + + /// + /// Returns an existing for the given or creates a new one with default options + /// + /// + /// + public ColumnStyle GetOrCreateColumnStyle (DataColumn col) + { + if(!ColumnStyles.ContainsKey(col)) + ColumnStyles.Add(col,new ColumnStyle()); + + return ColumnStyles[col]; + } } /// diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs index 3df6f687c..6972c759f 100644 --- a/UICatalog/Scenarios/CsvEditor.cs +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Globalization; using System.IO; using System.Text; +using NStack; namespace UICatalog.Scenarios { @@ -19,6 +20,10 @@ namespace UICatalog.Scenarios { { TableView tableView; private string currentFile; + private MenuItem miLeft; + private MenuItem miRight; + private MenuItem miCentered; + private Label selectedCellLabel; public override void Setup () { @@ -41,11 +46,18 @@ namespace UICatalog.Scenarios { new MenuItem ("_Quit", "", () => Quit()), }), new MenuBarItem ("_Edit", new MenuItem [] { - new MenuItem ("_Rename Column", "", () => RenameColumn()), - }), - new MenuBarItem ("_Insert", new MenuItem [] { new MenuItem ("_New Column", "", () => AddColumn()), new MenuItem ("_New Row", "", () => AddRow()), + new MenuItem ("_Rename Column", "", () => RenameColumn()), + new MenuItem ("_Delete Column", "", () => DeleteColum()), + }), + new MenuBarItem ("_View", new MenuItem [] { + miLeft = new MenuItem ("_Align Left", "", () => Align(TextAlignment.Left)), + miRight = new MenuItem ("_Align Right", "", () => Align(TextAlignment.Right)), + miCentered = new MenuItem ("_Align Centered", "", () => Align(TextAlignment.Centered)), + + // Format requires hard typed data table, when we read a CSV everything is untyped (string) so this only works for new columns in this demo + miCentered = new MenuItem ("_Set Format Pattern", "", () => SetFormat()), }) }); Top.Add (menu); @@ -59,7 +71,7 @@ namespace UICatalog.Scenarios { Win.Add (tableView); - var selectedCellLabel = new Label(){ + selectedCellLabel = new Label(){ X = 0, Y = Pos.Bottom(tableView), Text = "0,0", @@ -70,13 +82,29 @@ namespace UICatalog.Scenarios { Win.Add(selectedCellLabel); - tableView.SelectedCellChanged += (e)=>{selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}";}; + tableView.SelectedCellChanged += OnSelectedCellChanged; tableView.CellActivated += EditCurrentCell; tableView.KeyPress += TableViewKeyPress; SetupScrollBar(); } + private void OnSelectedCellChanged (SelectedCellChangedEventArgs e) + { + selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}"; + + if(tableView.Table == null) + return; + + var col = tableView.Table.Columns[tableView.SelectedColumn]; + + var style = tableView.Style.GetColumnStyleIfAny(col); + + miLeft.Checked = style?.Alignment == TextAlignment.Left; + miRight.Checked = style?.Alignment == TextAlignment.Right; + miCentered.Checked = style?.Alignment == TextAlignment.Centered; + } + private void RenameColumn () { if(NoTableLoaded()) { @@ -89,8 +117,55 @@ namespace UICatalog.Scenarios { currentCol.ColumnName = newName; tableView.Update(); } + } + private void DeleteColum() + { + if(NoTableLoaded()) { + return; + } + tableView.Table.Columns.RemoveAt(tableView.SelectedColumn); + tableView.Update(); + } + + private void Align (TextAlignment newAlignment) + { + if (NoTableLoaded ()) { + return; + } + + var col = tableView.Table.Columns[tableView.SelectedColumn]; + + var style = tableView.Style.GetOrCreateColumnStyle(col); + style.Alignment = newAlignment; + + miLeft.Checked = style.Alignment == TextAlignment.Left; + miRight.Checked = style.Alignment == TextAlignment.Right; + miCentered.Checked = style.Alignment == TextAlignment.Centered; + + tableView.Update(); + } + + private void SetFormat() + { + if (NoTableLoaded ()) { + return; + } + + var col = tableView.Table.Columns[tableView.SelectedColumn]; + + if(col.DataType == typeof(string)) { + MessageBox.ErrorQuery("Cannot Format Column","String columns cannot be Formatted, try adding a new column to the table with a date/numerical Type","Ok"); + return; + } + + var style = tableView.Style.GetOrCreateColumnStyle(col); + + if(GetText("Format","Pattern:",style.Format ?? "",out string newPattern)) { + style.Format = newPattern; + tableView.Update(); + } } private bool NoTableLoaded () @@ -120,9 +195,29 @@ namespace UICatalog.Scenarios { } if(GetText("Enter column name","Name:","",out string colName)) { - tableView.Table.Columns.Add(new DataColumn(colName)); + + var col = new DataColumn(colName); + + int result = MessageBox.Query(40,15,"Column Type","Pick a data type for the column",new ustring[]{"Date","Integer","Double","Text","Cancel"}); + + if(result <= -1 || result >= 4) + return; + switch(result) { + case 0: col.DataType = typeof(DateTime); + break; + case 1: col.DataType = typeof(int); + break; + case 2: col.DataType = typeof(double); + break; + case 3: col.DataType = typeof(string); + break; + } + + tableView.Table.Columns.Add(col); tableView.Update(); } + + } @@ -256,52 +351,6 @@ namespace UICatalog.Scenarios { { Application.RequestStop (); } - - private void OpenExample (bool big) - { - tableView.Table = BuildDemoDataTable(big ? 30 : 5, big ? 1000 : 5); - SetDemoTableStyles(); - } - - private void SetDemoTableStyles () - { - var alignMid = new ColumnStyle() { - Alignment = TextAlignment.Centered - }; - var alignRight = new ColumnStyle() { - Alignment = TextAlignment.Right - }; - - var dateFormatStyle = new ColumnStyle() { - Alignment = TextAlignment.Right, - RepresentationGetter = (v)=> v is DateTime d ? d.ToString("yyyy-MM-dd"):v.ToString() - }; - - var negativeRight = new ColumnStyle() { - - Format = "0.##", - MinWidth = 10, - AlignmentGetter = (v)=>v is double d ? - // align negative values right - d < 0 ? TextAlignment.Right : - // align positive values left - TextAlignment.Left: - // not a double - TextAlignment.Left - }; - - tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DateCol"],dateFormatStyle); - tableView.Style.ColumnStyles.Add(tableView.Table.Columns["DoubleCol"],negativeRight); - tableView.Style.ColumnStyles.Add(tableView.Table.Columns["NullsCol"],alignMid); - tableView.Style.ColumnStyles.Add(tableView.Table.Columns["IntCol"],alignRight); - - tableView.Update(); - } - - private void OpenSimple (bool big) - { - tableView.Table = BuildSimpleDataTable(big ? 30 : 5, big ? 1000 : 5); - } private bool GetText(string title, string label, string initialText, out string enteredText) { bool okPressed = false; @@ -352,77 +401,5 @@ namespace UICatalog.Scenarios { tableView.Update(); } } - - /// - /// Generates a new demo with the given number of (min 5) and - /// - /// - /// - /// - public static DataTable BuildDemoDataTable(int cols, int rows) - { - var dt = new DataTable(); - - int explicitCols = 6; - dt.Columns.Add(new DataColumn("StrCol",typeof(string))); - dt.Columns.Add(new DataColumn("DateCol",typeof(DateTime))); - dt.Columns.Add(new DataColumn("IntCol",typeof(int))); - dt.Columns.Add(new DataColumn("DoubleCol",typeof(double))); - dt.Columns.Add(new DataColumn("NullsCol",typeof(string))); - dt.Columns.Add(new DataColumn("Unicode",typeof(string))); - - for(int i=0;i< cols -explicitCols; i++) { - dt.Columns.Add("Column" + (i+explicitCols)); - } - - var r = new Random(100); - - for(int i=0;i< rows;i++) { - - List row = new List(){ - "Some long text that is super cool", - new DateTime(2000+i,12,25), - r.Next(i), - (r.NextDouble()*i)-0.5 /*add some negatives to demo styles*/, - DBNull.Value, - "Les Mise" + Char.ConvertFromUtf32(Int32.Parse("0301", NumberStyles.HexNumber)) + "rables" - }; - - for(int j=0;j< cols -explicitCols; j++) { - row.Add("SomeValue" + r.Next(100)); - } - - dt.Rows.Add(row.ToArray()); - } - - return dt; - } - - /// - /// Builds a simple table in which cell values contents are the index of the cell. This helps testing that scrolling etc is working correctly and not skipping out any rows/columns when paging - /// - /// - /// - /// - public static DataTable BuildSimpleDataTable(int cols, int rows) - { - var dt = new DataTable(); - - for(int c = 0; c < cols; c++) { - dt.Columns.Add("Col"+c); - } - - for(int r = 0; r < rows; r++) { - var newRow = dt.NewRow(); - - for(int c = 0; c < cols; c++) { - newRow[c] = $"R{r}C{c}"; - } - - dt.Rows.Add(newRow); - } - - return dt; - } } } From 656e9b5159fe766ebc8943c2a5ae22127d84f15b Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 14:40:57 +0000 Subject: [PATCH 42/64] Fixed Scenario for deleting last column in table --- UICatalog/Scenarios/CsvEditor.cs | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs index 6972c759f..e595265e2 100644 --- a/UICatalog/Scenarios/CsvEditor.cs +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -93,7 +93,7 @@ namespace UICatalog.Scenarios { { selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}"; - if(tableView.Table == null) + if(tableView.Table == null || tableView.SelectedColumn == -1) return; var col = tableView.Table.Columns[tableView.SelectedColumn]; @@ -125,8 +125,20 @@ namespace UICatalog.Scenarios { return; } - tableView.Table.Columns.RemoveAt(tableView.SelectedColumn); - tableView.Update(); + if(tableView.SelectedColumn == -1) { + + MessageBox.ErrorQuery("No Column","No column selected", "Ok"); + return; + } + + + try { + tableView.Table.Columns.RemoveAt(tableView.SelectedColumn); + tableView.Update(); + + } catch (Exception ex) { + MessageBox.ErrorQuery("Could not remove column",ex.Message, "Ok"); + } } private void Align (TextAlignment newAlignment) From 63c20164ab6fff2f03442b8d3ace22f972190b96 Mon Sep 17 00:00:00 2001 From: Thomas Nind <31306100+tznind@users.noreply.github.com> Date: Wed, 27 Jan 2021 16:09:59 +0000 Subject: [PATCH 43/64] Update tableview.md Removed reference to lineNumber in example code --- docfx/articles/tableview.md | 1 - 1 file changed, 1 deletion(-) diff --git a/docfx/articles/tableview.md b/docfx/articles/tableview.md index 75955f7bd..5bb34fa4b 100644 --- a/docfx/articles/tableview.md +++ b/docfx/articles/tableview.md @@ -18,7 +18,6 @@ foreach(var h in lines[0].Split(',')){ foreach(var line in lines.Skip(1)) { - lineNumber++; dt.Rows.Add(line.Split(',')); } ``` From 22c30fbb554865e68ad9e1b7ff56da26e4ab92b6 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 18:59:51 +0000 Subject: [PATCH 44/64] Added MoveColumn command to Scenario --- UICatalog/Scenarios/CsvEditor.cs | 35 ++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs index e595265e2..a5d84c414 100644 --- a/UICatalog/Scenarios/CsvEditor.cs +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -50,6 +50,7 @@ namespace UICatalog.Scenarios { new MenuItem ("_New Row", "", () => AddRow()), new MenuItem ("_Rename Column", "", () => RenameColumn()), new MenuItem ("_Delete Column", "", () => DeleteColum()), + new MenuItem ("_Move Column", "", () => MoveColumn()), }), new MenuBarItem ("_View", new MenuItem [] { miLeft = new MenuItem ("_Align Left", "", () => Align(TextAlignment.Left)), @@ -89,6 +90,7 @@ namespace UICatalog.Scenarios { SetupScrollBar(); } + private void OnSelectedCellChanged (SelectedCellChangedEventArgs e) { selectedCellLabel.Text = $"{tableView.SelectedRow},{tableView.SelectedColumn}"; @@ -141,6 +143,39 @@ namespace UICatalog.Scenarios { } } + private void MoveColumn () + { + if(NoTableLoaded()) { + return; + } + + if(tableView.SelectedColumn == -1) { + + MessageBox.ErrorQuery("No Column","No column selected", "Ok"); + return; + } + + try{ + + var currentCol = tableView.Table.Columns[tableView.SelectedColumn]; + + if(GetText("Move Column","New Index:",currentCol.Ordinal.ToString(),out string newOrdinal)) { + + var newIdx = Math.Min(Math.Max(0,int.Parse(newOrdinal)),tableView.Table.Columns.Count-1); + + currentCol.SetOrdinal(newIdx); + + tableView.SetSelection(newIdx,tableView.SelectedRow,false); + tableView.EnsureSelectedCellIsVisible(); + tableView.SetNeedsDisplay(); + } + + }catch(Exception ex) + { + MessageBox.ErrorQuery("Error moving column",ex.Message, "Ok"); + } + } + private void Align (TextAlignment newAlignment) { if (NoTableLoaded ()) { From 0817fa3d6c68607b15625f62ad267b0df540caa0 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 19:22:55 +0000 Subject: [PATCH 45/64] Added Move Column and Sort --- UICatalog/Scenarios/CsvEditor.cs | 66 ++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs index a5d84c414..63eac225e 100644 --- a/UICatalog/Scenarios/CsvEditor.cs +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -51,6 +51,9 @@ namespace UICatalog.Scenarios { new MenuItem ("_Rename Column", "", () => RenameColumn()), new MenuItem ("_Delete Column", "", () => DeleteColum()), new MenuItem ("_Move Column", "", () => MoveColumn()), + new MenuItem ("_Move Row", "", () => MoveRow()), + new MenuItem ("_Sort Asc", "", () => Sort(true)), + new MenuItem ("_Sort Desc", "", () => Sort(false)), }), new MenuBarItem ("_View", new MenuItem [] { miLeft = new MenuItem ("_Align Left", "", () => Align(TextAlignment.Left)), @@ -175,6 +178,69 @@ namespace UICatalog.Scenarios { MessageBox.ErrorQuery("Error moving column",ex.Message, "Ok"); } } + private void Sort (bool asc) + { + + if(NoTableLoaded()) { + return; + } + + if(tableView.SelectedColumn == -1) { + + MessageBox.ErrorQuery("No Column","No column selected", "Ok"); + return; + } + + var colName = tableView.Table.Columns[tableView.SelectedColumn].ColumnName; + + tableView.Table.DefaultView.Sort = colName + (asc ? " asc" : " desc"); + tableView.Table = tableView.Table.DefaultView.ToTable(); + } + + private void MoveRow () + { + if(NoTableLoaded()) { + return; + } + + if(tableView.SelectedRow == -1) { + + MessageBox.ErrorQuery("No Rows","No row selected", "Ok"); + return; + } + + try{ + + int oldIdx = tableView.SelectedRow; + + var currentRow = tableView.Table.Rows[oldIdx]; + + if(GetText("Move Row","New Row:",oldIdx.ToString(),out string newOrdinal)) { + + var newIdx = Math.Min(Math.Max(0,int.Parse(newOrdinal)),tableView.Table.Rows.Count-1); + + + if(newIdx == oldIdx) + return; + + var arrayItems = currentRow.ItemArray; + tableView.Table.Rows.Remove(currentRow); + + var newRow = tableView.Table.NewRow(); + newRow.ItemArray = arrayItems; + + tableView.Table.Rows.InsertAt(newRow,newIdx); + + tableView.SetSelection(tableView.SelectedColumn,newIdx,false); + tableView.EnsureSelectedCellIsVisible(); + tableView.SetNeedsDisplay(); + } + + }catch(Exception ex) + { + MessageBox.ErrorQuery("Error moving column",ex.Message, "Ok"); + } + } private void Align (TextAlignment newAlignment) { From c5c477596c3082d4638d3155cf2592d7a2bd36e0 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 27 Jan 2021 19:43:41 +0000 Subject: [PATCH 46/64] Made New Row/Col location adjacent to current selected cell --- UICatalog/Scenarios/CsvEditor.cs | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/UICatalog/Scenarios/CsvEditor.cs b/UICatalog/Scenarios/CsvEditor.cs index 63eac225e..56f9d3e7c 100644 --- a/UICatalog/Scenarios/CsvEditor.cs +++ b/UICatalog/Scenarios/CsvEditor.cs @@ -225,7 +225,8 @@ namespace UICatalog.Scenarios { var arrayItems = currentRow.ItemArray; tableView.Table.Rows.Remove(currentRow); - + + // Removing and Inserting the same DataRow seems to result in it loosing its values so we have to create a new instance var newRow = tableView.Table.NewRow(); newRow.ItemArray = arrayItems; @@ -297,7 +298,11 @@ namespace UICatalog.Scenarios { return; } - tableView.Table.Rows.Add(); + var newRow = tableView.Table.NewRow(); + + var newRowIdx = Math.Min(Math.Max(0,tableView.SelectedRow+1),tableView.Table.Rows.Count); + + tableView.Table.Rows.InsertAt(newRow,newRowIdx); tableView.Update(); } @@ -311,6 +316,8 @@ namespace UICatalog.Scenarios { var col = new DataColumn(colName); + var newColIdx = Math.Min(Math.Max(0,tableView.SelectedColumn + 1),tableView.Table.Columns.Count); + int result = MessageBox.Query(40,15,"Column Type","Pick a data type for the column",new ustring[]{"Date","Integer","Double","Text","Cancel"}); if(result <= -1 || result >= 4) @@ -327,6 +334,7 @@ namespace UICatalog.Scenarios { } tableView.Table.Columns.Add(col); + col.SetOrdinal(newColIdx); tableView.Update(); } From 9b617a07f0f3ad7cd07bdfeef43fd599f9fc7202 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Wed, 27 Jan 2021 21:51:07 +0100 Subject: [PATCH 47/64] Adjusting cursor size ... working under WindowsDriver --- .../CursesDriver/CursesDriver.cs | 48 ++++++++ .../ConsoleDrivers/CursesDriver/binding.cs | 4 + .../ConsoleDrivers/FakeDriver/FakeDriver.cs | 18 +++ Terminal.Gui/ConsoleDrivers/NetDriver.cs | 65 +++++++++++ Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 106 +++++++++++++++++- Terminal.Gui/Core/Application.cs | 9 +- Terminal.Gui/Core/ConsoleDriver.cs | 40 +++++++ Terminal.Gui/Views/Button.cs | 8 ++ Terminal.Gui/Views/Checkbox.cs | 8 ++ Terminal.Gui/Views/ComboBox.cs | 2 + Terminal.Gui/Views/DateField.cs | 8 ++ Terminal.Gui/Views/FrameView.cs | 8 ++ Terminal.Gui/Views/HexView.cs | 8 ++ Terminal.Gui/Views/Label.cs | 8 ++ Terminal.Gui/Views/ListView.cs | 2 + Terminal.Gui/Views/Menu.cs | 17 ++- Terminal.Gui/Views/ProgressBar.cs | 8 ++ Terminal.Gui/Views/RadioGroup.cs | 8 ++ Terminal.Gui/Views/ScrollBarView.cs | 8 ++ Terminal.Gui/Views/ScrollView.cs | 8 ++ Terminal.Gui/Views/StatusBar.cs | 8 ++ Terminal.Gui/Views/TextField.cs | 8 ++ Terminal.Gui/Views/TextView.cs | 9 ++ Terminal.Gui/Windows/Dialog.cs | 8 ++ Terminal.Gui/Windows/FileDialog.cs | 8 ++ UICatalog/Properties/launchSettings.json | 3 +- 26 files changed, 430 insertions(+), 5 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index cf4daa4ea..3dea9833a 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -22,6 +22,9 @@ namespace Terminal.Gui { public override int Top => 0; public override bool HeightAsBuffer { get; set; } + CursorVisibility? initialCursorVisibility = null; + CursorVisibility? currentCursorVisibility = null; + // Current row, and current col, tracked by Move/AddRune only int ccol, crow; bool needMove; @@ -689,6 +692,18 @@ namespace Terminal.Gui { } catch (Exception e) { Console.WriteLine ("Curses failed to initialize, the exception is: " + e); } + + switch (Curses.curs_set (1)) { + case 0: initialCursorVisibility = CursorVisibility.Invisible; break; + case 1: initialCursorVisibility = CursorVisibility.Normal; break; + case 2: initialCursorVisibility = CursorVisibility.Block; break; + default: initialCursorVisibility = null; break; + } + + if (initialCursorVisibility != null) { + currentCursorVisibility = CursorVisibility.Normal; + } + Curses.raw (); Curses.noecho (); @@ -868,6 +883,39 @@ namespace Terminal.Gui { { return currentAttribute; } + + public override bool GetCursorVisibility (out CursorVisibility visibility) + { + visibility = CursorVisibility.Normal; + + if (!currentCursorVisibility.HasValue) { + return false; + } + + visibility = currentCursorVisibility.Value; + + return true; + } + + public override bool SetCursorVisibility (CursorVisibility visibility) + { + if (initialCursorVisibility.HasValue == false) { + return false; + } + + switch (currentCursorVisibility = visibility) { + case CursorVisibility.Invisible: Curses.curs_set (0); break; + case CursorVisibility.Normal: Curses.curs_set (1); break; + case CursorVisibility.Block: Curses.curs_set (2); break; + } + + return true; + } + + public override bool EnsureCursorVisibility () + { + return false; + } } internal static class Platform { diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/binding.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/binding.cs index 7fb87438d..857357908 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/binding.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/binding.cs @@ -250,6 +250,7 @@ namespace Unix.Terminal { //static public int wredrawwin (IntPtr win, int beg_line, int num_lines) => methods.wredrawwin (win, beg_line, num_lines); static public int wnoutrefresh (IntPtr win) => methods.wnoutrefresh (win); static public int move (int line, int col) => methods.move (line, col); + static public int curs_set (int visibility) => methods.curs_set (visibility); //static public int addch (int ch) => methods.addch (ch); static public int addwstr (string s) => methods.addwstr (s); static public int wmove (IntPtr win, int line, int col) => methods.wmove (win, line, col); @@ -310,6 +311,7 @@ namespace Unix.Terminal { //public delegate int wredrawwin (IntPtr win, int beg_line, int num_lines); public delegate int wnoutrefresh (IntPtr win); public delegate int move (int line, int col); + public delegate int curs_set (int visibility); public delegate int addch (int ch); public delegate int addwstr([MarshalAs(UnmanagedType.LPWStr)]string s); public delegate int wmove (IntPtr win, int line, int col); @@ -369,6 +371,7 @@ namespace Unix.Terminal { //public readonly Delegates.wredrawwin wredrawwin; public readonly Delegates.wnoutrefresh wnoutrefresh; public readonly Delegates.move move; + public readonly Delegates.curs_set curs_set; public readonly Delegates.addch addch; public readonly Delegates.addwstr addwstr; public readonly Delegates.wmove wmove; @@ -430,6 +433,7 @@ namespace Unix.Terminal { //wredrawwin = lib.GetNativeMethodDelegate ("wredrawwin"); wnoutrefresh = lib.GetNativeMethodDelegate ("wnoutrefresh"); move = lib.GetNativeMethodDelegate ("move"); + curs_set = lib.GetNativeMethodDelegate ("curs_set"); addch = lib.GetNativeMethodDelegate("addch"); addwstr = lib.GetNativeMethodDelegate ("addwstr"); wmove = lib.GetNativeMethodDelegate ("wmove"); diff --git a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs index d79f5007b..d03a7ff7d 100644 --- a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs @@ -417,6 +417,24 @@ namespace Terminal.Gui { public override void UncookMouse () { } + + public override bool GetCursorVisibility (out CursorVisibility visibility) + { + visibility = CursorVisibility.Normal; + + return true; + } + + public override bool SetCursorVisibility (CursorVisibility visibility) + { + return true; + } + + public override bool EnsureCursorVisibility () + { + return false; + } + #endregion #pragma warning restore CS1591 // Missing XML comment for publicly visible type or member } diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index 2dd23dbdd..7f519464e 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -18,6 +18,10 @@ namespace Terminal.Gui { IntPtr InputHandle, OutputHandle, ErrorHandle; uint originalInputConsoleMode, originalOutputConsoleMode, originalErrorConsoleMode; + CursorVisibility? initialCursorVisibility = null; + CursorVisibility? currentCursorVisibility = null; + CursorVisibility? pendingCursorVisibility = null; + public NetWinVTConsole () { InputHandle = GetStdHandle (STD_INPUT_HANDLE); @@ -57,8 +61,54 @@ namespace Terminal.Gui { } } + public bool GetCursorVisibility (out CursorVisibility visibility) + { + //if (initialCursorVisibility.HasValue) { + // visibility = currentCursorVisibility.Value; + // return true; + //} + + visibility = CursorVisibility.Normal; + + return false; + } + + public bool SetCursorVisibility (CursorVisibility visibility) + { + //if (initialCursorVisibility.HasValue == false) { + // pendingCursorVisibility = visibility; + // return false; + //} + + //if (currentCursorVisibility.HasValue == false || currentCursorVisibility.Value != visibility) { + // Console.Out.Write (visibility != CursorVisibility.Invisible ? "\x1b[?25h" : "\x1b[?25l"); + // Console.Out.Flush (); + // Console.CursorVisible = visibility != CursorVisibility.Invisible; + // currentCursorVisibility = visibility; + // return true; + //} + + return false; + } + + public bool EnsureCursorVisibility () + { + //if (initialCursorVisibility.HasValue == false && pendingCursorVisibility.HasValue == true) { + // initialCursorVisibility = CursorVisibility.Normal; + // SetCursorVisibility (pendingCursorVisibility.Value); + // pendingCursorVisibility = null; + // return true; + //} + + return false; + } + public void Cleanup () { + if (initialCursorVisibility.HasValue) { + SetCursorVisibility (initialCursorVisibility.Value); + } + if (!SetConsoleMode (InputHandle, originalInputConsoleMode)) { throw new ApplicationException ($"Failed to restore input console mode, error code: {GetLastError ()}."); } @@ -1712,6 +1762,21 @@ namespace Terminal.Gui { public override void UncookMouse () { } + + public override bool GetCursorVisibility (out CursorVisibility visibility) + { + return NetWinConsole.GetCursorVisibility (out visibility); + } + + public override bool SetCursorVisibility (CursorVisibility visibility) + { + return NetWinConsole.SetCursorVisibility (visibility); + } + + public override bool EnsureCursorVisibility () + { + return NetWinConsole.EnsureCursorVisibility (); + } #endregion // diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 7ae30230b..6300f6372 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -41,6 +41,9 @@ namespace Terminal.Gui { internal IntPtr InputHandle, OutputHandle; IntPtr ScreenBuffer; uint originalConsoleMode; + CursorVisibility? initialCursorVisibility = null; + CursorVisibility? currentCursorVisibility = null; + CursorVisibility? pendingCursorVisibility = null; public WindowsConsole () { @@ -82,6 +85,10 @@ namespace Terminal.Gui { } } + if (GetCursorVisibility (out CursorVisibility visibility)) { + initialCursorVisibility = visibility; + } + if (!SetConsoleActiveScreenBuffer (ScreenBuffer)) { var err = Marshal.GetLastWin32Error (); if (HeightAsBuffer) { @@ -100,8 +107,76 @@ namespace Terminal.Gui { return SetConsoleCursorPosition (ScreenBuffer, position); } + public void SetInitialCursorVisibility () + { + if (initialCursorVisibility.HasValue == false && GetCursorVisibility (out CursorVisibility visibility)) { + initialCursorVisibility = visibility; + } + } + + public bool GetCursorVisibility (out CursorVisibility visibility) + { + if (!GetConsoleCursorInfo (ScreenBuffer, out ConsoleCursorInfo info)) { + + var err = Marshal.GetLastWin32Error (); + + if (err != 0) { + throw new System.ComponentModel.Win32Exception (err); + } + + visibility = Gui.CursorVisibility.Normal; + + return false; + } + + if (!info.bVisible) visibility = CursorVisibility.Invisible; + else if (info.dwSize > 50) visibility = CursorVisibility.Block; + else visibility = CursorVisibility.Normal; + + return true; + } + + public bool EnsureCursorVisibility () + { + if (initialCursorVisibility.HasValue && pendingCursorVisibility.HasValue && SetCursorVisibility (pendingCursorVisibility.Value)) { + pendingCursorVisibility = null; + + return true; + } + + return false; + } + + public bool SetCursorVisibility (CursorVisibility visibility) + { + if (initialCursorVisibility.HasValue == false) { + pendingCursorVisibility = visibility; + + return false; + } + + if (currentCursorVisibility.HasValue == false || currentCursorVisibility.Value != visibility) { + ConsoleCursorInfo info = new ConsoleCursorInfo { + dwSize = visibility == CursorVisibility.Block ? 100u : 25u, + bVisible = visibility != CursorVisibility.Invisible + }; + + if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) { + return false; + } + + currentCursorVisibility = visibility; + } + + return true; + } + public void Cleanup () { + if (initialCursorVisibility.HasValue) { + SetCursorVisibility (initialCursorVisibility.Value); + } + ConsoleMode = originalConsoleMode; //ContinueListeningForConsoleEvents = false; if (!SetConsoleActiveScreenBuffer (OutputHandle)) { @@ -414,10 +489,21 @@ namespace Terminal.Gui { [DllImport ("kernel32.dll")] static extern bool SetConsoleCursorPosition (IntPtr hConsoleOutput, Coord dwCursorPosition); + [StructLayout (LayoutKind.Sequential)] + public struct ConsoleCursorInfo { + public uint dwSize; + public bool bVisible; + } + + [DllImport ("kernel32.dll", SetLastError = true)] + static extern bool SetConsoleCursorInfo (IntPtr hConsoleOutput, [In] ref ConsoleCursorInfo lpConsoleCursorInfo); + + [DllImport ("kernel32.dll", SetLastError = true)] + static extern bool GetConsoleCursorInfo (IntPtr hConsoleOutput, out ConsoleCursorInfo lpConsoleCursorInfo); + [DllImport ("kernel32.dll")] static extern bool GetConsoleMode (IntPtr hConsoleHandle, out uint lpMode); - [DllImport ("kernel32.dll")] static extern bool SetConsoleMode (IntPtr hConsoleHandle, uint dwMode); @@ -1299,6 +1385,8 @@ namespace Terminal.Gui { public override void Refresh () { UpdateScreen (); + + winConsole.SetInitialCursorVisibility (); #if false var bufferCoords = new WindowsConsole.Coord (){ X = (short)Clip.Width, @@ -1359,6 +1447,21 @@ namespace Terminal.Gui { return currentAttribute; } + public override bool GetCursorVisibility (out CursorVisibility visibility) + { + return winConsole.GetCursorVisibility (out visibility); + } + + public override bool SetCursorVisibility (CursorVisibility visibility) + { + return winConsole.SetCursorVisibility (visibility); + } + + public override bool EnsureCursorVisibility () + { + return winConsole.EnsureCursorVisibility (); + } + #region Unused public override void SetColors (ConsoleColor foreground, ConsoleColor background) { @@ -1387,6 +1490,7 @@ namespace Terminal.Gui { public override void CookMouse () { } + #endregion } diff --git a/Terminal.Gui/Core/Application.cs b/Terminal.Gui/Core/Application.cs index ea2299cd5..dcf230065 100644 --- a/Terminal.Gui/Core/Application.cs +++ b/Terminal.Gui/Core/Application.cs @@ -503,6 +503,7 @@ namespace Terminal.Gui { toplevel.PositionCursor (); Driver.Refresh (); + return rs; } @@ -617,6 +618,10 @@ namespace Terminal.Gui { MainLoop.MainIteration (); Iteration?.Invoke (); + + if (Driver.EnsureCursorVisibility ()) { + state.Toplevel.SetNeedsDisplay (); + } } else if (!wait) { return; } @@ -704,9 +709,9 @@ namespace Terminal.Gui { resume = false; var runToken = Begin (view); RunLoop (runToken); + End (runToken); - } - catch (Exception error) + } catch (Exception error) { if (errorHandler == null) { diff --git a/Terminal.Gui/Core/ConsoleDriver.cs b/Terminal.Gui/Core/ConsoleDriver.cs index e1e53a37f..baf77ec0d 100644 --- a/Terminal.Gui/Core/ConsoleDriver.cs +++ b/Terminal.Gui/Core/ConsoleDriver.cs @@ -476,6 +476,26 @@ namespace Terminal.Gui { public static Dictionary ColorSchemes { get; } } + /// + /// Cursors Visibility that are displayed + /// + public enum CursorVisibility : Int32 { + /// + /// Cursor caret is hidden + /// + Invisible = 0, + + /// + /// Cursor caret is normally shown + /// + Normal = 1, + + /// + /// Cursor caret is displayed a block + /// + Block = 2 + } + ///// ///// Special characters that can be drawn with ///// @@ -628,6 +648,26 @@ namespace Terminal.Gui { /// public abstract void UpdateCursor (); + /// + /// Retreive the cursor caret visibility + /// + /// The current + /// true upon success + public abstract bool GetCursorVisibility (out CursorVisibility visibility); + + /// + /// Change the cursor caret visibility + /// + /// The wished + /// true upon success + public abstract bool SetCursorVisibility (CursorVisibility visibility); + + /// + /// Ensure the cursor visibility + /// + /// true upon success + public abstract bool EnsureCursorVisibility (); + /// /// Ends the execution of the console driver. /// diff --git a/Terminal.Gui/Views/Button.cs b/Terminal.Gui/Views/Button.cs index 5b22615fd..7d71e778f 100644 --- a/Terminal.Gui/Views/Button.cs +++ b/Terminal.Gui/Views/Button.cs @@ -248,5 +248,13 @@ namespace Terminal.Gui { } base.PositionCursor (); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/Checkbox.cs b/Terminal.Gui/Views/Checkbox.cs index 8d6b8a9a0..6ea644761 100644 --- a/Terminal.Gui/Views/Checkbox.cs +++ b/Terminal.Gui/Views/Checkbox.cs @@ -159,5 +159,13 @@ namespace Terminal.Gui { return true; } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/ComboBox.cs b/Terminal.Gui/Views/ComboBox.cs index b5da7cf96..c52db8f1e 100644 --- a/Terminal.Gui/Views/ComboBox.cs +++ b/Terminal.Gui/Views/ComboBox.cs @@ -217,6 +217,8 @@ namespace Terminal.Gui { /// public override bool OnEnter (View view) { + Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + if (!search.HasFocus && !listview.HasFocus) { search.SetFocus (); } diff --git a/Terminal.Gui/Views/DateField.cs b/Terminal.Gui/Views/DateField.cs index 14178e572..f803bae3c 100644 --- a/Terminal.Gui/Views/DateField.cs +++ b/Terminal.Gui/Views/DateField.cs @@ -377,6 +377,14 @@ namespace Terminal.Gui { { DateChanged?.Invoke (args); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } /// diff --git a/Terminal.Gui/Views/FrameView.cs b/Terminal.Gui/Views/FrameView.cs index 7ff5d2cf3..3c12c91b3 100644 --- a/Terminal.Gui/Views/FrameView.cs +++ b/Terminal.Gui/Views/FrameView.cs @@ -191,5 +191,13 @@ namespace Terminal.Gui { base.TextAlignment = contentView.TextAlignment = value; } } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index d499afd5f..0be120285 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -395,5 +395,13 @@ namespace Terminal.Gui { } edits = new SortedDictionary (); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/Label.cs b/Terminal.Gui/Views/Label.cs index 20ae41609..39863fccb 100644 --- a/Terminal.Gui/Views/Label.cs +++ b/Terminal.Gui/Views/Label.cs @@ -96,5 +96,13 @@ namespace Terminal.Gui { } return false; } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/ListView.cs b/Terminal.Gui/Views/ListView.cs index de6a56aea..6ebe0247f 100644 --- a/Terminal.Gui/Views/ListView.cs +++ b/Terminal.Gui/Views/ListView.cs @@ -657,6 +657,8 @@ namespace Terminal.Gui { /// public override bool OnEnter (View view) { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + if (lastSelectedItem == -1) { EnsuresVisibilitySelectedItem (); OnSelectedChanged (); diff --git a/Terminal.Gui/Views/Menu.cs b/Terminal.Gui/Views/Menu.cs index e3047fd32..01d22b18b 100644 --- a/Terminal.Gui/Views/Menu.cs +++ b/Terminal.Gui/Views/Menu.cs @@ -749,6 +749,14 @@ namespace Terminal.Gui { return pos; } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } @@ -1621,6 +1629,13 @@ namespace Terminal.Gui { return true; } - } + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } + } } diff --git a/Terminal.Gui/Views/ProgressBar.cs b/Terminal.Gui/Views/ProgressBar.cs index 18a04c5dd..65cda41f1 100644 --- a/Terminal.Gui/Views/ProgressBar.cs +++ b/Terminal.Gui/Views/ProgressBar.cs @@ -102,5 +102,13 @@ namespace Terminal.Gui { Driver.AddRune (' '); } } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/RadioGroup.cs b/Terminal.Gui/Views/RadioGroup.cs index 40e2b417a..a9c6cb05a 100644 --- a/Terminal.Gui/Views/RadioGroup.cs +++ b/Terminal.Gui/Views/RadioGroup.cs @@ -355,6 +355,14 @@ namespace Terminal.Gui { } return true; } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } /// diff --git a/Terminal.Gui/Views/ScrollBarView.cs b/Terminal.Gui/Views/ScrollBarView.cs index 6f8e499ec..145e2f212 100644 --- a/Terminal.Gui/Views/ScrollBarView.cs +++ b/Terminal.Gui/Views/ScrollBarView.cs @@ -658,5 +658,13 @@ namespace Terminal.Gui { (KeepContentAlwaysInViewport ? Host.Bounds.Height + (showBothScrollIndicator ? -2 : -1) : 0) : (KeepContentAlwaysInViewport ? Host.Bounds.Width + (showBothScrollIndicator ? -2 : -1) : 0); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/ScrollView.cs b/Terminal.Gui/Views/ScrollView.cs index f6d5e7242..553b24ea5 100644 --- a/Terminal.Gui/Views/ScrollView.cs +++ b/Terminal.Gui/Views/ScrollView.cs @@ -522,5 +522,13 @@ namespace Terminal.Gui { } base.Dispose (disposing); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Views/StatusBar.cs b/Terminal.Gui/Views/StatusBar.cs index 670e34b34..1358e5a48 100644 --- a/Terminal.Gui/Views/StatusBar.cs +++ b/Terminal.Gui/Views/StatusBar.cs @@ -215,5 +215,13 @@ namespace Terminal.Gui { disposedValue = true; } } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } \ No newline at end of file diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index e0f85c27d..1fd3097e6 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -866,6 +866,14 @@ namespace Terminal.Gui { TextChanging?.Invoke (ev); return ev; } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + + return base.OnEnter (view); + } } /// diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index d3867486e..049853172 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -598,6 +598,15 @@ namespace Terminal.Gui { } } + /// + public override bool OnEnter (View view) + { + //TODO: Improve it by handling read only mode of the text field + Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + + return base.OnEnter (view); + } + // Returns an encoded region start..end (top 32 bits are the row, low32 the column) void GetEncodedRegionBounds (out long start, out long end) { diff --git a/Terminal.Gui/Windows/Dialog.cs b/Terminal.Gui/Windows/Dialog.cs index 4542f2664..414aed9c1 100644 --- a/Terminal.Gui/Windows/Dialog.cs +++ b/Terminal.Gui/Windows/Dialog.cs @@ -139,5 +139,13 @@ namespace Terminal.Gui { } return base.ProcessKey (kb); } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } } diff --git a/Terminal.Gui/Windows/FileDialog.cs b/Terminal.Gui/Windows/FileDialog.cs index b6981fbbe..76fddc397 100644 --- a/Terminal.Gui/Windows/FileDialog.cs +++ b/Terminal.Gui/Windows/FileDialog.cs @@ -465,6 +465,14 @@ namespace Terminal.Gui { } } } + + /// + public override bool OnEnter (View view) + { + Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + + return base.OnEnter (view); + } } /// diff --git a/UICatalog/Properties/launchSettings.json b/UICatalog/Properties/launchSettings.json index 68c82f53f..fd3866b95 100644 --- a/UICatalog/Properties/launchSettings.json +++ b/UICatalog/Properties/launchSettings.json @@ -1,7 +1,8 @@ { "profiles": { "UICatalog": { - "commandName": "Project" + "commandName": "Project", + "commandLineArgs": "-usc" } } } \ No newline at end of file From ff512f5846133b233c0492d4b900ef0d08a983f9 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Thu, 28 Jan 2021 14:17:01 +0100 Subject: [PATCH 48/64] Adjustment under ubuntu & ubuntu xTerm --- .../CursesDriver/CursesDriver.cs | 34 +++++++------ .../ConsoleDrivers/FakeDriver/FakeDriver.cs | 2 +- Terminal.Gui/ConsoleDrivers/NetDriver.cs | 35 +------------ Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 12 ++--- Terminal.Gui/Core/ConsoleDriver.cs | 49 ++++++++++++++++--- Terminal.Gui/Views/ComboBox.cs | 2 - Terminal.Gui/Views/HexView.cs | 20 ++++++-- Terminal.Gui/Views/TextField.cs | 21 +++++++- Terminal.Gui/Views/TextView.cs | 21 +++++++- Terminal.Gui/Windows/Dialog.cs | 8 --- UICatalog/Scenarios/Editor.cs | 18 +++++++ 11 files changed, 144 insertions(+), 78 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index 3dea9833a..a5bd63427 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -85,6 +85,9 @@ namespace Terminal.Gui { if (reportableMouseEvents.HasFlag (Curses.Event.ReportMousePosition)) { StopReportingMouseMoves (); } + + SetCursorVisibility (CursorVisibility.Default); + Curses.endwin (); // Clear and reset entire screen. Console.Out.Write ("\x1b[2J"); @@ -693,15 +696,14 @@ namespace Terminal.Gui { Console.WriteLine ("Curses failed to initialize, the exception is: " + e); } - switch (Curses.curs_set (1)) { - case 0: initialCursorVisibility = CursorVisibility.Invisible; break; - case 1: initialCursorVisibility = CursorVisibility.Normal; break; - case 2: initialCursorVisibility = CursorVisibility.Block; break; - default: initialCursorVisibility = null; break; - } - - if (initialCursorVisibility != null) { - currentCursorVisibility = CursorVisibility.Normal; + // + // We are setting Invisible as default so we could ignore XTerm DECSUSR setting + // + switch (Curses.curs_set (0)) { + case 0: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Invisible; break; + case 1: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Underline; Curses.curs_set (1); break; + case 2: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Box; Curses.curs_set (2); break; + default: currentCursorVisibility = initialCursorVisibility = null; break; } Curses.raw (); @@ -886,7 +888,7 @@ namespace Terminal.Gui { public override bool GetCursorVisibility (out CursorVisibility visibility) { - visibility = CursorVisibility.Normal; + visibility = CursorVisibility.Invisible; if (!currentCursorVisibility.HasValue) { return false; @@ -903,12 +905,16 @@ namespace Terminal.Gui { return false; } - switch (currentCursorVisibility = visibility) { - case CursorVisibility.Invisible: Curses.curs_set (0); break; - case CursorVisibility.Normal: Curses.curs_set (1); break; - case CursorVisibility.Block: Curses.curs_set (2); break; + Curses.curs_set (((int) visibility >> 16) & 0x000000FF); + + if (visibility != CursorVisibility.Invisible) + { + Console.Out.Write ("\x1b[{0} q", ((int) visibility >> 24) & 0xFF); + Console.Out.Flush (); } + currentCursorVisibility = visibility; + return true; } diff --git a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs index d03a7ff7d..45f6afa64 100644 --- a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs @@ -420,7 +420,7 @@ namespace Terminal.Gui { public override bool GetCursorVisibility (out CursorVisibility visibility) { - visibility = CursorVisibility.Normal; + visibility = CursorVisibility.Default; return true; } diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index 7f519464e..f76226fd1 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -18,10 +18,6 @@ namespace Terminal.Gui { IntPtr InputHandle, OutputHandle, ErrorHandle; uint originalInputConsoleMode, originalOutputConsoleMode, originalErrorConsoleMode; - CursorVisibility? initialCursorVisibility = null; - CursorVisibility? currentCursorVisibility = null; - CursorVisibility? pendingCursorVisibility = null; - public NetWinVTConsole () { InputHandle = GetStdHandle (STD_INPUT_HANDLE); @@ -63,52 +59,23 @@ namespace Terminal.Gui { public bool GetCursorVisibility (out CursorVisibility visibility) { - //if (initialCursorVisibility.HasValue) { - // visibility = currentCursorVisibility.Value; - // return true; - //} - - visibility = CursorVisibility.Normal; + visibility = CursorVisibility.Default; return false; } public bool SetCursorVisibility (CursorVisibility visibility) { - //if (initialCursorVisibility.HasValue == false) { - // pendingCursorVisibility = visibility; - // return false; - //} - - //if (currentCursorVisibility.HasValue == false || currentCursorVisibility.Value != visibility) { - // Console.Out.Write (visibility != CursorVisibility.Invisible ? "\x1b[?25h" : "\x1b[?25l"); - // Console.Out.Flush (); - // Console.CursorVisible = visibility != CursorVisibility.Invisible; - // currentCursorVisibility = visibility; - // return true; - //} - return false; } public bool EnsureCursorVisibility () { - //if (initialCursorVisibility.HasValue == false && pendingCursorVisibility.HasValue == true) { - // initialCursorVisibility = CursorVisibility.Normal; - // SetCursorVisibility (pendingCursorVisibility.Value); - // pendingCursorVisibility = null; - // return true; - //} - return false; } public void Cleanup () { - if (initialCursorVisibility.HasValue) { - SetCursorVisibility (initialCursorVisibility.Value); - } - if (!SetConsoleMode (InputHandle, originalInputConsoleMode)) { throw new ApplicationException ($"Failed to restore input console mode, error code: {GetLastError ()}."); } diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 6300f6372..8727fd2a8 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -124,14 +124,14 @@ namespace Terminal.Gui { throw new System.ComponentModel.Win32Exception (err); } - visibility = Gui.CursorVisibility.Normal; + visibility = Gui.CursorVisibility.Default; return false; } - if (!info.bVisible) visibility = CursorVisibility.Invisible; - else if (info.dwSize > 50) visibility = CursorVisibility.Block; - else visibility = CursorVisibility.Normal; + if (!info.bVisible) visibility = CursorVisibility.Invisible; + else if (info.dwSize > 50) visibility = CursorVisibility.Box; + else visibility = CursorVisibility.Underline; return true; } @@ -157,8 +157,8 @@ namespace Terminal.Gui { if (currentCursorVisibility.HasValue == false || currentCursorVisibility.Value != visibility) { ConsoleCursorInfo info = new ConsoleCursorInfo { - dwSize = visibility == CursorVisibility.Block ? 100u : 25u, - bVisible = visibility != CursorVisibility.Invisible + dwSize = (uint) visibility & 0x00FF, + bVisible = ((uint) visibility & 0xFF00) != 0 }; if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) { diff --git a/Terminal.Gui/Core/ConsoleDriver.cs b/Terminal.Gui/Core/ConsoleDriver.cs index baf77ec0d..ee1911ccb 100644 --- a/Terminal.Gui/Core/ConsoleDriver.cs +++ b/Terminal.Gui/Core/ConsoleDriver.cs @@ -479,21 +479,58 @@ namespace Terminal.Gui { /// /// Cursors Visibility that are displayed /// - public enum CursorVisibility : Int32 { + // + // Hexa value are set as 0xAABBCCDD where : + // + // AA stand for the TERMINFO DECSUSR parameter value to be used under Linux & MacOS + // BB stand for the NCurses curs_set parameter value to be used under Linux & MacOS + // CC stand for the CONSOLE_CURSOR_INFO.bVisible parameter value to be used under Windows + // DD stand for the CONSOLE_CURSOR_INFO.dwSize parameter value to be used under Windows + // + public enum CursorVisibility { + /// + /// Cursor caret has default + /// + Default = 0x00010119, + /// /// Cursor caret is hidden /// - Invisible = 0, + Invisible = 0x03000019, /// - /// Cursor caret is normally shown + /// Cursor caret is normally shown as an _ /// - Normal = 1, + /// Under Windows, this is equivalent to + Underline = 0x04010019, /// - /// Cursor caret is displayed a block + /// Cursor caret is normally shown as an blinking _ /// - Block = 2 + UnderlineBlinking = 0x03010019, + + /// + /// Cursor caret is displayed a bar | + /// + /// Works under Xterm-like terminal otherwise this is equivalent to + Vertical = 0x06010019, + + /// + /// Cursor caret is displayed a blinking bar | + /// + /// Works under Xterm-like terminal otherwise this is equivalent to + VerticalBlinking = 0x05010019, + + /// + /// Cursor caret is displayed a block β–‰ + /// + /// Works under Xterm-like terminal otherwise this is equivalent to + Box = 0x02020064, + + /// + /// Cursor caret is displayed a block β–‰ + /// + BoxBlinking = 0x01020064, } ///// diff --git a/Terminal.Gui/Views/ComboBox.cs b/Terminal.Gui/Views/ComboBox.cs index c52db8f1e..b5da7cf96 100644 --- a/Terminal.Gui/Views/ComboBox.cs +++ b/Terminal.Gui/Views/ComboBox.cs @@ -217,8 +217,6 @@ namespace Terminal.Gui { /// public override bool OnEnter (View view) { - Application.Driver.SetCursorVisibility (CursorVisibility.Normal); - if (!search.HasFocus && !listview.HasFocus) { search.SetFocus (); } diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index 0be120285..096c31ddc 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -396,12 +396,22 @@ namespace Terminal.Gui { edits = new SortedDictionary (); } - /// - public override bool OnEnter (View view) - { - Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; - return base.OnEnter (view); + /// + /// Get / Set the wished cursor when the field is focused + /// + public CursorVisibility WishedCursorVisibility + { + get => wishedCursorVisibility; + set { + if (wishedCursorVisibility != value && HasFocus) + { + Application.Driver.SetCursorVisibility (value); + } + + wishedCursorVisibility = value; + } } } } diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index 1fd3097e6..849a8121a 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -867,10 +867,29 @@ namespace Terminal.Gui { return ev; } + + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; + + /// + /// Get / Set the wished cursor when the field is focused + /// + public CursorVisibility WishedCursorVisibility + { + get => wishedCursorVisibility; + set { + if (wishedCursorVisibility != value && HasFocus) + { + Application.Driver.SetCursorVisibility (value); + } + + wishedCursorVisibility = value; + } + } + /// public override bool OnEnter (View view) { - Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + Application.Driver.SetCursorVisibility (WishedCursorVisibility); return base.OnEnter (view); } diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index 049853172..bfc13d735 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -480,6 +480,7 @@ namespace Terminal.Gui { /// public int Lines => model.Count; + /// /// Loads the contents of the file into the . /// @@ -598,11 +599,29 @@ namespace Terminal.Gui { } } + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; + + /// + /// Get / Set the wished cursor when the field is focused + /// + public CursorVisibility WishedCursorVisibility + { + get => wishedCursorVisibility; + set { + if (wishedCursorVisibility != value && HasFocus) + { + Application.Driver.SetCursorVisibility (value); + } + + wishedCursorVisibility = value; + } + } + /// public override bool OnEnter (View view) { //TODO: Improve it by handling read only mode of the text field - Application.Driver.SetCursorVisibility (CursorVisibility.Normal); + Application.Driver.SetCursorVisibility (WishedCursorVisibility); return base.OnEnter (view); } diff --git a/Terminal.Gui/Windows/Dialog.cs b/Terminal.Gui/Windows/Dialog.cs index 414aed9c1..4542f2664 100644 --- a/Terminal.Gui/Windows/Dialog.cs +++ b/Terminal.Gui/Windows/Dialog.cs @@ -139,13 +139,5 @@ namespace Terminal.Gui { } return base.ProcessKey (kb); } - - /// - public override bool OnEnter (View view) - { - Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); - - return base.OnEnter (view); - } } } diff --git a/UICatalog/Scenarios/Editor.cs b/UICatalog/Scenarios/Editor.cs index 041ed15ca..e1308af68 100644 --- a/UICatalog/Scenarios/Editor.cs +++ b/UICatalog/Scenarios/Editor.cs @@ -36,6 +36,19 @@ namespace UICatalog { new MenuItem ("C_ut", "", () => Cut()), new MenuItem ("_Paste", "", () => Paste()) }), + new MenuBarItem ("_Cursor", new MenuItem [] { + new MenuItem ("_Invisible", "", () => SetCursor(CursorVisibility.Invisible)), + new MenuItem ("_Box", "", () => SetCursor(CursorVisibility.Box)), + new MenuItem ("_Underline", "", () => SetCursor(CursorVisibility.Underline)), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem ("xTerm :", "", () => {}, () => { return false; }), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem (" _Default", "", () => SetCursor(CursorVisibility.Default)), + new MenuItem (" B_ox Blinking", "", () => SetCursor(CursorVisibility.BoxBlinking)), + new MenuItem (" U_nderline Blinking","", () => SetCursor(CursorVisibility.UnderlineBlinking)), + new MenuItem (" _Vertical", "", () => SetCursor(CursorVisibility.Vertical)), + new MenuItem (" V_ertical Blinking", "", () => SetCursor(CursorVisibility.VerticalBlinking)) + }), new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) }); Top.Add (menu); @@ -141,6 +154,11 @@ namespace UICatalog { //} } + private void SetCursor (CursorVisibility visibility) + { + _textView.WishedCursorVisibility = visibility; + } + private void Open () { var d = new OpenDialog ("Open", "Open a file") { AllowsMultipleSelection = false }; From 92e9d29e375e2f993092006d323262cad249e888 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Thu, 28 Jan 2021 15:57:34 +0100 Subject: [PATCH 49/64] Fixing Cursor Display under Windows; setting more coherence between windows & linux at CursorVivibility enum --- Terminal.Gui/ConsoleDrivers/NetDriver.cs | 4 +- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 8 +-- Terminal.Gui/Core/ConsoleDriver.cs | 41 ++++++------ Terminal.Gui/Views/HexView.cs | 2 +- Terminal.Gui/Views/TextField.cs | 2 +- Terminal.Gui/Views/TextView.cs | 2 +- UICatalog/Properties/launchSettings.json | 3 +- UICatalog/Scenarios/Editor.cs | 67 ++++++++++++-------- 8 files changed, 69 insertions(+), 60 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index f76226fd1..f781d987e 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -1737,12 +1737,12 @@ namespace Terminal.Gui { public override bool SetCursorVisibility (CursorVisibility visibility) { - return NetWinConsole.SetCursorVisibility (visibility); + return NetWinConsole?.SetCursorVisibility (visibility) ?? false; } public override bool EnsureCursorVisibility () { - return NetWinConsole.EnsureCursorVisibility (); + return NetWinConsole?.EnsureCursorVisibility () ?? false; } #endregion diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 8727fd2a8..bee478925 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -85,7 +85,7 @@ namespace Terminal.Gui { } } - if (GetCursorVisibility (out CursorVisibility visibility)) { + if (!initialCursorVisibility.HasValue && GetCursorVisibility (out CursorVisibility visibility)) { initialCursorVisibility = visibility; } @@ -129,9 +129,9 @@ namespace Terminal.Gui { return false; } - if (!info.bVisible) visibility = CursorVisibility.Invisible; - else if (info.dwSize > 50) visibility = CursorVisibility.Box; - else visibility = CursorVisibility.Underline; + if (!info.bVisible) visibility = CursorVisibility.Invisible; + else if (info.dwSize > 50) visibility = CursorVisibility.Box; + else visibility = CursorVisibility.Underline; return true; } diff --git a/Terminal.Gui/Core/ConsoleDriver.cs b/Terminal.Gui/Core/ConsoleDriver.cs index ee1911ccb..e27611bc3 100644 --- a/Terminal.Gui/Core/ConsoleDriver.cs +++ b/Terminal.Gui/Core/ConsoleDriver.cs @@ -491,46 +491,45 @@ namespace Terminal.Gui { /// /// Cursor caret has default /// - Default = 0x00010119, + Default = 0x00010119, /// /// Cursor caret is hidden /// - Invisible = 0x03000019, + Invisible = 0x03000019, /// - /// Cursor caret is normally shown as an _ + /// Cursor caret is normally shown as a blinking underline bar _ + /// + Underline = 0x03010119, + + /// + /// Cursor caret is normally shown as a underline bar _ /// /// Under Windows, this is equivalent to - Underline = 0x04010019, + UnderlineFix = 0x04010119, /// - /// Cursor caret is normally shown as an blinking _ + /// Cursor caret is displayed a blinking vertical bar | /// - UnderlineBlinking = 0x03010019, - - /// - /// Cursor caret is displayed a bar | - /// - /// Works under Xterm-like terminal otherwise this is equivalent to - Vertical = 0x06010019, + Vertical = 0x05010119, /// /// Cursor caret is displayed a blinking bar | /// - /// Works under Xterm-like terminal otherwise this is equivalent to - VerticalBlinking = 0x05010019, + /// Works under Xterm-like terminal otherwise this is equivalent to + VerticalFix = 0x06010119, + + /// + /// Cursor caret is displayed as a blinking block β–‰ + /// + Box = 0x01020164, /// /// Cursor caret is displayed a block β–‰ /// - /// Works under Xterm-like terminal otherwise this is equivalent to - Box = 0x02020064, - - /// - /// Cursor caret is displayed a block β–‰ - /// - BoxBlinking = 0x01020064, + /// Works under Xterm-like terminal otherwise this is equivalent to + BoxFix = 0x02020164, } ///// diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index 096c31ddc..898364376 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -396,7 +396,7 @@ namespace Terminal.Gui { edits = new SortedDictionary (); } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; /// /// Get / Set the wished cursor when the field is focused diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index 849a8121a..c963b384a 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -868,7 +868,7 @@ namespace Terminal.Gui { } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; /// /// Get / Set the wished cursor when the field is focused diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index bfc13d735..8716651df 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -599,7 +599,7 @@ namespace Terminal.Gui { } } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxBlinking; + private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; /// /// Get / Set the wished cursor when the field is focused diff --git a/UICatalog/Properties/launchSettings.json b/UICatalog/Properties/launchSettings.json index fd3866b95..68c82f53f 100644 --- a/UICatalog/Properties/launchSettings.json +++ b/UICatalog/Properties/launchSettings.json @@ -1,8 +1,7 @@ { "profiles": { "UICatalog": { - "commandName": "Project", - "commandLineArgs": "-usc" + "commandName": "Project" } } } \ No newline at end of file diff --git a/UICatalog/Scenarios/Editor.cs b/UICatalog/Scenarios/Editor.cs index e1308af68..bfb549309 100644 --- a/UICatalog/Scenarios/Editor.cs +++ b/UICatalog/Scenarios/Editor.cs @@ -1,5 +1,6 @@ ο»Ώusing System; using System.Text; +using System.Collections.Generic; using Terminal.Gui; namespace UICatalog { @@ -23,34 +24,44 @@ namespace UICatalog { Top = Application.Top; } - var menu = new MenuBar (new MenuBarItem [] { - new MenuBarItem ("_File", new MenuItem [] { - new MenuItem ("_New", "", () => New()), - new MenuItem ("_Open", "", () => Open()), - new MenuItem ("_Save", "", () => Save()), - null, - new MenuItem ("_Quit", "", () => Quit()), - }), - new MenuBarItem ("_Edit", new MenuItem [] { - new MenuItem ("_Copy", "", () => Copy()), - new MenuItem ("C_ut", "", () => Cut()), - new MenuItem ("_Paste", "", () => Paste()) - }), - new MenuBarItem ("_Cursor", new MenuItem [] { - new MenuItem ("_Invisible", "", () => SetCursor(CursorVisibility.Invisible)), - new MenuItem ("_Box", "", () => SetCursor(CursorVisibility.Box)), - new MenuItem ("_Underline", "", () => SetCursor(CursorVisibility.Underline)), - new MenuItem ("", "", () => {}, () => { return false; }), - new MenuItem ("xTerm :", "", () => {}, () => { return false; }), - new MenuItem ("", "", () => {}, () => { return false; }), - new MenuItem (" _Default", "", () => SetCursor(CursorVisibility.Default)), - new MenuItem (" B_ox Blinking", "", () => SetCursor(CursorVisibility.BoxBlinking)), - new MenuItem (" U_nderline Blinking","", () => SetCursor(CursorVisibility.UnderlineBlinking)), - new MenuItem (" _Vertical", "", () => SetCursor(CursorVisibility.Vertical)), - new MenuItem (" V_ertical Blinking", "", () => SetCursor(CursorVisibility.VerticalBlinking)) - }), - new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) - }); + List menuBarItems = new List (); + + menuBarItems.AddRange ( new MenuBarItem [] + { + new MenuBarItem ("_File", new MenuItem [] { + new MenuItem ("_New", "", () => New()), + new MenuItem ("_Open", "", () => Open()), + new MenuItem ("_Save", "", () => Save()), + null, + new MenuItem ("_Quit", "", () => Quit()), + }), + new MenuBarItem ("_Edit", new MenuItem [] { + new MenuItem ("_Copy", "", () => Copy()), + new MenuItem ("C_ut", "", () => Cut()), + new MenuItem ("_Paste", "", () => Paste()) + }), + new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) + } + ); + + if (!Application.UseSystemConsole) { + menuBarItems.Add (new MenuBarItem ("_Cursor", new MenuItem [] { + new MenuItem ("_Invisible", "", () => SetCursor(CursorVisibility.Invisible)), + new MenuItem ("_Box", "", () => SetCursor(CursorVisibility.Box)), + new MenuItem ("_Underline", "", () => SetCursor(CursorVisibility.Underline)), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem ("xTerm :", "", () => {}, () => { return false; }), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem (" _Default", "", () => SetCursor(CursorVisibility.Default)), + new MenuItem (" _Vertical", "", () => SetCursor(CursorVisibility.Vertical)), + new MenuItem (" V_ertical Fix", "", () => SetCursor(CursorVisibility.VerticalFix)), + new MenuItem (" B_ox Fix", "", () => SetCursor(CursorVisibility.BoxFix)), + new MenuItem (" U_nderline Fix","", () => SetCursor(CursorVisibility.UnderlineFix)) + })); + } + + var menu = new MenuBar (menuBarItems.ToArray()); + Top.Add (menu); var statusBar = new StatusBar (new StatusItem [] { From 79f49d605bf9924056b89782eca34cff09cda8ab Mon Sep 17 00:00:00 2001 From: BDisp Date: Thu, 28 Jan 2021 15:34:06 +0000 Subject: [PATCH 50/64] Fixes #1100. TextFormatter doesn't handle ColumnWidth greater than 1. --- Terminal.Gui/Core/TextFormatter.cs | 41 ++++++++++++++++++++++-------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/Terminal.Gui/Core/TextFormatter.cs b/Terminal.Gui/Core/TextFormatter.cs index 6b702bb33..e8ce1dbb4 100644 --- a/Terminal.Gui/Core/TextFormatter.cs +++ b/Terminal.Gui/Core/TextFormatter.cs @@ -195,7 +195,7 @@ namespace Terminal.Gui { break; } } - return ustring.Make (runes); ; + return ustring.Make (runes); } /// @@ -396,10 +396,17 @@ namespace Terminal.Gui { public static int MaxWidth (ustring text, int width) { var result = TextFormatter.Format (text, width, TextAlignment.Left, true); - return result.Max (s => s.RuneCount); + var max = 0; + result.ForEach (s => { + var m = 0; + s.ToRuneList ().ForEach (r => m += Rune.ColumnWidth (r)); + if (m > max) { + max = m; + } + }); + return max; } - /// /// Calculates the rectangle required to hold text, assuming no word wrapping. /// @@ -409,8 +416,9 @@ namespace Terminal.Gui { /// public static Rect CalcRect (int x, int y, ustring text) { - if (ustring.IsNullOrEmpty (text)) + if (ustring.IsNullOrEmpty (text)) { return new Rect (new Point (x, y), Size.Empty); + } int mw = 0; int ml = 1; @@ -419,17 +427,24 @@ namespace Terminal.Gui { foreach (var rune in text) { if (rune == '\n') { ml++; - if (cols > mw) + if (cols > mw) { mw = cols; + } cols = 0; } else { if (rune != '\r') { cols++; + var rw = Rune.ColumnWidth (rune); + if (rw > 0) { + rw--; + } + cols += rw; } } } - if (cols > mw) + if (cols > mw) { mw = cols; + } return new Rect (x, y, mw, ml); } @@ -587,15 +602,16 @@ namespace Terminal.Gui { default: throw new ArgumentOutOfRangeException (); } - for (var col = bounds.Left; col < bounds.Left + bounds.Width; col++) { + var col = bounds.Left; + for (var idx = bounds.Left; idx < bounds.Left + bounds.Width; idx++) { Application.Driver?.Move (col, bounds.Top + line); var rune = (Rune)' '; - if (col >= x && col < (x + runes.Length)) { - rune = runes [col - x]; + if (idx >= x && idx < (x + runes.Length)) { + rune = runes [idx - x]; } if ((rune & HotKeyTagMask) == HotKeyTagMask) { if (textAlignment == TextAlignment.Justified) { - CursorPosition = col - bounds.Left; + CursorPosition = idx - bounds.Left; } Application.Driver?.SetAttribute (hotColor); Application.Driver?.AddRune ((Rune)((uint)rune & ~HotKeyTagMask)); @@ -603,9 +619,12 @@ namespace Terminal.Gui { } else { Application.Driver?.AddRune (rune); } + col += Rune.ColumnWidth (rune); + if (idx + 1 < runes.Length && col + Rune.ColumnWidth (runes [idx + 1]) > bounds.Width) { + break; + } } } } - } } From 8a13efbb83e192902a0a61cead60c4caf917b455 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Thu, 28 Jan 2021 16:56:28 +0100 Subject: [PATCH 51/64] Preparing PR + fix cursor issue happening inside frameview --- .../ConsoleDrivers/FakeDriver/FakeDriver.cs | 4 +- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 2 +- Terminal.Gui/Core/Application.cs | 4 +- Terminal.Gui/Views/DateField.cs | 8 ---- Terminal.Gui/Views/FrameView.cs | 5 ++- Terminal.Gui/Views/ScrollView.cs | 5 ++- UICatalog/Scenarios/Editor.cs | 37 +++++++++---------- 7 files changed, 31 insertions(+), 34 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs index 45f6afa64..8aa58df5c 100644 --- a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs @@ -422,12 +422,12 @@ namespace Terminal.Gui { { visibility = CursorVisibility.Default; - return true; + return false; } public override bool SetCursorVisibility (CursorVisibility visibility) { - return true; + return false; } public override bool EnsureCursorVisibility () diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index bee478925..46fb605d2 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -504,6 +504,7 @@ namespace Terminal.Gui { [DllImport ("kernel32.dll")] static extern bool GetConsoleMode (IntPtr hConsoleHandle, out uint lpMode); + [DllImport ("kernel32.dll")] static extern bool SetConsoleMode (IntPtr hConsoleHandle, uint dwMode); @@ -1490,7 +1491,6 @@ namespace Terminal.Gui { public override void CookMouse () { } - #endregion } diff --git a/Terminal.Gui/Core/Application.cs b/Terminal.Gui/Core/Application.cs index dcf230065..e83fb7032 100644 --- a/Terminal.Gui/Core/Application.cs +++ b/Terminal.Gui/Core/Application.cs @@ -503,7 +503,6 @@ namespace Terminal.Gui { toplevel.PositionCursor (); Driver.Refresh (); - return rs; } @@ -711,7 +710,8 @@ namespace Terminal.Gui { RunLoop (runToken); End (runToken); - } catch (Exception error) + } + catch (Exception error) { if (errorHandler == null) { diff --git a/Terminal.Gui/Views/DateField.cs b/Terminal.Gui/Views/DateField.cs index f803bae3c..14178e572 100644 --- a/Terminal.Gui/Views/DateField.cs +++ b/Terminal.Gui/Views/DateField.cs @@ -377,14 +377,6 @@ namespace Terminal.Gui { { DateChanged?.Invoke (args); } - - /// - public override bool OnEnter (View view) - { - Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); - - return base.OnEnter (view); - } } /// diff --git a/Terminal.Gui/Views/FrameView.cs b/Terminal.Gui/Views/FrameView.cs index 3c12c91b3..e1be1dc09 100644 --- a/Terminal.Gui/Views/FrameView.cs +++ b/Terminal.Gui/Views/FrameView.cs @@ -9,6 +9,7 @@ // - Does not support IEnumerable // Any udpates done here should probably be done in Window as well; TODO: Merge these classes +using System.Linq; using NStack; namespace Terminal.Gui { @@ -195,7 +196,9 @@ namespace Terminal.Gui { /// public override bool OnEnter (View view) { - Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + if (Subviews.Count == 0 || !Subviews.Any (subview => subview.CanFocus)) { + Application.Driver?.SetCursorVisibility (CursorVisibility.Invisible); + } return base.OnEnter (view); } diff --git a/Terminal.Gui/Views/ScrollView.cs b/Terminal.Gui/Views/ScrollView.cs index 553b24ea5..580594053 100644 --- a/Terminal.Gui/Views/ScrollView.cs +++ b/Terminal.Gui/Views/ScrollView.cs @@ -12,6 +12,7 @@ // - Perhaps allow an option to not display the scrollbar arrow indicators? using System; +using System.Linq; using System.Reflection; namespace Terminal.Gui { @@ -526,7 +527,9 @@ namespace Terminal.Gui { /// public override bool OnEnter (View view) { - Application.Driver.SetCursorVisibility (CursorVisibility.Invisible); + if (Subviews.Count == 0 || !Subviews.Any (subview => subview.CanFocus)) { + Application.Driver?.SetCursorVisibility (CursorVisibility.Invisible); + } return base.OnEnter (view); } diff --git a/UICatalog/Scenarios/Editor.cs b/UICatalog/Scenarios/Editor.cs index bfb549309..97bca848d 100644 --- a/UICatalog/Scenarios/Editor.cs +++ b/UICatalog/Scenarios/Editor.cs @@ -24,25 +24,24 @@ namespace UICatalog { Top = Application.Top; } - List menuBarItems = new List (); - - menuBarItems.AddRange ( new MenuBarItem [] - { - new MenuBarItem ("_File", new MenuItem [] { - new MenuItem ("_New", "", () => New()), - new MenuItem ("_Open", "", () => Open()), - new MenuItem ("_Save", "", () => Save()), - null, - new MenuItem ("_Quit", "", () => Quit()), - }), - new MenuBarItem ("_Edit", new MenuItem [] { - new MenuItem ("_Copy", "", () => Copy()), - new MenuItem ("C_ut", "", () => Cut()), - new MenuItem ("_Paste", "", () => Paste()) - }), - new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) - } - ); + List menuBarItems = new List ( + new MenuBarItem [] + { + new MenuBarItem ("_File", new MenuItem [] { + new MenuItem ("_New", "", () => New()), + new MenuItem ("_Open", "", () => Open()), + new MenuItem ("_Save", "", () => Save()), + null, + new MenuItem ("_Quit", "", () => Quit()), + }), + new MenuBarItem ("_Edit", new MenuItem [] { + new MenuItem ("_Copy", "", () => Copy()), + new MenuItem ("C_ut", "", () => Cut()), + new MenuItem ("_Paste", "", () => Paste()) + }), + new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) + } + ); if (!Application.UseSystemConsole) { menuBarItems.Add (new MenuBarItem ("_Cursor", new MenuItem [] { From 21e24e9467063c6231d59db5b12a566b652ca679 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Thu, 28 Jan 2021 17:16:41 +0100 Subject: [PATCH 52/64] Preparing PR --- .../CursesDriver/CursesDriver.cs | 3 ++ .../ConsoleDrivers/FakeDriver/FakeDriver.cs | 3 ++ Terminal.Gui/ConsoleDrivers/NetDriver.cs | 28 ++++++------------- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 3 ++ Terminal.Gui/Core/ConsoleDriver.cs | 4 ++- 5 files changed, 20 insertions(+), 21 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index a5bd63427..c90ad0df4 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -886,6 +886,7 @@ namespace Terminal.Gui { return currentAttribute; } + /// public override bool GetCursorVisibility (out CursorVisibility visibility) { visibility = CursorVisibility.Invisible; @@ -899,6 +900,7 @@ namespace Terminal.Gui { return true; } + /// public override bool SetCursorVisibility (CursorVisibility visibility) { if (initialCursorVisibility.HasValue == false) { @@ -918,6 +920,7 @@ namespace Terminal.Gui { return true; } + /// public override bool EnsureCursorVisibility () { return false; diff --git a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs index 8aa58df5c..5bf10f56f 100644 --- a/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/FakeDriver/FakeDriver.cs @@ -418,6 +418,7 @@ namespace Terminal.Gui { { } + /// public override bool GetCursorVisibility (out CursorVisibility visibility) { visibility = CursorVisibility.Default; @@ -425,11 +426,13 @@ namespace Terminal.Gui { return false; } + /// public override bool SetCursorVisibility (CursorVisibility visibility) { return false; } + /// public override bool EnsureCursorVisibility () { return false; diff --git a/Terminal.Gui/ConsoleDrivers/NetDriver.cs b/Terminal.Gui/ConsoleDrivers/NetDriver.cs index f781d987e..21f5afa87 100644 --- a/Terminal.Gui/ConsoleDrivers/NetDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/NetDriver.cs @@ -57,23 +57,6 @@ namespace Terminal.Gui { } } - public bool GetCursorVisibility (out CursorVisibility visibility) - { - visibility = CursorVisibility.Default; - - return false; - } - - public bool SetCursorVisibility (CursorVisibility visibility) - { - return false; - } - - public bool EnsureCursorVisibility () - { - return false; - } - public void Cleanup () { if (!SetConsoleMode (InputHandle, originalInputConsoleMode)) { @@ -1730,19 +1713,24 @@ namespace Terminal.Gui { { } + /// public override bool GetCursorVisibility (out CursorVisibility visibility) { - return NetWinConsole.GetCursorVisibility (out visibility); + visibility = CursorVisibility.Default; + + return false; } + /// public override bool SetCursorVisibility (CursorVisibility visibility) { - return NetWinConsole?.SetCursorVisibility (visibility) ?? false; + return false; } + /// public override bool EnsureCursorVisibility () { - return NetWinConsole?.EnsureCursorVisibility () ?? false; + return false; } #endregion diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 46fb605d2..176df252a 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -1448,16 +1448,19 @@ namespace Terminal.Gui { return currentAttribute; } + /// public override bool GetCursorVisibility (out CursorVisibility visibility) { return winConsole.GetCursorVisibility (out visibility); } + /// public override bool SetCursorVisibility (CursorVisibility visibility) { return winConsole.SetCursorVisibility (visibility); } + /// public override bool EnsureCursorVisibility () { return winConsole.EnsureCursorVisibility (); diff --git a/Terminal.Gui/Core/ConsoleDriver.cs b/Terminal.Gui/Core/ConsoleDriver.cs index e27611bc3..f1b696e9f 100644 --- a/Terminal.Gui/Core/ConsoleDriver.cs +++ b/Terminal.Gui/Core/ConsoleDriver.cs @@ -491,6 +491,7 @@ namespace Terminal.Gui { /// /// Cursor caret has default /// + /// Works under Xterm-like terminal otherwise this is equivalent to . This default directly depends of the XTerm user configuration settings so it could be Block, I-Beam, Underline with possible blinking. Default = 0x00010119, /// @@ -512,10 +513,11 @@ namespace Terminal.Gui { /// /// Cursor caret is displayed a blinking vertical bar | /// + /// Works under Xterm-like terminal otherwise this is equivalent to Vertical = 0x05010119, /// - /// Cursor caret is displayed a blinking bar | + /// Cursor caret is displayed a blinking vertical bar | /// /// Works under Xterm-like terminal otherwise this is equivalent to VerticalFix = 0x06010119, From 3ea6bb89d92e5688d408a4df3f1f31a2b5cee5ec Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Fri, 29 Jan 2021 17:35:59 +0100 Subject: [PATCH 53/64] Applying style change, renaming some variable --- .../CursesDriver/CursesDriver.cs | 27 +++++--- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 14 ++-- Terminal.Gui/Views/HexView.cs | 10 +-- Terminal.Gui/Views/TextField.cs | 12 ++-- Terminal.Gui/Views/TextView.cs | 12 ++-- UICatalog/Scenarios/Editor.cs | 67 ++++++++----------- 6 files changed, 72 insertions(+), 70 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index c90ad0df4..4353e8909 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -700,10 +700,23 @@ namespace Terminal.Gui { // We are setting Invisible as default so we could ignore XTerm DECSUSR setting // switch (Curses.curs_set (0)) { - case 0: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Invisible; break; - case 1: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Underline; Curses.curs_set (1); break; - case 2: currentCursorVisibility = initialCursorVisibility = CursorVisibility.Box; Curses.curs_set (2); break; - default: currentCursorVisibility = initialCursorVisibility = null; break; + case 0: + currentCursorVisibility = initialCursorVisibility = CursorVisibility.Invisible; + break; + + case 1: + currentCursorVisibility = initialCursorVisibility = CursorVisibility.Underline; + Curses.curs_set (1); + break; + + case 2: + currentCursorVisibility = initialCursorVisibility = CursorVisibility.Box; + Curses.curs_set (2); + break; + + default: + currentCursorVisibility = initialCursorVisibility = null; + break; } Curses.raw (); @@ -891,9 +904,8 @@ namespace Terminal.Gui { { visibility = CursorVisibility.Invisible; - if (!currentCursorVisibility.HasValue) { + if (!currentCursorVisibility.HasValue) return false; - } visibility = currentCursorVisibility.Value; @@ -909,8 +921,7 @@ namespace Terminal.Gui { Curses.curs_set (((int) visibility >> 16) & 0x000000FF); - if (visibility != CursorVisibility.Invisible) - { + if (visibility != CursorVisibility.Invisible) { Console.Out.Write ("\x1b[{0} q", ((int) visibility >> 24) & 0xFF); Console.Out.Flush (); } diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 176df252a..63f21ab5c 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -117,21 +117,21 @@ namespace Terminal.Gui { public bool GetCursorVisibility (out CursorVisibility visibility) { if (!GetConsoleCursorInfo (ScreenBuffer, out ConsoleCursorInfo info)) { - var err = Marshal.GetLastWin32Error (); - if (err != 0) { throw new System.ComponentModel.Win32Exception (err); - } - + } visibility = Gui.CursorVisibility.Default; return false; } - if (!info.bVisible) visibility = CursorVisibility.Invisible; - else if (info.dwSize > 50) visibility = CursorVisibility.Box; - else visibility = CursorVisibility.Underline; + if (!info.bVisible) + visibility = CursorVisibility.Invisible; + else if (info.dwSize > 50) + visibility = CursorVisibility.Box; + else + visibility = CursorVisibility.Underline; return true; } diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index 898364376..8fb2111e3 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -396,21 +396,21 @@ namespace Terminal.Gui { edits = new SortedDictionary (); } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; + private CursorVisibility desiredCursorVisibility = CursorVisibility.Default; /// /// Get / Set the wished cursor when the field is focused /// - public CursorVisibility WishedCursorVisibility + public CursorVisibility DesiredCursorVisibility { - get => wishedCursorVisibility; + get => desiredCursorVisibility; set { - if (wishedCursorVisibility != value && HasFocus) + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } - wishedCursorVisibility = value; + desiredCursorVisibility = value; } } } diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index c963b384a..222a423ae 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -868,28 +868,28 @@ namespace Terminal.Gui { } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; + private CursorVisibility desiredCursorVisibility = CursorVisibility.Default; /// /// Get / Set the wished cursor when the field is focused /// - public CursorVisibility WishedCursorVisibility + public CursorVisibility DesiredCursorVisibility { - get => wishedCursorVisibility; + get => desiredCursorVisibility; set { - if (wishedCursorVisibility != value && HasFocus) + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } - wishedCursorVisibility = value; + desiredCursorVisibility = value; } } /// public override bool OnEnter (View view) { - Application.Driver.SetCursorVisibility (WishedCursorVisibility); + Application.Driver.SetCursorVisibility (DesiredCursorVisibility); return base.OnEnter (view); } diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index 8716651df..8397b2b29 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -599,21 +599,21 @@ namespace Terminal.Gui { } } - private CursorVisibility wishedCursorVisibility = CursorVisibility.BoxFix; + private CursorVisibility desiredCursorVisibility = CursorVisibility.Default; /// /// Get / Set the wished cursor when the field is focused /// - public CursorVisibility WishedCursorVisibility + public CursorVisibility DesiredCursorVisibility { - get => wishedCursorVisibility; + get => desiredCursorVisibility; set { - if (wishedCursorVisibility != value && HasFocus) + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } - wishedCursorVisibility = value; + desiredCursorVisibility = value; } } @@ -621,7 +621,7 @@ namespace Terminal.Gui { public override bool OnEnter (View view) { //TODO: Improve it by handling read only mode of the text field - Application.Driver.SetCursorVisibility (WishedCursorVisibility); + Application.Driver.SetCursorVisibility (DesiredCursorVisibility); return base.OnEnter (view); } diff --git a/UICatalog/Scenarios/Editor.cs b/UICatalog/Scenarios/Editor.cs index 97bca848d..cce1180d0 100644 --- a/UICatalog/Scenarios/Editor.cs +++ b/UICatalog/Scenarios/Editor.cs @@ -24,43 +24,34 @@ namespace UICatalog { Top = Application.Top; } - List menuBarItems = new List ( - new MenuBarItem [] - { - new MenuBarItem ("_File", new MenuItem [] { - new MenuItem ("_New", "", () => New()), - new MenuItem ("_Open", "", () => Open()), - new MenuItem ("_Save", "", () => Save()), - null, - new MenuItem ("_Quit", "", () => Quit()), - }), - new MenuBarItem ("_Edit", new MenuItem [] { - new MenuItem ("_Copy", "", () => Copy()), - new MenuItem ("C_ut", "", () => Cut()), - new MenuItem ("_Paste", "", () => Paste()) - }), - new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()) - } - ); - - if (!Application.UseSystemConsole) { - menuBarItems.Add (new MenuBarItem ("_Cursor", new MenuItem [] { - new MenuItem ("_Invisible", "", () => SetCursor(CursorVisibility.Invisible)), - new MenuItem ("_Box", "", () => SetCursor(CursorVisibility.Box)), - new MenuItem ("_Underline", "", () => SetCursor(CursorVisibility.Underline)), - new MenuItem ("", "", () => {}, () => { return false; }), - new MenuItem ("xTerm :", "", () => {}, () => { return false; }), - new MenuItem ("", "", () => {}, () => { return false; }), - new MenuItem (" _Default", "", () => SetCursor(CursorVisibility.Default)), - new MenuItem (" _Vertical", "", () => SetCursor(CursorVisibility.Vertical)), - new MenuItem (" V_ertical Fix", "", () => SetCursor(CursorVisibility.VerticalFix)), - new MenuItem (" B_ox Fix", "", () => SetCursor(CursorVisibility.BoxFix)), - new MenuItem (" U_nderline Fix","", () => SetCursor(CursorVisibility.UnderlineFix)) - })); - } - - var menu = new MenuBar (menuBarItems.ToArray()); - + var menu = new MenuBar (new MenuBarItem [] { + new MenuBarItem ("_File", new MenuItem [] { + new MenuItem ("_New", "", () => New()), + new MenuItem ("_Open", "", () => Open()), + new MenuItem ("_Save", "", () => Save()), + null, + new MenuItem ("_Quit", "", () => Quit()), + }), + new MenuBarItem ("_Edit", new MenuItem [] { + new MenuItem ("_Copy", "", () => Copy()), + new MenuItem ("C_ut", "", () => Cut()), + new MenuItem ("_Paste", "", () => Paste()) + }), + new MenuBarItem ("_ScrollBarView", CreateKeepChecked ()), + new MenuBarItem ("_Cursor", new MenuItem [] { + new MenuItem ("_Invisible", "", () => SetCursor(CursorVisibility.Invisible)), + new MenuItem ("_Box", "", () => SetCursor(CursorVisibility.Box)), + new MenuItem ("_Underline", "", () => SetCursor(CursorVisibility.Underline)), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem ("xTerm :", "", () => {}, () => { return false; }), + new MenuItem ("", "", () => {}, () => { return false; }), + new MenuItem (" _Default", "", () => SetCursor(CursorVisibility.Default)), + new MenuItem (" _Vertical", "", () => SetCursor(CursorVisibility.Vertical)), + new MenuItem (" V_ertical Fix", "", () => SetCursor(CursorVisibility.VerticalFix)), + new MenuItem (" B_ox Fix", "", () => SetCursor(CursorVisibility.BoxFix)), + new MenuItem (" U_nderline Fix","", () => SetCursor(CursorVisibility.UnderlineFix)) + }) + }); Top.Add (menu); var statusBar = new StatusBar (new StatusItem [] { @@ -166,7 +157,7 @@ namespace UICatalog { private void SetCursor (CursorVisibility visibility) { - _textView.WishedCursorVisibility = visibility; + _textView.DesiredCursorVisibility = visibility; } private void Open () From a467afae121b869cc814961cab4550ff8d256111 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Fri, 29 Jan 2021 17:43:51 +0100 Subject: [PATCH 54/64] Removing no more needed using --- UICatalog/Scenarios/Editor.cs | 1 - 1 file changed, 1 deletion(-) diff --git a/UICatalog/Scenarios/Editor.cs b/UICatalog/Scenarios/Editor.cs index cce1180d0..c3e4ffc5c 100644 --- a/UICatalog/Scenarios/Editor.cs +++ b/UICatalog/Scenarios/Editor.cs @@ -1,6 +1,5 @@ ο»Ώusing System; using System.Text; -using System.Collections.Generic; using Terminal.Gui; namespace UICatalog { From 4c34a88552570ad88084f5a674f7599302876866 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Fri, 29 Jan 2021 17:56:51 +0100 Subject: [PATCH 55/64] Applying requested style --- Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs | 3 +-- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 3 +-- Terminal.Gui/Views/HexView.cs | 3 +-- Terminal.Gui/Views/TextField.cs | 4 +--- Terminal.Gui/Views/TextView.cs | 4 +--- 5 files changed, 5 insertions(+), 12 deletions(-) diff --git a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs index 4353e8909..74e56b758 100644 --- a/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/CursesDriver/CursesDriver.cs @@ -915,9 +915,8 @@ namespace Terminal.Gui { /// public override bool SetCursorVisibility (CursorVisibility visibility) { - if (initialCursorVisibility.HasValue == false) { + if (initialCursorVisibility.HasValue == false) return false; - } Curses.curs_set (((int) visibility >> 16) & 0x000000FF); diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 63f21ab5c..4e1014961 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -161,9 +161,8 @@ namespace Terminal.Gui { bVisible = ((uint) visibility & 0xFF00) != 0 }; - if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) { + if (!SetConsoleCursorInfo (ScreenBuffer, ref info)) return false; - } currentCursorVisibility = visibility; } diff --git a/Terminal.Gui/Views/HexView.cs b/Terminal.Gui/Views/HexView.cs index 8fb2111e3..85ea8d848 100644 --- a/Terminal.Gui/Views/HexView.cs +++ b/Terminal.Gui/Views/HexView.cs @@ -405,8 +405,7 @@ namespace Terminal.Gui { { get => desiredCursorVisibility; set { - if (desiredCursorVisibility != value && HasFocus) - { + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } diff --git a/Terminal.Gui/Views/TextField.cs b/Terminal.Gui/Views/TextField.cs index 222a423ae..b24054087 100644 --- a/Terminal.Gui/Views/TextField.cs +++ b/Terminal.Gui/Views/TextField.cs @@ -867,7 +867,6 @@ namespace Terminal.Gui { return ev; } - private CursorVisibility desiredCursorVisibility = CursorVisibility.Default; /// @@ -877,8 +876,7 @@ namespace Terminal.Gui { { get => desiredCursorVisibility; set { - if (desiredCursorVisibility != value && HasFocus) - { + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } diff --git a/Terminal.Gui/Views/TextView.cs b/Terminal.Gui/Views/TextView.cs index 8397b2b29..60fe9dc8c 100644 --- a/Terminal.Gui/Views/TextView.cs +++ b/Terminal.Gui/Views/TextView.cs @@ -480,7 +480,6 @@ namespace Terminal.Gui { /// public int Lines => model.Count; - /// /// Loads the contents of the file into the . /// @@ -608,8 +607,7 @@ namespace Terminal.Gui { { get => desiredCursorVisibility; set { - if (desiredCursorVisibility != value && HasFocus) - { + if (desiredCursorVisibility != value && HasFocus) { Application.Driver.SetCursorVisibility (value); } From e88bca0c93688e98690250f76cf4979d21993453 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Fri, 29 Jan 2021 18:03:08 +0100 Subject: [PATCH 56/64] set as before as not modified lines --- Terminal.Gui/Core/Application.cs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Terminal.Gui/Core/Application.cs b/Terminal.Gui/Core/Application.cs index e83fb7032..126e3ed26 100644 --- a/Terminal.Gui/Core/Application.cs +++ b/Terminal.Gui/Core/Application.cs @@ -708,9 +708,8 @@ namespace Terminal.Gui { resume = false; var runToken = Begin (view); RunLoop (runToken); - End (runToken); - } + } catch (Exception error) { if (errorHandler == null) From da17d389fc3d9d3c8c236045da560d6013b63be1 Mon Sep 17 00:00:00 2001 From: Gilles Freart Date: Sun, 7 Feb 2021 14:13:44 +0100 Subject: [PATCH 57/64] Whenever the Console is resized, Windows reset the cursor. So we need to reconfigure the cursor visibility. --- Terminal.Gui/ConsoleDrivers/WindowsDriver.cs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs index 4e1014961..c0d8c8f52 100644 --- a/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs +++ b/Terminal.Gui/ConsoleDrivers/WindowsDriver.cs @@ -147,6 +147,14 @@ namespace Terminal.Gui { return false; } + public void ForceRefreshCursorVisibility () + { + if (currentCursorVisibility.HasValue) { + pendingCursorVisibility = currentCursorVisibility; + currentCursorVisibility = null; + } + } + public bool SetCursorVisibility (CursorVisibility visibility) { if (initialCursorVisibility.HasValue == false) { @@ -1305,6 +1313,7 @@ namespace Terminal.Gui { Bottom = (short)Rows, Right = (short)Cols }; + winConsole.ForceRefreshCursorVisibility (); } void UpdateOffScreen () From 43d373543a2d8e0032691694a92e249569318983 Mon Sep 17 00:00:00 2001 From: jay8ee Date: Tue, 9 Feb 2021 14:21:55 +0000 Subject: [PATCH 58/64] Update README.md Should be 'dotnet add package' not 'dotnet package add' --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 9872ae7d2..eca2183de 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ Use NuGet to install the `Terminal.Gui` NuGet package: https://www.nuget.org/pac To install Terminal.Gui into a .NET Core project, use the `dotnet` CLI tool with following command. ``` -dotnet package add Terminal.Gui +dotnet add package Terminal.Gui ``` ## Running and Building From e68df90d27a2a1193df5ff989d56db74c1b8c5d3 Mon Sep 17 00:00:00 2001 From: tznind Date: Wed, 10 Feb 2021 09:44:47 +0000 Subject: [PATCH 59/64] Fixed TableView ProcessKey return value when no Table is loaded --- Terminal.Gui/Views/TableView.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Terminal.Gui/Views/TableView.cs b/Terminal.Gui/Views/TableView.cs index d3d390209..256dafc18 100644 --- a/Terminal.Gui/Views/TableView.cs +++ b/Terminal.Gui/Views/TableView.cs @@ -580,7 +580,7 @@ namespace Terminal.Gui { { if(Table == null){ PositionCursor (); - return true; + return false; } if(keyEvent.Key == CellActivationKey && Table != null) { From 20de5cff5c1f400b4985d5903523d0c0462d9cae Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Mon, 15 Feb 2021 10:35:39 -0700 Subject: [PATCH 60/64] merge and version bump to 1.0.0-pre.7 --- Terminal.Gui/Directory.Build.props | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Directory.Build.props b/Terminal.Gui/Directory.Build.props index b17add919..2e67212f9 100644 --- a/Terminal.Gui/Directory.Build.props +++ b/Terminal.Gui/Directory.Build.props @@ -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. --> - 1.0.0-pre.6 - 1.0.0.6 - 1.0.0.6 + 1.0.0-pre.7 + 1.0.0.7 + 1.0.0.7 Miguel de Icaza, Charlie Kindel (@tig), @BDisp From e48b867e7e56dfd7c17d8367e5129dc05ff115e7 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Mon, 15 Feb 2021 10:41:15 -0700 Subject: [PATCH 61/64] Added indication of which driver is in use to status bar --- UICatalog/UICatalog.cs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/UICatalog/UICatalog.cs b/UICatalog/UICatalog.cs index 12b37bf18..27f50c1e6 100644 --- a/UICatalog/UICatalog.cs +++ b/UICatalog/UICatalog.cs @@ -75,7 +75,7 @@ namespace UICatalog { _scenarios = Scenario.GetDerivedClasses ().OrderBy (t => Scenario.ScenarioMetadata.GetName (t)).ToList (); - if (args.Length > 0 && args.Contains("-usc")) { + if (args.Length > 0 && args.Contains ("-usc")) { _useSystemConsole = true; args = args.Where (val => val != "-usc").ToArray (); } @@ -259,6 +259,7 @@ namespace UICatalog { _top.LayoutSubviews(); _top.SetChildNeedsDisplay(); }), + new StatusItem (Key.CharMask, Application.Driver.GetType ().Name, null), }; SetColorScheme (); @@ -331,7 +332,7 @@ namespace UICatalog { var index = 0; List menuItems = new List (); - foreach (Enum diag in Enum.GetValues(_diagnosticFlags.GetType())) { + foreach (Enum diag in Enum.GetValues (_diagnosticFlags.GetType ())) { var item = new MenuItem (); item.Title = GetDiagnosticsTitle (diag); item.Shortcut = Key.AltMask + index.ToString () [0]; From fa77712ebe9226b955abdba67ce798a41e1e30c4 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Mon, 15 Feb 2021 11:23:49 -0700 Subject: [PATCH 62/64] updated changes log --- Terminal.Gui/Directory.Build.props | 6 +++--- Terminal.Gui/Terminal.Gui.csproj | 26 ++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/Terminal.Gui/Directory.Build.props b/Terminal.Gui/Directory.Build.props index 2e67212f9..c443a11b1 100644 --- a/Terminal.Gui/Directory.Build.props +++ b/Terminal.Gui/Directory.Build.props @@ -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. --> - 1.0.0-pre.7 - 1.0.0.7 - 1.0.0.7 + 1.0.0-pre.8 + 1.0.0.8 + 1.0.0.8 Miguel de Icaza, Charlie Kindel (@tig), @BDisp diff --git a/Terminal.Gui/Terminal.Gui.csproj b/Terminal.Gui/Terminal.Gui.csproj index cc1aaaf4b..32442e246 100644 --- a/Terminal.Gui/Terminal.Gui.csproj +++ b/Terminal.Gui/Terminal.Gui.csproj @@ -22,6 +22,32 @@ Application framework for creating modern console applications using .NET Terminal.Gui is a framework for creating console user interfaces + v1.0.0-pre.8 + * NOTE: Windows Terminal is broken - see #1099 + * NEW CONTROL: TableView - Thanks @tznind! + * NetDriver is signficantly imporved - thanks @bdisp! + * Fixes #1016. Window is drawing its frame over the menu. + * Fixes #1018. Since childNeedsDisplay is used outside the View class it must to be a property. + * Fixes #1024. TextView is printing theFixes #1030. Getting colors from the Attributes of a ColorScheme. new line character "\n" with a symbol + * Fixes #1030. Getting colors from the Attributes of a ColorScheme. + * Fixes #1034. The NuGet packages need to be updated. + * Fixes #1043. The menu separator is being printed in the wrong place. + * Fixes #93. Audit TextView just like we did TextField to ensure proper treatment of Unicode. + * Fixes #1050. ScrollView takes too long to scroll enormous content size. + * BREAKING CHANGE - Fixes #1052. Application.CurrentView looks unused. + * Fixes #1053. ProcessMouseEvent seems to initialize MouseEvent incorrectly. + * Fixes #1056. Window doesn't redraw his SuperView properly. + * Fixes #1061. ComputerLayout scenario does not drawn correctly. + * Added unhandled exception handling in Application.Run (#1063) + * Fixes #1068. The ResizeView doesn't handle the AutoSize properly. + * Fixes #1071. Toplevel.GetTopLevelSubviews (). Changed from HashSet to IList. + * Fixes #1073, #1058, #480 #1049. Provides more automation to the ScrollBarView, allowing easily implement on any view. + * Application.Shutdown() does not reset SynchronizationContext (#1085). + * Fixes #1088. On WindowsDriver moving the mouse with a button pressed, when it is released, the button clicked event is fired, causing an unintentional event. + * Fixes #1091. Continuous button pressed not working properly on Linux. + * Fixes #1100. TextFormatter doesn't handle ColumnWidth greater than 1. + * Cursor shape and visibility #1102 + v1.0.0-pre.6 * 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. (Thanks @worldbeater) From 8d32a6499bda7aad0cc2f4d06286db4f7698bd94 Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Mon, 15 Feb 2021 11:27:13 -0700 Subject: [PATCH 63/64] Generated API Reference --- docfx/index.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/docfx/index.md b/docfx/index.md index f82ac083b..f7d511a87 100644 --- a/docfx/index.md +++ b/docfx/index.md @@ -2,8 +2,6 @@ A simple UI toolkit for .NET, .NET Core, and Mono that works on Windows, the Mac, and Linux/Unix. -*The most recent released Nuget package is version `0.90` which is the "Stable Feature Complete" pre-release of 1.0.* - * [Terminal.Gui Project on GitHub](https://github.com/migueldeicaza/gui.cs) ## Terminal.Gui API Documentation From c70aa0df20be1ff2df4974ee44c94c4c2524597c Mon Sep 17 00:00:00 2001 From: Charlie Kindel Date: Mon, 15 Feb 2021 11:35:55 -0700 Subject: [PATCH 64/64] readme --- docs/README.html | 9 +- ...inal.Gui.Application.ResizedEventArgs.html | 9 +- .../Terminal.Gui.Application.RunState.html | 9 +- .../Terminal.Gui.Application.html | 118 +- .../Terminal.Gui/Terminal.Gui.Attribute.html | 119 +- .../api/Terminal.Gui/Terminal.Gui.Button.html | 69 +- .../Terminal.Gui.CellActivatedEventArgs.html | 289 +++ .../Terminal.Gui/Terminal.Gui.CheckBox.html | 69 +- .../Terminal.Gui/Terminal.Gui.Clipboard.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.Color.html | 11 +- .../Terminal.Gui.ColorScheme.html | 9 +- .../api/Terminal.Gui/Terminal.Gui.Colors.html | 9 +- .../Terminal.Gui.ColumnStyle.html | 415 ++++ .../Terminal.Gui/Terminal.Gui.ComboBox.html | 20 +- ...nal.Gui.ConsoleDriver.DiagnosticFlags.html | 11 +- .../Terminal.Gui.ConsoleDriver.html | 210 +- .../Terminal.Gui.CursorVisibility.html | 192 ++ .../Terminal.Gui/Terminal.Gui.DateField.html | 29 +- .../Terminal.Gui.DateTimeEventArgs-1.html | 9 +- .../api/Terminal.Gui/Terminal.Gui.Dialog.html | 22 +- docs/api/Terminal.Gui/Terminal.Gui.Dim.html | 9 +- .../Terminal.Gui.DisplayModeLayout.html | 9 +- .../Terminal.Gui.FakeConsole.html | 9 +- .../Terminal.Gui/Terminal.Gui.FakeDriver.html | 295 ++- ...op.html => Terminal.Gui.FakeMainLoop.html} | 55 +- .../Terminal.Gui/Terminal.Gui.FileDialog.html | 22 +- .../Terminal.Gui/Terminal.Gui.FrameView.html | 69 +- .../Terminal.Gui/Terminal.Gui.HexView.html | 47 +- .../Terminal.Gui.IListDataSource.html | 47 +- .../Terminal.Gui.IMainLoopDriver.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.Key.html | 9 +- .../Terminal.Gui/Terminal.Gui.KeyEvent.html | 9 +- .../Terminal.Gui.KeyModifiers.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.Label.html | 69 +- .../Terminal.Gui.LayoutStyle.html | 9 +- .../Terminal.Gui/Terminal.Gui.ListView.html | 192 +- .../Terminal.Gui.ListViewItemEventArgs.html | 13 +- .../Terminal.Gui.ListWrapper.html | 45 +- .../Terminal.Gui/Terminal.Gui.MainLoop.html | 9 +- .../Terminal.Gui/Terminal.Gui.MenuBar.html | 69 +- .../Terminal.Gui.MenuBarItem.html | 48 +- .../Terminal.Gui/Terminal.Gui.MenuItem.html | 9 +- .../Terminal.Gui.MenuItemCheckStyle.html | 9 +- .../Terminal.Gui/Terminal.Gui.MessageBox.html | 9 +- .../Terminal.Gui/Terminal.Gui.MouseEvent.html | 9 +- .../Terminal.Gui/Terminal.Gui.MouseFlags.html | 9 +- .../Terminal.Gui/Terminal.Gui.OpenDialog.html | 22 +- docs/api/Terminal.Gui/Terminal.Gui.Point.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.Pos.html | 9 +- .../Terminal.Gui.ProgressBar.html | 69 +- ...ui.RadioGroup.SelectedItemChangedArgs.html | 9 +- .../Terminal.Gui/Terminal.Gui.RadioGroup.html | 69 +- docs/api/Terminal.Gui/Terminal.Gui.Rect.html | 9 +- .../Terminal.Gui/Terminal.Gui.Responder.html | 9 +- .../Terminal.Gui/Terminal.Gui.SaveDialog.html | 22 +- .../Terminal.Gui.ScrollBarView.html | 258 ++- .../Terminal.Gui/Terminal.Gui.ScrollView.html | 71 +- ...inal.Gui.SelectedCellChangedEventArgs.html | 353 +++ .../Terminal.Gui.ShortcutHelper.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.Size.html | 9 +- .../Terminal.Gui/Terminal.Gui.StatusBar.html | 69 +- .../Terminal.Gui/Terminal.Gui.StatusItem.html | 9 +- .../Terminal.Gui.TableSelection.html | 253 +++ .../Terminal.Gui/Terminal.Gui.TableStyle.html | 415 ++++ .../Terminal.Gui/Terminal.Gui.TableView.html | 1498 ++++++++++++ .../Terminal.Gui.TextAlignment.html | 9 +- .../Terminal.Gui.TextChangingEventArgs.html | 9 +- .../Terminal.Gui/Terminal.Gui.TextField.html | 96 +- .../Terminal.Gui.TextFormatter.html | 9 +- .../Terminal.Gui/Terminal.Gui.TextView.html | 263 ++- .../Terminal.Gui/Terminal.Gui.TimeField.html | 29 +- .../Terminal.Gui/Terminal.Gui.Toplevel.html | 28 +- .../Terminal.Gui.View.FocusEventArgs.html | 9 +- .../Terminal.Gui.View.KeyEventEventArgs.html | 9 +- .../Terminal.Gui.View.LayoutEventArgs.html | 9 +- .../Terminal.Gui.View.MouseEventArgs.html | 9 +- docs/api/Terminal.Gui/Terminal.Gui.View.html | 146 +- .../api/Terminal.Gui/Terminal.Gui.Window.html | 20 +- docs/api/Terminal.Gui/Terminal.Gui.html | 51 +- .../Unix.Terminal.Curses.Event.html | 9 +- .../Unix.Terminal.Curses.MouseEvent.html | 9 +- .../Unix.Terminal.Curses.Window.html | 9 +- .../Terminal.Gui/Unix.Terminal.Curses.html | 51 +- docs/api/Terminal.Gui/Unix.Terminal.html | 9 +- docs/api/Terminal.Gui/toc.html | 27 +- docs/api/UICatalog/UICatalog.Binding.html | 9 +- .../UICatalog.DynamicMenuBarDetails.html | 26 +- .../UICatalog.DynamicMenuBarSample.html | 20 +- .../UICatalog/UICatalog.DynamicMenuItem.html | 9 +- .../UICatalog.DynamicMenuItemList.html | 9 +- .../UICatalog.DynamicMenuItemModel.html | 9 +- .../UICatalog/UICatalog.IValueConverter.html | 9 +- .../UICatalog.ListWrapperConverter.html | 9 +- .../UICatalog/UICatalog.NumberToWords.html | 9 +- .../UICatalog.Scenario.ScenarioCategory.html | 9 +- .../UICatalog.Scenario.ScenarioMetadata.html | 9 +- docs/api/UICatalog/UICatalog.Scenario.html | 11 +- .../UICatalog.Scenarios.CsvEditor.html | 221 ++ .../UICatalog.Scenarios.TableEditor.html | 317 +++ docs/api/UICatalog/UICatalog.Scenarios.html | 130 ++ .../api/UICatalog/UICatalog.UICatalogApp.html | 9 +- .../UICatalog.UStringValueConverter.html | 9 +- docs/api/UICatalog/UICatalog.html | 9 +- docs/api/UICatalog/toc.html | 13 + docs/articles/index.html | 9 +- docs/articles/keyboard.html | 9 +- docs/articles/mainloop.html | 9 +- docs/articles/overview.html | 9 +- docs/articles/tableview.html | 148 ++ docs/articles/views.html | 9 +- docs/index.html | 10 +- docs/index.json | 145 +- docs/manifest.json | 362 ++- docs/styles/docfx.js | 25 +- docs/styles/docfx.vendor.css | 176 +- docs/styles/docfx.vendor.js | 17 +- docs/xrefmap.yml | 2020 +++++++++++++++-- 117 files changed, 9456 insertions(+), 1053 deletions(-) create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.ColumnStyle.html create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.CursorVisibility.html rename docs/api/Terminal.Gui/{Terminal.Gui.NetMainLoop.html => Terminal.Gui.FakeMainLoop.html} (76%) create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.TableSelection.html create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.TableStyle.html create mode 100644 docs/api/Terminal.Gui/Terminal.Gui.TableView.html create mode 100644 docs/api/UICatalog/UICatalog.Scenarios.CsvEditor.html create mode 100644 docs/api/UICatalog/UICatalog.Scenarios.TableEditor.html create mode 100644 docs/api/UICatalog/UICatalog.Scenarios.html create mode 100644 docs/articles/tableview.html diff --git a/docs/README.html b/docs/README.html index f352cdeb1..095687bdb 100644 --- a/docs/README.html +++ b/docs/README.html @@ -8,7 +8,7 @@ To Generate the Docs - + @@ -59,11 +59,11 @@
-
+
Search Results for

-
    +
      diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html index 94fb9b59a..f0513df6b 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
      -
      +
      Search Results for

      -
        +
          diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Application.RunState.html b/docs/api/Terminal.Gui/Terminal.Gui.Application.RunState.html index e1ee0cadd..7487d41f9 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Application.RunState.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Application.RunState.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
          -
          +
          Search Results for

          -
            +
              diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Application.html b/docs/api/Terminal.Gui/Terminal.Gui.Application.html index 8be91e8a4..c435791da 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Application.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Application.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
              -
              +
              Search Results for

              -
                +
                  @@ -627,7 +654,7 @@ Stops running the most recent
                  Remarks

                  -This will cause Run() to return. +This will cause Run(Func<Exception, Boolean>) to return.

                  Calling RequestStop() is equivalent to setting the Running property on the curently running Toplevel to false. @@ -636,26 +663,43 @@ This will cause -

                  Run()

                  +

                  Run(Func<Exception, Boolean>)

                  -Runs the application by calling Run(Toplevel) with the value of Top +Runs the application by calling Run(Toplevel, Func<Exception, Boolean>) with the value of Top
                  Declaration
                  -
                  public static void Run()
                  +
                  public static void Run(Func<Exception, bool> errorHandler = null)
                  +
                  Parameters
                  + + + + + + + + + + + + + + + +
                  TypeNameDescription
                  System.Func<System.Exception, System.Boolean>errorHandler
                  -

                  Run(Toplevel)

                  +

                  Run(Toplevel, Func<Exception, Boolean>)

                  Runs the main loop on the given Toplevel container.
                  Declaration
                  -
                  public static void Run(Toplevel view)
                  +
                  public static void Run(Toplevel view, Func<Exception, bool> errorHandler = null)
                  Parameters
                  @@ -672,9 +716,14 @@ Runs the main loop on the given view + + + + +
                  The Toplevel tu run modally.
                  System.Func<System.Exception, System.Boolean>errorHandlerHandler for any unhandled exceptions (resumes when returns true, rethrows when null).
                  -
                  Remarks
                  +
                  Remarks

                  This method is used to start processing events @@ -682,10 +731,10 @@ Runs the main loop on the given Views such as Dialog boxes.

                  - To make a Run(Toplevel) stop execution, call RequestStop(). + To make a Run(Toplevel, Func<Exception, Boolean>) stop execution, call RequestStop().

                  - Calling Run(Toplevel) is equivalent to calling Begin(Toplevel), followed by RunLoop(Application.RunState, Boolean), + Calling Run(Toplevel, Func<Exception, Boolean>) is equivalent to calling Begin(Toplevel), followed by RunLoop(Application.RunState, Boolean), and then calling End(Application.RunState).

                  @@ -695,20 +744,40 @@ Runs the main loop on the given RunLoop(Application.RunState, Boolean) method will only process any pending events, timers, idle handlers and then return control immediately.

                  +

                  + When errorHandler is null the exception is rethrown, when it returns true the application is resumed and when false method exits gracefully. +

                  -

                  Run<T>()

                  +

                  Run<T>(Func<Exception, Boolean>)

                  -Runs the application by calling Run(Toplevel) with a new instance of the specified Toplevel-derived class +Runs the application by calling Run(Toplevel, Func<Exception, Boolean>) with a new instance of the specified Toplevel-derived class
                  Declaration
                  -
                  public static void Run<T>()
                  +    
                  public static void Run<T>(Func<Exception, bool> errorHandler = null)
                       where T : Toplevel, new()
                  +
                  Parameters
                  + + + + + + + + + + + + + + + +
                  TypeNameDescription
                  System.Func<System.Exception, System.Boolean>errorHandler
                  Type Parameters
                  @@ -797,7 +866,8 @@ Releases the mouse grab, so mouse events will be routed to the view on which the diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Attribute.html b/docs/api/Terminal.Gui/Terminal.Gui.Attribute.html index def9dd1d1..6a50fd252 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Attribute.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Attribute.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                  -
                  +
                  Search Results for

                  -
                    +
                      + + + + + + + + + + + + +
                      TypeDescription
                      Color
                      + + + +

                      Foreground

                      +
                      +The foreground color. +
                      +
                      +
                      Declaration
                      +
                      +
                      public Color Foreground { get; }
                      +
                      +
                      Property Value
                      + + + + + + + + + + + + + +
                      TypeDescription
                      Color
                      + + + +

                      Value

                      +
                      +The color attribute value. +
                      +
                      +
                      Declaration
                      +
                      +
                      public int Value { get; }
                      +
                      +
                      Property Value
                      + + + + + + + + + + + + + +
                      TypeDescription
                      System.Int32

                      Methods

                      + +

                      Get()

                      +
                      +Gets the current Attribute from the driver. +
                      +
                      +
                      Declaration
                      +
                      +
                      public static Attribute Get()
                      +
                      +
                      Returns
                      + + + + + + + + + + + + + +
                      TypeDescription
                      AttributeThe current attribute.
                      + +

                      Make(Color, Color)

                      @@ -346,7 +456,8 @@ Implicit conversion from an A
                      diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Button.html b/docs/api/Terminal.Gui/Terminal.Gui.Button.html index 42c06ea0e..179819466 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Button.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Button.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                      -
                      +
                      Search Results for

                      -
                        +
                          diff --git a/docs/api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html new file mode 100644 index 000000000..d17b12dbf --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html @@ -0,0 +1,289 @@ +ο»Ώ + + + + + + + Class CellActivatedEventArgs + + + + + + + + + + + + + + + + +
                          +
                          + + + + +
                          +
                          + +
                          +
                          Search Results for
                          +
                          +

                          +
                          +
                            +
                            +
                            + + + +
                            + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.CheckBox.html b/docs/api/Terminal.Gui/Terminal.Gui.CheckBox.html index 3c0157f0c..1cd7607aa 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.CheckBox.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.CheckBox.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                            -
                            +
                            Search Results for

                            -
                              +
                                +
                                View.Add(View) @@ -264,9 +267,6 @@ The CheckBox View.OnRemoved(View)
                                - @@ -378,6 +378,12 @@ The CheckBox View.Visible + + @@ -653,6 +659,52 @@ Method invoked when a mouse event is generated + +

                                OnEnter(View)

                                +
                                +Method invoked when a view gets focus. +
                                +
                                +
                                Declaration
                                +
                                +
                                public override bool OnEnter(View view)
                                +
                                +
                                Parameters
                                + + + + + + + + + + + + + + + +
                                TypeNameDescription
                                ViewviewThe view that is losing focus.
                                +
                                Returns
                                + + + + + + + + + + + + + +
                                TypeDescription
                                System.Booleantrue, if the event was handled, false otherwise.
                                +
                                Overrides
                                + + +

                                OnToggled(Boolean)

                                @@ -859,7 +911,8 @@ the mouse or the keyboard. The passed bool contains the previous st
                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Clipboard.html b/docs/api/Terminal.Gui/Terminal.Gui.Clipboard.html index e62052f4f..4a786befa 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Clipboard.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Clipboard.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                -
                                +
                                Search Results for

                                -
                                  +
                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Color.html b/docs/api/Terminal.Gui/Terminal.Gui.Color.html index 8ca42b862..6fa3891e2 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Color.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Color.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                    -
                                    +
                                    Search Results for

                                    -
                                      +
                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ColorScheme.html b/docs/api/Terminal.Gui/Terminal.Gui.ColorScheme.html index 6ea373c78..fee73fd04 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ColorScheme.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ColorScheme.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                        -
                                        +
                                        Search Results for

                                        -
                                          +
                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Colors.html b/docs/api/Terminal.Gui/Terminal.Gui.Colors.html index 4b1bc1210..1b403a859 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Colors.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Colors.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                            -
                                            +
                                            Search Results for

                                            -
                                              +
                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ColumnStyle.html b/docs/api/Terminal.Gui/Terminal.Gui.ColumnStyle.html new file mode 100644 index 000000000..e5775c287 --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.ColumnStyle.html @@ -0,0 +1,415 @@ +ο»Ώ + + + + + + + Class ColumnStyle + + + + + + + + + + + + + + + + +
                                                +
                                                + + + + +
                                                +
                                                + +
                                                +
                                                Search Results for
                                                +
                                                +

                                                +
                                                +
                                                  +
                                                  +
                                                  + + + +
                                                  + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ComboBox.html b/docs/api/Terminal.Gui/Terminal.Gui.ComboBox.html index 0bb70f4bf..2adae07c3 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ComboBox.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ComboBox.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                  -
                                                  +
                                                  Search Results for

                                                  -
                                                    +
                                                      diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html b/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html index 8b9189cc5..0b0365d38 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                      -
                                                      +
                                                      Search Results for

                                                      -
                                                        +
                                                          diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html b/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html index d17797f53..f7ce08c43 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                          -
                                                          +
                                                          Search Results for

                                                          -
                                                            +
                                                              diff --git a/docs/api/Terminal.Gui/Terminal.Gui.CursorVisibility.html b/docs/api/Terminal.Gui/Terminal.Gui.CursorVisibility.html new file mode 100644 index 000000000..9e84dfb4f --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.CursorVisibility.html @@ -0,0 +1,192 @@ +ο»Ώ + + + + + + + Enum CursorVisibility + + + + + + + + + + + + + + + + +
                                                              +
                                                              + + + + +
                                                              +
                                                              + +
                                                              +
                                                              Search Results for
                                                              +
                                                              +

                                                              +
                                                              +
                                                                +
                                                                +
                                                                + + + +
                                                                + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.DateField.html b/docs/api/Terminal.Gui/Terminal.Gui.DateField.html index 879e8c028..13d294031 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.DateField.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.DateField.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                -
                                                                +
                                                                Search Results for

                                                                -
                                                                  +
                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html b/docs/api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html index 64f51fc36..99a7bfa20 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                    -
                                                                    +
                                                                    Search Results for

                                                                    -
                                                                      +
                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Dialog.html b/docs/api/Terminal.Gui/Terminal.Gui.Dialog.html index d75490387..8fa6356bd 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Dialog.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Dialog.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                        -
                                                                        +
                                                                        Search Results for

                                                                        -
                                                                          +
                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Dim.html b/docs/api/Terminal.Gui/Terminal.Gui.Dim.html index 1f6d5ca62..c15d229ff 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Dim.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Dim.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                            -
                                                                            +
                                                                            Search Results for

                                                                            -
                                                                              +
                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.DisplayModeLayout.html b/docs/api/Terminal.Gui/Terminal.Gui.DisplayModeLayout.html index 4cb2d0cc3..d26c01117 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.DisplayModeLayout.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.DisplayModeLayout.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                -
                                                                                +
                                                                                Search Results for

                                                                                -
                                                                                  +
                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.FakeConsole.html b/docs/api/Terminal.Gui/Terminal.Gui.FakeConsole.html index 8e6950ed7..8db73e4c9 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.FakeConsole.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.FakeConsole.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                    -
                                                                                    +
                                                                                    Search Results for

                                                                                    -
                                                                                      +
                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.FakeDriver.html b/docs/api/Terminal.Gui/Terminal.Gui.FakeDriver.html index 72a315fb7..63886d8ff 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.FakeDriver.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.FakeDriver.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                        -
                                                                                        +
                                                                                        Search Results for

                                                                                        -
                                                                                          +
                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MenuBar.html b/docs/api/Terminal.Gui/Terminal.Gui.MenuBar.html index 412d8e8cf..b6cf92613 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MenuBar.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MenuBar.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                            -
                                                                                            +
                                                                                            Search Results for

                                                                                            -
                                                                                              +
                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MenuBarItem.html b/docs/api/Terminal.Gui/Terminal.Gui.MenuBarItem.html index 27c0fb7a6..ac6a15ead 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MenuBarItem.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MenuBarItem.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                -
                                                                                                +
                                                                                                Search Results for

                                                                                                -
                                                                                                  +
                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MenuItem.html b/docs/api/Terminal.Gui/Terminal.Gui.MenuItem.html index c98e96ec5..af86741a3 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MenuItem.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MenuItem.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                    -
                                                                                                    +
                                                                                                    Search Results for

                                                                                                    -
                                                                                                      +
                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MenuItemCheckStyle.html b/docs/api/Terminal.Gui/Terminal.Gui.MenuItemCheckStyle.html index 64e549f20..45fdc78ca 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MenuItemCheckStyle.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MenuItemCheckStyle.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                        -
                                                                                                        +
                                                                                                        Search Results for

                                                                                                        -
                                                                                                          +
                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MessageBox.html b/docs/api/Terminal.Gui/Terminal.Gui.MessageBox.html index eae43c750..71a8b6119 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MessageBox.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MessageBox.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                            -
                                                                                                            +
                                                                                                            Search Results for

                                                                                                            -
                                                                                                              +
                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MouseEvent.html b/docs/api/Terminal.Gui/Terminal.Gui.MouseEvent.html index cc6beaf10..e5e850a3c 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MouseEvent.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MouseEvent.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                -
                                                                                                                +
                                                                                                                Search Results for

                                                                                                                -
                                                                                                                  +
                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.MouseFlags.html b/docs/api/Terminal.Gui/Terminal.Gui.MouseFlags.html index 5496e0460..e43294159 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.MouseFlags.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.MouseFlags.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                    -
                                                                                                                    +
                                                                                                                    Search Results for

                                                                                                                    -
                                                                                                                      +
                                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.OpenDialog.html b/docs/api/Terminal.Gui/Terminal.Gui.OpenDialog.html index 9b5f847e3..21a1278e5 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.OpenDialog.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.OpenDialog.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                        -
                                                                                                                        +
                                                                                                                        Search Results for

                                                                                                                        -
                                                                                                                          +
                                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Point.html b/docs/api/Terminal.Gui/Terminal.Gui.Point.html index d5765111b..f8b0960fd 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Point.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Point.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                            -
                                                                                                                            +
                                                                                                                            Search Results for

                                                                                                                            -
                                                                                                                              +
                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Pos.html b/docs/api/Terminal.Gui/Terminal.Gui.Pos.html index bfd935dcc..9b6962d25 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Pos.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Pos.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                -
                                                                                                                                +
                                                                                                                                Search Results for

                                                                                                                                -
                                                                                                                                  +
                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ProgressBar.html b/docs/api/Terminal.Gui/Terminal.Gui.ProgressBar.html index 9de0225c7..c92b2a035 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ProgressBar.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ProgressBar.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                    -
                                                                                                                                    +
                                                                                                                                    Search Results for

                                                                                                                                    -
                                                                                                                                      +
                                                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html index 35e3b0f7b..55a38f941 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                        -
                                                                                                                                        +
                                                                                                                                        Search Results for

                                                                                                                                        -
                                                                                                                                          +
                                                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.html b/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.html index c07f8aabe..3c6d5142f 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.RadioGroup.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                            -
                                                                                                                                            +
                                                                                                                                            Search Results for

                                                                                                                                            -
                                                                                                                                              +
                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Rect.html b/docs/api/Terminal.Gui/Terminal.Gui.Rect.html index 0f1b8b100..ff88db163 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Rect.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Rect.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                -
                                                                                                                                                +
                                                                                                                                                Search Results for

                                                                                                                                                -
                                                                                                                                                  +
                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Responder.html b/docs/api/Terminal.Gui/Terminal.Gui.Responder.html index fb64201d8..8e7cbc87c 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Responder.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Responder.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                    -
                                                                                                                                                    +
                                                                                                                                                    Search Results for

                                                                                                                                                    -
                                                                                                                                                      +
                                                                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.SaveDialog.html b/docs/api/Terminal.Gui/Terminal.Gui.SaveDialog.html index c2798fedc..70a36f7ba 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.SaveDialog.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.SaveDialog.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                        -
                                                                                                                                                        +
                                                                                                                                                        Search Results for

                                                                                                                                                        -
                                                                                                                                                          +
                                                                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ScrollBarView.html b/docs/api/Terminal.Gui/Terminal.Gui.ScrollBarView.html index f9d25d7ae..ff4686b77 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ScrollBarView.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ScrollBarView.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                            -
                                                                                                                                                            +
                                                                                                                                                            Search Results for

                                                                                                                                                            -
                                                                                                                                                              +
                                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ScrollView.html b/docs/api/Terminal.Gui/Terminal.Gui.ScrollView.html index a49c193c4..a4462002c 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ScrollView.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ScrollView.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                -
                                                                                                                                                                +
                                                                                                                                                                Search Results for

                                                                                                                                                                -
                                                                                                                                                                  +
                                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html new file mode 100644 index 000000000..d0f3f9884 --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html @@ -0,0 +1,353 @@ +ο»Ώ + + + + + + + Class SelectedCellChangedEventArgs + + + + + + + + + + + + + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    + + + + +
                                                                                                                                                                    +
                                                                                                                                                                    + +
                                                                                                                                                                    +
                                                                                                                                                                    Search Results for
                                                                                                                                                                    +
                                                                                                                                                                    +

                                                                                                                                                                    +
                                                                                                                                                                    +
                                                                                                                                                                      +
                                                                                                                                                                      +
                                                                                                                                                                      + + + +
                                                                                                                                                                      + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html b/docs/api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html index 65921925a..984ded4d1 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                      -
                                                                                                                                                                      +
                                                                                                                                                                      Search Results for

                                                                                                                                                                      -
                                                                                                                                                                        +
                                                                                                                                                                          diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Size.html b/docs/api/Terminal.Gui/Terminal.Gui.Size.html index 869643933..83daabc34 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Size.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Size.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                          -
                                                                                                                                                                          +
                                                                                                                                                                          Search Results for

                                                                                                                                                                          -
                                                                                                                                                                            +
                                                                                                                                                                              diff --git a/docs/api/Terminal.Gui/Terminal.Gui.StatusBar.html b/docs/api/Terminal.Gui/Terminal.Gui.StatusBar.html index f3d4d7484..e7ba3790d 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.StatusBar.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.StatusBar.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                              -
                                                                                                                                                                              +
                                                                                                                                                                              Search Results for

                                                                                                                                                                              -
                                                                                                                                                                                +
                                                                                                                                                                                  diff --git a/docs/api/Terminal.Gui/Terminal.Gui.StatusItem.html b/docs/api/Terminal.Gui/Terminal.Gui.StatusItem.html index 84c05c5fd..7b12453f3 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.StatusItem.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.StatusItem.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                  -
                                                                                                                                                                                  +
                                                                                                                                                                                  Search Results for

                                                                                                                                                                                  -
                                                                                                                                                                                    +
                                                                                                                                                                                      diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TableSelection.html b/docs/api/Terminal.Gui/Terminal.Gui.TableSelection.html new file mode 100644 index 000000000..e0a576a8e --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.TableSelection.html @@ -0,0 +1,253 @@ +ο»Ώ + + + + + + + Class TableSelection + + + + + + + + + + + + + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + + + + +
                                                                                                                                                                                      +
                                                                                                                                                                                      + +
                                                                                                                                                                                      +
                                                                                                                                                                                      Search Results for
                                                                                                                                                                                      +
                                                                                                                                                                                      +

                                                                                                                                                                                      +
                                                                                                                                                                                      +
                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + +
                                                                                                                                                                                        + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TableStyle.html b/docs/api/Terminal.Gui/Terminal.Gui.TableStyle.html new file mode 100644 index 000000000..0415df880 --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.TableStyle.html @@ -0,0 +1,415 @@ +ο»Ώ + + + + + + + Class TableStyle + + + + + + + + + + + + + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + + + + +
                                                                                                                                                                                        +
                                                                                                                                                                                        + +
                                                                                                                                                                                        +
                                                                                                                                                                                        Search Results for
                                                                                                                                                                                        +
                                                                                                                                                                                        +

                                                                                                                                                                                        +
                                                                                                                                                                                        +
                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + +
                                                                                                                                                                                          + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TableView.html b/docs/api/Terminal.Gui/Terminal.Gui.TableView.html new file mode 100644 index 000000000..d6313a510 --- /dev/null +++ b/docs/api/Terminal.Gui/Terminal.Gui.TableView.html @@ -0,0 +1,1498 @@ +ο»Ώ + + + + + + + Class TableView + + + + + + + + + + + + + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + + + + +
                                                                                                                                                                                          +
                                                                                                                                                                                          + +
                                                                                                                                                                                          +
                                                                                                                                                                                          Search Results for
                                                                                                                                                                                          +
                                                                                                                                                                                          +

                                                                                                                                                                                          +
                                                                                                                                                                                          +
                                                                                                                                                                                            +
                                                                                                                                                                                            +
                                                                                                                                                                                            + + + +
                                                                                                                                                                                            + + + + + + diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TextAlignment.html b/docs/api/Terminal.Gui/Terminal.Gui.TextAlignment.html index b58844aaa..c872a32cd 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.TextAlignment.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.TextAlignment.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                            -
                                                                                                                                                                                            +
                                                                                                                                                                                            Search Results for

                                                                                                                                                                                            -
                                                                                                                                                                                              +
                                                                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TextChangingEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.TextChangingEventArgs.html index 5442c0915..ead52c961 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.TextChangingEventArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.TextChangingEventArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                -
                                                                                                                                                                                                +
                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                -
                                                                                                                                                                                                  +
                                                                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TextField.html b/docs/api/Terminal.Gui/Terminal.Gui.TextField.html index bcb1daad1..6fe7a87c1 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.TextField.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.TextField.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                    -
                                                                                                                                                                                                    +
                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                    -
                                                                                                                                                                                                      +
                                                                                                                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.TextView.html b/docs/api/Terminal.Gui/Terminal.Gui.TextView.html index 291b829ac..06ff96ac0 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.TextView.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.TextView.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                        -
                                                                                                                                                                                                        +
                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                        -
                                                                                                                                                                                                          +
                                                                                                                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html index d182fdec5..499e95cf9 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                            -
                                                                                                                                                                                                            +
                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                            -
                                                                                                                                                                                                              +
                                                                                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.View.LayoutEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.View.LayoutEventArgs.html index 1e47fe2b4..fdc3bbba8 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.View.LayoutEventArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.View.LayoutEventArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                -
                                                                                                                                                                                                                +
                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                -
                                                                                                                                                                                                                  +
                                                                                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Terminal.Gui.View.MouseEventArgs.html b/docs/api/Terminal.Gui/Terminal.Gui.View.MouseEventArgs.html index 3be3b0ebe..9e7431415 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.View.MouseEventArgs.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.View.MouseEventArgs.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                    -
                                                                                                                                                                                                                    +
                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                    -
                                                                                                                                                                                                                      +
                                                                                                                                                                                                                        diff --git a/docs/api/Terminal.Gui/Terminal.Gui.View.html b/docs/api/Terminal.Gui/Terminal.Gui.View.html index 96e00d35a..7f591b08b 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.View.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.View.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                        -
                                                                                                                                                                                                                        +
                                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                                        -
                                                                                                                                                                                                                          +
                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                            ChildNeedsDisplay()

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -Indicates that any child views (in the Subviews list) need to be repainted. -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            public void ChildNeedsDisplay()
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            - -

                                                                                                                                                                                                                            Clear()

                                                                                                                                                                                                                            @@ -1629,10 +1618,22 @@ Clears the specified region with the current color.
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            ClearLayoutNeeded()

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +Removes the Terminal.Gui.View.SetNeedsLayout setting on this view. +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            protected void ClearLayoutNeeded()
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            ClearNeedsDisplay()

                                                                                                                                                                                                                            -Removes the SetNeedsDisplay() and the ChildNeedsDisplay() setting on this view. +Removes the SetNeedsDisplay() and the Terminal.Gui.View.ChildNeedsDisplay() setting on this view.
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            @@ -2833,6 +2834,18 @@ Sends the specified subview to the front so it is the first view drawn + +

                                                                                                                                                                                                                            SetChildNeedsDisplay()

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +Indicates that any child views (in the Subviews list) need to be repainted. +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            public void SetChildNeedsDisplay()
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            SetClip(Rect)

                                                                                                                                                                                                                            @@ -2889,6 +2902,55 @@ Causes the specified view and the entire parent hierarchy to have the focused or
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            SetHeight(Int32, out Int32)

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +Calculate the height based on the Height settings. +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            public bool SetHeight(int desiredHeight, out int resultHeight)
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Parameters
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            TypeNameDescription
                                                                                                                                                                                                                            System.Int32desiredHeightThe desired height.
                                                                                                                                                                                                                            System.Int32resultHeightThe real result height.
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Returns
                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                            TypeDescription
                                                                                                                                                                                                                            System.BooleanTrue if the height can be directly assigned, false otherwise.
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            SetNeedsDisplay()

                                                                                                                                                                                                                            @@ -2930,6 +2992,55 @@ Flags the view-relative region on this View as needing to be repainted. + +

                                                                                                                                                                                                                            SetWidth(Int32, out Int32)

                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +Calculate the width based on the Width settings. +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Declaration
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            public bool SetWidth(int desiredWidth, out int resultWidth)
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Parameters
                                                                                                                                                                                                                            + + + + + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                            TypeNameDescription
                                                                                                                                                                                                                            System.Int32desiredWidthThe desired width.
                                                                                                                                                                                                                            System.Int32resultWidthThe real result width.
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Returns
                                                                                                                                                                                                                            + + + + + + + + + + + + + +
                                                                                                                                                                                                                            TypeDescription
                                                                                                                                                                                                                            System.BooleanTrue if the width can be directly assigned, false otherwise.
                                                                                                                                                                                                                            + +

                                                                                                                                                                                                                            ToString()

                                                                                                                                                                                                                            @@ -3362,7 +3473,8 @@ Event fired when a subview is being removed from this view.
                                                                                                                                                                                                                            diff --git a/docs/api/Terminal.Gui/Terminal.Gui.Window.html b/docs/api/Terminal.Gui/Terminal.Gui.Window.html index 6349dda2d..a4ce7238c 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.Window.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.Window.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                            -
                                                                                                                                                                                                                            +
                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                            -
                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                View.Add(View[]) @@ -401,6 +404,12 @@ A Toplevel View.Visible
                                                                                                                                                                                                                                + + @@ -889,7 +898,8 @@ Removes all subviews (children) added via - +
                                                                                                                                                                                                                                In This Article
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Terminal.Gui.html b/docs/api/Terminal.Gui/Terminal.Gui.html index ec1b4a8d4..47f963300 100644 --- a/docs/api/Terminal.Gui/Terminal.Gui.html +++ b/docs/api/Terminal.Gui/Terminal.Gui.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Unix.Terminal.Curses.Event.html b/docs/api/Terminal.Gui/Unix.Terminal.Curses.Event.html index 127f7b0b1..fa2c244e3 100644 --- a/docs/api/Terminal.Gui/Unix.Terminal.Curses.Event.html +++ b/docs/api/Terminal.Gui/Unix.Terminal.Curses.Event.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                        diff --git a/docs/api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html b/docs/api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html index 55cf4621e..d5a1a3e9f 100644 --- a/docs/api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html +++ b/docs/api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                            diff --git a/docs/api/Terminal.Gui/Unix.Terminal.Curses.Window.html b/docs/api/Terminal.Gui/Unix.Terminal.Curses.Window.html index 86458c0ad..676d6cfe4 100644 --- a/docs/api/Terminal.Gui/Unix.Terminal.Curses.Window.html +++ b/docs/api/Terminal.Gui/Unix.Terminal.Curses.Window.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                diff --git a/docs/api/Terminal.Gui/Unix.Terminal.Curses.html b/docs/api/Terminal.Gui/Unix.Terminal.Curses.html index 9ade1c2de..c67c545dc 100644 --- a/docs/api/Terminal.Gui/Unix.Terminal.Curses.html +++ b/docs/api/Terminal.Gui/Unix.Terminal.Curses.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                    diff --git a/docs/api/Terminal.Gui/Unix.Terminal.html b/docs/api/Terminal.Gui/Unix.Terminal.html index 7d14e5c09..7defe7728 100644 --- a/docs/api/Terminal.Gui/Unix.Terminal.html +++ b/docs/api/Terminal.Gui/Unix.Terminal.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                        diff --git a/docs/api/Terminal.Gui/toc.html b/docs/api/Terminal.Gui/toc.html index b3686702d..6b3b50532 100644 --- a/docs/api/Terminal.Gui/toc.html +++ b/docs/api/Terminal.Gui/toc.html @@ -32,6 +32,9 @@
                                                                                                                                                                                                                                                      • Button
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + CellActivatedEventArgs +
                                                                                                                                                                                                                                                      • CheckBox
                                                                                                                                                                                                                                                      • @@ -47,6 +50,9 @@
                                                                                                                                                                                                                                                      • ColorScheme
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + ColumnStyle +
                                                                                                                                                                                                                                                      • ComboBox
                                                                                                                                                                                                                                                      • @@ -56,6 +62,9 @@
                                                                                                                                                                                                                                                      • ConsoleDriver.DiagnosticFlags
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + CursorVisibility +
                                                                                                                                                                                                                                                      • DateField
                                                                                                                                                                                                                                                      • @@ -77,6 +86,9 @@
                                                                                                                                                                                                                                                      • FakeDriver
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + FakeMainLoop +
                                                                                                                                                                                                                                                      • FileDialog
                                                                                                                                                                                                                                                      • @@ -140,9 +152,6 @@
                                                                                                                                                                                                                                                      • MouseFlags
                                                                                                                                                                                                                                                      • -
                                                                                                                                                                                                                                                      • - NetMainLoop -
                                                                                                                                                                                                                                                      • OpenDialog
                                                                                                                                                                                                                                                      • @@ -176,6 +185,9 @@
                                                                                                                                                                                                                                                      • ScrollView
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + SelectedCellChangedEventArgs +
                                                                                                                                                                                                                                                      • ShortcutHelper
                                                                                                                                                                                                                                                      • @@ -188,6 +200,15 @@
                                                                                                                                                                                                                                                      • StatusItem
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + TableSelection +
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + TableStyle +
                                                                                                                                                                                                                                                      • +
                                                                                                                                                                                                                                                      • + TableView +
                                                                                                                                                                                                                                                      • TextAlignment
                                                                                                                                                                                                                                                      • diff --git a/docs/api/UICatalog/UICatalog.Binding.html b/docs/api/UICatalog/UICatalog.Binding.html index 219f7891f..ab426a9f7 100644 --- a/docs/api/UICatalog/UICatalog.Binding.html +++ b/docs/api/UICatalog/UICatalog.Binding.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                            diff --git a/docs/api/UICatalog/UICatalog.DynamicMenuBarDetails.html b/docs/api/UICatalog/UICatalog.DynamicMenuBarDetails.html index 8bda2b7da..b3e3396c4 100644 --- a/docs/api/UICatalog/UICatalog.DynamicMenuBarDetails.html +++ b/docs/api/UICatalog/UICatalog.DynamicMenuBarDetails.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                diff --git a/docs/api/UICatalog/UICatalog.DynamicMenuBarSample.html b/docs/api/UICatalog/UICatalog.DynamicMenuBarSample.html index 830c131ce..59e98b171 100644 --- a/docs/api/UICatalog/UICatalog.DynamicMenuBarSample.html +++ b/docs/api/UICatalog/UICatalog.DynamicMenuBarSample.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                    diff --git a/docs/api/UICatalog/UICatalog.DynamicMenuItem.html b/docs/api/UICatalog/UICatalog.DynamicMenuItem.html index a37e55248..4afe974fe 100644 --- a/docs/api/UICatalog/UICatalog.DynamicMenuItem.html +++ b/docs/api/UICatalog/UICatalog.DynamicMenuItem.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                        diff --git a/docs/api/UICatalog/UICatalog.DynamicMenuItemList.html b/docs/api/UICatalog/UICatalog.DynamicMenuItemList.html index 545e58036..a0f15d6ec 100644 --- a/docs/api/UICatalog/UICatalog.DynamicMenuItemList.html +++ b/docs/api/UICatalog/UICatalog.DynamicMenuItemList.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                            diff --git a/docs/api/UICatalog/UICatalog.DynamicMenuItemModel.html b/docs/api/UICatalog/UICatalog.DynamicMenuItemModel.html index bffe8fc23..9381333bf 100644 --- a/docs/api/UICatalog/UICatalog.DynamicMenuItemModel.html +++ b/docs/api/UICatalog/UICatalog.DynamicMenuItemModel.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                diff --git a/docs/api/UICatalog/UICatalog.IValueConverter.html b/docs/api/UICatalog/UICatalog.IValueConverter.html index 6127e9849..c4646c0e9 100644 --- a/docs/api/UICatalog/UICatalog.IValueConverter.html +++ b/docs/api/UICatalog/UICatalog.IValueConverter.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                    diff --git a/docs/api/UICatalog/UICatalog.ListWrapperConverter.html b/docs/api/UICatalog/UICatalog.ListWrapperConverter.html index 3f5c2ef2b..42bcec544 100644 --- a/docs/api/UICatalog/UICatalog.ListWrapperConverter.html +++ b/docs/api/UICatalog/UICatalog.ListWrapperConverter.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                        diff --git a/docs/api/UICatalog/UICatalog.NumberToWords.html b/docs/api/UICatalog/UICatalog.NumberToWords.html index 66fe8985c..0d27b170e 100644 --- a/docs/api/UICatalog/UICatalog.NumberToWords.html +++ b/docs/api/UICatalog/UICatalog.NumberToWords.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                        Search Results for

                                                                                                                                                                                                                                                                                        -
                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                            diff --git a/docs/api/UICatalog/UICatalog.Scenario.ScenarioCategory.html b/docs/api/UICatalog/UICatalog.Scenario.ScenarioCategory.html index 87a11597e..69175b084 100644 --- a/docs/api/UICatalog/UICatalog.Scenario.ScenarioCategory.html +++ b/docs/api/UICatalog/UICatalog.Scenario.ScenarioCategory.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                diff --git a/docs/api/UICatalog/UICatalog.Scenario.ScenarioMetadata.html b/docs/api/UICatalog/UICatalog.Scenario.ScenarioMetadata.html index 1171a33c6..d8e32b065 100644 --- a/docs/api/UICatalog/UICatalog.Scenario.ScenarioMetadata.html +++ b/docs/api/UICatalog/UICatalog.Scenario.ScenarioMetadata.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                    diff --git a/docs/api/UICatalog/UICatalog.Scenario.html b/docs/api/UICatalog/UICatalog.Scenario.html index 68745da7b..04a18a709 100644 --- a/docs/api/UICatalog/UICatalog.Scenario.html +++ b/docs/api/UICatalog/UICatalog.Scenario.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                    Search Results for

                                                                                                                                                                                                                                                                                                    -
                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                        Implements
                                                                                                                                                                                                                                                                                                        @@ -490,7 +492,8 @@ Overrides that do not call the base. - +
                                                                                                                                                                                                                                                                                                        In This Article
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        diff --git a/docs/api/UICatalog/UICatalog.Scenarios.CsvEditor.html b/docs/api/UICatalog/UICatalog.Scenarios.CsvEditor.html new file mode 100644 index 000000000..852cca572 --- /dev/null +++ b/docs/api/UICatalog/UICatalog.Scenarios.CsvEditor.html @@ -0,0 +1,221 @@ +ο»Ώ + + + + + + + Class CsvEditor + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + + + + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        + +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        Search Results for
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +

                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + + +
                                                                                                                                                                                                                                                                                                          + + + + + + diff --git a/docs/api/UICatalog/UICatalog.Scenarios.TableEditor.html b/docs/api/UICatalog/UICatalog.Scenarios.TableEditor.html new file mode 100644 index 000000000..de2917954 --- /dev/null +++ b/docs/api/UICatalog/UICatalog.Scenarios.TableEditor.html @@ -0,0 +1,317 @@ +ο»Ώ + + + + + + + Class TableEditor + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          Search Results for
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                            + + + + + + diff --git a/docs/api/UICatalog/UICatalog.Scenarios.html b/docs/api/UICatalog/UICatalog.Scenarios.html new file mode 100644 index 000000000..fc1c32381 --- /dev/null +++ b/docs/api/UICatalog/UICatalog.Scenarios.html @@ -0,0 +1,130 @@ +ο»Ώ + + + + + + + Namespace UICatalog.Scenarios + + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + + + + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            + +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            Search Results for
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +

                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              + + + +
                                                                                                                                                                                                                                                                                                              + + + + + + diff --git a/docs/api/UICatalog/UICatalog.UICatalogApp.html b/docs/api/UICatalog/UICatalog.UICatalogApp.html index 1bf6f42ce..50a5341a3 100644 --- a/docs/api/UICatalog/UICatalog.UICatalogApp.html +++ b/docs/api/UICatalog/UICatalog.UICatalogApp.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                              Search Results for

                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                  diff --git a/docs/api/UICatalog/UICatalog.UStringValueConverter.html b/docs/api/UICatalog/UICatalog.UStringValueConverter.html index c576a8efb..dc047986f 100644 --- a/docs/api/UICatalog/UICatalog.UStringValueConverter.html +++ b/docs/api/UICatalog/UICatalog.UStringValueConverter.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                  Search Results for

                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                      diff --git a/docs/api/UICatalog/UICatalog.html b/docs/api/UICatalog/UICatalog.html index 3d96b3693..41f58e21a 100644 --- a/docs/api/UICatalog/UICatalog.html +++ b/docs/api/UICatalog/UICatalog.html @@ -10,7 +10,7 @@ - + @@ -61,11 +61,11 @@
                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                      Search Results for

                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                          diff --git a/docs/api/UICatalog/toc.html b/docs/api/UICatalog/toc.html index 0010c3190..c1774df6d 100644 --- a/docs/api/UICatalog/toc.html +++ b/docs/api/UICatalog/toc.html @@ -61,6 +61,19 @@ +
                                                                                                                                                                                                                                                                                                                        • + + UICatalog.Scenarios + + +
                                                                                                                                                                                                                                                                                                                        • diff --git a/docs/articles/index.html b/docs/articles/index.html index a61411078..a2a241a34 100644 --- a/docs/articles/index.html +++ b/docs/articles/index.html @@ -8,7 +8,7 @@ Conceptual Documentation - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                          Search Results for

                                                                                                                                                                                                                                                                                                                          -
                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                              diff --git a/docs/articles/keyboard.html b/docs/articles/keyboard.html index 1955c7282..ca285c74f 100644 --- a/docs/articles/keyboard.html +++ b/docs/articles/keyboard.html @@ -8,7 +8,7 @@ Keyboard Event Processing - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                              Search Results for

                                                                                                                                                                                                                                                                                                                              -
                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                  diff --git a/docs/articles/mainloop.html b/docs/articles/mainloop.html index 9f9d003d3..897daca6a 100644 --- a/docs/articles/mainloop.html +++ b/docs/articles/mainloop.html @@ -8,7 +8,7 @@ Event Processing and the Application Main Loop - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                  Search Results for

                                                                                                                                                                                                                                                                                                                                  -
                                                                                                                                                                                                                                                                                                                                    +
                                                                                                                                                                                                                                                                                                                                      diff --git a/docs/articles/overview.html b/docs/articles/overview.html index 09e8738c3..5bc406495 100644 --- a/docs/articles/overview.html +++ b/docs/articles/overview.html @@ -8,7 +8,7 @@ Terminal.Gui API Overview - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                      +
                                                                                                                                                                                                                                                                                                                                      Search Results for

                                                                                                                                                                                                                                                                                                                                      -
                                                                                                                                                                                                                                                                                                                                        +
                                                                                                                                                                                                                                                                                                                                          diff --git a/docs/articles/tableview.html b/docs/articles/tableview.html new file mode 100644 index 000000000..ea34f57a1 --- /dev/null +++ b/docs/articles/tableview.html @@ -0,0 +1,148 @@ +ο»Ώ + + + + + + + Table View + + + + + + + + + + + + + + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + + + + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          + +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          Search Results for
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +

                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                          +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            + + + +
                                                                                                                                                                                                                                                                                                                                            + + + + + + diff --git a/docs/articles/views.html b/docs/articles/views.html index 4c672a718..b8efa749c 100644 --- a/docs/articles/views.html +++ b/docs/articles/views.html @@ -8,7 +8,7 @@ Views - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                                                            +
                                                                                                                                                                                                                                                                                                                                            Search Results for

                                                                                                                                                                                                                                                                                                                                            -
                                                                                                                                                                                                                                                                                                                                              +
                                                                                                                                                                                                                                                                                                                                                diff --git a/docs/index.html b/docs/index.html index a167c55f2..b7ca7fb1b 100644 --- a/docs/index.html +++ b/docs/index.html @@ -8,7 +8,7 @@ Terminal.Gui - Terminal UI toolkit for .NET - + @@ -59,11 +59,11 @@
                                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                                +
                                                                                                                                                                                                                                                                                                                                                Search Results for

                                                                                                                                                                                                                                                                                                                                                -
                                                                                                                                                                                                                                                                                                                                                  +
                                                                                                                                                                                                                                                                                                                                                    diff --git a/docs/index.json b/docs/index.json index 4798b2c3f..d9ea55828 100644 --- a/docs/index.json +++ b/docs/index.json @@ -2,7 +2,7 @@ "api/Terminal.Gui/Terminal.Gui.Application.html": { "href": "api/Terminal.Gui/Terminal.Gui.Application.html", "title": "Class Application", - "keywords": "Class Application A static, singelton class provding the main application driver for Terminal.Gui apps. Inheritance System.Object Application Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public static class Application Remarks Creates a instance of MainLoop to process input events, handle timers and other sources of data. It is accessible via the MainLoop property. You can hook up to the Iteration event to have your method invoked on each iteration of the MainLoop . When invoked sets the SynchronizationContext to one that is tied to the mainloop, allowing user code to use async/await. Examples // A simple Terminal.Gui app that creates a window with a frame and title with // 5 rows/columns of padding. Application.Init(); var win = new Window (\"Hello World - CTRL-Q to quit\") { X = 5, Y = 5, Width = Dim.Fill (5), Height = Dim.Fill (5) }; Application.Top.Add(win); Application.Run(); Fields Driver The current ConsoleDriver in use. Declaration public static ConsoleDriver Driver Field Value Type Description ConsoleDriver Iteration This event is raised on each iteration of the MainLoop Declaration public static Action Iteration Field Value Type Description System.Action Remarks See also System.Threading.Timeout Resized Invoked when the terminal was resized. The new size of the terminal is provided. Declaration public static Action Resized Field Value Type Description System.Action < Application.ResizedEventArgs > RootMouseEvent Merely a debugging aid to see the raw mouse events Declaration public static Action RootMouseEvent Field Value Type Description System.Action < MouseEvent > UseSystemConsole If set, it forces the use of the System.Console-based driver. Declaration public static bool UseSystemConsole Field Value Type Description System.Boolean Properties Current The current Toplevel object. This is updated when Run() enters and leaves to point to the current Toplevel . Declaration public static Toplevel Current { get; } Property Value Type Description Toplevel The current. CurrentView TThe current View object being redrawn. Declaration public static View CurrentView { get; set; } Property Value Type Description View The current. MainLoop The MainLoop driver for the application Declaration public static MainLoop MainLoop { get; } Property Value Type Description MainLoop The main loop. Top The Toplevel object used for the application on startup ( Top ) Declaration public static Toplevel Top { get; } Property Value Type Description Toplevel The top. Methods Begin(Toplevel) Building block API: Prepares the provided Toplevel for execution. Declaration public static Application.RunState Begin(Toplevel toplevel) Parameters Type Name Description Toplevel toplevel Toplevel to prepare execution for. Returns Type Description Application.RunState The runstate handle that needs to be passed to the End(Application.RunState) method upon completion. Remarks This method prepares the provided toplevel for running with the focus, it adds this to the list of toplevels, sets up the mainloop to process the event, lays out the subviews, focuses the first element, and draws the toplevel in the screen. This is usually followed by executing the RunLoop(Application.RunState, Boolean) method, and then the End(Application.RunState) method upon termination which will undo these changes. End(Application.RunState) Building block API: completes the execution of a Toplevel that was started with Begin(Toplevel) . Declaration public static void End(Application.RunState runState) Parameters Type Name Description Application.RunState runState The runstate returned by the Begin(Toplevel) method. GrabMouse(View) Grabs the mouse, forcing all mouse events to be routed to the specified view until UngrabMouse is called. Declaration public static void GrabMouse(View view) Parameters Type Name Description View view View that will receive all mouse events until UngrabMouse is invoked. Init(ConsoleDriver, IMainLoopDriver) Initializes a new instance of Terminal.Gui Application. Declaration public static void Init(ConsoleDriver driver = null, IMainLoopDriver mainLoopDriver = null) Parameters Type Name Description ConsoleDriver driver IMainLoopDriver mainLoopDriver Remarks Call this method once per instance (or after Shutdown() has been called). Loads the right ConsoleDriver for the platform. Creates a Toplevel and assigns it to Top and CurrentView MakeCenteredRect(Size) Returns a rectangle that is centered in the screen for the provided size. Declaration public static Rect MakeCenteredRect(Size size) Parameters Type Name Description Size size Size for the rectangle. Returns Type Description Rect The centered rect. Refresh() Triggers a refresh of the entire display. Declaration public static void Refresh() RequestStop() Stops running the most recent Toplevel . Declaration public static void RequestStop() Remarks This will cause Run() to return. Calling RequestStop() is equivalent to setting the Running property on the curently running Toplevel to false. Run() Runs the application by calling Run(Toplevel) with the value of Top Declaration public static void Run() Run(Toplevel) Runs the main loop on the given Toplevel container. Declaration public static void Run(Toplevel view) Parameters Type Name Description Toplevel view The Toplevel tu run modally. Remarks This method is used to start processing events for the main application, but it is also used to run other modal View s such as Dialog boxes. To make a Run(Toplevel) stop execution, call RequestStop() . Calling Run(Toplevel) is equivalent to calling Begin(Toplevel) , followed by RunLoop(Application.RunState, Boolean) , and then calling End(Application.RunState) . Alternatively, to have a program control the main loop and process events manually, call Begin(Toplevel) to set things up manually and then repeatedly call RunLoop(Application.RunState, Boolean) with the wait parameter set to false. By doing this the RunLoop(Application.RunState, Boolean) method will only process any pending events, timers, idle handlers and then return control immediately. Run() Runs the application by calling Run(Toplevel) with a new instance of the specified Toplevel -derived class Declaration public static void Run() where T : Toplevel, new() Type Parameters Name Description T RunLoop(Application.RunState, Boolean) Building block API: Runs the main loop for the created dialog Declaration public static void RunLoop(Application.RunState state, bool wait = true) Parameters Type Name Description Application.RunState state The state returned by the Begin method. System.Boolean wait By default this is true which will execute the runloop waiting for events, if you pass false, you can use this method to run a single iteration of the events. Remarks Use the wait parameter to control whether this is a blocking or non-blocking call. Shutdown() Shutdown an application initialized with Init(ConsoleDriver, IMainLoopDriver) Declaration public static void Shutdown() UngrabMouse() Releases the mouse grab, so mouse events will be routed to the view on which the mouse is. Declaration public static void UngrabMouse()" + "keywords": "Class Application A static, singelton class provding the main application driver for Terminal.Gui apps. Inheritance System.Object Application Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public static class Application Remarks Creates a instance of MainLoop to process input events, handle timers and other sources of data. It is accessible via the MainLoop property. You can hook up to the Iteration event to have your method invoked on each iteration of the MainLoop . When invoked sets the SynchronizationContext to one that is tied to the mainloop, allowing user code to use async/await. Examples // A simple Terminal.Gui app that creates a window with a frame and title with // 5 rows/columns of padding. Application.Init(); var win = new Window (\"Hello World - CTRL-Q to quit\") { X = 5, Y = 5, Width = Dim.Fill (5), Height = Dim.Fill (5) }; Application.Top.Add(win); Application.Run(); Fields Driver The current ConsoleDriver in use. Declaration public static ConsoleDriver Driver Field Value Type Description ConsoleDriver Iteration This event is raised on each iteration of the MainLoop Declaration public static Action Iteration Field Value Type Description System.Action Remarks See also System.Threading.Timeout Resized Invoked when the terminal was resized. The new size of the terminal is provided. Declaration public static Action Resized Field Value Type Description System.Action < Application.ResizedEventArgs > RootMouseEvent Merely a debugging aid to see the raw mouse events Declaration public static Action RootMouseEvent Field Value Type Description System.Action < MouseEvent > UseSystemConsole If set, it forces the use of the System.Console-based driver. Declaration public static bool UseSystemConsole Field Value Type Description System.Boolean Properties AlwaysSetPosition Used only by Terminal.Gui.NetDriver to forcing always moving the cursor position when writing to the screen. Declaration public static bool AlwaysSetPosition { get; set; } Property Value Type Description System.Boolean Current The current Toplevel object. This is updated when Run(Func) enters and leaves to point to the current Toplevel . Declaration public static Toplevel Current { get; } Property Value Type Description Toplevel The current. HeightAsBuffer The current HeightAsBuffer used in the terminal. Declaration public static bool HeightAsBuffer { get; set; } Property Value Type Description System.Boolean MainLoop The MainLoop driver for the application Declaration public static MainLoop MainLoop { get; } Property Value Type Description MainLoop The main loop. Top The Toplevel object used for the application on startup ( Top ) Declaration public static Toplevel Top { get; } Property Value Type Description Toplevel The top. Methods Begin(Toplevel) Building block API: Prepares the provided Toplevel for execution. Declaration public static Application.RunState Begin(Toplevel toplevel) Parameters Type Name Description Toplevel toplevel Toplevel to prepare execution for. Returns Type Description Application.RunState The runstate handle that needs to be passed to the End(Application.RunState) method upon completion. Remarks This method prepares the provided toplevel for running with the focus, it adds this to the list of toplevels, sets up the mainloop to process the event, lays out the subviews, focuses the first element, and draws the toplevel in the screen. This is usually followed by executing the RunLoop(Application.RunState, Boolean) method, and then the End(Application.RunState) method upon termination which will undo these changes. End(Application.RunState) Building block API: completes the execution of a Toplevel that was started with Begin(Toplevel) . Declaration public static void End(Application.RunState runState) Parameters Type Name Description Application.RunState runState The runstate returned by the Begin(Toplevel) method. GrabMouse(View) Grabs the mouse, forcing all mouse events to be routed to the specified view until UngrabMouse is called. Declaration public static void GrabMouse(View view) Parameters Type Name Description View view View that will receive all mouse events until UngrabMouse is invoked. Init(ConsoleDriver, IMainLoopDriver) Initializes a new instance of Terminal.Gui Application. Declaration public static void Init(ConsoleDriver driver = null, IMainLoopDriver mainLoopDriver = null) Parameters Type Name Description ConsoleDriver driver IMainLoopDriver mainLoopDriver Remarks Call this method once per instance (or after Shutdown() has been called). Loads the right ConsoleDriver for the platform. Creates a Toplevel and assigns it to Top MakeCenteredRect(Size) Returns a rectangle that is centered in the screen for the provided size. Declaration public static Rect MakeCenteredRect(Size size) Parameters Type Name Description Size size Size for the rectangle. Returns Type Description Rect The centered rect. Refresh() Triggers a refresh of the entire display. Declaration public static void Refresh() RequestStop() Stops running the most recent Toplevel . Declaration public static void RequestStop() Remarks This will cause Run(Func) to return. Calling RequestStop() is equivalent to setting the Running property on the curently running Toplevel to false. Run(Func) Runs the application by calling Run(Toplevel, Func) with the value of Top Declaration public static void Run(Func errorHandler = null) Parameters Type Name Description System.Func < System.Exception , System.Boolean > errorHandler Run(Toplevel, Func) Runs the main loop on the given Toplevel container. Declaration public static void Run(Toplevel view, Func errorHandler = null) Parameters Type Name Description Toplevel view The Toplevel tu run modally. System.Func < System.Exception , System.Boolean > errorHandler Handler for any unhandled exceptions (resumes when returns true, rethrows when null). Remarks This method is used to start processing events for the main application, but it is also used to run other modal View s such as Dialog boxes. To make a Run(Toplevel, Func) stop execution, call RequestStop() . Calling Run(Toplevel, Func) is equivalent to calling Begin(Toplevel) , followed by RunLoop(Application.RunState, Boolean) , and then calling End(Application.RunState) . Alternatively, to have a program control the main loop and process events manually, call Begin(Toplevel) to set things up manually and then repeatedly call RunLoop(Application.RunState, Boolean) with the wait parameter set to false. By doing this the RunLoop(Application.RunState, Boolean) method will only process any pending events, timers, idle handlers and then return control immediately. When errorHandler is null the exception is rethrown, when it returns true the application is resumed and when false method exits gracefully. Run(Func) Runs the application by calling Run(Toplevel, Func) with a new instance of the specified Toplevel -derived class Declaration public static void Run(Func errorHandler = null) where T : Toplevel, new() Parameters Type Name Description System.Func < System.Exception , System.Boolean > errorHandler Type Parameters Name Description T RunLoop(Application.RunState, Boolean) Building block API: Runs the main loop for the created dialog Declaration public static void RunLoop(Application.RunState state, bool wait = true) Parameters Type Name Description Application.RunState state The state returned by the Begin method. System.Boolean wait By default this is true which will execute the runloop waiting for events, if you pass false, you can use this method to run a single iteration of the events. Remarks Use the wait parameter to control whether this is a blocking or non-blocking call. Shutdown() Shutdown an application initialized with Init(ConsoleDriver, IMainLoopDriver) Declaration public static void Shutdown() UngrabMouse() Releases the mouse grab, so mouse events will be routed to the view on which the mouse is. Declaration public static void UngrabMouse()" }, "api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html": { "href": "api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html", @@ -17,17 +17,22 @@ "api/Terminal.Gui/Terminal.Gui.Attribute.html": { "href": "api/Terminal.Gui/Terminal.Gui.Attribute.html", "title": "Struct Attribute", - "keywords": "Struct Attribute Attributes are used as elements that contain both a foreground and a background or platform specific features Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public struct Attribute Remarks Attribute s are needed to map colors to terminal capabilities that might lack colors, on color scenarios, they encode both the foreground and the background color and are used in the ColorScheme class to define color schemes that can be used in your application. Constructors Attribute(Int32, Color, Color) Initializes a new instance of the Attribute struct. Declaration public Attribute(int value, Color foreground = Color.Black, Color background = Color.Black) Parameters Type Name Description System.Int32 value Value. Color foreground Foreground Color background Background Attribute(Color, Color) Initializes a new instance of the Attribute struct. Declaration public Attribute(Color foreground = Color.Black, Color background = Color.Black) Parameters Type Name Description Color foreground Foreground Color background Background Methods Make(Color, Color) Creates an Attribute from the specified foreground and background. Declaration public static Attribute Make(Color foreground, Color background) Parameters Type Name Description Color foreground Foreground color to use. Color background Background color to use. Returns Type Description Attribute The make. Operators Implicit(Int32 to Attribute) Implicitly convert an integer value into an Attribute Declaration public static implicit operator Attribute(int v) Parameters Type Name Description System.Int32 v value Returns Type Description Attribute An attribute with the specified integer value. Implicit(Attribute to Int32) Implicit conversion from an Attribute to the underlying Int32 representation Declaration public static implicit operator int (Attribute c) Parameters Type Name Description Attribute c The attribute to convert Returns Type Description System.Int32 The integer value stored in the attribute." + "keywords": "Struct Attribute Attributes are used as elements that contain both a foreground and a background or platform specific features Inherited Members System.ValueType.Equals(System.Object) System.ValueType.GetHashCode() System.ValueType.ToString() System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public struct Attribute Remarks Attribute s are needed to map colors to terminal capabilities that might lack colors, on color scenarios, they encode both the foreground and the background color and are used in the ColorScheme class to define color schemes that can be used in your application. Constructors Attribute(Int32, Color, Color) Initializes a new instance of the Attribute struct. Declaration public Attribute(int value, Color foreground = Color.Black, Color background = Color.Black) Parameters Type Name Description System.Int32 value Value. Color foreground Foreground Color background Background Attribute(Color, Color) Initializes a new instance of the Attribute struct. Declaration public Attribute(Color foreground = Color.Black, Color background = Color.Black) Parameters Type Name Description Color foreground Foreground Color background Background Properties Background The background color. Declaration public Color Background { get; } Property Value Type Description Color Foreground The foreground color. Declaration public Color Foreground { get; } Property Value Type Description Color Value The color attribute value. Declaration public int Value { get; } Property Value Type Description System.Int32 Methods Get() Gets the current Attribute from the driver. Declaration public static Attribute Get() Returns Type Description Attribute The current attribute. Make(Color, Color) Creates an Attribute from the specified foreground and background. Declaration public static Attribute Make(Color foreground, Color background) Parameters Type Name Description Color foreground Foreground color to use. Color background Background color to use. Returns Type Description Attribute The make. Operators Implicit(Int32 to Attribute) Implicitly convert an integer value into an Attribute Declaration public static implicit operator Attribute(int v) Parameters Type Name Description System.Int32 v value Returns Type Description Attribute An attribute with the specified integer value. Implicit(Attribute to Int32) Implicit conversion from an Attribute to the underlying Int32 representation Declaration public static implicit operator int (Attribute c) Parameters Type Name Description Attribute c The attribute to convert Returns Type Description System.Int32 The integer value stored in the attribute." }, "api/Terminal.Gui/Terminal.Gui.Button.html": { "href": "api/Terminal.Gui/Terminal.Gui.Button.html", "title": "Class Button", - "keywords": "Class Button Button is a View that provides an item that invokes an System.Action when activated by the user. Inheritance System.Object Responder View Button Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.Redraw(Rect) View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Button : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks Provides a button showing text invokes an System.Action when clicked on with a mouse or when the user presses SPACE, ENTER, or hotkey. The hotkey is the first letter or digit following the first underscore ('_') in the button text. Use HotKeySpecifier to change the hotkey specifier from the default of ('_'). If no hotkey specifier is found, the first uppercase letter encountered will be used as the hotkey. When the button is configured as the default ( IsDefault ) and the user presses the ENTER key, if no other View processes the KeyEvent , the Button 's System.Action will be invoked. Constructors Button() Initializes a new instance of Button using Computed layout. Declaration public Button() Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(ustring, Boolean) Initializes a new instance of Button using Computed layout. Declaration public Button(ustring text, bool is_default = false) Parameters Type Name Description NStack.ustring text The button's text System.Boolean is_default If true , a special decoration is used, and the user pressing the enter key in a Dialog will implicitly activate this button. Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(Int32, Int32, ustring) Initializes a new instance of Button using Absolute layout, based on the given text Declaration public Button(int x, int y, ustring text) Parameters Type Name Description System.Int32 x X position where the button will be shown. System.Int32 y Y position where the button will be shown. NStack.ustring text The button's text Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(Int32, Int32, ustring, Boolean) Initializes a new instance of Button using Absolute layout, based on the given text. Declaration public Button(int x, int y, ustring text, bool is_default) Parameters Type Name Description System.Int32 x X position where the button will be shown. System.Int32 y Y position where the button will be shown. NStack.ustring text The button's text System.Boolean is_default If true , a special decoration is used, and the user pressing the enter key in a Dialog will implicitly activate this button. Remarks The width of the Button is computed based on the text length. The height will always be 1. Properties IsDefault Gets or sets whether the Button is the default action to activate in a dialog. Declaration public bool IsDefault { get; set; } Property Value Type Description System.Boolean true if is default; otherwise, false . Text The text displayed by this Button . Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Events Clicked Clicked System.Action , raised when the user clicks the primary mouse button within the Bounds of this View or if the user presses the action key while this view is focused. (TODO: IsDefault) Declaration public event Action Clicked Event Type Type Description System.Action Remarks Client code can hook up to this event, it is raised when the button is activated either with the mouse or the keyboard. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class Button Button is a View that provides an item that invokes an System.Action when activated by the user. Inheritance System.Object Responder View Button Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.Redraw(Rect) View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Button : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks Provides a button showing text invokes an System.Action when clicked on with a mouse or when the user presses SPACE, ENTER, or hotkey. The hotkey is the first letter or digit following the first underscore ('_') in the button text. Use HotKeySpecifier to change the hotkey specifier from the default of ('_'). If no hotkey specifier is found, the first uppercase letter encountered will be used as the hotkey. When the button is configured as the default ( IsDefault ) and the user presses the ENTER key, if no other View processes the KeyEvent , the Button 's System.Action will be invoked. Constructors Button() Initializes a new instance of Button using Computed layout. Declaration public Button() Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(ustring, Boolean) Initializes a new instance of Button using Computed layout. Declaration public Button(ustring text, bool is_default = false) Parameters Type Name Description NStack.ustring text The button's text System.Boolean is_default If true , a special decoration is used, and the user pressing the enter key in a Dialog will implicitly activate this button. Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(Int32, Int32, ustring) Initializes a new instance of Button using Absolute layout, based on the given text Declaration public Button(int x, int y, ustring text) Parameters Type Name Description System.Int32 x X position where the button will be shown. System.Int32 y Y position where the button will be shown. NStack.ustring text The button's text Remarks The width of the Button is computed based on the text length. The height will always be 1. Button(Int32, Int32, ustring, Boolean) Initializes a new instance of Button using Absolute layout, based on the given text. Declaration public Button(int x, int y, ustring text, bool is_default) Parameters Type Name Description System.Int32 x X position where the button will be shown. System.Int32 y Y position where the button will be shown. NStack.ustring text The button's text System.Boolean is_default If true , a special decoration is used, and the user pressing the enter key in a Dialog will implicitly activate this button. Remarks The width of the Button is computed based on the text length. The height will always be 1. Properties IsDefault Gets or sets whether the Button is the default action to activate in a dialog. Declaration public bool IsDefault { get; set; } Property Value Type Description System.Boolean true if is default; otherwise, false . Text The text displayed by this Button . Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Events Clicked Clicked System.Action , raised when the user clicks the primary mouse button within the Bounds of this View or if the user presses the action key while this view is focused. (TODO: IsDefault) Declaration public event Action Clicked Event Type Type Description System.Action Remarks Client code can hook up to this event, it is raised when the button is activated either with the mouse or the keyboard. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + }, + "api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html": { + "href": "api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html", + "title": "Class CellActivatedEventArgs", + "keywords": "Class CellActivatedEventArgs Defines the event arguments for CellActivated event Inheritance System.Object System.EventArgs CellActivatedEventArgs Inherited Members System.EventArgs.Empty System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class CellActivatedEventArgs : EventArgs Constructors CellActivatedEventArgs(DataTable, Int32, Int32) Creates a new instance of arguments describing a cell being activated in TableView Declaration public CellActivatedEventArgs(DataTable t, int col, int row) Parameters Type Name Description System.Data.DataTable t System.Int32 col System.Int32 row Properties Col The column index of the Table cell that is being activated Declaration public int Col { get; } Property Value Type Description System.Int32 Row The row index of the Table cell that is being activated Declaration public int Row { get; } Property Value Type Description System.Int32 Table The current table to which the new indexes refer. May be null e.g. if selection change is the result of clearing the table from the view Declaration public DataTable Table { get; } Property Value Type Description System.Data.DataTable" }, "api/Terminal.Gui/Terminal.Gui.CheckBox.html": { "href": "api/Terminal.Gui/Terminal.Gui.CheckBox.html", "title": "Class CheckBox", - "keywords": "Class CheckBox The CheckBox View shows an on/off toggle that the user can set Inheritance System.Object Responder View CheckBox Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class CheckBox : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors CheckBox() Initializes a new instance of CheckBox based on the given text, using Computed layout. Declaration public CheckBox() CheckBox(ustring, Boolean) Initializes a new instance of CheckBox based on the given text, using Computed layout. Declaration public CheckBox(ustring s, bool is_checked = false) Parameters Type Name Description NStack.ustring s S. System.Boolean is_checked If set to true is checked. CheckBox(Int32, Int32, ustring) Initializes a new instance of CheckBox using Absolute layout. Declaration public CheckBox(int x, int y, ustring s) Parameters Type Name Description System.Int32 x System.Int32 y NStack.ustring s Remarks The size of CheckBox is computed based on the text length. This CheckBox is not toggled. CheckBox(Int32, Int32, ustring, Boolean) Initializes a new instance of CheckBox using Absolute layout. Declaration public CheckBox(int x, int y, ustring s, bool is_checked) Parameters Type Name Description System.Int32 x System.Int32 y NStack.ustring s System.Boolean is_checked Remarks The size of CheckBox is computed based on the text length. Properties Checked The state of the CheckBox Declaration public bool Checked { get; set; } Property Value Type Description System.Boolean Text The text displayed by this CheckBox Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnToggled(Boolean) Called when the Checked property changes. Invokes the Toggled event. Declaration public virtual void OnToggled(bool previousChecked) Parameters Type Name Description System.Boolean previousChecked PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events Toggled Toggled event, raised when the CheckBox is toggled. Declaration public event Action Toggled Event Type Type Description System.Action < System.Boolean > Remarks Client code can hook up to this event, it is raised when the CheckBox is activated either with the mouse or the keyboard. The passed bool contains the previous state. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class CheckBox The CheckBox View shows an on/off toggle that the user can set Inheritance System.Object Responder View CheckBox Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class CheckBox : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors CheckBox() Initializes a new instance of CheckBox based on the given text, using Computed layout. Declaration public CheckBox() CheckBox(ustring, Boolean) Initializes a new instance of CheckBox based on the given text, using Computed layout. Declaration public CheckBox(ustring s, bool is_checked = false) Parameters Type Name Description NStack.ustring s S. System.Boolean is_checked If set to true is checked. CheckBox(Int32, Int32, ustring) Initializes a new instance of CheckBox using Absolute layout. Declaration public CheckBox(int x, int y, ustring s) Parameters Type Name Description System.Int32 x System.Int32 y NStack.ustring s Remarks The size of CheckBox is computed based on the text length. This CheckBox is not toggled. CheckBox(Int32, Int32, ustring, Boolean) Initializes a new instance of CheckBox using Absolute layout. Declaration public CheckBox(int x, int y, ustring s, bool is_checked) Parameters Type Name Description System.Int32 x System.Int32 y NStack.ustring s System.Boolean is_checked Remarks The size of CheckBox is computed based on the text length. Properties Checked The state of the CheckBox Declaration public bool Checked { get; set; } Property Value Type Description System.Boolean Text The text displayed by this CheckBox Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnToggled(Boolean) Called when the Checked property changes. Invokes the Toggled event. Declaration public virtual void OnToggled(bool previousChecked) Parameters Type Name Description System.Boolean previousChecked PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events Toggled Toggled event, raised when the CheckBox is toggled. Declaration public event Action Toggled Event Type Type Description System.Action < System.Boolean > Remarks Client code can hook up to this event, it is raised when the CheckBox is activated either with the mouse or the keyboard. The passed bool contains the previous state. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.Clipboard.html": { "href": "api/Terminal.Gui/Terminal.Gui.Clipboard.html", @@ -37,7 +42,7 @@ "api/Terminal.Gui/Terminal.Gui.Color.html": { "href": "api/Terminal.Gui/Terminal.Gui.Color.html", "title": "Enum Color", - "keywords": "Enum Color Basic colors that can be used to set the foreground and background colors in console applications. Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public enum Color Fields Name Description Black The black color. Blue The blue color. BrighCyan The brigh cyan color. BrightBlue The bright bBlue color. BrightGreen The bright green color. BrightMagenta The bright magenta color. BrightRed The bright red color. BrightYellow The bright yellow color. Brown The brown color. Cyan The cyan color. DarkGray The dark gray color. Gray The gray color. Green The green color. Magenta The magenta color. Red The red color. White The White color." + "keywords": "Enum Color Basic colors that can be used to set the foreground and background colors in console applications. Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public enum Color Fields Name Description Black The black color. Blue The blue color. BrighCyan The bright cyan color. BrightBlue The bright bBlue color. BrightGreen The bright green color. BrightMagenta The bright magenta color. BrightRed The bright red color. BrightYellow The bright yellow color. Brown The brown color. Cyan The cyan color. DarkGray The dark gray color. Gray The gray color. Green The green color. Magenta The magenta color. Red The red color. White The White color." }, "api/Terminal.Gui/Terminal.Gui.Colors.html": { "href": "api/Terminal.Gui/Terminal.Gui.Colors.html", @@ -49,25 +54,35 @@ "title": "Class ColorScheme", "keywords": "Class ColorScheme Color scheme definitions, they cover some common scenarios and are used typically in containers such as Window and FrameView to set the scheme that is used by all the views contained inside. Inheritance System.Object ColorScheme Implements System.IEquatable < ColorScheme > Inherited Members System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ColorScheme : IEquatable Properties Disabled The default color for text, when the view is disabled. Declaration public Attribute Disabled { get; set; } Property Value Type Description Attribute Focus The color for text when the view has the focus. Declaration public Attribute Focus { get; set; } Property Value Type Description Attribute HotFocus The color for the hotkey when the view is focused. Declaration public Attribute HotFocus { get; set; } Property Value Type Description Attribute HotNormal The color for the hotkey when a view is not focused Declaration public Attribute HotNormal { get; set; } Property Value Type Description Attribute Normal The default color for text, when the view is not focused. Declaration public Attribute Normal { get; set; } Property Value Type Description Attribute Methods Equals(Object) Compares two ColorScheme objects for equality. Declaration public override bool Equals(object obj) Parameters Type Name Description System.Object obj Returns Type Description System.Boolean true if the two objects are equal Overrides System.Object.Equals(System.Object) Equals(ColorScheme) Compares two ColorScheme objects for equality. Declaration public bool Equals(ColorScheme other) Parameters Type Name Description ColorScheme other Returns Type Description System.Boolean true if the two objects are equal GetHashCode() Returns a hashcode for this instance. Declaration public override int GetHashCode() Returns Type Description System.Int32 hashcode for this instance Overrides System.Object.GetHashCode() Operators Equality(ColorScheme, ColorScheme) Compares two ColorScheme objects for equality. Declaration public static bool operator ==(ColorScheme left, ColorScheme right) Parameters Type Name Description ColorScheme left ColorScheme right Returns Type Description System.Boolean true if the two objects are equivalent Inequality(ColorScheme, ColorScheme) Compares two ColorScheme objects for inequality. Declaration public static bool operator !=(ColorScheme left, ColorScheme right) Parameters Type Name Description ColorScheme left ColorScheme right Returns Type Description System.Boolean true if the two objects are not equivalent Implements System.IEquatable" }, + "api/Terminal.Gui/Terminal.Gui.ColumnStyle.html": { + "href": "api/Terminal.Gui/Terminal.Gui.ColumnStyle.html", + "title": "Class ColumnStyle", + "keywords": "Class ColumnStyle Describes how to render a given column in a TableView including Alignment and textual representation of cells (e.g. date formats) Inheritance System.Object ColumnStyle Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ColumnStyle Fields AlignmentGetter Defines a delegate for returning custom alignment per cell based on cell values. When specified this will override Alignment Declaration public Func AlignmentGetter Field Value Type Description System.Func < System.Object , TextAlignment > RepresentationGetter Defines a delegate for returning custom representations of cell values. If not set then System.Object.ToString() is used. Return values from your delegate may be truncated e.g. based on MaxWidth Declaration public Func RepresentationGetter Field Value Type Description System.Func < System.Object , System.String > Properties Alignment Defines the default alignment for all values rendered in this column. For custom alignment based on cell contents use AlignmentGetter . Declaration public TextAlignment Alignment { get; set; } Property Value Type Description TextAlignment Format Defines the format for values e.g. \"yyyy-MM-dd\" for dates Declaration public string Format { get; set; } Property Value Type Description System.String MaxWidth Set the maximum width of the column in characters. This value will be ignored if more than the tables MaxCellWidth . Defaults to DefaultMaxCellWidth Declaration public int MaxWidth { get; set; } Property Value Type Description System.Int32 MinWidth Set the minimum width of the column in characters. This value will be ignored if more than the tables MaxCellWidth or the MaxWidth Declaration public int MinWidth { get; set; } Property Value Type Description System.Int32 Methods GetAlignment(Object) Returns the alignment for the cell based on cellValue and AlignmentGetter / Alignment Declaration public TextAlignment GetAlignment(object cellValue) Parameters Type Name Description System.Object cellValue Returns Type Description TextAlignment GetRepresentation(Object) Returns the full string to render (which may be truncated if too long) that the current style says best represents the given value Declaration public string GetRepresentation(object value) Parameters Type Name Description System.Object value Returns Type Description System.String" + }, "api/Terminal.Gui/Terminal.Gui.ComboBox.html": { "href": "api/Terminal.Gui/Terminal.Gui.ComboBox.html", "title": "Class ComboBox", - "keywords": "Class ComboBox ComboBox control Inheritance System.Object Responder View ComboBox Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ComboBox : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors ComboBox() Public constructor Declaration public ComboBox() ComboBox(ustring) Public constructor Declaration public ComboBox(ustring text) Parameters Type Name Description NStack.ustring text ComboBox(Rect, IList) Public constructor Declaration public ComboBox(Rect rect, IList source) Parameters Type Name Description Rect rect System.Collections.IList source Properties ColorScheme Declaration public ColorScheme ColorScheme { get; set; } Property Value Type Description ColorScheme SelectedItem Gets the index of the currently selected item in the Source Declaration public int SelectedItem { get; } Property Value Type Description System.Int32 The selected item or -1 none selected. Source Gets or sets the IListDataSource backing this ComboBox , enabling custom rendering. Declaration public IListDataSource Source { get; set; } Property Value Type Description IListDataSource The source. Remarks Use SetSource(IList) to set a new System.Collections.IList source. Text The currently selected list item Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnOpenSelectedItem() Invokes the OnOpenSelectedItem event if it is defined. Declaration public virtual bool OnOpenSelectedItem() Returns Type Description System.Boolean OnSelectedChanged() Invokes the SelectedChanged event if it is defined. Declaration public virtual bool OnSelectedChanged() Returns Type Description System.Boolean ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent e) Parameters Type Name Description KeyEvent e Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. SetSource(IList) Sets the source of the ComboBox to an System.Collections.IList . Declaration public void SetSource(IList source) Parameters Type Name Description System.Collections.IList source Remarks Use the Source property to set a new IListDataSource source and use custome rendering. Events OpenSelectedItem This event is raised when the user Double Clicks on an item or presses ENTER to open the selected item. Declaration public event Action OpenSelectedItem Event Type Type Description System.Action < ListViewItemEventArgs > SelectedItemChanged This event is raised when the selected item in the ComboBox has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < ListViewItemEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class ComboBox ComboBox control Inheritance System.Object Responder View ComboBox Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ComboBox : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors ComboBox() Public constructor Declaration public ComboBox() ComboBox(ustring) Public constructor Declaration public ComboBox(ustring text) Parameters Type Name Description NStack.ustring text ComboBox(Rect, IList) Public constructor Declaration public ComboBox(Rect rect, IList source) Parameters Type Name Description Rect rect System.Collections.IList source Properties ColorScheme Declaration public ColorScheme ColorScheme { get; set; } Property Value Type Description ColorScheme SelectedItem Gets the index of the currently selected item in the Source Declaration public int SelectedItem { get; } Property Value Type Description System.Int32 The selected item or -1 none selected. Source Gets or sets the IListDataSource backing this ComboBox , enabling custom rendering. Declaration public IListDataSource Source { get; set; } Property Value Type Description IListDataSource The source. Remarks Use SetSource(IList) to set a new System.Collections.IList source. Text The currently selected list item Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnOpenSelectedItem() Invokes the OnOpenSelectedItem event if it is defined. Declaration public virtual bool OnOpenSelectedItem() Returns Type Description System.Boolean OnSelectedChanged() Invokes the SelectedChanged event if it is defined. Declaration public virtual bool OnSelectedChanged() Returns Type Description System.Boolean ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent e) Parameters Type Name Description KeyEvent e Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. SetSource(IList) Sets the source of the ComboBox to an System.Collections.IList . Declaration public void SetSource(IList source) Parameters Type Name Description System.Collections.IList source Remarks Use the Source property to set a new IListDataSource source and use custome rendering. Events OpenSelectedItem This event is raised when the user Double Clicks on an item or presses ENTER to open the selected item. Declaration public event Action OpenSelectedItem Event Type Type Description System.Action < ListViewItemEventArgs > SelectedItemChanged This event is raised when the selected item in the ComboBox has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < ListViewItemEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html": { "href": "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html", "title": "Enum ConsoleDriver.DiagnosticFlags", - "keywords": "Enum ConsoleDriver.DiagnosticFlags Enables diagnostic funcions Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax [Flags] public enum DiagnosticFlags : uint Fields Name Description FramePadding When Enabled, DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) will use 'L', 'R', 'T', and 'B' for padding instead of ' '. FrameRuler When enabled, DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) will draw a ruler in the frame for any side with a padding value greater than 0. Off All diagnostics off" + "keywords": "Enum ConsoleDriver.DiagnosticFlags Enables diagnostic functions Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax [Flags] public enum DiagnosticFlags : uint Fields Name Description FramePadding When Enabled, DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) will use 'L', 'R', 'T', and 'B' for padding instead of ' '. FrameRuler When enabled, DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) will draw a ruler in the frame for any side with a padding value greater than 0. Off All diagnostics off" }, "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html": { "href": "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html", "title": "Class ConsoleDriver", - "keywords": "Class ConsoleDriver ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver , and Terminal.Gui.NetDriver that uses the .NET Console API. Inheritance System.Object ConsoleDriver FakeDriver Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public abstract class ConsoleDriver Fields BottomTee The bottom tee. Declaration public Rune BottomTee Field Value Type Description System.Rune Checked Checkmark. Declaration public Rune Checked Field Value Type Description System.Rune Diamond Diamond character Declaration public Rune Diamond Field Value Type Description System.Rune DownArrow Down Arrow. Declaration public Rune DownArrow Field Value Type Description System.Rune HLine Horizontal line character. Declaration public Rune HLine Field Value Type Description System.Rune LeftArrow Left Arrow. Declaration public Rune LeftArrow Field Value Type Description System.Rune LeftBracket Left frame/bracket (e.g. '[' for Button ). Declaration public Rune LeftBracket Field Value Type Description System.Rune LeftDefaultIndicator Left indicator for default action (e.g. for Button ). Declaration public Rune LeftDefaultIndicator Field Value Type Description System.Rune LeftTee Left tee Declaration public Rune LeftTee Field Value Type Description System.Rune LLCorner Lower left corner Declaration public Rune LLCorner Field Value Type Description System.Rune LRCorner Lower right corner Declaration public Rune LRCorner Field Value Type Description System.Rune OffMeterSegement Off Segment indicator for meter views (e.g. ProgressBar . Declaration public Rune OffMeterSegement Field Value Type Description System.Rune OnMeterSegment On Segment indicator for meter views (e.g. ProgressBar . Declaration public Rune OnMeterSegment Field Value Type Description System.Rune RightArrow Right Arrow. Declaration public Rune RightArrow Field Value Type Description System.Rune RightBracket Right frame/bracket (e.g. ']' for Button ). Declaration public Rune RightBracket Field Value Type Description System.Rune RightDefaultIndicator Right indicator for default action (e.g. for Button ). Declaration public Rune RightDefaultIndicator Field Value Type Description System.Rune RightTee Right tee Declaration public Rune RightTee Field Value Type Description System.Rune Selected Selected mark. Declaration public Rune Selected Field Value Type Description System.Rune Stipple Stipple pattern Declaration public Rune Stipple Field Value Type Description System.Rune TerminalResized The handler fired when the terminal is resized. Declaration protected Action TerminalResized Field Value Type Description System.Action TopTee Top tee Declaration public Rune TopTee Field Value Type Description System.Rune ULCorner Upper left corner Declaration public Rune ULCorner Field Value Type Description System.Rune UnChecked Un-checked checkmark. Declaration public Rune UnChecked Field Value Type Description System.Rune UnSelected Un-selected selected mark. Declaration public Rune UnSelected Field Value Type Description System.Rune UpArrow Up Arrow. Declaration public Rune UpArrow Field Value Type Description System.Rune URCorner Upper right corner Declaration public Rune URCorner Field Value Type Description System.Rune VLine Vertical line character. Declaration public Rune VLine Field Value Type Description System.Rune Properties Clip Controls the current clipping region that AddRune/AddStr is subject to. Declaration public Rect Clip { get; set; } Property Value Type Description Rect The clip. Cols The current number of columns in the terminal. Declaration public abstract int Cols { get; } Property Value Type Description System.Int32 Diagnostics Set flags to enable/disable ConsoleDriver diagnostics. Declaration public static ConsoleDriver.DiagnosticFlags Diagnostics { get; set; } Property Value Type Description ConsoleDriver.DiagnosticFlags Rows The current number of rows in the terminal. Declaration public abstract int Rows { get; } Property Value Type Description System.Int32 Methods AddRune(Rune) Adds the specified rune to the display at the current cursor position Declaration public abstract void AddRune(Rune rune) Parameters Type Name Description System.Rune rune Rune to add. AddStr(ustring) Adds the specified Declaration public abstract void AddStr(ustring str) Parameters Type Name Description NStack.ustring str String. CookMouse() Enables the cooked event processing from the mouse driver Declaration public abstract void CookMouse() DrawFrame(Rect, Int32, Boolean) Draws a frame on the specified region with the specified padding around the frame. Declaration public virtual void DrawFrame(Rect region, int padding, bool fill) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. System.Int32 padding Padding to add on the sides. System.Boolean fill If set to true it will clear the contents with the current color, otherwise the contents will be left untouched. Remarks This API has been superceded by DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) . DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) Draws a frame for a window with padding and an optional visible border inside the padding. Declaration public virtual void DrawWindowFrame(Rect region, int paddingLeft = 0, int paddingTop = 0, int paddingRight = 0, int paddingBottom = 0, bool border = true, bool fill = false) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left). System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top). System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right). System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom). System.Boolean border If set to true and any padding dimension is > 0 the border will be drawn. System.Boolean fill If set to true it will clear the content area (the area inside the padding) with the current color, otherwise the content area will be left untouched. DrawWindowTitle(Rect, ustring, Int32, Int32, Int32, Int32, TextAlignment) Draws the title for a Window-style view incorporating padding. Declaration public virtual void DrawWindowTitle(Rect region, ustring title, int paddingLeft, int paddingTop, int paddingRight, int paddingBottom, TextAlignment textAlignment = TextAlignment.Left) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. NStack.ustring title The title for the window. The title will only be drawn if title is not null or empty and paddingTop is greater than 0. System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left). System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top). System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right). System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom). TextAlignment textAlignment Not yet immplemented. End() Ends the execution of the console driver. Declaration public abstract void End() Init(Action) Initializes the driver Declaration public abstract void Init(Action terminalResized) Parameters Type Name Description System.Action terminalResized Method to invoke when the terminal is resized. MakeAttribute(Color, Color) Make the attribute for the foreground and background colors. Declaration public abstract Attribute MakeAttribute(Color fore, Color back) Parameters Type Name Description Color fore Foreground. Color back Background. Returns Type Description Attribute MakePrintable(Rune) Ensures a Rune is not a control character and can be displayed by translating characters below 0x20 to equivalent, printable, Unicode chars. Declaration public static Rune MakePrintable(Rune c) Parameters Type Name Description System.Rune c Rune to translate Returns Type Description System.Rune Move(Int32, Int32) Moves the cursor to the specified column and row. Declaration public abstract void Move(int col, int row) Parameters Type Name Description System.Int32 col Column to move the cursor to. System.Int32 row Row to move the cursor to. PrepareToRun(MainLoop, Action, Action, Action, Action) Prepare the driver and set the key and mouse events handlers. Declaration public abstract void PrepareToRun(MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) Parameters Type Name Description MainLoop mainLoop The main loop. System.Action < KeyEvent > keyHandler The handler for ProcessKey System.Action < KeyEvent > keyDownHandler The handler for key down events System.Action < KeyEvent > keyUpHandler The handler for key up events System.Action < MouseEvent > mouseHandler The handler for mouse events Refresh() Updates the screen to reflect all the changes that have been done to the display buffer Declaration public abstract void Refresh() SetAttribute(Attribute) Selects the specified attribute as the attribute to use for future calls to AddRune, AddString. Declaration public abstract void SetAttribute(Attribute c) Parameters Type Name Description Attribute c C. SetColors(ConsoleColor, ConsoleColor) Set Colors from limit sets of colors. Declaration public abstract void SetColors(ConsoleColor foreground, ConsoleColor background) Parameters Type Name Description System.ConsoleColor foreground Foreground. System.ConsoleColor background Background. SetColors(Int16, Int16) Advanced uses - set colors to any pre-set pairs, you would need to init_color that independently with the R, G, B values. Declaration public abstract void SetColors(short foregroundColorId, short backgroundColorId) Parameters Type Name Description System.Int16 foregroundColorId Foreground color identifier. System.Int16 backgroundColorId Background color identifier. SetTerminalResized(Action) Set the handler when the terminal is resized. Declaration public void SetTerminalResized(Action terminalResized) Parameters Type Name Description System.Action terminalResized StartReportingMouseMoves() Start of mouse moves. Declaration public abstract void StartReportingMouseMoves() StopReportingMouseMoves() Stop reporting mouses moves. Declaration public abstract void StopReportingMouseMoves() Suspend() Suspend the application, typically needs to save the state, suspend the app and upon return, reset the console driver. Declaration public abstract void Suspend() UncookMouse() Disables the cooked event processing from the mouse driver. At startup, it is assumed mouse events are cooked. Declaration public abstract void UncookMouse() UpdateCursor() Updates the location of the cursor position Declaration public abstract void UpdateCursor() UpdateScreen() Redraws the physical screen with the contents that have been queued up via any of the printing commands. Declaration public abstract void UpdateScreen()" + "keywords": "Class ConsoleDriver ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver , and Terminal.Gui.NetDriver that uses the .NET Console API. Inheritance System.Object ConsoleDriver FakeDriver Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public abstract class ConsoleDriver Fields BottomTee The bottom tee. Declaration public Rune BottomTee Field Value Type Description System.Rune Checked Checkmark. Declaration public Rune Checked Field Value Type Description System.Rune Diamond Diamond character Declaration public Rune Diamond Field Value Type Description System.Rune DownArrow Down Arrow. Declaration public Rune DownArrow Field Value Type Description System.Rune HLine Horizontal line character. Declaration public Rune HLine Field Value Type Description System.Rune LeftArrow Left Arrow. Declaration public Rune LeftArrow Field Value Type Description System.Rune LeftBracket Left frame/bracket (e.g. '[' for Button ). Declaration public Rune LeftBracket Field Value Type Description System.Rune LeftDefaultIndicator Left indicator for default action (e.g. for Button ). Declaration public Rune LeftDefaultIndicator Field Value Type Description System.Rune LeftTee Left tee Declaration public Rune LeftTee Field Value Type Description System.Rune LLCorner Lower left corner Declaration public Rune LLCorner Field Value Type Description System.Rune LRCorner Lower right corner Declaration public Rune LRCorner Field Value Type Description System.Rune OffMeterSegement Off Segment indicator for meter views (e.g. ProgressBar . Declaration public Rune OffMeterSegement Field Value Type Description System.Rune OnMeterSegment On Segment indicator for meter views (e.g. ProgressBar . Declaration public Rune OnMeterSegment Field Value Type Description System.Rune RightArrow Right Arrow. Declaration public Rune RightArrow Field Value Type Description System.Rune RightBracket Right frame/bracket (e.g. ']' for Button ). Declaration public Rune RightBracket Field Value Type Description System.Rune RightDefaultIndicator Right indicator for default action (e.g. for Button ). Declaration public Rune RightDefaultIndicator Field Value Type Description System.Rune RightTee Right tee Declaration public Rune RightTee Field Value Type Description System.Rune Selected Selected mark. Declaration public Rune Selected Field Value Type Description System.Rune Stipple Stipple pattern Declaration public Rune Stipple Field Value Type Description System.Rune TerminalResized The handler fired when the terminal is resized. Declaration protected Action TerminalResized Field Value Type Description System.Action TopTee Top tee Declaration public Rune TopTee Field Value Type Description System.Rune ULCorner Upper left corner Declaration public Rune ULCorner Field Value Type Description System.Rune UnChecked Un-checked checkmark. Declaration public Rune UnChecked Field Value Type Description System.Rune UnSelected Un-selected selected mark. Declaration public Rune UnSelected Field Value Type Description System.Rune UpArrow Up Arrow. Declaration public Rune UpArrow Field Value Type Description System.Rune URCorner Upper right corner Declaration public Rune URCorner Field Value Type Description System.Rune VLine Vertical line character. Declaration public Rune VLine Field Value Type Description System.Rune Properties Clip Controls the current clipping region that AddRune/AddStr is subject to. Declaration public Rect Clip { get; set; } Property Value Type Description Rect The clip. Cols The current number of columns in the terminal. Declaration public abstract int Cols { get; } Property Value Type Description System.Int32 Diagnostics Set flags to enable/disable ConsoleDriver diagnostics. Declaration public static ConsoleDriver.DiagnosticFlags Diagnostics { get; set; } Property Value Type Description ConsoleDriver.DiagnosticFlags HeightAsBuffer If false height is measured by the window height and thus no scrolling. If true then height is measured by the buffer height, enabling scrolling. Declaration public abstract bool HeightAsBuffer { get; set; } Property Value Type Description System.Boolean Rows The current number of rows in the terminal. Declaration public abstract int Rows { get; } Property Value Type Description System.Int32 Top The current top in the terminal. Declaration public abstract int Top { get; } Property Value Type Description System.Int32 Methods AddRune(Rune) Adds the specified rune to the display at the current cursor position Declaration public abstract void AddRune(Rune rune) Parameters Type Name Description System.Rune rune Rune to add. AddStr(ustring) Adds the specified Declaration public abstract void AddStr(ustring str) Parameters Type Name Description NStack.ustring str String. CookMouse() Enables the cooked event processing from the mouse driver Declaration public abstract void CookMouse() DrawFrame(Rect, Int32, Boolean) Draws a frame on the specified region with the specified padding around the frame. Declaration public virtual void DrawFrame(Rect region, int padding, bool fill) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. System.Int32 padding Padding to add on the sides. System.Boolean fill If set to true it will clear the contents with the current color, otherwise the contents will be left untouched. Remarks This API has been superseded by DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) . DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) Draws a frame for a window with padding and an optional visible border inside the padding. Declaration public virtual void DrawWindowFrame(Rect region, int paddingLeft = 0, int paddingTop = 0, int paddingRight = 0, int paddingBottom = 0, bool border = true, bool fill = false) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left). System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top). System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right). System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom). System.Boolean border If set to true and any padding dimension is > 0 the border will be drawn. System.Boolean fill If set to true it will clear the content area (the area inside the padding) with the current color, otherwise the content area will be left untouched. DrawWindowTitle(Rect, ustring, Int32, Int32, Int32, Int32, TextAlignment) Draws the title for a Window-style view incorporating padding. Declaration public virtual void DrawWindowTitle(Rect region, ustring title, int paddingLeft, int paddingTop, int paddingRight, int paddingBottom, TextAlignment textAlignment = TextAlignment.Left) Parameters Type Name Description Rect region Screen relative region where the frame will be drawn. NStack.ustring title The title for the window. The title will only be drawn if title is not null or empty and paddingTop is greater than 0. System.Int32 paddingLeft Number of columns to pad on the left (if 0 the border will not appear on the left). System.Int32 paddingTop Number of rows to pad on the top (if 0 the border and title will not appear on the top). System.Int32 paddingRight Number of columns to pad on the right (if 0 the border will not appear on the right). System.Int32 paddingBottom Number of rows to pad on the bottom (if 0 the border will not appear on the bottom). TextAlignment textAlignment Not yet implemented. End() Ends the execution of the console driver. Declaration public abstract void End() EnsureCursorVisibility() Ensure the cursor visibility Declaration public abstract bool EnsureCursorVisibility() Returns Type Description System.Boolean true upon success GetAttribute() Gets the current Attribute . Declaration public abstract Attribute GetAttribute() Returns Type Description Attribute The current attribute. GetCursorVisibility(out CursorVisibility) Retreive the cursor caret visibility Declaration public abstract bool GetCursorVisibility(out CursorVisibility visibility) Parameters Type Name Description CursorVisibility visibility The current CursorVisibility Returns Type Description System.Boolean true upon success Init(Action) Initializes the driver Declaration public abstract void Init(Action terminalResized) Parameters Type Name Description System.Action terminalResized Method to invoke when the terminal is resized. MakeAttribute(Color, Color) Make the attribute for the foreground and background colors. Declaration public abstract Attribute MakeAttribute(Color fore, Color back) Parameters Type Name Description Color fore Foreground. Color back Background. Returns Type Description Attribute MakePrintable(Rune) Ensures a Rune is not a control character and can be displayed by translating characters below 0x20 to equivalent, printable, Unicode chars. Declaration public static Rune MakePrintable(Rune c) Parameters Type Name Description System.Rune c Rune to translate Returns Type Description System.Rune Move(Int32, Int32) Moves the cursor to the specified column and row. Declaration public abstract void Move(int col, int row) Parameters Type Name Description System.Int32 col Column to move the cursor to. System.Int32 row Row to move the cursor to. PrepareToRun(MainLoop, Action, Action, Action, Action) Prepare the driver and set the key and mouse events handlers. Declaration public abstract void PrepareToRun(MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) Parameters Type Name Description MainLoop mainLoop The main loop. System.Action < KeyEvent > keyHandler The handler for ProcessKey System.Action < KeyEvent > keyDownHandler The handler for key down events System.Action < KeyEvent > keyUpHandler The handler for key up events System.Action < MouseEvent > mouseHandler The handler for mouse events Refresh() Updates the screen to reflect all the changes that have been done to the display buffer Declaration public abstract void Refresh() SetAttribute(Attribute) Selects the specified attribute as the attribute to use for future calls to AddRune, AddString. Declaration public abstract void SetAttribute(Attribute c) Parameters Type Name Description Attribute c C. SetColors(ConsoleColor, ConsoleColor) Set Colors from limit sets of colors. Declaration public abstract void SetColors(ConsoleColor foreground, ConsoleColor background) Parameters Type Name Description System.ConsoleColor foreground Foreground. System.ConsoleColor background Background. SetColors(Int16, Int16) Advanced uses - set colors to any pre-set pairs, you would need to init_color that independently with the R, G, B values. Declaration public abstract void SetColors(short foregroundColorId, short backgroundColorId) Parameters Type Name Description System.Int16 foregroundColorId Foreground color identifier. System.Int16 backgroundColorId Background color identifier. SetCursorVisibility(CursorVisibility) Change the cursor caret visibility Declaration public abstract bool SetCursorVisibility(CursorVisibility visibility) Parameters Type Name Description CursorVisibility visibility The wished CursorVisibility Returns Type Description System.Boolean true upon success SetTerminalResized(Action) Set the handler when the terminal is resized. Declaration public void SetTerminalResized(Action terminalResized) Parameters Type Name Description System.Action terminalResized StartReportingMouseMoves() Start of mouse moves. Declaration public abstract void StartReportingMouseMoves() StopReportingMouseMoves() Stop reporting mouses moves. Declaration public abstract void StopReportingMouseMoves() Suspend() Suspend the application, typically needs to save the state, suspend the app and upon return, reset the console driver. Declaration public abstract void Suspend() UncookMouse() Disables the cooked event processing from the mouse driver. At startup, it is assumed mouse events are cooked. Declaration public abstract void UncookMouse() UpdateCursor() Updates the location of the cursor position Declaration public abstract void UpdateCursor() UpdateScreen() Redraws the physical screen with the contents that have been queued up via any of the printing commands. Declaration public abstract void UpdateScreen()" + }, + "api/Terminal.Gui/Terminal.Gui.CursorVisibility.html": { + "href": "api/Terminal.Gui/Terminal.Gui.CursorVisibility.html", + "title": "Enum CursorVisibility", + "keywords": "Enum CursorVisibility Cursors Visibility that are displayed Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public enum CursorVisibility Fields Name Description Box Cursor caret is displayed as a blinking block β–‰ BoxFix Cursor caret is displayed a block β–‰ Default Cursor caret has default Invisible Cursor caret is hidden Underline Cursor caret is normally shown as a blinking underline bar _ UnderlineFix Cursor caret is normally shown as a underline bar _ Vertical Cursor caret is displayed a blinking vertical bar | VerticalFix Cursor caret is displayed a blinking vertical bar |" }, "api/Terminal.Gui/Terminal.Gui.DateField.html": { "href": "api/Terminal.Gui/Terminal.Gui.DateField.html", "title": "Class DateField", - "keywords": "Class DateField Simple Date editing View Inheritance System.Object Responder View TextField DateField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members TextField.Used TextField.ReadOnly TextField.TextChanging TextField.TextChanged TextField.OnLeave(View) TextField.Frame TextField.Text TextField.Secret TextField.CursorPosition TextField.PositionCursor() TextField.Redraw(Rect) TextField.CanFocus TextField.SelectedStart TextField.SelectedLength TextField.SelectedText TextField.ClearAllSelection() TextField.Copy() TextField.Cut() TextField.Paste() TextField.OnTextChanging(ustring) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class DateField : TextField, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The DateField View provides date editing functionality with mouse support. Constructors DateField() Initializes a new instance of DateField using Computed layout. Declaration public DateField() DateField(DateTime) Initializes a new instance of DateField using Computed layout. Declaration public DateField(DateTime date) Parameters Type Name Description System.DateTime date DateField(Int32, Int32, DateTime, Boolean) Initializes a new instance of DateField using Absolute layout. Declaration public DateField(int x, int y, DateTime date, bool isShort = false) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.DateTime date Initial date contents. System.Boolean isShort If true, shows only two digits for the year. Properties Date Gets or sets the date of the DateField . Declaration public DateTime Date { get; set; } Property Value Type Description System.DateTime Remarks IsShortFormat Get or set the date format for the widget. Declaration public bool IsShortFormat { get; set; } Property Value Type Description System.Boolean Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides TextField.MouseEvent(MouseEvent) OnDateChanged(DateTimeEventArgs) Event firing method for the DateChanged event. Declaration public virtual void OnDateChanged(DateTimeEventArgs args) Parameters Type Name Description DateTimeEventArgs < System.DateTime > args Event arguments ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides TextField.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Events DateChanged DateChanged event, raised when the Date property has changed. Declaration public event Action> DateChanged Event Type Type Description System.Action < DateTimeEventArgs < System.DateTime >> Remarks This event is raised when the Date property changes. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class DateField Simple Date editing View Inheritance System.Object Responder View TextField DateField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members TextField.Used TextField.ReadOnly TextField.TextChanging TextField.TextChanged TextField.OnLeave(View) TextField.Frame TextField.Text TextField.Secret TextField.CursorPosition TextField.PositionCursor() TextField.Redraw(Rect) TextField.CanFocus TextField.SelectedStart TextField.SelectedLength TextField.SelectedText TextField.ClearAllSelection() TextField.Copy() TextField.Cut() TextField.Paste() TextField.OnTextChanging(ustring) TextField.DesiredCursorVisibility TextField.OnEnter(View) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class DateField : TextField, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The DateField View provides date editing functionality with mouse support. Constructors DateField() Initializes a new instance of DateField using Computed layout. Declaration public DateField() DateField(DateTime) Initializes a new instance of DateField using Computed layout. Declaration public DateField(DateTime date) Parameters Type Name Description System.DateTime date DateField(Int32, Int32, DateTime, Boolean) Initializes a new instance of DateField using Absolute layout. Declaration public DateField(int x, int y, DateTime date, bool isShort = false) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.DateTime date Initial date contents. System.Boolean isShort If true, shows only two digits for the year. Properties Date Gets or sets the date of the DateField . Declaration public DateTime Date { get; set; } Property Value Type Description System.DateTime Remarks IsShortFormat Get or set the date format for the widget. Declaration public bool IsShortFormat { get; set; } Property Value Type Description System.Boolean Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides TextField.MouseEvent(MouseEvent) OnDateChanged(DateTimeEventArgs) Event firing method for the DateChanged event. Declaration public virtual void OnDateChanged(DateTimeEventArgs args) Parameters Type Name Description DateTimeEventArgs < System.DateTime > args Event arguments ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides TextField.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Events DateChanged DateChanged event, raised when the Date property has changed. Declaration public event Action> DateChanged Event Type Type Description System.Action < DateTimeEventArgs < System.DateTime >> Remarks This event is raised when the Date property changes. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html": { "href": "api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html", @@ -77,7 +92,7 @@ "api/Terminal.Gui/Terminal.Gui.Dialog.html": { "href": "api/Terminal.Gui/Terminal.Gui.Dialog.html", "title": "Class Dialog", - "keywords": "Class Dialog The Dialog View is a Window that by default is centered and contains one or more Button s. It defaults to the Dialog color scheme and has a 1 cell padding around the edges. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Dialog : Window, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks To run the Dialog modally, create the Dialog , and pass it to Run() . This will execute the dialog until it terminates via the [ESC] or [CTRL-Q] key, or when one of the views or buttons added to the dialog calls RequestStop() . Constructors Dialog() Initializes a new instance of the Dialog class using Computed . Declaration public Dialog() Remarks Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Use AddButton(Button) to add buttons to the dialog. Dialog(ustring, Int32, Int32, Button[]) Initializes a new instance of the Dialog class using Computed positioning and an optional set of Button s to display Declaration public Dialog(ustring title, int width, int height, params Button[] buttons) Parameters Type Name Description NStack.ustring title Title for the dialog. System.Int32 width Width for the dialog. System.Int32 height Height for the dialog. Button [] buttons Optional buttons to lay out at the bottom of the dialog. Remarks if width and height are both 0, the Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Dialog(ustring, Button[]) Initializes a new instance of the Dialog class using Computed positioning and with an optional set of Button s to display Declaration public Dialog(ustring title, params Button[] buttons) Parameters Type Name Description NStack.ustring title Title for the dialog. Button [] buttons Optional buttons to lay out at the bottom of the dialog. Remarks Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Methods AddButton(Button) Adds a Button to the Dialog , its layout will be controlled by the Dialog Declaration public void AddButton(Button button) Parameters Type Name Description Button button Button to add. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides Toplevel.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class Dialog The Dialog View is a Window that by default is centered and contains one or more Button s. It defaults to the Dialog color scheme and has a 1 cell padding around the edges. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Dialog : Window, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks To run the Dialog modally, create the Dialog , and pass it to Run(Func) . This will execute the dialog until it terminates via the [ESC] or [CTRL-Q] key, or when one of the views or buttons added to the dialog calls RequestStop() . Constructors Dialog() Initializes a new instance of the Dialog class using Computed . Declaration public Dialog() Remarks Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Use AddButton(Button) to add buttons to the dialog. Dialog(ustring, Int32, Int32, Button[]) Initializes a new instance of the Dialog class using Computed positioning and an optional set of Button s to display Declaration public Dialog(ustring title, int width, int height, params Button[] buttons) Parameters Type Name Description NStack.ustring title Title for the dialog. System.Int32 width Width for the dialog. System.Int32 height Height for the dialog. Button [] buttons Optional buttons to lay out at the bottom of the dialog. Remarks if width and height are both 0, the Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Dialog(ustring, Button[]) Initializes a new instance of the Dialog class using Computed positioning and with an optional set of Button s to display Declaration public Dialog(ustring title, params Button[] buttons) Parameters Type Name Description NStack.ustring title Title for the dialog. Button [] buttons Optional buttons to lay out at the bottom of the dialog. Remarks Te Dialog will be vertically and horizontally centered in the container and the size will be 85% of the container. After initialzation use X , Y , Width , and Height to override this with a location or size. Methods AddButton(Button) Adds a Button to the Dialog , its layout will be controlled by the Dialog Declaration public void AddButton(Button button) Parameters Type Name Description Button button Button to add. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides Toplevel.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.Dim.html": { "href": "api/Terminal.Gui/Terminal.Gui.Dim.html", @@ -97,32 +112,37 @@ "api/Terminal.Gui/Terminal.Gui.FakeDriver.html": { "href": "api/Terminal.Gui/Terminal.Gui.FakeDriver.html", "title": "Class FakeDriver", - "keywords": "Class FakeDriver Implements a mock ConsoleDriver for unit testing Inheritance System.Object ConsoleDriver FakeDriver Inherited Members ConsoleDriver.TerminalResized ConsoleDriver.MakePrintable(Rune) ConsoleDriver.SetTerminalResized(Action) ConsoleDriver.DrawWindowTitle(Rect, ustring, Int32, Int32, Int32, Int32, TextAlignment) ConsoleDriver.Diagnostics ConsoleDriver.DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) ConsoleDriver.DrawFrame(Rect, Int32, Boolean) ConsoleDriver.Clip ConsoleDriver.HLine ConsoleDriver.VLine ConsoleDriver.Stipple ConsoleDriver.Diamond ConsoleDriver.ULCorner ConsoleDriver.LLCorner ConsoleDriver.URCorner ConsoleDriver.LRCorner ConsoleDriver.LeftTee ConsoleDriver.RightTee ConsoleDriver.TopTee ConsoleDriver.BottomTee ConsoleDriver.Checked ConsoleDriver.UnChecked ConsoleDriver.Selected ConsoleDriver.UnSelected ConsoleDriver.RightArrow ConsoleDriver.LeftArrow ConsoleDriver.DownArrow ConsoleDriver.UpArrow ConsoleDriver.LeftDefaultIndicator ConsoleDriver.RightDefaultIndicator ConsoleDriver.LeftBracket ConsoleDriver.RightBracket ConsoleDriver.OnMeterSegment ConsoleDriver.OffMeterSegement System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FakeDriver : ConsoleDriver Constructors FakeDriver() Declaration public FakeDriver() Properties Cols Declaration public override int Cols { get; } Property Value Type Description System.Int32 Overrides ConsoleDriver.Cols Rows Declaration public override int Rows { get; } Property Value Type Description System.Int32 Overrides ConsoleDriver.Rows Methods AddRune(Rune) Declaration public override void AddRune(Rune rune) Parameters Type Name Description System.Rune rune Overrides ConsoleDriver.AddRune(Rune) AddStr(ustring) Declaration public override void AddStr(ustring str) Parameters Type Name Description NStack.ustring str Overrides ConsoleDriver.AddStr(ustring) CookMouse() Declaration public override void CookMouse() Overrides ConsoleDriver.CookMouse() End() Declaration public override void End() Overrides ConsoleDriver.End() Init(Action) Declaration public override void Init(Action terminalResized) Parameters Type Name Description System.Action terminalResized Overrides ConsoleDriver.Init(Action) MakeAttribute(Color, Color) Declaration public override Attribute MakeAttribute(Color fore, Color back) Parameters Type Name Description Color fore Color back Returns Type Description Attribute Overrides ConsoleDriver.MakeAttribute(Color, Color) Move(Int32, Int32) Declaration public override void Move(int col, int row) Parameters Type Name Description System.Int32 col System.Int32 row Overrides ConsoleDriver.Move(Int32, Int32) PrepareToRun(MainLoop, Action, Action, Action, Action) Declaration public override void PrepareToRun(MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) Parameters Type Name Description MainLoop mainLoop System.Action < KeyEvent > keyHandler System.Action < KeyEvent > keyDownHandler System.Action < KeyEvent > keyUpHandler System.Action < MouseEvent > mouseHandler Overrides ConsoleDriver.PrepareToRun(MainLoop, Action, Action, Action, Action) Refresh() Declaration public override void Refresh() Overrides ConsoleDriver.Refresh() SetAttribute(Attribute) Declaration public override void SetAttribute(Attribute c) Parameters Type Name Description Attribute c Overrides ConsoleDriver.SetAttribute(Attribute) SetColors(ConsoleColor, ConsoleColor) Declaration public override void SetColors(ConsoleColor foreground, ConsoleColor background) Parameters Type Name Description System.ConsoleColor foreground System.ConsoleColor background Overrides ConsoleDriver.SetColors(ConsoleColor, ConsoleColor) SetColors(Int16, Int16) Declaration public override void SetColors(short foregroundColorId, short backgroundColorId) Parameters Type Name Description System.Int16 foregroundColorId System.Int16 backgroundColorId Overrides ConsoleDriver.SetColors(Int16, Int16) StartReportingMouseMoves() Declaration public override void StartReportingMouseMoves() Overrides ConsoleDriver.StartReportingMouseMoves() StopReportingMouseMoves() Declaration public override void StopReportingMouseMoves() Overrides ConsoleDriver.StopReportingMouseMoves() Suspend() Declaration public override void Suspend() Overrides ConsoleDriver.Suspend() UncookMouse() Declaration public override void UncookMouse() Overrides ConsoleDriver.UncookMouse() UpdateCursor() Declaration public override void UpdateCursor() Overrides ConsoleDriver.UpdateCursor() UpdateScreen() Declaration public override void UpdateScreen() Overrides ConsoleDriver.UpdateScreen()" + "keywords": "Class FakeDriver Implements a mock ConsoleDriver for unit testing Inheritance System.Object ConsoleDriver FakeDriver Inherited Members ConsoleDriver.TerminalResized ConsoleDriver.MakePrintable(Rune) ConsoleDriver.SetTerminalResized(Action) ConsoleDriver.DrawWindowTitle(Rect, ustring, Int32, Int32, Int32, Int32, TextAlignment) ConsoleDriver.Diagnostics ConsoleDriver.DrawWindowFrame(Rect, Int32, Int32, Int32, Int32, Boolean, Boolean) ConsoleDriver.DrawFrame(Rect, Int32, Boolean) ConsoleDriver.Clip ConsoleDriver.HLine ConsoleDriver.VLine ConsoleDriver.Stipple ConsoleDriver.Diamond ConsoleDriver.ULCorner ConsoleDriver.LLCorner ConsoleDriver.URCorner ConsoleDriver.LRCorner ConsoleDriver.LeftTee ConsoleDriver.RightTee ConsoleDriver.TopTee ConsoleDriver.BottomTee ConsoleDriver.Checked ConsoleDriver.UnChecked ConsoleDriver.Selected ConsoleDriver.UnSelected ConsoleDriver.RightArrow ConsoleDriver.LeftArrow ConsoleDriver.DownArrow ConsoleDriver.UpArrow ConsoleDriver.LeftDefaultIndicator ConsoleDriver.RightDefaultIndicator ConsoleDriver.LeftBracket ConsoleDriver.RightBracket ConsoleDriver.OnMeterSegment ConsoleDriver.OffMeterSegement System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FakeDriver : ConsoleDriver Constructors FakeDriver() Declaration public FakeDriver() Properties Cols Declaration public override int Cols { get; } Property Value Type Description System.Int32 Overrides ConsoleDriver.Cols HeightAsBuffer Declaration public override bool HeightAsBuffer { get; set; } Property Value Type Description System.Boolean Overrides ConsoleDriver.HeightAsBuffer Rows Declaration public override int Rows { get; } Property Value Type Description System.Int32 Overrides ConsoleDriver.Rows Top Declaration public override int Top { get; } Property Value Type Description System.Int32 Overrides ConsoleDriver.Top Methods AddRune(Rune) Declaration public override void AddRune(Rune rune) Parameters Type Name Description System.Rune rune Overrides ConsoleDriver.AddRune(Rune) AddStr(ustring) Declaration public override void AddStr(ustring str) Parameters Type Name Description NStack.ustring str Overrides ConsoleDriver.AddStr(ustring) CookMouse() Declaration public override void CookMouse() Overrides ConsoleDriver.CookMouse() End() Declaration public override void End() Overrides ConsoleDriver.End() EnsureCursorVisibility() Ensure the cursor visibility Declaration public override bool EnsureCursorVisibility() Returns Type Description System.Boolean true upon success Overrides ConsoleDriver.EnsureCursorVisibility() GetAttribute() Declaration public override Attribute GetAttribute() Returns Type Description Attribute Overrides ConsoleDriver.GetAttribute() GetCursorVisibility(out CursorVisibility) Retreive the cursor caret visibility Declaration public override bool GetCursorVisibility(out CursorVisibility visibility) Parameters Type Name Description CursorVisibility visibility The current CursorVisibility Returns Type Description System.Boolean true upon success Overrides ConsoleDriver.GetCursorVisibility(out CursorVisibility) Init(Action) Declaration public override void Init(Action terminalResized) Parameters Type Name Description System.Action terminalResized Overrides ConsoleDriver.Init(Action) MakeAttribute(Color, Color) Declaration public override Attribute MakeAttribute(Color fore, Color back) Parameters Type Name Description Color fore Color back Returns Type Description Attribute Overrides ConsoleDriver.MakeAttribute(Color, Color) Move(Int32, Int32) Declaration public override void Move(int col, int row) Parameters Type Name Description System.Int32 col System.Int32 row Overrides ConsoleDriver.Move(Int32, Int32) PrepareToRun(MainLoop, Action, Action, Action, Action) Declaration public override void PrepareToRun(MainLoop mainLoop, Action keyHandler, Action keyDownHandler, Action keyUpHandler, Action mouseHandler) Parameters Type Name Description MainLoop mainLoop System.Action < KeyEvent > keyHandler System.Action < KeyEvent > keyDownHandler System.Action < KeyEvent > keyUpHandler System.Action < MouseEvent > mouseHandler Overrides ConsoleDriver.PrepareToRun(MainLoop, Action, Action, Action, Action) Refresh() Declaration public override void Refresh() Overrides ConsoleDriver.Refresh() SetAttribute(Attribute) Declaration public override void SetAttribute(Attribute c) Parameters Type Name Description Attribute c Overrides ConsoleDriver.SetAttribute(Attribute) SetColors(ConsoleColor, ConsoleColor) Declaration public override void SetColors(ConsoleColor foreground, ConsoleColor background) Parameters Type Name Description System.ConsoleColor foreground System.ConsoleColor background Overrides ConsoleDriver.SetColors(ConsoleColor, ConsoleColor) SetColors(Int16, Int16) Declaration public override void SetColors(short foregroundColorId, short backgroundColorId) Parameters Type Name Description System.Int16 foregroundColorId System.Int16 backgroundColorId Overrides ConsoleDriver.SetColors(Int16, Int16) SetCursorVisibility(CursorVisibility) Change the cursor caret visibility Declaration public override bool SetCursorVisibility(CursorVisibility visibility) Parameters Type Name Description CursorVisibility visibility The wished CursorVisibility Returns Type Description System.Boolean true upon success Overrides ConsoleDriver.SetCursorVisibility(CursorVisibility) StartReportingMouseMoves() Declaration public override void StartReportingMouseMoves() Overrides ConsoleDriver.StartReportingMouseMoves() StopReportingMouseMoves() Declaration public override void StopReportingMouseMoves() Overrides ConsoleDriver.StopReportingMouseMoves() Suspend() Declaration public override void Suspend() Overrides ConsoleDriver.Suspend() UncookMouse() Declaration public override void UncookMouse() Overrides ConsoleDriver.UncookMouse() UpdateCursor() Declaration public override void UpdateCursor() Overrides ConsoleDriver.UpdateCursor() UpdateScreen() Declaration public override void UpdateScreen() Overrides ConsoleDriver.UpdateScreen()" + }, + "api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html": { + "href": "api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html", + "title": "Class FakeMainLoop", + "keywords": "Class FakeMainLoop Mainloop intended to be used with the .NET System.Console API, and can be used on Windows and Unix, it is cross platform but lacks things like file descriptor monitoring. Inheritance System.Object FakeMainLoop Implements IMainLoopDriver Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FakeMainLoop : IMainLoopDriver Remarks This implementation is used for FakeDriver. Constructors FakeMainLoop(Func) Initializes the class. Declaration public FakeMainLoop(Func consoleKeyReaderFn = null) Parameters Type Name Description System.Func < System.ConsoleKeyInfo > consoleKeyReaderFn The method to be called to get a key from the console. Remarks Passing a consoleKeyReaderfn is provided to support unit test scenarios. Fields KeyPressed Invoked when a Key is pressed. Declaration public Action KeyPressed Field Value Type Description System.Action < System.ConsoleKeyInfo > Explicit Interface Implementations IMainLoopDriver.EventsPending(Boolean) Declaration bool IMainLoopDriver.EventsPending(bool wait) Parameters Type Name Description System.Boolean wait Returns Type Description System.Boolean IMainLoopDriver.MainIteration() Declaration void IMainLoopDriver.MainIteration() IMainLoopDriver.Setup(MainLoop) Declaration void IMainLoopDriver.Setup(MainLoop mainLoop) Parameters Type Name Description MainLoop mainLoop IMainLoopDriver.Wakeup() Declaration void IMainLoopDriver.Wakeup() Implements IMainLoopDriver" }, "api/Terminal.Gui/Terminal.Gui.FileDialog.html": { "href": "api/Terminal.Gui/Terminal.Gui.FileDialog.html", "title": "Class FileDialog", - "keywords": "Class FileDialog Base class for the OpenDialog and the SaveDialog Inheritance System.Object Responder View Toplevel Window Dialog FileDialog OpenDialog SaveDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FileDialog : Dialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors FileDialog() Initializes a new FileDialog . Declaration public FileDialog() FileDialog(ustring, ustring, ustring, ustring) Initializes a new instance of FileDialog Declaration public FileDialog(ustring title, ustring prompt, ustring nameFieldLabel, ustring message) Parameters Type Name Description NStack.ustring title The title. NStack.ustring prompt The prompt. NStack.ustring nameFieldLabel The name field label. NStack.ustring message The message. Properties AllowedFileTypes The array of filename extensions allowed, or null if all file extensions are allowed. Declaration public string[] AllowedFileTypes { get; set; } Property Value Type Description System.String [] The allowed file types. AllowsOtherFileTypes Gets or sets a value indicating whether this FileDialog allows the file to be saved with a different extension Declaration public bool AllowsOtherFileTypes { get; set; } Property Value Type Description System.Boolean true if allows other file types; otherwise, false . Canceled Check if the dialog was or not canceled. Declaration public bool Canceled { get; } Property Value Type Description System.Boolean CanCreateDirectories Gets or sets a value indicating whether this FileDialog can create directories. Declaration public bool CanCreateDirectories { get; set; } Property Value Type Description System.Boolean true if can create directories; otherwise, false . DirectoryPath Gets or sets the directory path for this panel Declaration public ustring DirectoryPath { get; set; } Property Value Type Description NStack.ustring The directory path. FilePath The File path that is currently shown on the panel Declaration public ustring FilePath { get; set; } Property Value Type Description NStack.ustring The absolute file path for the file path entered. IsExtensionHidden Gets or sets a value indicating whether this FileDialog is extension hidden. Declaration public bool IsExtensionHidden { get; set; } Property Value Type Description System.Boolean true if is extension hidden; otherwise, false . Message Gets or sets the message displayed to the user, defaults to nothing Declaration public ustring Message { get; set; } Property Value Type Description NStack.ustring The message. NameFieldLabel Gets or sets the name field label. Declaration public ustring NameFieldLabel { get; set; } Property Value Type Description NStack.ustring The name field label. Prompt Gets or sets the prompt label for the Button displayed to the user Declaration public ustring Prompt { get; set; } Property Value Type Description NStack.ustring The prompt. Methods WillPresent() Invoked by Begin(Toplevel) as part of the Run(Toplevel) after the views have been laid out, and before the views are drawn for the first time. Declaration public override void WillPresent() Overrides Toplevel.WillPresent() Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class FileDialog Base class for the OpenDialog and the SaveDialog Inheritance System.Object Responder View Toplevel Window Dialog FileDialog OpenDialog SaveDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FileDialog : Dialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors FileDialog() Initializes a new FileDialog . Declaration public FileDialog() FileDialog(ustring, ustring, ustring, ustring) Initializes a new instance of FileDialog Declaration public FileDialog(ustring title, ustring prompt, ustring nameFieldLabel, ustring message) Parameters Type Name Description NStack.ustring title The title. NStack.ustring prompt The prompt. NStack.ustring nameFieldLabel The name field label. NStack.ustring message The message. Properties AllowedFileTypes The array of filename extensions allowed, or null if all file extensions are allowed. Declaration public string[] AllowedFileTypes { get; set; } Property Value Type Description System.String [] The allowed file types. AllowsOtherFileTypes Gets or sets a value indicating whether this FileDialog allows the file to be saved with a different extension Declaration public bool AllowsOtherFileTypes { get; set; } Property Value Type Description System.Boolean true if allows other file types; otherwise, false . Canceled Check if the dialog was or not canceled. Declaration public bool Canceled { get; } Property Value Type Description System.Boolean CanCreateDirectories Gets or sets a value indicating whether this FileDialog can create directories. Declaration public bool CanCreateDirectories { get; set; } Property Value Type Description System.Boolean true if can create directories; otherwise, false . DirectoryPath Gets or sets the directory path for this panel Declaration public ustring DirectoryPath { get; set; } Property Value Type Description NStack.ustring The directory path. FilePath The File path that is currently shown on the panel Declaration public ustring FilePath { get; set; } Property Value Type Description NStack.ustring The absolute file path for the file path entered. IsExtensionHidden Gets or sets a value indicating whether this FileDialog is extension hidden. Declaration public bool IsExtensionHidden { get; set; } Property Value Type Description System.Boolean true if is extension hidden; otherwise, false . Message Gets or sets the message displayed to the user, defaults to nothing Declaration public ustring Message { get; set; } Property Value Type Description NStack.ustring The message. NameFieldLabel Gets or sets the name field label. Declaration public ustring NameFieldLabel { get; set; } Property Value Type Description NStack.ustring The name field label. Prompt Gets or sets the prompt label for the Button displayed to the user Declaration public ustring Prompt { get; set; } Property Value Type Description NStack.ustring The prompt. Methods WillPresent() Invoked by Begin(Toplevel) as part of the Run(Toplevel, Func) after the views have been laid out, and before the views are drawn for the first time. Declaration public override void WillPresent() Overrides Toplevel.WillPresent() Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.FrameView.html": { "href": "api/Terminal.Gui/Terminal.Gui.FrameView.html", "title": "Class FrameView", - "keywords": "Class FrameView The FrameView is a container frame that draws a frame around the contents. It is similar to a GroupBox in Windows. Inheritance System.Object Responder View FrameView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FrameView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors FrameView() Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView() FrameView(ustring) Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView(ustring title) Parameters Type Name Description NStack.ustring title Title. FrameView(Rect, ustring) Initializes a new instance of the FrameView class using Absolute layout. Declaration public FrameView(Rect frame, ustring title = null) Parameters Type Name Description Rect frame Frame. NStack.ustring title Title. FrameView(Rect, ustring, View[]) Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView(Rect frame, ustring title, View[] views) Parameters Type Name Description Rect frame Frame. NStack.ustring title Title. View [] views Views. Properties Text The text displayed by the Label . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text TextAlignment Controls the text-alignment property of the label, changing it will redisplay the Label . Declaration public override TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Overrides View.TextAlignment Title The title to be displayed for this FrameView . Declaration public ustring Title { get; set; } Property Value Type Description NStack.ustring The title. Methods Add(View) Add the specified View to this container. Declaration public override void Add(View view) Parameters Type Name Description View view View to add to this container Overrides View.Add(View) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a View from this container. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides View.Remove(View) Remarks RemoveAll() Removes all View s from this container. Declaration public override void RemoveAll() Overrides View.RemoveAll() Remarks Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class FrameView The FrameView is a container frame that draws a frame around the contents. It is similar to a GroupBox in Windows. Inheritance System.Object Responder View FrameView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class FrameView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors FrameView() Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView() FrameView(ustring) Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView(ustring title) Parameters Type Name Description NStack.ustring title Title. FrameView(Rect, ustring) Initializes a new instance of the FrameView class using Absolute layout. Declaration public FrameView(Rect frame, ustring title = null) Parameters Type Name Description Rect frame Frame. NStack.ustring title Title. FrameView(Rect, ustring, View[]) Initializes a new instance of the FrameView class using Computed layout. Declaration public FrameView(Rect frame, ustring title, View[] views) Parameters Type Name Description Rect frame Frame. NStack.ustring title Title. View [] views Views. Properties Text The text displayed by the Label . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text TextAlignment Controls the text-alignment property of the label, changing it will redisplay the Label . Declaration public override TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Overrides View.TextAlignment Title The title to be displayed for this FrameView . Declaration public ustring Title { get; set; } Property Value Type Description NStack.ustring The title. Methods Add(View) Add the specified View to this container. Declaration public override void Add(View view) Parameters Type Name Description View view View to add to this container Overrides View.Add(View) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a View from this container. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides View.Remove(View) Remarks RemoveAll() Removes all View s from this container. Declaration public override void RemoveAll() Overrides View.RemoveAll() Remarks Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.HexView.html": { "href": "api/Terminal.Gui/Terminal.Gui.HexView.html", "title": "Class HexView", - "keywords": "Class HexView An hex viewer and editor View over a System.IO.Stream Inheritance System.Object Responder View HexView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class HexView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks HexView provides a hex editor on top of a seekable System.IO.Stream with the left side showing an hex dump of the values in the System.IO.Stream and the right side showing the contents (filtered to non-control sequence ASCII characters). Users can switch from one side to the other by using the tab key. To enable editing, set AllowEdits to true. When AllowEdits is true the user can make changes to the hexadecimal values of the System.IO.Stream . Any changes are tracked in the Edits property (a System.Collections.Generic.SortedDictionary`2 ) indicating the position where the changes were made and the new values. A convenience method, ApplyEdits() will apply the edits to the System.IO.Stream . Control the first byte shown by setting the DisplayStart property to an offset in the stream. Constructors HexView() Initialzies a HexView class using Computed layout. Declaration public HexView() HexView(Stream) Initialzies a HexView class using Computed layout. Declaration public HexView(Stream source) Parameters Type Name Description System.IO.Stream source The System.IO.Stream to view and edit as hex, this System.IO.Stream must support seeking, or an exception will be thrown. Properties AllowEdits Gets or sets whether this HexView allow editing of the System.IO.Stream of the underlying System.IO.Stream . Declaration public bool AllowEdits { get; set; } Property Value Type Description System.Boolean true if allow edits; otherwise, false . DisplayStart Sets or gets the offset into the System.IO.Stream that will displayed at the top of the HexView Declaration public long DisplayStart { get; set; } Property Value Type Description System.Int64 The display start. Edits Gets a System.Collections.Generic.SortedDictionary`2 describing the edits done to the HexView . Each Key indicates an offset where an edit was made and the Value is the changed byte. Declaration public IReadOnlyDictionary Edits { get; } Property Value Type Description System.Collections.Generic.IReadOnlyDictionary < System.Int64 , System.Byte > The edits. Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public override Rect Frame { get; set; } Property Value Type Description Rect The frame. Overrides View.Frame Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . Source Sets or gets the System.IO.Stream the HexView is operating on; the stream must support seeking ( System.IO.Stream.CanSeek == true). Declaration public Stream Source { get; set; } Property Value Type Description System.IO.Stream The source. Methods ApplyEdits() This method applies andy edits made to the System.IO.Stream and resets the contents of the Edits property Declaration public void ApplyEdits() PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class HexView An hex viewer and editor View over a System.IO.Stream Inheritance System.Object Responder View HexView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class HexView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks HexView provides a hex editor on top of a seekable System.IO.Stream with the left side showing an hex dump of the values in the System.IO.Stream and the right side showing the contents (filtered to non-control sequence ASCII characters). Users can switch from one side to the other by using the tab key. To enable editing, set AllowEdits to true. When AllowEdits is true the user can make changes to the hexadecimal values of the System.IO.Stream . Any changes are tracked in the Edits property (a System.Collections.Generic.SortedDictionary`2 ) indicating the position where the changes were made and the new values. A convenience method, ApplyEdits() will apply the edits to the System.IO.Stream . Control the first byte shown by setting the DisplayStart property to an offset in the stream. Constructors HexView() Initialzies a HexView class using Computed layout. Declaration public HexView() HexView(Stream) Initialzies a HexView class using Computed layout. Declaration public HexView(Stream source) Parameters Type Name Description System.IO.Stream source The System.IO.Stream to view and edit as hex, this System.IO.Stream must support seeking, or an exception will be thrown. Properties AllowEdits Gets or sets whether this HexView allow editing of the System.IO.Stream of the underlying System.IO.Stream . Declaration public bool AllowEdits { get; set; } Property Value Type Description System.Boolean true if allow edits; otherwise, false . DesiredCursorVisibility Get / Set the wished cursor when the field is focused Declaration public CursorVisibility DesiredCursorVisibility { get; set; } Property Value Type Description CursorVisibility DisplayStart Sets or gets the offset into the System.IO.Stream that will displayed at the top of the HexView Declaration public long DisplayStart { get; set; } Property Value Type Description System.Int64 The display start. Edits Gets a System.Collections.Generic.SortedDictionary`2 describing the edits done to the HexView . Each Key indicates an offset where an edit was made and the Value is the changed byte. Declaration public IReadOnlyDictionary Edits { get; } Property Value Type Description System.Collections.Generic.IReadOnlyDictionary < System.Int64 , System.Byte > The edits. Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public override Rect Frame { get; set; } Property Value Type Description Rect The frame. Overrides View.Frame Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . Source Sets or gets the System.IO.Stream the HexView is operating on; the stream must support seeking ( System.IO.Stream.CanSeek == true). Declaration public Stream Source { get; set; } Property Value Type Description System.IO.Stream The source. Methods ApplyEdits() This method applies andy edits made to the System.IO.Stream and resets the contents of the Edits property Declaration public void ApplyEdits() PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.html": { "href": "api/Terminal.Gui/Terminal.Gui.html", "title": "Namespace Terminal.Gui", - "keywords": "Namespace Terminal.Gui Classes Application A static, singelton class provding the main application driver for Terminal.Gui apps. Application.ResizedEventArgs Event arguments for the Resized event. Application.RunState Captures the execution state for the provided Terminal.Gui.Application.RunState.Toplevel view. Button Button is a View that provides an item that invokes an System.Action when activated by the user. CheckBox The CheckBox View shows an on/off toggle that the user can set Clipboard Provides cut, copy, and paste support for the clipboard. NOTE: Currently not implemented. Colors The default ColorScheme s for the application. ColorScheme Color scheme definitions, they cover some common scenarios and are used typically in containers such as Window and FrameView to set the scheme that is used by all the views contained inside. ComboBox ComboBox control ConsoleDriver ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver , and Terminal.Gui.NetDriver that uses the .NET Console API. DateField Simple Date editing View DateTimeEventArgs Defines the event arguments for DateChanged and TimeChanged events. Dialog The Dialog View is a Window that by default is centered and contains one or more Button s. It defaults to the Dialog color scheme and has a 1 cell padding around the edges. Dim Dim properties of a View to control the position. FakeConsole FakeDriver Implements a mock ConsoleDriver for unit testing FileDialog Base class for the OpenDialog and the SaveDialog FrameView The FrameView is a container frame that draws a frame around the contents. It is similar to a GroupBox in Windows. HexView An hex viewer and editor View over a System.IO.Stream KeyEvent Describes a keyboard event. KeyModifiers Identifies the state of the \"shift\"-keys within a event. Label The Label View displays a string at a given position and supports multiple lines separted by newline characters. Multi-line Labels support word wrap. ListView ListView View renders a scrollable list of data where each item can be activated to perform an action. ListViewItemEventArgs System.EventArgs for ListView events. ListWrapper Implements an IListDataSource that renders arbitrary System.Collections.IList instances for ListView . MainLoop Simple main loop implementation that can be used to monitor file descriptor, run timers and idle handlers. MenuBar The MenuBar provides a menu for Terminal.Gui applications. MenuBarItem A MenuBarItem contains MenuBarItem s or MenuItem s. MenuItem A MenuItem has a title, an associated help text, and an action to execute on activation. MessageBox MessageBox displays a modal message to the user, with a title, a message and a series of options that the user can choose from. NetMainLoop Mainloop intended to be used with the .NET System.Console API, and can be used on Windows and Unix, it is cross platform but lacks things like file descriptor monitoring. OpenDialog The OpenDialog provides an interactive dialog box for users to select files or directories. Pos Describes the position of a View which can be an absolute value, a percentage, centered, or relative to the ending dimension. Integer values are implicitly convertible to an absolute Pos . These objects are created using the static methods Percent, AnchorEnd, and Center. The Pos objects can be combined with the addition and subtraction operators. ProgressBar A Progress Bar view that can indicate progress of an activity visually. RadioGroup RadioGroup shows a group of radio labels, only one of those can be selected at a given time RadioGroup.SelectedItemChangedArgs Event arguments for the SelectedItemChagned event. Responder Responder base class implemented by objects that want to participate on keyboard and mouse input. SaveDialog The SaveDialog provides an interactive dialog box for users to pick a file to save. ScrollBarView ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical ScrollView Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView. ShortcutHelper Represents a helper to manipulate shortcut keys used on views. StatusBar A status bar is a View that snaps to the bottom of a Toplevel displaying set of StatusItem s. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a statusbar. StatusItem StatusItem objects are contained by StatusBar View s. Each StatusItem has a title, a shortcut (hotkey), and an Action that will be invoked when the Shortcut is pressed. The Shortcut will be a global hotkey for the application in the current context of the screen. The colour of the Title will be changed after each ~. A Title set to `~F1~ Help` will render as *F1* using HotNormal and *Help* as HotNormal . TextChangingEventArgs An System.EventArgs which allows passing a cancelable new text value event. TextField Single-line text entry View TextFormatter Provides text formatting capabilities for console apps. Supports, hotkeys, horizontal alignment, multiple lines, and word-based line wrap. TextView Multi-line text editing View TimeField Time editing View Toplevel Toplevel views can be modally executed. View View is the base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views. View.FocusEventArgs Defines the event arguments for Terminal.Gui.View.SetFocus(Terminal.Gui.View) View.KeyEventEventArgs Defines the event arguments for KeyEvent View.LayoutEventArgs Event arguments for the LayoutComplete event. View.MouseEventArgs Specifies the event arguments for MouseEvent Window A Toplevel View that draws a border around its Frame with a Title at the top. Structs Attribute Attributes are used as elements that contain both a foreground and a background or platform specific features MouseEvent Describes a mouse event Point Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane. Rect Stores a set of four integers that represent the location and size of a rectangle Size Stores an ordered pair of integers, which specify a Height and Width. Interfaces IListDataSource Implement IListDataSource to provide custom rendering for a ListView . IMainLoopDriver Public interface to create your own platform specific main loop driver. Enums Color Basic colors that can be used to set the foreground and background colors in console applications. ConsoleDriver.DiagnosticFlags Enables diagnostic funcions DisplayModeLayout Used for choose the display mode of this RadioGroup Key The Key enumeration contains special encoding for some keys, but can also encode all the unicode values that can be passed. LayoutStyle Determines the LayoutStyle for a view, if Absolute, during LayoutSubviews, the value from the Frame will be used, if the value is Computed, then the Frame will be updated from the X, Y Pos objects and the Width and Height Dim objects. MenuItemCheckStyle Specifies how a MenuItem shows selection state. MouseFlags Mouse flags reported in MouseEvent . TextAlignment Text alignment enumeration, controls how text is displayed." + "keywords": "Namespace Terminal.Gui Classes Application A static, singelton class provding the main application driver for Terminal.Gui apps. Application.ResizedEventArgs Event arguments for the Resized event. Application.RunState Captures the execution state for the provided Terminal.Gui.Application.RunState.Toplevel view. Button Button is a View that provides an item that invokes an System.Action when activated by the user. CellActivatedEventArgs Defines the event arguments for CellActivated event CheckBox The CheckBox View shows an on/off toggle that the user can set Clipboard Provides cut, copy, and paste support for the clipboard. NOTE: Currently not implemented. Colors The default ColorScheme s for the application. ColorScheme Color scheme definitions, they cover some common scenarios and are used typically in containers such as Window and FrameView to set the scheme that is used by all the views contained inside. ColumnStyle Describes how to render a given column in a TableView including Alignment and textual representation of cells (e.g. date formats) ComboBox ComboBox control ConsoleDriver ConsoleDriver is an abstract class that defines the requirements for a console driver. There are currently three implementations: Terminal.Gui.CursesDriver (for Unix and Mac), Terminal.Gui.WindowsDriver , and Terminal.Gui.NetDriver that uses the .NET Console API. DateField Simple Date editing View DateTimeEventArgs Defines the event arguments for DateChanged and TimeChanged events. Dialog The Dialog View is a Window that by default is centered and contains one or more Button s. It defaults to the Dialog color scheme and has a 1 cell padding around the edges. Dim Dim properties of a View to control the position. FakeConsole FakeDriver Implements a mock ConsoleDriver for unit testing FakeMainLoop Mainloop intended to be used with the .NET System.Console API, and can be used on Windows and Unix, it is cross platform but lacks things like file descriptor monitoring. FileDialog Base class for the OpenDialog and the SaveDialog FrameView The FrameView is a container frame that draws a frame around the contents. It is similar to a GroupBox in Windows. HexView An hex viewer and editor View over a System.IO.Stream KeyEvent Describes a keyboard event. KeyModifiers Identifies the state of the \"shift\"-keys within a event. Label The Label View displays a string at a given position and supports multiple lines separted by newline characters. Multi-line Labels support word wrap. ListView ListView View renders a scrollable list of data where each item can be activated to perform an action. ListViewItemEventArgs System.EventArgs for ListView events. ListWrapper Implements an IListDataSource that renders arbitrary System.Collections.IList instances for ListView . MainLoop Simple main loop implementation that can be used to monitor file descriptor, run timers and idle handlers. MenuBar The MenuBar provides a menu for Terminal.Gui applications. MenuBarItem A MenuBarItem contains MenuBarItem s or MenuItem s. MenuItem A MenuItem has a title, an associated help text, and an action to execute on activation. MessageBox MessageBox displays a modal message to the user, with a title, a message and a series of options that the user can choose from. OpenDialog The OpenDialog provides an interactive dialog box for users to select files or directories. Pos Describes the position of a View which can be an absolute value, a percentage, centered, or relative to the ending dimension. Integer values are implicitly convertible to an absolute Pos . These objects are created using the static methods Percent, AnchorEnd, and Center. The Pos objects can be combined with the addition and subtraction operators. ProgressBar A Progress Bar view that can indicate progress of an activity visually. RadioGroup RadioGroup shows a group of radio labels, only one of those can be selected at a given time RadioGroup.SelectedItemChangedArgs Event arguments for the SelectedItemChagned event. Responder Responder base class implemented by objects that want to participate on keyboard and mouse input. SaveDialog The SaveDialog provides an interactive dialog box for users to pick a file to save. ScrollBarView ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical ScrollView Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView. SelectedCellChangedEventArgs Defines the event arguments for SelectedCellChanged ShortcutHelper Represents a helper to manipulate shortcut keys used on views. StatusBar A status bar is a View that snaps to the bottom of a Toplevel displaying set of StatusItem s. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a statusbar. StatusItem StatusItem objects are contained by StatusBar View s. Each StatusItem has a title, a shortcut (hotkey), and an Action that will be invoked when the Shortcut is pressed. The Shortcut will be a global hotkey for the application in the current context of the screen. The colour of the Title will be changed after each ~. A Title set to `~F1~ Help` will render as *F1* using HotNormal and *Help* as HotNormal . TableSelection Describes a selected region of the table TableStyle Defines rendering options that affect how the table is displayed TableView View for tabular data based on a System.Data.DataTable TextChangingEventArgs An System.EventArgs which allows passing a cancelable new text value event. TextField Single-line text entry View TextFormatter Provides text formatting capabilities for console apps. Supports, hotkeys, horizontal alignment, multiple lines, and word-based line wrap. TextView Multi-line text editing View TimeField Time editing View Toplevel Toplevel views can be modally executed. View View is the base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views. View.FocusEventArgs Defines the event arguments for Terminal.Gui.View.SetFocus(Terminal.Gui.View) View.KeyEventEventArgs Defines the event arguments for KeyEvent View.LayoutEventArgs Event arguments for the LayoutComplete event. View.MouseEventArgs Specifies the event arguments for MouseEvent Window A Toplevel View that draws a border around its Frame with a Title at the top. Structs Attribute Attributes are used as elements that contain both a foreground and a background or platform specific features MouseEvent Describes a mouse event Point Represents an ordered pair of integer x- and y-coordinates that defines a point in a two-dimensional plane. Rect Stores a set of four integers that represent the location and size of a rectangle Size Stores an ordered pair of integers, which specify a Height and Width. Interfaces IListDataSource Implement IListDataSource to provide custom rendering for a ListView . IMainLoopDriver Public interface to create your own platform specific main loop driver. Enums Color Basic colors that can be used to set the foreground and background colors in console applications. ConsoleDriver.DiagnosticFlags Enables diagnostic functions CursorVisibility Cursors Visibility that are displayed DisplayModeLayout Used for choose the display mode of this RadioGroup Key The Key enumeration contains special encoding for some keys, but can also encode all the unicode values that can be passed. LayoutStyle Determines the LayoutStyle for a view, if Absolute, during LayoutSubviews, the value from the Frame will be used, if the value is Computed, then the Frame will be updated from the X, Y Pos objects and the Width and Height Dim objects. MenuItemCheckStyle Specifies how a MenuItem shows selection state. MouseFlags Mouse flags reported in MouseEvent . TextAlignment Text alignment enumeration, controls how text is displayed." }, "api/Terminal.Gui/Terminal.Gui.IListDataSource.html": { "href": "api/Terminal.Gui/Terminal.Gui.IListDataSource.html", "title": "Interface IListDataSource", - "keywords": "Interface IListDataSource Implement IListDataSource to provide custom rendering for a ListView . Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public interface IListDataSource Properties Count Returns the number of elements to display Declaration int Count { get; } Property Value Type Description System.Int32 Methods IsMarked(Int32) Should return whether the specified item is currently marked. Declaration bool IsMarked(int item) Parameters Type Name Description System.Int32 item Item index. Returns Type Description System.Boolean true , if marked, false otherwise. Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) This method is invoked to render a specified item, the method should cover the entire provided width. Declaration void Render(ListView container, ConsoleDriver driver, bool selected, int item, int col, int line, int width) Parameters Type Name Description ListView container The list view to render. ConsoleDriver driver The console driver to render. System.Boolean selected Describes whether the item being rendered is currently selected by the user. System.Int32 item The index of the item to render, zero for the first item and so on. System.Int32 col The column where the rendering will start System.Int32 line The line where the rendering will be done. System.Int32 width The width that must be filled out. Remarks The default color will be set before this method is invoked, and will be based on whether the item is selected or not. SetMark(Int32, Boolean) Flags the item as marked. Declaration void SetMark(int item, bool value) Parameters Type Name Description System.Int32 item Item index. System.Boolean value If set to true value. ToList() Return the source as IList. Declaration IList ToList() Returns Type Description System.Collections.IList" + "keywords": "Interface IListDataSource Implement IListDataSource to provide custom rendering for a ListView . Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public interface IListDataSource Properties Count Returns the number of elements to display Declaration int Count { get; } Property Value Type Description System.Int32 Length Returns the maximum length of elements to display Declaration int Length { get; } Property Value Type Description System.Int32 Methods IsMarked(Int32) Should return whether the specified item is currently marked. Declaration bool IsMarked(int item) Parameters Type Name Description System.Int32 item Item index. Returns Type Description System.Boolean true , if marked, false otherwise. Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) This method is invoked to render a specified item, the method should cover the entire provided width. Declaration void Render(ListView container, ConsoleDriver driver, bool selected, int item, int col, int line, int width, int start = 0) Parameters Type Name Description ListView container The list view to render. ConsoleDriver driver The console driver to render. System.Boolean selected Describes whether the item being rendered is currently selected by the user. System.Int32 item The index of the item to render, zero for the first item and so on. System.Int32 col The column where the rendering will start System.Int32 line The line where the rendering will be done. System.Int32 width The width that must be filled out. System.Int32 start The index of the string to be displayed. Remarks The default color will be set before this method is invoked, and will be based on whether the item is selected or not. SetMark(Int32, Boolean) Flags the item as marked. Declaration void SetMark(int item, bool value) Parameters Type Name Description System.Int32 item Item index. System.Boolean value If set to true value. ToList() Return the source as IList. Declaration IList ToList() Returns Type Description System.Collections.IList" }, "api/Terminal.Gui/Terminal.Gui.IMainLoopDriver.html": { "href": "api/Terminal.Gui/Terminal.Gui.IMainLoopDriver.html", @@ -147,7 +167,7 @@ "api/Terminal.Gui/Terminal.Gui.Label.html": { "href": "api/Terminal.Gui/Terminal.Gui.Label.html", "title": "Class Label", - "keywords": "Class Label The Label View displays a string at a given position and supports multiple lines separted by newline characters. Multi-line Labels support word wrap. Inheritance System.Object Responder View Label Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.Redraw(Rect) View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Label : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The Label view is functionality identical to View and is included for API backwards compatibility. Constructors Label() Declaration public Label() Label(ustring) Initializes a new instance of View using Computed layout. Declaration public Label(ustring text) Parameters Type Name Description NStack.ustring text text to initialize the Text property with. Remarks The View will be created using Computed coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. Label(Int32, Int32, ustring) Initializes a new instance of View using Absolute layout. Declaration public Label(int x, int y, ustring text) Parameters Type Name Description System.Int32 x column to locate the Label. System.Int32 y row to locate the Label. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. No line wrapping is provided. Label(Rect) Initializes a new instance of a Absolute View class with the absolute dimensions specified in the frame parameter. Declaration public Label(Rect frame) Parameters Type Name Description Rect frame The region covered by this view. Remarks This constructor intitalize a View with a LayoutStyle of Absolute . Use View() to initialize a View with LayoutStyle of Computed Label(Rect, ustring) Initializes a new instance of View using Absolute layout. Declaration public Label(Rect rect, ustring text) Parameters Type Name Description Rect rect Location. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If rect.Height is greater than one, word wrapping is provided. Methods OnMouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool OnMouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnMouseEvent(MouseEvent) Events Clicked Clicked System.Action , raised when the user clicks the primary mouse button within the Bounds of this View or if the user presses the action key while this view is focused. (TODO: IsDefault) Declaration public event Action Clicked Event Type Type Description System.Action Remarks Client code can hook up to this event, it is raised when the button is activated either with the mouse or the keyboard. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class Label The Label View displays a string at a given position and supports multiple lines separted by newline characters. Multi-line Labels support word wrap. Inheritance System.Object Responder View Label Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.Redraw(Rect) View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Label : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The Label view is functionality identical to View and is included for API backwards compatibility. Constructors Label() Declaration public Label() Label(ustring) Initializes a new instance of View using Computed layout. Declaration public Label(ustring text) Parameters Type Name Description NStack.ustring text text to initialize the Text property with. Remarks The View will be created using Computed coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. Label(Int32, Int32, ustring) Initializes a new instance of View using Absolute layout. Declaration public Label(int x, int y, ustring text) Parameters Type Name Description System.Int32 x column to locate the Label. System.Int32 y row to locate the Label. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. No line wrapping is provided. Label(Rect) Initializes a new instance of a Absolute View class with the absolute dimensions specified in the frame parameter. Declaration public Label(Rect frame) Parameters Type Name Description Rect frame The region covered by this view. Remarks This constructor intitalize a View with a LayoutStyle of Absolute . Use View() to initialize a View with LayoutStyle of Computed Label(Rect, ustring) Initializes a new instance of View using Absolute layout. Declaration public Label(Rect rect, ustring text) Parameters Type Name Description Rect rect Location. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If rect.Height is greater than one, word wrapping is provided. Methods OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnMouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool OnMouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnMouseEvent(MouseEvent) Events Clicked Clicked System.Action , raised when the user clicks the primary mouse button within the Bounds of this View or if the user presses the action key while this view is focused. (TODO: IsDefault) Declaration public event Action Clicked Event Type Type Description System.Action Remarks Client code can hook up to this event, it is raised when the button is activated either with the mouse or the keyboard. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.LayoutStyle.html": { "href": "api/Terminal.Gui/Terminal.Gui.LayoutStyle.html", @@ -157,17 +177,17 @@ "api/Terminal.Gui/Terminal.Gui.ListView.html": { "href": "api/Terminal.Gui/Terminal.Gui.ListView.html", "title": "Class ListView", - "keywords": "Class ListView ListView View renders a scrollable list of data where each item can be activated to perform an action. Inheritance System.Object Responder View ListView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The ListView displays lists of data and allows the user to scroll through the data. Items in the can be activated firing an event (with the ENTER key or a mouse double-click). If the AllowsMarking property is true, elements of the list can be marked by the user. By default ListView uses System.Object.ToString() to render the items of any System.Collections.IList object (e.g. arrays, System.Collections.Generic.List , and other collections). Alternatively, an object that implements the IListDataSource interface can be provided giving full control of what is rendered. ListView can display any object that implements the System.Collections.IList interface. System.String values are converted into NStack.ustring values before rendering, and other values are converted into System.String by calling System.Object.ToString() and then converting to NStack.ustring . To change the contents of the ListView, set the Source property (when providing custom rendering via IListDataSource ) or call SetSource(IList) an System.Collections.IList is being used. When AllowsMarking is set to true the rendering will prefix the rendered items with [x] or [ ] and bind the SPACE key to toggle the selection. To implement a different marking style set AllowsMarking to false and implement custom rendering. Constructors ListView() Initializes a new instance of ListView . Set the Source property to display something. Declaration public ListView() ListView(IList) Initializes a new instance of ListView that will display the contents of the object implementing the System.Collections.IList interface, with relative positioning. Declaration public ListView(IList source) Parameters Type Name Description System.Collections.IList source An System.Collections.IList data source, if the elements are strings or ustrings, the string is rendered, otherwise the ToString() method is invoked on the result. ListView(IListDataSource) Initializes a new instance of ListView that will display the provided data source, using relative positioning. Declaration public ListView(IListDataSource source) Parameters Type Name Description IListDataSource source IListDataSource object that provides a mechanism to render the data. The number of elements on the collection should not change, if you must change, set the \"Source\" property to reset the internal settings of the ListView. ListView(Rect, IList) Initializes a new instance of ListView that will display the contents of the object implementing the System.Collections.IList interface with an absolute position. Declaration public ListView(Rect rect, IList source) Parameters Type Name Description Rect rect Frame for the listview. System.Collections.IList source An IList data source, if the elements of the IList are strings or ustrings, the string is rendered, otherwise the ToString() method is invoked on the result. ListView(Rect, IListDataSource) Initializes a new instance of ListView with the provided data source and an absolute position Declaration public ListView(Rect rect, IListDataSource source) Parameters Type Name Description Rect rect Frame for the listview. IListDataSource source IListDataSource object that provides a mechanism to render the data. The number of elements on the collection should not change, if you must change, set the \"Source\" property to reset the internal settings of the ListView. Properties AllowsMarking Gets or sets whether this ListView allows items to be marked. Declaration public bool AllowsMarking { get; set; } Property Value Type Description System.Boolean true if allows marking elements of the list; otherwise, false . Remarks If set to true, ListView will render items marked items with \"[x]\", and unmarked items with \"[ ]\" spaces. SPACE key will toggle marking. AllowsMultipleSelection If set to true allows more than one item to be selected. If false only allow one item selected. Declaration public bool AllowsMultipleSelection { get; set; } Property Value Type Description System.Boolean SelectedItem Gets or sets the index of the currently selected item. Declaration public int SelectedItem { get; set; } Property Value Type Description System.Int32 The selected item. Source Gets or sets the IListDataSource backing this ListView , enabling custom rendering. Declaration public IListDataSource Source { get; set; } Property Value Type Description IListDataSource The source. Remarks Use SetSource(IList) to set a new System.Collections.IList source. TopItem Gets or sets the item that is displayed at the top of the ListView . Declaration public int TopItem { get; set; } Property Value Type Description System.Int32 The top item. Methods AllowsAll() Prevents marking if it's not allowed mark and if it's not allows multiple selection. Declaration public virtual bool AllowsAll() Returns Type Description System.Boolean MarkUnmarkRow() Marks an unmarked row. Declaration public virtual bool MarkUnmarkRow() Returns Type Description System.Boolean MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) MoveDown() Moves the selected item index to the next row. Declaration public virtual bool MoveDown() Returns Type Description System.Boolean MoveEnd() Moves the selected item index to the last row. Declaration public virtual bool MoveEnd() Returns Type Description System.Boolean MoveHome() Moves the selected item index to the first row. Declaration public virtual bool MoveHome() Returns Type Description System.Boolean MovePageDown() Moves the selected item index to the previous page. Declaration public virtual bool MovePageDown() Returns Type Description System.Boolean MovePageUp() Moves the selected item index to the next page. Declaration public virtual bool MovePageUp() Returns Type Description System.Boolean MoveUp() Moves the selected item index to the previous row. Declaration public virtual bool MoveUp() Returns Type Description System.Boolean OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnOpenSelectedItem() Invokes the OnOpenSelectedItem event if it is defined. Declaration public virtual bool OnOpenSelectedItem() Returns Type Description System.Boolean OnSelectedChanged() Invokes the SelectedChanged event if it is defined. Declaration public virtual bool OnSelectedChanged() Returns Type Description System.Boolean PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. SetSource(IList) Sets the source of the ListView to an System.Collections.IList . Declaration public void SetSource(IList source) Parameters Type Name Description System.Collections.IList source Remarks Use the Source property to set a new IListDataSource source and use custome rendering. SetSourceAsync(IList) Sets the source to an System.Collections.IList value asynchronously. Declaration public Task SetSourceAsync(IList source) Parameters Type Name Description System.Collections.IList source Returns Type Description System.Threading.Tasks.Task An item implementing the IList interface. Remarks Use the Source property to set a new IListDataSource source and use custome rendering. Events OpenSelectedItem This event is raised when the user Double Clicks on an item or presses ENTER to open the selected item. Declaration public event Action OpenSelectedItem Event Type Type Description System.Action < ListViewItemEventArgs > SelectedItemChanged This event is raised when the selected item in the ListView has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < ListViewItemEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class ListView ListView View renders a scrollable list of data where each item can be activated to perform an action. Inheritance System.Object Responder View ListView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The ListView displays lists of data and allows the user to scroll through the data. Items in the can be activated firing an event (with the ENTER key or a mouse double-click). If the AllowsMarking property is true, elements of the list can be marked by the user. By default ListView uses System.Object.ToString() to render the items of any System.Collections.IList object (e.g. arrays, System.Collections.Generic.List , and other collections). Alternatively, an object that implements the IListDataSource interface can be provided giving full control of what is rendered. ListView can display any object that implements the System.Collections.IList interface. System.String values are converted into NStack.ustring values before rendering, and other values are converted into System.String by calling System.Object.ToString() and then converting to NStack.ustring . To change the contents of the ListView, set the Source property (when providing custom rendering via IListDataSource ) or call SetSource(IList) an System.Collections.IList is being used. When AllowsMarking is set to true the rendering will prefix the rendered items with [x] or [ ] and bind the SPACE key to toggle the selection. To implement a different marking style set AllowsMarking to false and implement custom rendering. Constructors ListView() Initializes a new instance of ListView . Set the Source property to display something. Declaration public ListView() ListView(IList) Initializes a new instance of ListView that will display the contents of the object implementing the System.Collections.IList interface, with relative positioning. Declaration public ListView(IList source) Parameters Type Name Description System.Collections.IList source An System.Collections.IList data source, if the elements are strings or ustrings, the string is rendered, otherwise the ToString() method is invoked on the result. ListView(IListDataSource) Initializes a new instance of ListView that will display the provided data source, using relative positioning. Declaration public ListView(IListDataSource source) Parameters Type Name Description IListDataSource source IListDataSource object that provides a mechanism to render the data. The number of elements on the collection should not change, if you must change, set the \"Source\" property to reset the internal settings of the ListView. ListView(Rect, IList) Initializes a new instance of ListView that will display the contents of the object implementing the System.Collections.IList interface with an absolute position. Declaration public ListView(Rect rect, IList source) Parameters Type Name Description Rect rect Frame for the listview. System.Collections.IList source An IList data source, if the elements of the IList are strings or ustrings, the string is rendered, otherwise the ToString() method is invoked on the result. ListView(Rect, IListDataSource) Initializes a new instance of ListView with the provided data source and an absolute position Declaration public ListView(Rect rect, IListDataSource source) Parameters Type Name Description Rect rect Frame for the listview. IListDataSource source IListDataSource object that provides a mechanism to render the data. The number of elements on the collection should not change, if you must change, set the \"Source\" property to reset the internal settings of the ListView. Properties AllowsMarking Gets or sets whether this ListView allows items to be marked. Declaration public bool AllowsMarking { get; set; } Property Value Type Description System.Boolean true if allows marking elements of the list; otherwise, false . Remarks If set to true, ListView will render items marked items with \"[x]\", and unmarked items with \"[ ]\" spaces. SPACE key will toggle marking. AllowsMultipleSelection If set to true allows more than one item to be selected. If false only allow one item selected. Declaration public bool AllowsMultipleSelection { get; set; } Property Value Type Description System.Boolean LeftItem Gets or sets the left column where the item start to be displayed at on the ListView . Declaration public int LeftItem { get; set; } Property Value Type Description System.Int32 The left position. Maxlength Gets the widest item. Declaration public int Maxlength { get; } Property Value Type Description System.Int32 SelectedItem Gets or sets the index of the currently selected item. Declaration public int SelectedItem { get; set; } Property Value Type Description System.Int32 The selected item. Source Gets or sets the IListDataSource backing this ListView , enabling custom rendering. Declaration public IListDataSource Source { get; set; } Property Value Type Description IListDataSource The source. Remarks Use SetSource(IList) to set a new System.Collections.IList source. TopItem Gets or sets the item that is displayed at the top of the ListView . Declaration public int TopItem { get; set; } Property Value Type Description System.Int32 The top item. Methods AllowsAll() Prevents marking if it's not allowed mark and if it's not allows multiple selection. Declaration public virtual bool AllowsAll() Returns Type Description System.Boolean MarkUnmarkRow() Marks an unmarked row. Declaration public virtual bool MarkUnmarkRow() Returns Type Description System.Boolean MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) MoveDown() Moves the selected item index to the next row. Declaration public virtual bool MoveDown() Returns Type Description System.Boolean MoveEnd() Moves the selected item index to the last row. Declaration public virtual bool MoveEnd() Returns Type Description System.Boolean MoveHome() Moves the selected item index to the first row. Declaration public virtual bool MoveHome() Returns Type Description System.Boolean MovePageDown() Moves the selected item index to the previous page. Declaration public virtual bool MovePageDown() Returns Type Description System.Boolean MovePageUp() Moves the selected item index to the next page. Declaration public virtual bool MovePageUp() Returns Type Description System.Boolean MoveUp() Moves the selected item index to the previous row. Declaration public virtual bool MoveUp() Returns Type Description System.Boolean OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnOpenSelectedItem() Invokes the OnOpenSelectedItem event if it is defined. Declaration public virtual bool OnOpenSelectedItem() Returns Type Description System.Boolean OnSelectedChanged() Invokes the SelectedChanged event if it is defined. Declaration public virtual bool OnSelectedChanged() Returns Type Description System.Boolean PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. ScrollDown(Int32) Scrolls the view down. Declaration public virtual void ScrollDown(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll down. ScrollLeft(Int32) Scrolls the view left. Declaration public virtual void ScrollLeft(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll left. ScrollRight(Int32) Scrolls the view right. Declaration public virtual void ScrollRight(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll right. ScrollUp(Int32) Scrolls the view up. Declaration public virtual void ScrollUp(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll up. SetSource(IList) Sets the source of the ListView to an System.Collections.IList . Declaration public void SetSource(IList source) Parameters Type Name Description System.Collections.IList source Remarks Use the Source property to set a new IListDataSource source and use custome rendering. SetSourceAsync(IList) Sets the source to an System.Collections.IList value asynchronously. Declaration public Task SetSourceAsync(IList source) Parameters Type Name Description System.Collections.IList source Returns Type Description System.Threading.Tasks.Task An item implementing the IList interface. Remarks Use the Source property to set a new IListDataSource source and use custom rendering. Events OpenSelectedItem This event is raised when the user Double Clicks on an item or presses ENTER to open the selected item. Declaration public event Action OpenSelectedItem Event Type Type Description System.Action < ListViewItemEventArgs > SelectedItemChanged This event is raised when the selected item in the ListView has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < ListViewItemEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.ListViewItemEventArgs.html": { "href": "api/Terminal.Gui/Terminal.Gui.ListViewItemEventArgs.html", "title": "Class ListViewItemEventArgs", - "keywords": "Class ListViewItemEventArgs System.EventArgs for ListView events. Inheritance System.Object System.EventArgs ListViewItemEventArgs Inherited Members System.EventArgs.Empty System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListViewItemEventArgs : EventArgs Constructors ListViewItemEventArgs(Int32, Object) Initializes a new instance of ListViewItemEventArgs Declaration public ListViewItemEventArgs(int item, object value) Parameters Type Name Description System.Int32 item The index of the the ListView item. System.Object value The ListView item Properties Item The index of the ListView item. Declaration public int Item { get; } Property Value Type Description System.Int32 Value The the ListView item. Declaration public object Value { get; } Property Value Type Description System.Object" + "keywords": "Class ListViewItemEventArgs System.EventArgs for ListView events. Inheritance System.Object System.EventArgs ListViewItemEventArgs Inherited Members System.EventArgs.Empty System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListViewItemEventArgs : EventArgs Constructors ListViewItemEventArgs(Int32, Object) Initializes a new instance of ListViewItemEventArgs Declaration public ListViewItemEventArgs(int item, object value) Parameters Type Name Description System.Int32 item The index of the ListView item. System.Object value The ListView item Properties Item The index of the ListView item. Declaration public int Item { get; } Property Value Type Description System.Int32 Value The ListView item. Declaration public object Value { get; } Property Value Type Description System.Object" }, "api/Terminal.Gui/Terminal.Gui.ListWrapper.html": { "href": "api/Terminal.Gui/Terminal.Gui.ListWrapper.html", "title": "Class ListWrapper", - "keywords": "Class ListWrapper Implements an IListDataSource that renders arbitrary System.Collections.IList instances for ListView . Inheritance System.Object ListWrapper Implements IListDataSource Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListWrapper : IListDataSource Remarks Implements support for rendering marked items. Constructors ListWrapper(IList) Initializes a new instance of ListWrapper given an System.Collections.IList Declaration public ListWrapper(IList source) Parameters Type Name Description System.Collections.IList source Properties Count Gets the number of items in the System.Collections.IList . Declaration public int Count { get; } Property Value Type Description System.Int32 Methods IsMarked(Int32) Returns true if the item is marked, false otherwise. Declaration public bool IsMarked(int item) Parameters Type Name Description System.Int32 item The item. Returns Type Description System.Boolean true If is marked. false otherwise. Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) Renders a ListView item to the appropriate type. Declaration public void Render(ListView container, ConsoleDriver driver, bool marked, int item, int col, int line, int width) Parameters Type Name Description ListView container The ListView. ConsoleDriver driver The driver used by the caller. System.Boolean marked Informs if it's marked or not. System.Int32 item The item. System.Int32 col The col where to move. System.Int32 line The line where to move. System.Int32 width The item width. SetMark(Int32, Boolean) Sets the item as marked or unmarked based on the value is true or false, respectively. Declaration public void SetMark(int item, bool value) Parameters Type Name Description System.Int32 item The item System.Boolean value Marks the item. Unmarked the item. The value. ToList() Returns the source as IList. Declaration public IList ToList() Returns Type Description System.Collections.IList Implements IListDataSource" + "keywords": "Class ListWrapper Implements an IListDataSource that renders arbitrary System.Collections.IList instances for ListView . Inheritance System.Object ListWrapper Implements IListDataSource Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ListWrapper : IListDataSource Remarks Implements support for rendering marked items. Constructors ListWrapper(IList) Initializes a new instance of ListWrapper given an System.Collections.IList Declaration public ListWrapper(IList source) Parameters Type Name Description System.Collections.IList source Properties Count Gets the number of items in the System.Collections.IList . Declaration public int Count { get; } Property Value Type Description System.Int32 Length Gets the maximum item length in the System.Collections.IList . Declaration public int Length { get; } Property Value Type Description System.Int32 Methods IsMarked(Int32) Returns true if the item is marked, false otherwise. Declaration public bool IsMarked(int item) Parameters Type Name Description System.Int32 item The item. Returns Type Description System.Boolean true If is marked. false otherwise. Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) Renders a ListView item to the appropriate type. Declaration public void Render(ListView container, ConsoleDriver driver, bool marked, int item, int col, int line, int width, int start = 0) Parameters Type Name Description ListView container The ListView. ConsoleDriver driver The driver used by the caller. System.Boolean marked Informs if it's marked or not. System.Int32 item The item. System.Int32 col The col where to move. System.Int32 line The line where to move. System.Int32 width The item width. System.Int32 start The index of the string to be displayed. SetMark(Int32, Boolean) Sets the item as marked or unmarked based on the value is true or false, respectively. Declaration public void SetMark(int item, bool value) Parameters Type Name Description System.Int32 item The item System.Boolean value Marks the item. Unmarked the item. The value. ToList() Returns the source as IList. Declaration public IList ToList() Returns Type Description System.Collections.IList Implements IListDataSource" }, "api/Terminal.Gui/Terminal.Gui.MainLoop.html": { "href": "api/Terminal.Gui/Terminal.Gui.MainLoop.html", @@ -177,12 +197,12 @@ "api/Terminal.Gui/Terminal.Gui.MenuBar.html": { "href": "api/Terminal.Gui/Terminal.Gui.MenuBar.html", "title": "Class MenuBar", - "keywords": "Class MenuBar The MenuBar provides a menu for Terminal.Gui applications. Inheritance System.Object Responder View MenuBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class MenuBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The MenuBar appears on the first row of the terminal. The MenuBar provides global hotkeys for the application. Constructors MenuBar() Initializes a new instance of the MenuBar . Declaration public MenuBar() MenuBar(MenuBarItem[]) Initializes a new instance of the MenuBar class with the specified set of toplevel menu items. Declaration public MenuBar(MenuBarItem[] menus) Parameters Type Name Description MenuBarItem [] menus Individual menu items; a null item will result in a separator being drawn. Properties IsMenuOpen True if the menu is open; otherwise false. Declaration public bool IsMenuOpen { get; protected set; } Property Value Type Description System.Boolean LastFocused Get the lasted focused view before open the menu. Declaration public View LastFocused { get; } Property Value Type Description View Menus Gets or sets the array of MenuBarItem s for the menu. Only set this when the MenuBar is vislble. Declaration public MenuBarItem[] Menus { get; set; } Property Value Type Description MenuBarItem [] The menu array. ShortcutDelimiter Used for change the shortcut delimiter separator. Declaration public static ustring ShortcutDelimiter { get; set; } Property Value Type Description NStack.ustring UseKeysUpDownAsKeysLeftRight Used for change the navigation key style. Declaration public bool UseKeysUpDownAsKeysLeftRight { get; set; } Property Value Type Description System.Boolean Methods CloseMenu() Closes the current Menu programatically, if open. Declaration public void CloseMenu() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyUp(KeyEvent) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnMenuClosing() Virtual method that will invoke the MenuClosing Declaration public virtual void OnMenuClosing() OnMenuOpening() Virtual method that will invoke the MenuOpening Declaration public virtual void OnMenuOpening() OpenMenu() Opens the current Menu programatically. Declaration public void OpenMenu() PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events MenuClosing Raised when a menu is closing. Declaration public event Action MenuClosing Event Type Type Description System.Action MenuOpening Raised as a menu is opening. Declaration public event Action MenuOpening Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class MenuBar The MenuBar provides a menu for Terminal.Gui applications. Inheritance System.Object Responder View MenuBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class MenuBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The MenuBar appears on the first row of the terminal. The MenuBar provides global hotkeys for the application. Constructors MenuBar() Initializes a new instance of the MenuBar . Declaration public MenuBar() MenuBar(MenuBarItem[]) Initializes a new instance of the MenuBar class with the specified set of toplevel menu items. Declaration public MenuBar(MenuBarItem[] menus) Parameters Type Name Description MenuBarItem [] menus Individual menu items; a null item will result in a separator being drawn. Properties IsMenuOpen True if the menu is open; otherwise false. Declaration public bool IsMenuOpen { get; protected set; } Property Value Type Description System.Boolean LastFocused Get the lasted focused view before open the menu. Declaration public View LastFocused { get; } Property Value Type Description View Menus Gets or sets the array of MenuBarItem s for the menu. Only set this when the MenuBar is vislble. Declaration public MenuBarItem[] Menus { get; set; } Property Value Type Description MenuBarItem [] The menu array. ShortcutDelimiter Used for change the shortcut delimiter separator. Declaration public static ustring ShortcutDelimiter { get; set; } Property Value Type Description NStack.ustring UseKeysUpDownAsKeysLeftRight Used for change the navigation key style. Declaration public bool UseKeysUpDownAsKeysLeftRight { get; set; } Property Value Type Description System.Boolean Methods CloseMenu() Closes the current Menu programatically, if open. Declaration public void CloseMenu() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyUp(KeyEvent) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnMenuClosing() Virtual method that will invoke the MenuClosing Declaration public virtual void OnMenuClosing() OnMenuOpening() Virtual method that will invoke the MenuOpening Declaration public virtual void OnMenuOpening() OpenMenu() Opens the current Menu programatically. Declaration public void OpenMenu() PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events MenuClosing Raised when a menu is closing. Declaration public event Action MenuClosing Event Type Type Description System.Action MenuOpening Raised as a menu is opening. Declaration public event Action MenuOpening Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.MenuBarItem.html": { "href": "api/Terminal.Gui/Terminal.Gui.MenuBarItem.html", "title": "Class MenuBarItem", - "keywords": "Class MenuBarItem A MenuBarItem contains MenuBarItem s or MenuItem s. Inheritance System.Object MenuItem MenuBarItem Inherited Members MenuItem.HotKey MenuItem.Shortcut MenuItem.ShortcutTag MenuItem.Title MenuItem.Help MenuItem.Action MenuItem.CanExecute MenuItem.IsEnabled() MenuItem.Checked MenuItem.CheckType MenuItem.Parent MenuItem.GetMenuItem() MenuItem.GetMenuBarItem() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class MenuBarItem : MenuItem Constructors MenuBarItem() Initializes a new MenuBarItem . Declaration public MenuBarItem() MenuBarItem(ustring, ustring, Action, Func, MenuItem) Initializes a new MenuBarItem as a MenuItem . Declaration public MenuBarItem(ustring title, ustring help, Action action, Func canExecute = null, MenuItem parent = null) Parameters Type Name Description NStack.ustring title Title for the menu item. NStack.ustring help Help text to display. System.Action action Action to invoke when the menu item is activated. System.Func < System.Boolean > canExecute Function to determine if the action can currently be executed. MenuItem parent The parent MenuItem of this if exist, otherwise is null. MenuBarItem(ustring, MenuItem[], MenuItem) Initializes a new MenuBarItem . Declaration public MenuBarItem(ustring title, MenuItem[] children, MenuItem parent = null) Parameters Type Name Description NStack.ustring title Title for the menu item. MenuItem [] children The items in the current menu. MenuItem parent The parent MenuItem of this if exist, otherwise is null. MenuBarItem(MenuItem[]) Initializes a new MenuBarItem . Declaration public MenuBarItem(MenuItem[] children) Parameters Type Name Description MenuItem [] children The items in the current menu. Properties Children Gets or sets an array of MenuItem objects that are the children of this MenuBarItem Declaration public MenuItem[] Children { get; set; } Property Value Type Description MenuItem [] The children. Methods GetChildrenIndex(MenuItem) Get the index of the MenuItem parameter. Declaration public int GetChildrenIndex(MenuItem children) Parameters Type Name Description MenuItem children Returns Type Description System.Int32 Returns a value bigger than -1 if the MenuItem is a child of this. IsSubMenuOf(MenuItem) Check if the MenuItem parameter is a child of this. Declaration public bool IsSubMenuOf(MenuItem menuItem) Parameters Type Name Description MenuItem menuItem Returns Type Description System.Boolean Returns true if it is a child of this. false otherwise. SubMenu(MenuItem) Check if the children parameter is a MenuBarItem . Declaration public MenuBarItem SubMenu(MenuItem children) Parameters Type Name Description MenuItem children Returns Type Description MenuBarItem Returns a MenuBarItem or null otherwise." + "keywords": "Class MenuBarItem A MenuBarItem contains MenuBarItem s or MenuItem s. Inheritance System.Object MenuItem MenuBarItem Inherited Members MenuItem.HotKey MenuItem.Shortcut MenuItem.ShortcutTag MenuItem.Title MenuItem.Help MenuItem.Action MenuItem.CanExecute MenuItem.IsEnabled() MenuItem.Checked MenuItem.CheckType MenuItem.Parent MenuItem.GetMenuItem() MenuItem.GetMenuBarItem() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class MenuBarItem : MenuItem Constructors MenuBarItem() Initializes a new MenuBarItem . Declaration public MenuBarItem() MenuBarItem(ustring, ustring, Action, Func, MenuItem) Initializes a new MenuBarItem as a MenuItem . Declaration public MenuBarItem(ustring title, ustring help, Action action, Func canExecute = null, MenuItem parent = null) Parameters Type Name Description NStack.ustring title Title for the menu item. NStack.ustring help Help text to display. System.Action action Action to invoke when the menu item is activated. System.Func < System.Boolean > canExecute Function to determine if the action can currently be executed. MenuItem parent The parent MenuItem of this if exist, otherwise is null. MenuBarItem(ustring, List, MenuItem) Initializes a new MenuBarItem with separate list of items. Declaration public MenuBarItem(ustring title, List children, MenuItem parent = null) Parameters Type Name Description NStack.ustring title Title for the menu item. System.Collections.Generic.List < MenuItem []> children The list of items in the current menu. MenuItem parent The parent MenuItem of this if exist, otherwise is null. MenuBarItem(ustring, MenuItem[], MenuItem) Initializes a new MenuBarItem . Declaration public MenuBarItem(ustring title, MenuItem[] children, MenuItem parent = null) Parameters Type Name Description NStack.ustring title Title for the menu item. MenuItem [] children The items in the current menu. MenuItem parent The parent MenuItem of this if exist, otherwise is null. MenuBarItem(MenuItem[]) Initializes a new MenuBarItem . Declaration public MenuBarItem(MenuItem[] children) Parameters Type Name Description MenuItem [] children The items in the current menu. Properties Children Gets or sets an array of MenuItem objects that are the children of this MenuBarItem Declaration public MenuItem[] Children { get; set; } Property Value Type Description MenuItem [] The children. Methods GetChildrenIndex(MenuItem) Get the index of the MenuItem parameter. Declaration public int GetChildrenIndex(MenuItem children) Parameters Type Name Description MenuItem children Returns Type Description System.Int32 Returns a value bigger than -1 if the MenuItem is a child of this. IsSubMenuOf(MenuItem) Check if the MenuItem parameter is a child of this. Declaration public bool IsSubMenuOf(MenuItem menuItem) Parameters Type Name Description MenuItem menuItem Returns Type Description System.Boolean Returns true if it is a child of this. false otherwise. SubMenu(MenuItem) Check if the children parameter is a MenuBarItem . Declaration public MenuBarItem SubMenu(MenuItem children) Parameters Type Name Description MenuItem children Returns Type Description MenuBarItem Returns a MenuBarItem or null otherwise." }, "api/Terminal.Gui/Terminal.Gui.MenuItem.html": { "href": "api/Terminal.Gui/Terminal.Gui.MenuItem.html", @@ -209,15 +229,10 @@ "title": "Enum MouseFlags", "keywords": "Enum MouseFlags Mouse flags reported in MouseEvent . Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax [Flags] public enum MouseFlags Remarks They just happen to map to the ncurses ones. Fields Name Description AllEvents Mask that captures all the events. Button1Clicked The first mouse button was clicked (press+release). Button1DoubleClicked The first mouse button was double-clicked. Button1Pressed The first mouse button was pressed. Button1Released The first mouse button was released. Button1TripleClicked The first mouse button was triple-clicked. Button2Clicked The second mouse button was clicked (press+release). Button2DoubleClicked The second mouse button was double-clicked. Button2Pressed The second mouse button was pressed. Button2Released The second mouse button was released. Button2TripleClicked The second mouse button was triple-clicked. Button3Clicked The third mouse button was clicked (press+release). Button3DoubleClicked The third mouse button was double-clicked. Button3Pressed The third mouse button was pressed. Button3Released The third mouse button was released. Button3TripleClicked The third mouse button was triple-clicked. Button4Clicked The fourth button was clicked (press+release). Button4DoubleClicked The fourth button was double-clicked. Button4Pressed The fourth mouse button was pressed. Button4Released The fourth mouse button was released. Button4TripleClicked The fourth button was triple-clicked. ButtonAlt Flag: the alt key was pressed when the mouse button took place. ButtonCtrl Flag: the ctrl key was pressed when the mouse button took place. ButtonShift Flag: the shift key was pressed when the mouse button took place. ReportMousePosition The mouse position is being reported in this event. WheeledDown Vertical button wheeled up. WheeledLeft Vertical button wheeled up while pressing ButtonShift. WheeledRight Vertical button wheeled down while pressing ButtonShift. WheeledUp Vertical button wheeled up." }, - "api/Terminal.Gui/Terminal.Gui.NetMainLoop.html": { - "href": "api/Terminal.Gui/Terminal.Gui.NetMainLoop.html", - "title": "Class NetMainLoop", - "keywords": "Class NetMainLoop Mainloop intended to be used with the .NET System.Console API, and can be used on Windows and Unix, it is cross platform but lacks things like file descriptor monitoring. Inheritance System.Object NetMainLoop Implements IMainLoopDriver Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class NetMainLoop : IMainLoopDriver Remarks This implementation is used for both NetDriver and FakeDriver. Constructors NetMainLoop(Func) Initializes the class. Declaration public NetMainLoop(Func consoleKeyReaderFn = null) Parameters Type Name Description System.Func < System.ConsoleKeyInfo > consoleKeyReaderFn The method to be called to get a key from the console. Remarks Passing a consoleKeyReaderfn is provided to support unit test sceanrios. Fields KeyPressed Invoked when a Key is pressed. Declaration public Action KeyPressed Field Value Type Description System.Action < System.ConsoleKeyInfo > Explicit Interface Implementations IMainLoopDriver.EventsPending(Boolean) Declaration bool IMainLoopDriver.EventsPending(bool wait) Parameters Type Name Description System.Boolean wait Returns Type Description System.Boolean IMainLoopDriver.MainIteration() Declaration void IMainLoopDriver.MainIteration() IMainLoopDriver.Setup(MainLoop) Declaration void IMainLoopDriver.Setup(MainLoop mainLoop) Parameters Type Name Description MainLoop mainLoop IMainLoopDriver.Wakeup() Declaration void IMainLoopDriver.Wakeup() Implements IMainLoopDriver" - }, "api/Terminal.Gui/Terminal.Gui.OpenDialog.html": { "href": "api/Terminal.Gui/Terminal.Gui.OpenDialog.html", "title": "Class OpenDialog", - "keywords": "Class OpenDialog The OpenDialog provides an interactive dialog box for users to select files or directories. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog OpenDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FileDialog.WillPresent() FileDialog.Prompt FileDialog.NameFieldLabel FileDialog.Message FileDialog.CanCreateDirectories FileDialog.IsExtensionHidden FileDialog.DirectoryPath FileDialog.AllowedFileTypes FileDialog.AllowsOtherFileTypes FileDialog.FilePath FileDialog.Canceled Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class OpenDialog : FileDialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The open dialog can be used to select files for opening, it can be configured to allow multiple items to be selected (based on the AllowsMultipleSelection) variable and you can control whether this should allow files or directories to be selected. To use, create an instance of OpenDialog , and pass it to Run() . This will run the dialog modally, and when this returns, the list of filds will be available on the FilePaths property. To select more than one file, users can use the spacebar, or control-t. Constructors OpenDialog() Initializes a new OpenDialog . Declaration public OpenDialog() OpenDialog(ustring, ustring) Initializes a new OpenDialog . Declaration public OpenDialog(ustring title, ustring message) Parameters Type Name Description NStack.ustring title NStack.ustring message Properties AllowsMultipleSelection Gets or sets a value indicating whether this OpenDialog allows multiple selection. Declaration public bool AllowsMultipleSelection { get; set; } Property Value Type Description System.Boolean true if allows multiple selection; otherwise, false , defaults to false. CanChooseDirectories Gets or sets a value indicating whether this OpenDialog can choose directories. Declaration public bool CanChooseDirectories { get; set; } Property Value Type Description System.Boolean true if can choose directories; otherwise, false defaults to false . CanChooseFiles Gets or sets a value indicating whether this OpenDialog can choose files. Declaration public bool CanChooseFiles { get; set; } Property Value Type Description System.Boolean true if can choose files; otherwise, false . Defaults to true FilePaths Returns the selected files, or an empty list if nothing has been selected Declaration public IReadOnlyList FilePaths { get; } Property Value Type Description System.Collections.Generic.IReadOnlyList < System.String > The file paths. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class OpenDialog The OpenDialog provides an interactive dialog box for users to select files or directories. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog OpenDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FileDialog.WillPresent() FileDialog.Prompt FileDialog.NameFieldLabel FileDialog.Message FileDialog.CanCreateDirectories FileDialog.IsExtensionHidden FileDialog.DirectoryPath FileDialog.AllowedFileTypes FileDialog.AllowsOtherFileTypes FileDialog.FilePath FileDialog.Canceled Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class OpenDialog : FileDialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The open dialog can be used to select files for opening, it can be configured to allow multiple items to be selected (based on the AllowsMultipleSelection) variable and you can control whether this should allow files or directories to be selected. To use, create an instance of OpenDialog , and pass it to Run(Func) . This will run the dialog modally, and when this returns, the list of filds will be available on the FilePaths property. To select more than one file, users can use the spacebar, or control-t. Constructors OpenDialog() Initializes a new OpenDialog . Declaration public OpenDialog() OpenDialog(ustring, ustring) Initializes a new OpenDialog . Declaration public OpenDialog(ustring title, ustring message) Parameters Type Name Description NStack.ustring title NStack.ustring message Properties AllowsMultipleSelection Gets or sets a value indicating whether this OpenDialog allows multiple selection. Declaration public bool AllowsMultipleSelection { get; set; } Property Value Type Description System.Boolean true if allows multiple selection; otherwise, false , defaults to false. CanChooseDirectories Gets or sets a value indicating whether this OpenDialog can choose directories. Declaration public bool CanChooseDirectories { get; set; } Property Value Type Description System.Boolean true if can choose directories; otherwise, false defaults to false . CanChooseFiles Gets or sets a value indicating whether this OpenDialog can choose files. Declaration public bool CanChooseFiles { get; set; } Property Value Type Description System.Boolean true if can choose files; otherwise, false . Defaults to true FilePaths Returns the selected files, or an empty list if nothing has been selected Declaration public IReadOnlyList FilePaths { get; } Property Value Type Description System.Collections.Generic.IReadOnlyList < System.String > The file paths. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.Point.html": { "href": "api/Terminal.Gui/Terminal.Gui.Point.html", @@ -232,12 +247,12 @@ "api/Terminal.Gui/Terminal.Gui.ProgressBar.html": { "href": "api/Terminal.Gui/Terminal.Gui.ProgressBar.html", "title": "Class ProgressBar", - "keywords": "Class ProgressBar A Progress Bar view that can indicate progress of an activity visually. Inheritance System.Object Responder View ProgressBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ProgressBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks ProgressBar can operate in two modes, percentage mode, or activity mode. The progress bar starts in percentage mode and setting the Fraction property will reflect on the UI the progress made so far. Activity mode is used when the application has no way of knowing how much time is left, and is started when the Pulse() method is called. Call Pulse() repeatedly as progress is made. Constructors ProgressBar() Initializes a new instance of the ProgressBar class, starts in percentage mode and uses relative layout. Declaration public ProgressBar() ProgressBar(Rect) Initializes a new instance of the ProgressBar class, starts in percentage mode with an absolute position and size. Declaration public ProgressBar(Rect rect) Parameters Type Name Description Rect rect Rect. Properties Fraction Gets or sets the ProgressBar fraction to display, must be a value between 0 and 1. Declaration public float Fraction { get; set; } Property Value Type Description System.Single The fraction representing the progress. Methods Pulse() Notifies the ProgressBar that some progress has taken place. Declaration public void Pulse() Remarks If the ProgressBar is is percentage mode, it switches to activity mode. If is in activity mode, the marker is moved. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class ProgressBar A Progress Bar view that can indicate progress of an activity visually. Inheritance System.Object Responder View ProgressBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ProgressBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks ProgressBar can operate in two modes, percentage mode, or activity mode. The progress bar starts in percentage mode and setting the Fraction property will reflect on the UI the progress made so far. Activity mode is used when the application has no way of knowing how much time is left, and is started when the Pulse() method is called. Call Pulse() repeatedly as progress is made. Constructors ProgressBar() Initializes a new instance of the ProgressBar class, starts in percentage mode and uses relative layout. Declaration public ProgressBar() ProgressBar(Rect) Initializes a new instance of the ProgressBar class, starts in percentage mode with an absolute position and size. Declaration public ProgressBar(Rect rect) Parameters Type Name Description Rect rect Rect. Properties Fraction Gets or sets the ProgressBar fraction to display, must be a value between 0 and 1. Declaration public float Fraction { get; set; } Property Value Type Description System.Single The fraction representing the progress. Methods OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) Pulse() Notifies the ProgressBar that some progress has taken place. Declaration public void Pulse() Remarks If the ProgressBar is is percentage mode, it switches to activity mode. If is in activity mode, the marker is moved. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.RadioGroup.html": { "href": "api/Terminal.Gui/Terminal.Gui.RadioGroup.html", "title": "Class RadioGroup", - "keywords": "Class RadioGroup RadioGroup shows a group of radio labels, only one of those can be selected at a given time Inheritance System.Object Responder View RadioGroup Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class RadioGroup : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors RadioGroup() Initializes a new instance of the RadioGroup class using Computed layout. Declaration public RadioGroup() RadioGroup(ustring[], Int32) Initializes a new instance of the RadioGroup class using Computed layout. Declaration public RadioGroup(ustring[] radioLabels, int selected = 0) Parameters Type Name Description NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The index of the item to be selected, the value is clamped to the number of items. RadioGroup(Int32, Int32, ustring[], Int32) Initializes a new instance of the RadioGroup class using Absolute layout. The View frame is computed from the provided radio labels. Declaration public RadioGroup(int x, int y, ustring[] radioLabels, int selected = 0) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The item to be selected, the value is clamped to the number of items. RadioGroup(Rect, ustring[], Int32) Initializes a new instance of the RadioGroup class using Absolute layout. Declaration public RadioGroup(Rect rect, ustring[] radioLabels, int selected = 0) Parameters Type Name Description Rect rect Boundaries for the radio group. NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The index of item to be selected, the value is clamped to the number of items. Properties DisplayMode Gets or sets the DisplayModeLayout for this RadioGroup . Declaration public DisplayModeLayout DisplayMode { get; set; } Property Value Type Description DisplayModeLayout HorizontalSpace Gets or sets the horizontal space for this RadioGroup if the DisplayMode is Horizontal Declaration public int HorizontalSpace { get; set; } Property Value Type Description System.Int32 RadioLabels The radio labels to display Declaration public ustring[] RadioLabels { get; set; } Property Value Type Description NStack.ustring [] The radio labels. SelectedItem The currently selected item from the list of radio labels Declaration public int SelectedItem { get; set; } Property Value Type Description System.Int32 The selected. Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnSelectedItemChanged(Int32, Int32) Called whenever the current selected item changes. Invokes the SelectedItemChanged event. Declaration public virtual void OnSelectedItemChanged(int selectedItem, int previousSelectedItem) Parameters Type Name Description System.Int32 selectedItem System.Int32 previousSelectedItem PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Refresh() Allow to invoke the SelectedItemChanged after their creation. Declaration public void Refresh() Events SelectedItemChanged Invoked when the selected radio label has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < RadioGroup.SelectedItemChangedArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class RadioGroup RadioGroup shows a group of radio labels, only one of those can be selected at a given time Inheritance System.Object Responder View RadioGroup Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class RadioGroup : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors RadioGroup() Initializes a new instance of the RadioGroup class using Computed layout. Declaration public RadioGroup() RadioGroup(ustring[], Int32) Initializes a new instance of the RadioGroup class using Computed layout. Declaration public RadioGroup(ustring[] radioLabels, int selected = 0) Parameters Type Name Description NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The index of the item to be selected, the value is clamped to the number of items. RadioGroup(Int32, Int32, ustring[], Int32) Initializes a new instance of the RadioGroup class using Absolute layout. The View frame is computed from the provided radio labels. Declaration public RadioGroup(int x, int y, ustring[] radioLabels, int selected = 0) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The item to be selected, the value is clamped to the number of items. RadioGroup(Rect, ustring[], Int32) Initializes a new instance of the RadioGroup class using Absolute layout. Declaration public RadioGroup(Rect rect, ustring[] radioLabels, int selected = 0) Parameters Type Name Description Rect rect Boundaries for the radio group. NStack.ustring [] radioLabels The radio labels; an array of strings that can contain hotkeys using an underscore before the letter. System.Int32 selected The index of item to be selected, the value is clamped to the number of items. Properties DisplayMode Gets or sets the DisplayModeLayout for this RadioGroup . Declaration public DisplayModeLayout DisplayMode { get; set; } Property Value Type Description DisplayModeLayout HorizontalSpace Gets or sets the horizontal space for this RadioGroup if the DisplayMode is Horizontal Declaration public int HorizontalSpace { get; set; } Property Value Type Description System.Int32 RadioLabels The radio labels to display Declaration public ustring[] RadioLabels { get; set; } Property Value Type Description NStack.ustring [] The radio labels. SelectedItem The currently selected item from the list of radio labels Declaration public int SelectedItem { get; set; } Property Value Type Description System.Int32 The selected. Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnSelectedItemChanged(Int32, Int32) Called whenever the current selected item changes. Invokes the SelectedItemChanged event. Declaration public virtual void OnSelectedItemChanged(int selectedItem, int previousSelectedItem) Parameters Type Name Description System.Int32 selectedItem System.Int32 previousSelectedItem PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Refresh() Allow to invoke the SelectedItemChanged after their creation. Declaration public void Refresh() Events SelectedItemChanged Invoked when the selected radio label has changed. Declaration public event Action SelectedItemChanged Event Type Type Description System.Action < RadioGroup.SelectedItemChangedArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html": { "href": "api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html", @@ -257,17 +272,22 @@ "api/Terminal.Gui/Terminal.Gui.SaveDialog.html": { "href": "api/Terminal.Gui/Terminal.Gui.SaveDialog.html", "title": "Class SaveDialog", - "keywords": "Class SaveDialog The SaveDialog provides an interactive dialog box for users to pick a file to save. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog SaveDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FileDialog.WillPresent() FileDialog.Prompt FileDialog.NameFieldLabel FileDialog.Message FileDialog.CanCreateDirectories FileDialog.IsExtensionHidden FileDialog.DirectoryPath FileDialog.AllowedFileTypes FileDialog.AllowsOtherFileTypes FileDialog.FilePath FileDialog.Canceled Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class SaveDialog : FileDialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks To use, create an instance of SaveDialog , and pass it to Run() . This will run the dialog modally, and when this returns, the FileName property will contain the selected file name or null if the user canceled. Constructors SaveDialog() Initializes a new SaveDialog . Declaration public SaveDialog() SaveDialog(ustring, ustring) Initializes a new SaveDialog . Declaration public SaveDialog(ustring title, ustring message) Parameters Type Name Description NStack.ustring title The title. NStack.ustring message The message. Properties FileName Gets the name of the file the user selected for saving, or null if the user canceled the SaveDialog . Declaration public ustring FileName { get; } Property Value Type Description NStack.ustring The name of the file. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class SaveDialog The SaveDialog provides an interactive dialog box for users to pick a file to save. Inheritance System.Object Responder View Toplevel Window Dialog FileDialog SaveDialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FileDialog.WillPresent() FileDialog.Prompt FileDialog.NameFieldLabel FileDialog.Message FileDialog.CanCreateDirectories FileDialog.IsExtensionHidden FileDialog.DirectoryPath FileDialog.AllowedFileTypes FileDialog.AllowsOtherFileTypes FileDialog.FilePath FileDialog.Canceled Dialog.AddButton(Button) Dialog.ProcessKey(KeyEvent) Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class SaveDialog : FileDialog, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks To use, create an instance of SaveDialog , and pass it to Run(Func) . This will run the dialog modally, and when this returns, the FileName property will contain the selected file name or null if the user canceled. Constructors SaveDialog() Initializes a new SaveDialog . Declaration public SaveDialog() SaveDialog(ustring, ustring) Initializes a new SaveDialog . Declaration public SaveDialog(ustring title, ustring message) Parameters Type Name Description NStack.ustring title The title. NStack.ustring message The message. Properties FileName Gets the name of the file the user selected for saving, or null if the user canceled the SaveDialog . Declaration public ustring FileName { get; } Property Value Type Description NStack.ustring The name of the file. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.ScrollBarView.html": { "href": "api/Terminal.Gui/Terminal.Gui.ScrollBarView.html", "title": "Class ScrollBarView", - "keywords": "Class ScrollBarView ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical Inheritance System.Object Responder View ScrollBarView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ScrollBarView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The scrollbar is drawn to be a representation of the Size, assuming that the scroll position is set at Position. If the region to display the scrollbar is larger than three characters, arrow indicators are drawn. Constructors ScrollBarView() Initializes a new instance of the ScrollBarView class using Computed layout. Declaration public ScrollBarView() ScrollBarView(Int32, Int32, Boolean) Initializes a new instance of the ScrollBarView class using Computed layout. Declaration public ScrollBarView(int size, int position, bool isVertical) Parameters Type Name Description System.Int32 size The size that this scrollbar represents. System.Int32 position The position within this scrollbar. System.Boolean isVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. ScrollBarView(Rect) Initializes a new instance of the ScrollBarView class using Absolute layout. Declaration public ScrollBarView(Rect rect) Parameters Type Name Description Rect rect Frame for the scrollbar. ScrollBarView(Rect, Int32, Int32, Boolean) Initializes a new instance of the ScrollBarView class using Absolute layout. Declaration public ScrollBarView(Rect rect, int size, int position, bool isVertical) Parameters Type Name Description Rect rect Frame for the scrollbar. System.Int32 size The size that this scrollbar represents. Sets the Size property. System.Int32 position The position within this scrollbar. Sets the Position property. System.Boolean isVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. Sets the IsVertical property. Properties Host Get or sets the view that host this ScrollView Declaration public ScrollView Host { get; } Property Value Type Description ScrollView IsVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. Declaration public bool IsVertical { get; set; } Property Value Type Description System.Boolean Position The position, relative to Size , to set the scrollbar at. Declaration public int Position { get; set; } Property Value Type Description System.Int32 The position. Size The size of content the scrollbar represents. Declaration public int Size { get; set; } Property Value Type Description System.Int32 The size. Remarks The Size is typically the size of the virtual content. E.g. when a Scrollbar is part of a ScrollView the Size is set to the appropriate dimension of ContentSize . Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events ChangedPosition This event is raised when the position on the scrollbar has changed. Declaration public event Action ChangedPosition Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class ScrollBarView ScrollBarViews are views that display a 1-character scrollbar, either horizontal or vertical Inheritance System.Object Responder View ScrollBarView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ScrollBarView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The scrollbar is drawn to be a representation of the Size, assuming that the scroll position is set at Position. If the region to display the scrollbar is larger than three characters, arrow indicators are drawn. Constructors ScrollBarView() Initializes a new instance of the ScrollBarView class using Computed layout. Declaration public ScrollBarView() ScrollBarView(Int32, Int32, Boolean) Initializes a new instance of the ScrollBarView class using Computed layout. Declaration public ScrollBarView(int size, int position, bool isVertical) Parameters Type Name Description System.Int32 size The size that this scrollbar represents. System.Int32 position The position within this scrollbar. System.Boolean isVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. ScrollBarView(Rect) Initializes a new instance of the ScrollBarView class using Absolute layout. Declaration public ScrollBarView(Rect rect) Parameters Type Name Description Rect rect Frame for the scrollbar. ScrollBarView(Rect, Int32, Int32, Boolean) Initializes a new instance of the ScrollBarView class using Absolute layout. Declaration public ScrollBarView(Rect rect, int size, int position, bool isVertical) Parameters Type Name Description Rect rect Frame for the scrollbar. System.Int32 size The size that this scrollbar represents. Sets the Size property. System.Int32 position The position within this scrollbar. Sets the Position property. System.Boolean isVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. Sets the IsVertical property. ScrollBarView(View, Boolean, Boolean) Initializes a new instance of the ScrollBarView class using Computed layout. Declaration public ScrollBarView(View host, bool isVertical, bool showBothScrollIndicator = true) Parameters Type Name Description View host The view that will host this scrollbar. System.Boolean isVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. System.Boolean showBothScrollIndicator If set to true (default) will have the other scrollbar, otherwise will have only one. Properties AutoHideScrollBars If true the vertical/horizontal scroll bars won't be showed if it's not needed. Declaration public bool AutoHideScrollBars { get; set; } Property Value Type Description System.Boolean Host Get or sets the view that host this View Declaration public View Host { get; } Property Value Type Description View IsVertical If set to true this is a vertical scrollbar, otherwise, the scrollbar is horizontal. Declaration public bool IsVertical { get; set; } Property Value Type Description System.Boolean KeepContentAlwaysInViewport Get or sets if the view-port is kept always visible in the area of this ScrollBarView Declaration public bool KeepContentAlwaysInViewport { get; set; } Property Value Type Description System.Boolean OtherScrollBarView Represent a vertical or horizontal ScrollBarView other than this. Declaration public ScrollBarView OtherScrollBarView { get; set; } Property Value Type Description ScrollBarView Position The position, relative to Size , to set the scrollbar at. Declaration public int Position { get; set; } Property Value Type Description System.Int32 The position. ShowScrollIndicator Gets or sets the visibility for the vertical or horizontal scroll indicator. Declaration public bool ShowScrollIndicator { get; set; } Property Value Type Description System.Boolean true if show vertical or horizontal scroll indicator; otherwise, false . Size The size of content the scrollbar represents. Declaration public int Size { get; set; } Property Value Type Description System.Int32 The size. Remarks The Size is typically the size of the virtual content. E.g. when a Scrollbar is part of a View the Size is set to the appropriate dimension of Host . Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnChangedPosition() Virtual method to invoke the ChangedPosition action event. Declaration public virtual void OnChangedPosition() OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Refresh() Only used for a hosted view that will update and redraw the scrollbars. Declaration public virtual void Refresh() Events ChangedPosition This event is raised when the position on the scrollbar has changed. Declaration public event Action ChangedPosition Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.ScrollView.html": { "href": "api/Terminal.Gui/Terminal.Gui.ScrollView.html", "title": "Class ScrollView", - "keywords": "Class ScrollView Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView. Inheritance System.Object Responder View ScrollView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ScrollView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The subviews that are added to this ScrollView are offset by the ContentOffset property. The view itself is a window into the space represented by the ContentSize . Use the Constructors ScrollView() Initializes a new instance of the ScrollView class using Computed positioning. Declaration public ScrollView() ScrollView(Rect) Initializes a new instance of the ScrollView class using Absolute positioning. Declaration public ScrollView(Rect frame) Parameters Type Name Description Rect frame Properties AutoHideScrollBars If true the vertical/horizontal scroll bars won't be showed if it's not needed. Declaration public bool AutoHideScrollBars { get; set; } Property Value Type Description System.Boolean ContentOffset Represents the top left corner coordinate that is displayed by the scrollview Declaration public Point ContentOffset { get; set; } Property Value Type Description Point The content offset. ContentSize Represents the contents of the data shown inside the scrolview Declaration public Size ContentSize { get; set; } Property Value Type Description Size The size of the content. KeepContentAlwaysInViewport Get or sets if the view-port is kept always visible in the area of this ScrollView Declaration public bool KeepContentAlwaysInViewport { get; set; } Property Value Type Description System.Boolean ShowHorizontalScrollIndicator Gets or sets the visibility for the horizontal scroll indicator. Declaration public bool ShowHorizontalScrollIndicator { get; set; } Property Value Type Description System.Boolean true if show horizontal scroll indicator; otherwise, false . ShowVerticalScrollIndicator /// Gets or sets the visibility for the vertical scroll indicator. Declaration public bool ShowVerticalScrollIndicator { get; set; } Property Value Type Description System.Boolean true if show vertical scroll indicator; otherwise, false . Methods Add(View) Adds the view to the scrollview. Declaration public override void Add(View view) Parameters Type Name Description View view The view to add to the scrollview. Overrides View.Add(View) Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides View.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. RemoveAll() Removes all widgets from this container. Declaration public override void RemoveAll() Overrides View.RemoveAll() Remarks ScrollDown(Int32) Scrolls the view down. Declaration public bool ScrollDown(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. ScrollLeft(Int32) Scrolls the view to the left Declaration public bool ScrollLeft(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll by. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. ScrollRight(Int32) Scrolls the view to the right. Declaration public bool ScrollRight(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll by. Returns Type Description System.Boolean true , if right was scrolled, false otherwise. ScrollUp(Int32) Scrolls the view up. Declaration public bool ScrollUp(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class ScrollView Scrollviews are views that present a window into a virtual space where subviews are added. Similar to the iOS UIScrollView. Inheritance System.Object Responder View ScrollView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class ScrollView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The subviews that are added to this ScrollView are offset by the ContentOffset property. The view itself is a window into the space represented by the ContentSize . Use the Constructors ScrollView() Initializes a new instance of the ScrollView class using Computed positioning. Declaration public ScrollView() ScrollView(Rect) Initializes a new instance of the ScrollView class using Absolute positioning. Declaration public ScrollView(Rect frame) Parameters Type Name Description Rect frame Properties AutoHideScrollBars If true the vertical/horizontal scroll bars won't be showed if it's not needed. Declaration public bool AutoHideScrollBars { get; set; } Property Value Type Description System.Boolean ContentOffset Represents the top left corner coordinate that is displayed by the scrollview Declaration public Point ContentOffset { get; set; } Property Value Type Description Point The content offset. ContentSize Represents the contents of the data shown inside the scrollview Declaration public Size ContentSize { get; set; } Property Value Type Description Size The size of the content. KeepContentAlwaysInViewport Get or sets if the view-port is kept always visible in the area of this ScrollView Declaration public bool KeepContentAlwaysInViewport { get; set; } Property Value Type Description System.Boolean ShowHorizontalScrollIndicator Gets or sets the visibility for the horizontal scroll indicator. Declaration public bool ShowHorizontalScrollIndicator { get; set; } Property Value Type Description System.Boolean true if show horizontal scroll indicator; otherwise, false . ShowVerticalScrollIndicator /// Gets or sets the visibility for the vertical scroll indicator. Declaration public bool ShowVerticalScrollIndicator { get; set; } Property Value Type Description System.Boolean true if show vertical scroll indicator; otherwise, false . Methods Add(View) Adds the view to the scrollview. Declaration public override void Add(View view) Parameters Type Name Description View view The view to add to the scrollview. Overrides View.Add(View) Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides View.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect region) Parameters Type Name Description Rect region Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. RemoveAll() Removes all widgets from this container. Declaration public override void RemoveAll() Overrides View.RemoveAll() Remarks ScrollDown(Int32) Scrolls the view down. Declaration public bool ScrollDown(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. ScrollLeft(Int32) Scrolls the view to the left Declaration public bool ScrollLeft(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll by. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. ScrollRight(Int32) Scrolls the view to the right. Declaration public bool ScrollRight(int cols) Parameters Type Name Description System.Int32 cols Number of columns to scroll by. Returns Type Description System.Boolean true , if right was scrolled, false otherwise. ScrollUp(Int32) Scrolls the view up. Declaration public bool ScrollUp(int lines) Parameters Type Name Description System.Int32 lines Number of lines to scroll. Returns Type Description System.Boolean true , if left was scrolled, false otherwise. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + }, + "api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html": { + "href": "api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html", + "title": "Class SelectedCellChangedEventArgs", + "keywords": "Class SelectedCellChangedEventArgs Defines the event arguments for SelectedCellChanged Inheritance System.Object System.EventArgs SelectedCellChangedEventArgs Inherited Members System.EventArgs.Empty System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class SelectedCellChangedEventArgs : EventArgs Constructors SelectedCellChangedEventArgs(DataTable, Int32, Int32, Int32, Int32) Creates a new instance of arguments describing a change in selected cell in a TableView Declaration public SelectedCellChangedEventArgs(DataTable t, int oldCol, int newCol, int oldRow, int newRow) Parameters Type Name Description System.Data.DataTable t System.Int32 oldCol System.Int32 newCol System.Int32 oldRow System.Int32 newRow Properties NewCol The newly selected column index. Declaration public int NewCol { get; } Property Value Type Description System.Int32 NewRow The newly selected row index. Declaration public int NewRow { get; } Property Value Type Description System.Int32 OldCol The previous selected column index. May be invalid e.g. when the selection has been changed as a result of replacing the existing Table with a smaller one Declaration public int OldCol { get; } Property Value Type Description System.Int32 OldRow The previous selected row index. May be invalid e.g. when the selection has been changed as a result of deleting rows from the table Declaration public int OldRow { get; } Property Value Type Description System.Int32 Table The current table to which the new indexes refer. May be null e.g. if selection change is the result of clearing the table from the view Declaration public DataTable Table { get; } Property Value Type Description System.Data.DataTable" }, "api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html": { "href": "api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html", @@ -282,13 +302,28 @@ "api/Terminal.Gui/Terminal.Gui.StatusBar.html": { "href": "api/Terminal.Gui/Terminal.Gui.StatusBar.html", "title": "Class StatusBar", - "keywords": "Class StatusBar A status bar is a View that snaps to the bottom of a Toplevel displaying set of StatusItem s. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a statusbar. Inheritance System.Object Responder View StatusBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class StatusBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors StatusBar() Initializes a new instance of the StatusBar class. Declaration public StatusBar() StatusBar(StatusItem[]) Initializes a new instance of the StatusBar class with the specified set of StatusItem s. The StatusBar will be drawn on the lowest line of the terminal or SuperView (if not null). Declaration public StatusBar(StatusItem[] items) Parameters Type Name Description StatusItem [] items A list of statusbar items. Properties Items The items that compose the StatusBar Declaration public StatusItem[] Items { get; set; } Property Value Type Description StatusItem [] Methods Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides View.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class StatusBar A status bar is a View that snaps to the bottom of a Toplevel displaying set of StatusItem s. The StatusBar should be context sensitive. This means, if the main menu and an open text editor are visible, the items probably shown will be ~F1~ Help ~F2~ Save ~F3~ Load. While a dialog to ask a file to load is executed, the remaining commands will probably be ~F1~ Help. So for each context must be a new instance of a statusbar. Inheritance System.Object Responder View StatusBar Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class StatusBar : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors StatusBar() Initializes a new instance of the StatusBar class. Declaration public StatusBar() StatusBar(StatusItem[]) Initializes a new instance of the StatusBar class with the specified set of StatusItem s. The StatusBar will be drawn on the lowest line of the terminal or SuperView (if not null). Declaration public StatusBar(StatusItem[] items) Parameters Type Name Description StatusItem [] items A list of statusbar items. Properties Items The items that compose the StatusBar Declaration public StatusItem[] Items { get; set; } Property Value Type Description StatusItem [] Methods Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides View.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.StatusItem.html": { "href": "api/Terminal.Gui/Terminal.Gui.StatusItem.html", "title": "Class StatusItem", "keywords": "Class StatusItem StatusItem objects are contained by StatusBar View s. Each StatusItem has a title, a shortcut (hotkey), and an Action that will be invoked when the Shortcut is pressed. The Shortcut will be a global hotkey for the application in the current context of the screen. The colour of the Title will be changed after each ~. A Title set to `~F1~ Help` will render as *F1* using HotNormal and *Help* as HotNormal . Inheritance System.Object StatusItem Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class StatusItem Constructors StatusItem(Key, ustring, Action) Initializes a new StatusItem . Declaration public StatusItem(Key shortcut, ustring title, Action action) Parameters Type Name Description Key shortcut Shortcut to activate the StatusItem . NStack.ustring title Title for the StatusItem . System.Action action Action to invoke when the StatusItem is activated. Properties Action Gets or sets the action to be invoked when the statusbar item is triggered Declaration public Action Action { get; } Property Value Type Description System.Action Action to invoke. Shortcut Gets the global shortcut to invoke the action on the menu. Declaration public Key Shortcut { get; } Property Value Type Description Key Title Gets or sets the title. Declaration public ustring Title { get; set; } Property Value Type Description NStack.ustring The title. Remarks The colour of the Title will be changed after each ~. A Title set to `~F1~ Help` will render as *F1* using HotNormal and *Help* as HotNormal ." }, + "api/Terminal.Gui/Terminal.Gui.TableSelection.html": { + "href": "api/Terminal.Gui/Terminal.Gui.TableSelection.html", + "title": "Class TableSelection", + "keywords": "Class TableSelection Describes a selected region of the table Inheritance System.Object TableSelection Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TableSelection Constructors TableSelection(Point, Rect) Creates a new selected area starting at the origin corner and covering the provided rectangular area Declaration public TableSelection(Point origin, Rect rect) Parameters Type Name Description Point origin Rect rect Properties Origin Corner of the Rect where selection began Declaration public Point Origin { get; set; } Property Value Type Description Point Rect Area selected Declaration public Rect Rect { get; set; } Property Value Type Description Rect" + }, + "api/Terminal.Gui/Terminal.Gui.TableStyle.html": { + "href": "api/Terminal.Gui/Terminal.Gui.TableStyle.html", + "title": "Class TableStyle", + "keywords": "Class TableStyle Defines rendering options that affect how the table is displayed Inheritance System.Object TableStyle Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TableStyle Properties AlwaysShowHeaders When scrolling down always lock the column headers in place as the first row of the table Declaration public bool AlwaysShowHeaders { get; set; } Property Value Type Description System.Boolean ColumnStyles Collection of columns for which you want special rendering (e.g. custom column lengths, text alignment etc) Declaration public Dictionary ColumnStyles { get; set; } Property Value Type Description System.Collections.Generic.Dictionary < System.Data.DataColumn , ColumnStyle > ShowHorizontalHeaderOverline True to render a solid line above the headers Declaration public bool ShowHorizontalHeaderOverline { get; set; } Property Value Type Description System.Boolean ShowHorizontalHeaderUnderline True to render a solid line under the headers Declaration public bool ShowHorizontalHeaderUnderline { get; set; } Property Value Type Description System.Boolean ShowVerticalCellLines True to render a solid line vertical line between cells Declaration public bool ShowVerticalCellLines { get; set; } Property Value Type Description System.Boolean ShowVerticalHeaderLines True to render a solid line vertical line between headers Declaration public bool ShowVerticalHeaderLines { get; set; } Property Value Type Description System.Boolean Methods GetColumnStyleIfAny(DataColumn) Returns the entry from ColumnStyles for the given col or null if no custom styling is defined for it Declaration public ColumnStyle GetColumnStyleIfAny(DataColumn col) Parameters Type Name Description System.Data.DataColumn col Returns Type Description ColumnStyle GetOrCreateColumnStyle(DataColumn) Returns an existing ColumnStyle for the given col or creates a new one with default options Declaration public ColumnStyle GetOrCreateColumnStyle(DataColumn col) Parameters Type Name Description System.Data.DataColumn col Returns Type Description ColumnStyle" + }, + "api/Terminal.Gui/Terminal.Gui.TableView.html": { + "href": "api/Terminal.Gui/Terminal.Gui.TableView.html", + "title": "Class TableView", + "keywords": "Class TableView View for tabular data based on a System.Data.DataTable Inheritance System.Object Responder View TableView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TableView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors TableView() Initialzies a TableView class using Computed layout. Set the Table property to begin editing Declaration public TableView() TableView(DataTable) Initialzies a TableView class using Computed layout. Declaration public TableView(DataTable table) Parameters Type Name Description System.Data.DataTable table The table to display in the control Fields DefaultMaxCellWidth The default maximum cell width for MaxCellWidth and MaxWidth Declaration public const int DefaultMaxCellWidth = 100 Field Value Type Description System.Int32 Properties CellActivationKey The key which when pressed should trigger CellActivated event. Defaults to Enter. Declaration public Key CellActivationKey { get; set; } Property Value Type Description Key ColumnOffset Horizontal scroll offset. The index of the first column in Table to display when when rendering the view. Declaration public int ColumnOffset { get; set; } Property Value Type Description System.Int32 Remarks This property allows very wide tables to be rendered with horizontal scrolling FullRowSelect True to select the entire row at once. False to select individual cells. Defaults to false Declaration public bool FullRowSelect { get; set; } Property Value Type Description System.Boolean MaxCellWidth The maximum number of characters to render in any given column. This prevents one long column from pushing out all the others Declaration public int MaxCellWidth { get; set; } Property Value Type Description System.Int32 MultiSelect True to allow regions to be selected Declaration public bool MultiSelect { get; set; } Property Value Type Description System.Boolean MultiSelectedRegions When MultiSelect is enabled this property contain all rectangles of selected cells. Rectangles describe column/rows selected in Table (not screen coordinates) Declaration public Stack MultiSelectedRegions { get; } Property Value Type Description System.Collections.Generic.Stack < TableSelection > NullSymbol The text representation that should be rendered for cells with the value System.DBNull.Value Declaration public string NullSymbol { get; set; } Property Value Type Description System.String RowOffset Vertical scroll offset. The index of the first row in Table to display in the first non header line of the control when rendering the view. Declaration public int RowOffset { get; set; } Property Value Type Description System.Int32 SelectedColumn The index of System.Data.DataTable.Columns in Table that the user has currently selected Declaration public int SelectedColumn { get; set; } Property Value Type Description System.Int32 SelectedRow The index of System.Data.DataTable.Rows in Table that the user has currently selected Declaration public int SelectedRow { get; set; } Property Value Type Description System.Int32 SeparatorSymbol The symbol to add after each cell value and header value to visually seperate values (if not using vertical gridlines) Declaration public char SeparatorSymbol { get; set; } Property Value Type Description System.Char Style Contains options for changing how the table is rendered Declaration public TableStyle Style { get; set; } Property Value Type Description TableStyle Table The data table to render in the view. Setting this property automatically updates and redraws the control. Declaration public DataTable Table { get; set; } Property Value Type Description System.Data.DataTable Methods CellToScreen(Int32, Int32) Returns the screen position (relative to the control client area) that the given cell is rendered or null if it is outside the current scroll area or no table is loaded Declaration public Point? CellToScreen(int tableColumn, int tableRow) Parameters Type Name Description System.Int32 tableColumn The index of the Table column you are looking for, use System.Data.DataColumn.Ordinal System.Int32 tableRow The index of the row in Table that you are looking for Returns Type Description System.Nullable < Point > ChangeSelectionByOffset(Int32, Int32, Boolean) Moves the SelectedRow and SelectedColumn by the provided offsets. Optionally starting a box selection (see MultiSelect ) Declaration public void ChangeSelectionByOffset(int offsetX, int offsetY, bool extendExistingSelection) Parameters Type Name Description System.Int32 offsetX Offset in number of columns System.Int32 offsetY Offset in number of rows System.Boolean extendExistingSelection True to create a multi cell selection or adjust an existing one EnsureSelectedCellIsVisible() Updates scroll offsets to ensure that the selected cell is visible. Has no effect if Table has not been set. Declaration public void EnsureSelectedCellIsVisible() Remarks Changes will not be immediately visible in the display until you call SetNeedsDisplay() EnsureValidScrollOffsets() Updates ColumnOffset and RowOffset where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if Table has not been set. Declaration public void EnsureValidScrollOffsets() Remarks Changes will not be immediately visible in the display until you call SetNeedsDisplay() EnsureValidSelection() Updates SelectedColumn , SelectedRow and MultiSelectedRegions where they are outside the bounds of the table (by adjusting them to the nearest existing cell). Has no effect if Table has not been set. Declaration public void EnsureValidSelection() Remarks Changes will not be immediately visible in the display until you call SetNeedsDisplay() GetAllSelectedCells() Returns all cells in any MultiSelectedRegions (if MultiSelect is enabled) and the selected cell Declaration public IEnumerable GetAllSelectedCells() Returns Type Description System.Collections.Generic.IEnumerable < Point > IsSelected(Int32, Int32) Returns true if the given cell is selected either because it is the active cell or part of a multi cell selection (e.g. FullRowSelect ) Declaration public bool IsSelected(int col, int row) Parameters Type Name Description System.Int32 col System.Int32 row Returns Type Description System.Boolean MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent me) Parameters Type Name Description MouseEvent me Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnCellActivated(CellActivatedEventArgs) Invokes the CellActivated event Declaration protected virtual void OnCellActivated(CellActivatedEventArgs args) Parameters Type Name Description CellActivatedEventArgs args OnSelectedCellChanged(SelectedCellChangedEventArgs) Invokes the SelectedCellChanged event Declaration protected virtual void OnSelectedCellChanged(SelectedCellChangedEventArgs args) Parameters Type Name Description SelectedCellChangedEventArgs args PositionCursor() Positions the cursor in the area of the screen in which the start of the active cell is rendered. Calls base implementation if active cell is not visible due to scrolling or table is loaded etc Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. ScreenToCell(Int32, Int32) Returns the column and row of Table that corresponds to a given point on the screen (relative to the control client area). Returns null if the point is in the header, no table is loaded or outside the control bounds Declaration public Point? ScreenToCell(int clientX, int clientY) Parameters Type Name Description System.Int32 clientX X offset from the top left of the control System.Int32 clientY Y offset from the top left of the control Returns Type Description System.Nullable < Point > SelectAll() When MultiSelect is on, creates selection over all cells in the table (replacing any old selection regions) Declaration public void SelectAll() SetSelection(Int32, Int32, Boolean) Moves the SelectedRow and SelectedColumn to the given col/row in Table . Optionally starting a box selection (see MultiSelect ) Declaration public void SetSelection(int col, int row, bool extendExistingSelection) Parameters Type Name Description System.Int32 col System.Int32 row System.Boolean extendExistingSelection True to create a multi cell selection or adjust an existing one Update() Updates the view to reflect changes to Table and to ( ColumnOffset / RowOffset ) etc Declaration public void Update() Remarks This always calls SetNeedsDisplay() Events CellActivated This event is raised when a cell is activated e.g. by double clicking or pressing CellActivationKey Declaration public event Action CellActivated Event Type Type Description System.Action < CellActivatedEventArgs > SelectedCellChanged This event is raised when the selected cell in the table changes. Declaration public event Action SelectedCellChanged Event Type Type Description System.Action < SelectedCellChangedEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + }, "api/Terminal.Gui/Terminal.Gui.TextAlignment.html": { "href": "api/Terminal.Gui/Terminal.Gui.TextAlignment.html", "title": "Enum TextAlignment", @@ -302,7 +337,7 @@ "api/Terminal.Gui/Terminal.Gui.TextField.html": { "href": "api/Terminal.Gui/Terminal.Gui.TextField.html", "title": "Class TextField", - "keywords": "Class TextField Single-line text entry View Inheritance System.Object Responder View TextField DateField TimeField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TextField : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The TextField View provides editing functionality and mouse support. Constructors TextField() Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField() TextField(ustring) Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField(ustring text) Parameters Type Name Description NStack.ustring text Initial text contents. TextField(Int32, Int32, Int32, ustring) Initializes a new instance of the TextField class using Absolute positioning. Declaration public TextField(int x, int y, int w, ustring text) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.Int32 w The width. NStack.ustring text Initial text contents. TextField(String) Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField(string text) Parameters Type Name Description System.String text Initial text contents. Properties CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus CursorPosition Sets or gets the current cursor position. Declaration public int CursorPosition { get; set; } Property Value Type Description System.Int32 Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public override Rect Frame { get; set; } Property Value Type Description Rect The frame. Overrides View.Frame Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . ReadOnly If set to true its not allow any changes in the text. Declaration public bool ReadOnly { get; set; } Property Value Type Description System.Boolean Secret Sets the secret property. Declaration public bool Secret { get; set; } Property Value Type Description System.Boolean Remarks This makes the text entry suitable for entering passwords. SelectedLength Length of the selected text. Declaration public int SelectedLength { get; set; } Property Value Type Description System.Int32 SelectedStart Start position of the selected text. Declaration public int SelectedStart { get; set; } Property Value Type Description System.Int32 SelectedText The selected text. Declaration public ustring SelectedText { get; set; } Property Value Type Description NStack.ustring Text Sets or gets the text held by the view. Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Remarks Used Tracks whether the text field should be considered \"used\", that is, that the user has moved in the entry, so new input should be appended at the cursor position, rather than clearing the entry Declaration public bool Used { get; set; } Property Value Type Description System.Boolean Methods ClearAllSelection() Clear the selected text. Declaration public void ClearAllSelection() Copy() Copy the selected text to the clipboard. Declaration public virtual void Copy() Cut() Cut the selected text to the clipboard. Declaration public virtual void Cut() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnTextChanging(ustring) Virtual method that invoke the TextChanging event if it's defined. Declaration public virtual TextChangingEventArgs OnTextChanging(ustring newText) Parameters Type Name Description NStack.ustring newText The new text to be replaced. Returns Type Description TextChangingEventArgs Returns the TextChangingEventArgs Paste() Paste the selected text from the clipboard. Declaration public virtual void Paste() PositionCursor() Sets the cursor position. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events TextChanged Changed event, raised when the text has changed. Declaration public event Action TextChanged Event Type Type Description System.Action < NStack.ustring > Remarks This event is raised when the Text changes. TextChanging Changing event, raised before the Text changes and can be canceled or changing the new text. Declaration public event Action TextChanging Event Type Type Description System.Action < TextChangingEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class TextField Single-line text entry View Inheritance System.Object Responder View TextField DateField TimeField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TextField : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The TextField View provides editing functionality and mouse support. Constructors TextField() Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField() TextField(ustring) Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField(ustring text) Parameters Type Name Description NStack.ustring text Initial text contents. TextField(Int32, Int32, Int32, ustring) Initializes a new instance of the TextField class using Absolute positioning. Declaration public TextField(int x, int y, int w, ustring text) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.Int32 w The width. NStack.ustring text Initial text contents. TextField(String) Initializes a new instance of the TextField class using Computed positioning. Declaration public TextField(string text) Parameters Type Name Description System.String text Initial text contents. Properties CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus CursorPosition Sets or gets the current cursor position. Declaration public int CursorPosition { get; set; } Property Value Type Description System.Int32 DesiredCursorVisibility Get / Set the wished cursor when the field is focused Declaration public CursorVisibility DesiredCursorVisibility { get; set; } Property Value Type Description CursorVisibility Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public override Rect Frame { get; set; } Property Value Type Description Rect The frame. Overrides View.Frame Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . ReadOnly If set to true its not allow any changes in the text. Declaration public bool ReadOnly { get; set; } Property Value Type Description System.Boolean Secret Sets the secret property. Declaration public bool Secret { get; set; } Property Value Type Description System.Boolean Remarks This makes the text entry suitable for entering passwords. SelectedLength Length of the selected text. Declaration public int SelectedLength { get; set; } Property Value Type Description System.Int32 SelectedStart Start position of the selected text. Declaration public int SelectedStart { get; set; } Property Value Type Description System.Int32 SelectedText The selected text. Declaration public ustring SelectedText { get; set; } Property Value Type Description NStack.ustring Text Sets or gets the text held by the view. Declaration public ustring Text { get; set; } Property Value Type Description NStack.ustring Remarks Used Tracks whether the text field should be considered \"used\", that is, that the user has moved in the entry, so new input should be appended at the cursor position, rather than clearing the entry Declaration public bool Used { get; set; } Property Value Type Description System.Boolean Methods ClearAllSelection() Clear the selected text. Declaration public void ClearAllSelection() Copy() Copy the selected text to the clipboard. Declaration public virtual void Copy() Cut() Cut the selected text to the clipboard. Declaration public virtual void Cut() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnLeave(View) OnTextChanging(ustring) Virtual method that invoke the TextChanging event if it's defined. Declaration public virtual TextChangingEventArgs OnTextChanging(ustring newText) Parameters Type Name Description NStack.ustring newText The new text to be replaced. Returns Type Description TextChangingEventArgs Returns the TextChangingEventArgs Paste() Paste the selected text from the clipboard. Declaration public virtual void Paste() PositionCursor() Sets the cursor position. Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Events TextChanged Changed event, raised when the text has changed. Declaration public event Action TextChanged Event Type Type Description System.Action < NStack.ustring > Remarks This event is raised when the Text changes. TextChanging Changing event, raised before the Text changes and can be canceled or changing the new text. Declaration public event Action TextChanging Event Type Type Description System.Action < TextChangingEventArgs > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.TextFormatter.html": { "href": "api/Terminal.Gui/Terminal.Gui.TextFormatter.html", @@ -312,17 +347,17 @@ "api/Terminal.Gui/Terminal.Gui.TextView.html": { "href": "api/Terminal.Gui/Terminal.Gui.TextView.html", "title": "Class TextView", - "keywords": "Class TextView Multi-line text editing View Inheritance System.Object Responder View TextView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TextView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks TextView provides a multi-line text editor. Users interact with it with the standard Emacs commands for movement or the arrow keys. Shortcut Action performed Left cursor, Control-b Moves the editing point left. Right cursor, Control-f Moves the editing point right. Alt-b Moves one word back. Alt-f Moves one word forward. Up cursor, Control-p Moves the editing point one line up. Down cursor, Control-n Moves the editing point one line down Home key, Control-a Moves the cursor to the beginning of the line. End key, Control-e Moves the cursor to the end of the line. Control-Home Scrolls to the first line and moves the cursor there. Control-End Scrolls to the last line and moves the cursor there. Delete, Control-d Deletes the character in front of the cursor. Backspace Deletes the character behind the cursor. Control-k Deletes the text until the end of the line and replaces the kill buffer with the deleted text. You can paste this text in a different place by using Control-y. Control-y Pastes the content of the kill ring into the current position. Alt-d Deletes the word above the cursor and adds it to the kill ring. You can paste the contents of the kill ring with Control-y. Control-q Quotes the next input character, to prevent the normal processing of key handling to take place. Constructors TextView() Initializes a TextView on the specified area, with dimensions controlled with the X, Y, Width and Height properties. Declaration public TextView() TextView(Rect) Initializes a TextView on the specified area, with absolute position and size. Declaration public TextView(Rect frame) Parameters Type Name Description Rect frame Remarks Properties CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus CurrentColumn Gets the cursor column. Declaration public int CurrentColumn { get; } Property Value Type Description System.Int32 The cursor column. CurrentRow Gets the current cursor row. Declaration public int CurrentRow { get; } Property Value Type Description System.Int32 ReadOnly Gets or sets whether the TextView is in read-only mode or not Declaration public bool ReadOnly { get; set; } Property Value Type Description System.Boolean Boolean value(Default false) Text Sets or gets the text in the TextView . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text Remarks Methods CloseFile() Closes the contents of the stream into the TextView . Declaration public bool CloseFile() Returns Type Description System.Boolean true , if stream was closed, false otherwise. LoadFile(String) Loads the contents of the file into the TextView . Declaration public bool LoadFile(string path) Parameters Type Name Description System.String path Path to the file to load. Returns Type Description System.Boolean true , if file was loaded, false otherwise. LoadStream(Stream) Loads the contents of the stream into the TextView . Declaration public void LoadStream(Stream stream) Parameters Type Name Description System.IO.Stream stream Stream to load the contents from. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) MoveEnd() Will scroll the TextView to the last line and position the cursor there. Declaration public void MoveEnd() MoveHome() Will scroll the TextView to the first line and position the cursor there. Declaration public void MoveHome() PositionCursor() Positions the cursor on the current row and column Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. ScrollTo(Int32) Will scroll the TextView to display the specified row at the top Declaration public void ScrollTo(int row) Parameters Type Name Description System.Int32 row Row that should be displayed at the top, if the value is negative it will be reset to zero Events TextChanged Raised when the Text of the TextView changes. Declaration public event Action TextChanged Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class TextView Multi-line text editing View Inheritance System.Object Responder View TextView Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TextView : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks TextView provides a multi-line text editor. Users interact with it with the standard Emacs commands for movement or the arrow keys. Shortcut Action performed Left cursor, Control-b Moves the editing point left. Right cursor, Control-f Moves the editing point right. Alt-b Moves one word back. Alt-f Moves one word forward. Up cursor, Control-p Moves the editing point one line up. Down cursor, Control-n Moves the editing point one line down Home key, Control-a Moves the cursor to the beginning of the line. End key, Control-e Moves the cursor to the end of the line. Control-Home Scrolls to the first line and moves the cursor there. Control-End Scrolls to the last line and moves the cursor there. Delete, Control-d Deletes the character in front of the cursor. Backspace Deletes the character behind the cursor. Control-k Deletes the text until the end of the line and replaces the kill buffer with the deleted text. You can paste this text in a different place by using Control-y. Control-y Pastes the content of the kill ring into the current position. Alt-d Deletes the word above the cursor and adds it to the kill ring. You can paste the contents of the kill ring with Control-y. Control-q Quotes the next input character, to prevent the normal processing of key handling to take place. Constructors TextView() Initializes a TextView on the specified area, with dimensions controlled with the X, Y, Width and Height properties. Declaration public TextView() TextView(Rect) Initializes a TextView on the specified area, with absolute position and size. Declaration public TextView(Rect frame) Parameters Type Name Description Rect frame Remarks Properties CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus CurrentColumn Gets the cursor column. Declaration public int CurrentColumn { get; } Property Value Type Description System.Int32 The cursor column. CurrentRow Gets the current cursor row. Declaration public int CurrentRow { get; } Property Value Type Description System.Int32 DesiredCursorVisibility Get / Set the wished cursor when the field is focused Declaration public CursorVisibility DesiredCursorVisibility { get; set; } Property Value Type Description CursorVisibility Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public override Rect Frame { get; set; } Property Value Type Description Rect The frame. Overrides View.Frame Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . LeftColumn Gets or sets the left column. Declaration public int LeftColumn { get; set; } Property Value Type Description System.Int32 Lines Gets the number of lines. Declaration public int Lines { get; } Property Value Type Description System.Int32 Maxlength Gets the maximum visible length line. Declaration public int Maxlength { get; } Property Value Type Description System.Int32 ReadOnly Gets or sets whether the TextView is in read-only mode or not Declaration public bool ReadOnly { get; set; } Property Value Type Description System.Boolean Boolean value(Default false) Text Sets or gets the text in the TextView . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text Remarks TopRow Gets or sets the top row. Declaration public int TopRow { get; set; } Property Value Type Description System.Int32 Methods CloseFile() Closes the contents of the stream into the TextView . Declaration public bool CloseFile() Returns Type Description System.Boolean true , if stream was closed, false otherwise. LoadFile(String) Loads the contents of the file into the TextView . Declaration public bool LoadFile(string path) Parameters Type Name Description System.String path Path to the file to load. Returns Type Description System.Boolean true , if file was loaded, false otherwise. LoadStream(Stream) Loads the contents of the stream into the TextView . Declaration public void LoadStream(Stream stream) Parameters Type Name Description System.IO.Stream stream Stream to load the contents from. MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) MoveEnd() Will scroll the TextView to the last line and position the cursor there. Declaration public void MoveEnd() MoveHome() Will scroll the TextView to the first line and position the cursor there. Declaration public void MoveHome() OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides View.OnEnter(View) PositionCursor() Positions the cursor on the current row and column Declaration public override void PositionCursor() Overrides View.PositionCursor() ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. ScrollTo(Int32, Boolean) Will scroll the TextView to display the specified row at the top if isRow is true or will scroll the TextView to display the specified column at the left if isRow is false. Declaration public void ScrollTo(int idx, bool isRow = true) Parameters Type Name Description System.Int32 idx Row that should be displayed at the top or Column that should be displayed at the left, if the value is negative it will be reset to zero System.Boolean isRow If true (default) the idx is a row, column otherwise. Events TextChanged Raised when the Text of the TextView changes. Declaration public event Action TextChanged Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.TimeField.html": { "href": "api/Terminal.Gui/Terminal.Gui.TimeField.html", "title": "Class TimeField", - "keywords": "Class TimeField Time editing View Inheritance System.Object Responder View TextField TimeField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members TextField.Used TextField.ReadOnly TextField.TextChanging TextField.TextChanged TextField.OnLeave(View) TextField.Frame TextField.Text TextField.Secret TextField.CursorPosition TextField.PositionCursor() TextField.Redraw(Rect) TextField.CanFocus TextField.SelectedStart TextField.SelectedLength TextField.SelectedText TextField.ClearAllSelection() TextField.Copy() TextField.Cut() TextField.Paste() TextField.OnTextChanging(ustring) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TimeField : TextField, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The TimeField View provides time editing functionality with mouse support. Constructors TimeField() Initializes a new instance of TimeField using Computed positioning. Declaration public TimeField() TimeField(Int32, Int32, TimeSpan, Boolean) Initializes a new instance of TimeField using Absolute positioning. Declaration public TimeField(int x, int y, TimeSpan time, bool isShort = false) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.TimeSpan time Initial time. System.Boolean isShort If true, the seconds are hidden. Sets the IsShortFormat property. TimeField(TimeSpan) Initializes a new instance of TimeField using Computed positioning. Declaration public TimeField(TimeSpan time) Parameters Type Name Description System.TimeSpan time Initial time Properties IsShortFormat Get or sets whether TimeField uses the short or long time format. Declaration public bool IsShortFormat { get; set; } Property Value Type Description System.Boolean Time Gets or sets the time of the TimeField . Declaration public TimeSpan Time { get; set; } Property Value Type Description System.TimeSpan Remarks Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides TextField.MouseEvent(MouseEvent) OnTimeChanged(DateTimeEventArgs) Event firing method that invokes the TimeChanged event. Declaration public virtual void OnTimeChanged(DateTimeEventArgs args) Parameters Type Name Description DateTimeEventArgs < System.TimeSpan > args The event arguments ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides TextField.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Events TimeChanged TimeChanged event, raised when the Date has changed. Declaration public event Action> TimeChanged Event Type Type Description System.Action < DateTimeEventArgs < System.TimeSpan >> Remarks This event is raised when the Time changes. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class TimeField Time editing View Inheritance System.Object Responder View TextField TimeField Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members TextField.Used TextField.ReadOnly TextField.TextChanging TextField.TextChanged TextField.OnLeave(View) TextField.Frame TextField.Text TextField.Secret TextField.CursorPosition TextField.PositionCursor() TextField.Redraw(Rect) TextField.CanFocus TextField.SelectedStart TextField.SelectedLength TextField.SelectedText TextField.ClearAllSelection() TextField.Copy() TextField.Cut() TextField.Paste() TextField.OnTextChanging(ustring) TextField.DesiredCursorVisibility TextField.OnEnter(View) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View) View.Add(View[]) View.RemoveAll() View.Remove(View) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class TimeField : TextField, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The TimeField View provides time editing functionality with mouse support. Constructors TimeField() Initializes a new instance of TimeField using Computed positioning. Declaration public TimeField() TimeField(Int32, Int32, TimeSpan, Boolean) Initializes a new instance of TimeField using Absolute positioning. Declaration public TimeField(int x, int y, TimeSpan time, bool isShort = false) Parameters Type Name Description System.Int32 x The x coordinate. System.Int32 y The y coordinate. System.TimeSpan time Initial time. System.Boolean isShort If true, the seconds are hidden. Sets the IsShortFormat property. TimeField(TimeSpan) Initializes a new instance of TimeField using Computed positioning. Declaration public TimeField(TimeSpan time) Parameters Type Name Description System.TimeSpan time Initial time Properties IsShortFormat Get or sets whether TimeField uses the short or long time format. Declaration public bool IsShortFormat { get; set; } Property Value Type Description System.Boolean Time Gets or sets the time of the TimeField . Declaration public TimeSpan Time { get; set; } Property Value Type Description System.TimeSpan Remarks Methods MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent ev) Parameters Type Name Description MouseEvent ev Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides TextField.MouseEvent(MouseEvent) OnTimeChanged(DateTimeEventArgs) Event firing method that invokes the TimeChanged event. Declaration public virtual void OnTimeChanged(DateTimeEventArgs args) Parameters Type Name Description DateTimeEventArgs < System.TimeSpan > args The event arguments ProcessKey(KeyEvent) Processes key presses for the TextField . Declaration public override bool ProcessKey(KeyEvent kb) Parameters Type Name Description KeyEvent kb Returns Type Description System.Boolean Overrides TextField.ProcessKey(KeyEvent) Remarks The TextField control responds to the following keys: Keys Function Delete , Backspace Deletes the character before cursor. Events TimeChanged TimeChanged event, raised when the Date has changed. Declaration public event Action> TimeChanged Event Type Type Description System.Action < DateTimeEventArgs < System.TimeSpan >> Remarks This event is raised when the Time changes. Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.Toplevel.html": { "href": "api/Terminal.Gui/Terminal.Gui.Toplevel.html", "title": "Class Toplevel", - "keywords": "Class Toplevel Toplevel views can be modally executed. Inheritance System.Object Responder View Toplevel Window Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Toplevel : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks Toplevels can be modally executing views, started by calling Run(Toplevel) . They return control to the caller when RequestStop() has been called (which sets the Running property to false). A Toplevel is created when an application initialzies Terminal.Gui by callling Init(ConsoleDriver, IMainLoopDriver) . The application Toplevel can be accessed via Top . Additional Toplevels can be created and run (e.g. Dialog s. To run a Toplevel, create the Toplevel and call Run(Toplevel) . Toplevels can also opt-in to more sophisticated initialization by implementing System.ComponentModel.ISupportInitialize . When they do so, the System.ComponentModel.ISupportInitialize.BeginInit() and System.ComponentModel.ISupportInitialize.EndInit() methods will be called before running the view. If first-run-only initialization is preferred, the System.ComponentModel.ISupportInitializeNotification can be implemented too, in which case the System.ComponentModel.ISupportInitialize methods will only be called if System.ComponentModel.ISupportInitializeNotification.IsInitialized is false . This allows proper View inheritance hierarchies to override base class layout code optimally by doing so only on first run, instead of on every run. Constructors Toplevel() Initializes a new instance of the Toplevel class with Computed layout, defaulting to full screen. Declaration public Toplevel() Toplevel(Rect) Initializes a new instance of the Toplevel class with the specified absolute layout. Declaration public Toplevel(Rect frame) Parameters Type Name Description Rect frame A superview-relative rectangle specifying the location and size for the new Toplevel Properties CanFocus Gets or sets a value indicating whether this Toplevel can focus. Declaration public override bool CanFocus { get; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus MenuBar Gets or sets the menu for this Toplevel Declaration public MenuBar MenuBar { get; set; } Property Value Type Description MenuBar Modal Determines whether the Toplevel is modal or not. Causes ProcessKey(KeyEvent) to propagate keys upwards by default unless set to true . Declaration public bool Modal { get; set; } Property Value Type Description System.Boolean Running Gets or sets whether the MainLoop for this Toplevel is running or not. Declaration public bool Running { get; set; } Property Value Type Description System.Boolean Remarks Setting this property directly is discouraged. Use RequestStop() instead. StatusBar Gets or sets the status bar for this Toplevel Declaration public StatusBar StatusBar { get; set; } Property Value Type Description StatusBar Methods Add(View) Adds a subview (child) to this view. Declaration public override void Add(View view) Parameters Type Name Description View view Overrides View.Add(View) Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() Create() Convenience factory method that creates a new Toplevel with the current terminal dimensions. Declaration public static Toplevel Create() Returns Type Description Toplevel The create. OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyUp(KeyEvent) ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides View.Remove(View) Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public override void RemoveAll() Overrides View.RemoveAll() WillPresent() Invoked by Begin(Toplevel) as part of the Run(Toplevel) after the views have been laid out, and before the views are drawn for the first time. Declaration public virtual void WillPresent() Events Loaded Fired once the Toplevel's Application.RunState has begin loaded. A Loaded event handler is a good place to finalize initialization before calling ` RunLoop(Application.RunState, Boolean) . Declaration public event Action Loaded Event Type Type Description System.Action Ready Fired once the Toplevel's MainLoop has started it's first iteration. Subscribe to this event to perform tasks when the Toplevel has been laid out and focus has been set. changes. A Ready event handler is a good place to finalize initialization after calling ` Run() (topLevel)`. Declaration public event Action Ready Event Type Type Description System.Action Unloaded Fired once the Toplevel's Application.RunState has begin unloaded. A Unloaded event handler is a good place to disposing after calling ` End(Application.RunState) . Declaration public event Action Unloaded Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class Toplevel Toplevel views can be modally executed. Inheritance System.Object Responder View Toplevel Window Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.Text View.AutoSize View.TextAlignment View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Toplevel : View, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks Toplevels can be modally executing views, started by calling Run(Toplevel, Func) . They return control to the caller when RequestStop() has been called (which sets the Running property to false). A Toplevel is created when an application initialzies Terminal.Gui by callling Init(ConsoleDriver, IMainLoopDriver) . The application Toplevel can be accessed via Top . Additional Toplevels can be created and run (e.g. Dialog s. To run a Toplevel, create the Toplevel and call Run(Toplevel, Func) . Toplevels can also opt-in to more sophisticated initialization by implementing System.ComponentModel.ISupportInitialize . When they do so, the System.ComponentModel.ISupportInitialize.BeginInit() and System.ComponentModel.ISupportInitialize.EndInit() methods will be called before running the view. If first-run-only initialization is preferred, the System.ComponentModel.ISupportInitializeNotification can be implemented too, in which case the System.ComponentModel.ISupportInitialize methods will only be called if System.ComponentModel.ISupportInitializeNotification.IsInitialized is false . This allows proper View inheritance hierarchies to override base class layout code optimally by doing so only on first run, instead of on every run. Constructors Toplevel() Initializes a new instance of the Toplevel class with Computed layout, defaulting to full screen. Declaration public Toplevel() Toplevel(Rect) Initializes a new instance of the Toplevel class with the specified absolute layout. Declaration public Toplevel(Rect frame) Parameters Type Name Description Rect frame A superview-relative rectangle specifying the location and size for the new Toplevel Properties CanFocus Gets or sets a value indicating whether this Toplevel can focus. Declaration public override bool CanFocus { get; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides View.CanFocus MenuBar Gets or sets the menu for this Toplevel Declaration public MenuBar MenuBar { get; set; } Property Value Type Description MenuBar Modal Determines whether the Toplevel is modal or not. Causes ProcessKey(KeyEvent) to propagate keys upwards by default unless set to true . Declaration public bool Modal { get; set; } Property Value Type Description System.Boolean Running Gets or sets whether the MainLoop for this Toplevel is running or not. Declaration public bool Running { get; set; } Property Value Type Description System.Boolean Remarks Setting this property directly is discouraged. Use RequestStop() instead. StatusBar Gets or sets the status bar for this Toplevel Declaration public StatusBar StatusBar { get; set; } Property Value Type Description StatusBar Methods Add(View) Adds a subview (child) to this view. Declaration public override void Add(View view) Parameters Type Name Description View view Overrides View.Add(View) Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() Create() Convenience factory method that creates a new Toplevel with the current terminal dimensions. Declaration public static Toplevel Create() Returns Type Description Toplevel The create. OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.OnKeyUp(KeyEvent) ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides View.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides View.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides View.Remove(View) Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public override void RemoveAll() Overrides View.RemoveAll() WillPresent() Invoked by Begin(Toplevel) as part of the Run(Toplevel, Func) after the views have been laid out, and before the views are drawn for the first time. Declaration public virtual void WillPresent() Events Loaded Fired once the Toplevel's Application.RunState has begin loaded. A Loaded event handler is a good place to finalize initialization before calling ` RunLoop(Application.RunState, Boolean) . Declaration public event Action Loaded Event Type Type Description System.Action Ready Fired once the Toplevel's MainLoop has started it's first iteration. Subscribe to this event to perform tasks when the Toplevel has been laid out and focus has been set. changes. A Ready event handler is a good place to finalize initialization after calling ` Run(Func) (topLevel)`. Declaration public event Action Ready Event Type Type Description System.Action Unloaded Fired once the Toplevel's Application.RunState has begin unloaded. A Unloaded event handler is a good place to disposing after calling ` End(Application.RunState) . Declaration public event Action Unloaded Event Type Type Description System.Action Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.View.FocusEventArgs.html": { "href": "api/Terminal.Gui/Terminal.Gui.View.FocusEventArgs.html", @@ -332,7 +367,7 @@ "api/Terminal.Gui/Terminal.Gui.View.html": { "href": "api/Terminal.Gui/Terminal.Gui.View.html", "title": "Class View", - "keywords": "Class View View is the base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views. Inheritance System.Object Responder View Button CheckBox ComboBox FrameView HexView Label ListView MenuBar ProgressBar RadioGroup ScrollBarView ScrollView StatusBar TextField TextView Toplevel Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class View : Responder, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The View defines the base functionality for user interface elements in Terminal.Gui. Views can contain one or more subviews, can respond to user input and render themselves on the screen. Views supports two layout styles: Absolute or Computed. The choice as to which layout style is used by the View is determined when the View is initizlied. To create a View using Absolute layout, call a constructor that takes a Rect parameter to specify the absolute position and size (the View. Frame )/. To create a View using Computed layout use a constructor that does not take a Rect parametr and set the X, Y, Width and Height properties on the view. Both approaches use coordinates that are relative to the container they are being added to. To switch between Absolute and Computed layout, use the LayoutStyle property. Computed layout is more flexible and supports dynamic console apps where controls adjust layout as the terminal resizes or other Views change size or position. The X, Y, Width and Height properties are Dim and Pos objects that dynamically update the position of a view. The X and Y properties are of type Pos and you can use either absolute positions, percentages or anchor points. The Width and Height properties are of type Dim and can use absolute position, percentages and anchors. These are useful as they will take care of repositioning views when view's frames are resized or if the terminal size changes. Absolute layout requires specifying coordinates and sizes of Views explicitly, and the View will typcialy stay in a fixed position and size. To change the position and size use the Frame property. Subviews (child views) can be added to a View by calling the Add(View) method. The container of a View can be accessed with the SuperView property. To flag a region of the View's Bounds to be redrawn call SetNeedsDisplay(Rect) . To flag the entire view for redraw call SetNeedsDisplay() . Views have a ColorScheme property that defines the default colors that subviews should use for rendering. This ensures that the views fit in the context where they are being used, and allows for themes to be plugged in. For example, the default colors for windows and toplevels uses a blue background, while it uses a white background for dialog boxes and a red background for errors. Subclasses should not rely on ColorScheme being set at construction time. If a ColorScheme is not set on a view, the view will inherit the value from its SuperView and the value might only be valid once a view has been added to a SuperView. By using ColorScheme applications will work both in color as well as black and white displays. Views that are focusable should implement the PositionCursor() to make sure that the cursor is placed in a location that makes sense. Unix terminals do not have a way of hiding the cursor, so it can be distracting to have the cursor left at the last focused view. So views should make sure that they place the cursor in a visually sensible place. The LayoutSubviews() method is invoked when the size or layout of a view has changed. The default processing system will keep the size and dimensions for views that use the Absolute , and will recompute the frames for the vies that use Computed . Constructors View() Initializes a new instance of View using Computed layout. Declaration public View() Remarks Use X , Y , Width , and Height properties to dynamically control the size and location of the view. The Label will be created using Computed coordinates. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. View(ustring) Initializes a new instance of View using Computed layout. Declaration public View(ustring text) Parameters Type Name Description NStack.ustring text text to initialize the Text property with. Remarks The View will be created using Computed coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. View(Int32, Int32, ustring) Initializes a new instance of View using Absolute layout. Declaration public View(int x, int y, ustring text) Parameters Type Name Description System.Int32 x column to locate the Label. System.Int32 y row to locate the Label. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. No line wrapping is provided. View(Rect) Initializes a new instance of a Absolute View class with the absolute dimensions specified in the frame parameter. Declaration public View(Rect frame) Parameters Type Name Description Rect frame The region covered by this view. Remarks This constructor intitalize a View with a LayoutStyle of Absolute . Use View() to initialize a View with LayoutStyle of Computed View(Rect, ustring) Initializes a new instance of View using Absolute layout. Declaration public View(Rect rect, ustring text) Parameters Type Name Description Rect rect Location. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If rect.Height is greater than one, word wrapping is provided. Properties AutoSize Used by Text to resize the view's Bounds with the Size . Setting AutoSize to true only work if the Width and Height are null or Absolute values and doesn't work with Computed layout, to avoid breaking the Pos and Dim settings. Declaration public virtual bool AutoSize { get; set; } Property Value Type Description System.Boolean Bounds The bounds represent the View-relative rectangle used for this view; the area inside of the view. Declaration public Rect Bounds { get; set; } Property Value Type Description Rect The bounds. Remarks Updates to the Bounds update the Frame , and has the same side effects as updating the Frame . Because Bounds coordinates are relative to the upper-left corner of the View , the coordinates of the upper-left corner of the rectangle returned by this property are (0,0). Use this property to obtain the size and coordinates of the client area of the control for tasks such as drawing on the surface of the control. CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides Responder.CanFocus ColorScheme The color scheme for this view, if it is not defined, it returns the SuperView 's color scheme. Declaration public ColorScheme ColorScheme { get; set; } Property Value Type Description ColorScheme Data Gets or sets arbitrary data for the view. Declaration public object Data { get; set; } Property Value Type Description System.Object Remarks This property is not used internally. Driver Points to the current driver in use by the view, it is a convenience property for simplifying the development of new views. Declaration public static ConsoleDriver Driver { get; } Property Value Type Description ConsoleDriver Focused Returns the currently focused view inside this view, or null if nothing is focused. Declaration public View Focused { get; } Property Value Type Description View The focused. Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public virtual Rect Frame { get; set; } Property Value Type Description Rect The frame. Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . HasFocus Gets or sets a value indicating whether this Responder has focus. Declaration public override bool HasFocus { get; } Property Value Type Description System.Boolean true if has focus; otherwise, false . Overrides Responder.HasFocus Height Gets or sets the height of the view. Only used whe LayoutStyle is Computed . Declaration public Dim Height { get; set; } Property Value Type Description Dim The height. HotKey Gets or sets the HotKey defined for this view. A user pressing HotKey on the keyboard while this view has focus will cause the Clicked event to fire. Declaration public Key HotKey { get; set; } Property Value Type Description Key HotKeySpecifier Gets or sets the specifier character for the hotkey (e.g. '_'). Set to '\\xffff' to disable hotkey support for this View instance. The default is '\\xffff'. Declaration public Rune HotKeySpecifier { get; set; } Property Value Type Description System.Rune Id Gets or sets an identifier for the view; Declaration public ustring Id { get; set; } Property Value Type Description NStack.ustring The identifier. Remarks The id should be unique across all Views that share a SuperView. IsCurrentTop Returns a value indicating if this View is currently on Top (Active) Declaration public bool IsCurrentTop { get; } Property Value Type Description System.Boolean IsInitialized Get or sets if the View was already initialized. This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are being initialized. Declaration public bool IsInitialized { get; set; } Property Value Type Description System.Boolean LayoutStyle Controls how the View's Frame is computed during the LayoutSubviews method, if the style is set to Absolute , LayoutSubviews does not change the Frame . If the style is Computed the Frame is updated using the X , Y , Width , and Height properties. Declaration public LayoutStyle LayoutStyle { get; set; } Property Value Type Description LayoutStyle The layout style. MostFocused Returns the most focused view in the chain of subviews (the leaf view that has the focus). Declaration public View MostFocused { get; } Property Value Type Description View The most focused. Shortcut This is the global setting that can be used as a global shortcut to invoke an action if provided. Declaration public Key Shortcut { get; set; } Property Value Type Description Key ShortcutAction The action to run if the Shortcut is defined. Declaration public virtual Action ShortcutAction { get; set; } Property Value Type Description System.Action ShortcutTag The keystroke combination used in the Shortcut as string. Declaration public ustring ShortcutTag { get; } Property Value Type Description NStack.ustring Subviews This returns a list of the subviews contained by this view. Declaration public IList Subviews { get; } Property Value Type Description System.Collections.Generic.IList < View > The subviews. SuperView Returns the container for this view, or null if this view has not been added to a container. Declaration public View SuperView { get; } Property Value Type Description View The super view. TabIndex Indicates the index of the current View from the TabIndexes list. Declaration public int TabIndex { get; set; } Property Value Type Description System.Int32 TabIndexes This returns a tab index list of the subviews contained by this view. Declaration public IList TabIndexes { get; } Property Value Type Description System.Collections.Generic.IList < View > The tabIndexes. TabStop This only be true if the CanFocus is also true and the focus can be avoided by setting this to false Declaration public bool TabStop { get; set; } Property Value Type Description System.Boolean Text The text displayed by the View . Declaration public virtual ustring Text { get; set; } Property Value Type Description NStack.ustring Remarks If provided, the text will be drawn before any subviews are drawn. The text will be drawn starting at the view origin (0, 0) and will be formatted according to the TextAlignment property. If the view's height is greater than 1, the text will word-wrap to additional lines if it does not fit horizontally. If the view's height is 1, the text will be clipped. Set the HotKeySpecifier to enable hotkey support. To disable hotkey support set HotKeySpecifier to (Rune)0xffff . TextAlignment Gets or sets how the View's Text is aligned horizontally when drawn. Changing this property will redisplay the View . Declaration public virtual TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Visible Gets or sets the view visibility. Declaration public bool Visible { get; set; } Property Value Type Description System.Boolean WantContinuousButtonPressed Gets or sets a value indicating whether this View want continuous button pressed event. Declaration public virtual bool WantContinuousButtonPressed { get; set; } Property Value Type Description System.Boolean WantMousePositionReports Gets or sets a value indicating whether this View wants mouse position reports. Declaration public virtual bool WantMousePositionReports { get; set; } Property Value Type Description System.Boolean true if want mouse position reports; otherwise, false . Width Gets or sets the width of the view. Only used whe LayoutStyle is Computed . Declaration public Dim Width { get; set; } Property Value Type Description Dim The width. Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. X Gets or sets the X position for the view (the column). Only used whe LayoutStyle is Computed . Declaration public Pos X { get; set; } Property Value Type Description Pos The X Position. Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. Y Gets or sets the Y position for the view (the row). Only used whe LayoutStyle is Computed . Declaration public Pos Y { get; set; } Property Value Type Description Pos The y position (line). Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. Methods Add(View) Adds a subview (child) to this view. Declaration public virtual void Add(View view) Parameters Type Name Description View view Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() Add(View[]) Adds the specified views (children) to the view. Declaration public void Add(params View[] views) Parameters Type Name Description View [] views Array of one or more views (can be optional parameter). Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() AddRune(Int32, Int32, Rune) Displays the specified character in the specified column and row of the View. Declaration public void AddRune(int col, int row, Rune ch) Parameters Type Name Description System.Int32 col Column (view-relative). System.Int32 row Row (view-relative). System.Rune ch Ch. BeginInit() This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are beginning initialized. Declaration public void BeginInit() BringSubviewForward(View) Moves the subview backwards in the hierarchy, only one step Declaration public void BringSubviewForward(View subview) Parameters Type Name Description View subview The subview to send backwards Remarks If you want to send the view all the way to the back use SendSubviewToBack. BringSubviewToFront(View) Brings the specified subview to the front so it is drawn on top of any other views. Declaration public void BringSubviewToFront(View subview) Parameters Type Name Description View subview The subview to send to the front Remarks SendSubviewToBack(View) . ChildNeedsDisplay() Indicates that any child views (in the Subviews list) need to be repainted. Declaration public void ChildNeedsDisplay() Clear() Clears the view region with the current color. Declaration public void Clear() Remarks This clears the entire region used by this view. Clear(Rect) Clears the specified region with the current color. Declaration public void Clear(Rect regionScreen) Parameters Type Name Description Rect regionScreen The screen-relative region to clear. Remarks ClearNeedsDisplay() Removes the SetNeedsDisplay() and the ChildNeedsDisplay() setting on this view. Declaration protected void ClearNeedsDisplay() ClipToBounds() Sets the ConsoleDriver 's clip region to the current View's Bounds . Declaration public Rect ClipToBounds() Returns Type Description Rect The existing driver's clip region, which can be then re-eapplied by setting Driver .Clip ( Clip ). Remarks Bounds is View-relative. Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides Responder.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. DrawFrame(Rect, Int32, Boolean) Draws a frame in the current view, clipped by the boundary of this view Declaration public void DrawFrame(Rect region, int padding = 0, bool fill = false) Parameters Type Name Description Rect region View-relative region for the frame to be drawn. System.Int32 padding The padding to add around the outside of the drawn frame. System.Boolean fill If set to true it fill will the contents. DrawHotString(ustring, Boolean, ColorScheme) Utility function to draw strings that contains a hotkey using a ColorScheme and the \"focused\" state. Declaration public void DrawHotString(ustring text, bool focused, ColorScheme scheme) Parameters Type Name Description NStack.ustring text String to display, the underscoore before a letter flags the next letter as the hotkey. System.Boolean focused If set to true this uses the focused colors from the color scheme, otherwise the regular ones. ColorScheme scheme The color scheme to use. DrawHotString(ustring, Attribute, Attribute) Utility function to draw strings that contain a hotkey. Declaration public void DrawHotString(ustring text, Attribute hotColor, Attribute normalColor) Parameters Type Name Description NStack.ustring text String to display, the hotkey specifier before a letter flags the next letter as the hotkey. Attribute hotColor Hot color. Attribute normalColor Normal color. Remarks The hotkey is any character following the hotkey specifier, which is the underscore ('_') character by default. The hotkey specifier can be changed via HotKeySpecifier EndInit() This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are ending initialized. Declaration public void EndInit() EnsureFocus() Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing. Declaration public void EnsureFocus() FocusFirst() Focuses the first focusable subview if one exists. Declaration public void FocusFirst() FocusLast() Focuses the last focusable subview if one exists. Declaration public void FocusLast() FocusNext() Focuses the next view. Declaration public bool FocusNext() Returns Type Description System.Boolean true , if next was focused, false otherwise. FocusPrev() Focuses the previous view. Declaration public bool FocusPrev() Returns Type Description System.Boolean true , if previous was focused, false otherwise. LayoutSubviews() Invoked when a view starts executing or when the dimensions of the view have changed, for example in response to the container view or terminal resizing. Declaration public virtual void LayoutSubviews() Remarks Calls Terminal.Gui.View.OnLayoutComplete(Terminal.Gui.View.LayoutEventArgs) (which raises the LayoutComplete event) before it returns. Move(Int32, Int32) This moves the cursor to the specified column and row in the view. Declaration public void Move(int col, int row) Parameters Type Name Description System.Int32 col Col. System.Int32 row Row. OnAdded(View) Method invoked when a subview is being added to this view. Declaration public virtual void OnAdded(View view) Parameters Type Name Description View view The subview being added. OnDrawContent(Rect) Enables overrides to draw infinitely scrolled content and/or a background behind added controls. Declaration public virtual void OnDrawContent(Rect viewport) Parameters Type Name Description Rect viewport The view-relative rectangle describing the currently visible viewport into the View Remarks This method will be called before any subviews added with Add(View) have been drawn. OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnEnter(View) OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.OnKeyUp(KeyEvent) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnLeave(View) OnMouseClick(View.MouseEventArgs) Invokes the MouseClick event. Declaration protected void OnMouseClick(View.MouseEventArgs args) Parameters Type Name Description View.MouseEventArgs args OnMouseEnter(MouseEvent) Method invoked when a mouse event is generated for the first time. Declaration public override bool OnMouseEnter(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnMouseEnter(MouseEvent) OnMouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public virtual bool OnMouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. OnMouseLeave(MouseEvent) Method invoked when a mouse event is generated for the last time. Declaration public override bool OnMouseLeave(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnMouseLeave(MouseEvent) OnRemoved(View) Method invoked when a subview is being removed from this view. Declaration public virtual void OnRemoved(View view) Parameters Type Name Description View view The subview being removed. PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public virtual void PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Returns Type Description System.Boolean Overrides Responder.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public virtual void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public virtual void Remove(View view) Parameters Type Name Description View view Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public virtual void RemoveAll() ScreenToView(Int32, Int32) Converts a point from screen-relative coordinates to view-relative coordinates. Declaration public Point ScreenToView(int x, int y) Parameters Type Name Description System.Int32 x X screen-coordinate point. System.Int32 y Y screen-coordinate point. Returns Type Description Point The mapped point. SendSubviewBackwards(View) Moves the subview backwards in the hierarchy, only one step Declaration public void SendSubviewBackwards(View subview) Parameters Type Name Description View subview The subview to send backwards Remarks If you want to send the view all the way to the back use SendSubviewToBack. SendSubviewToBack(View) Sends the specified subview to the front so it is the first view drawn Declaration public void SendSubviewToBack(View subview) Parameters Type Name Description View subview The subview to send to the front Remarks BringSubviewToFront(View) . SetClip(Rect) Sets the clip region to the specified view-relative region. Declaration public Rect SetClip(Rect region) Parameters Type Name Description Rect region View-relative clip region. Returns Type Description Rect The previous screen-relative clip region. SetFocus() Causes the specified view and the entire parent hierarchy to have the focused order updated. Declaration public void SetFocus() SetNeedsDisplay() Sets a flag indicating this view needs to be redisplayed because its state has changed. Declaration public void SetNeedsDisplay() SetNeedsDisplay(Rect) Flags the view-relative region on this View as needing to be repainted. Declaration public void SetNeedsDisplay(Rect region) Parameters Type Name Description Rect region The view-relative region that must be flagged for repaint. ToString() Pretty prints the View Declaration public override string ToString() Returns Type Description System.String Overrides System.Object.ToString() Events Added Event fired when a subview is being added to this view. Declaration public event Action Added Event Type Type Description System.Action < View > DrawContent Event invoked when the content area of the View is to be drawn. Declaration public event Action DrawContent Event Type Type Description System.Action < Rect > Remarks Will be invoked before any subviews added with Add(View) have been drawn. Rect provides the view-relative rectangle describing the currently visible viewport into the View . Enter Event fired when the view gets focus. Declaration public event Action Enter Event Type Type Description System.Action < View.FocusEventArgs > Initialized Event called only once when the View is being initialized for the first time. Allows configurations and assignments to be performed before the View being shown. This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are being initialized. Declaration public event EventHandler Initialized Event Type Type Description System.EventHandler KeyDown Invoked when a key is pressed Declaration public event Action KeyDown Event Type Type Description System.Action < View.KeyEventEventArgs > KeyPress Invoked when a character key is pressed and occurs after the key up event. Declaration public event Action KeyPress Event Type Type Description System.Action < View.KeyEventEventArgs > KeyUp Invoked when a key is released Declaration public event Action KeyUp Event Type Type Description System.Action < View.KeyEventEventArgs > LayoutComplete Fired after the Views's LayoutSubviews() method has completed. Declaration public event Action LayoutComplete Event Type Type Description System.Action < View.LayoutEventArgs > Remarks Subscribe to this event to perform tasks when the View has been resized or the layout has otherwise changed. LayoutStarted Fired after the Views's LayoutSubviews() method has completed. Declaration public event Action LayoutStarted Event Type Type Description System.Action < View.LayoutEventArgs > Remarks Subscribe to this event to perform tasks when the View has been resized or the layout has otherwise changed. Leave Event fired when the view looses focus. Declaration public event Action Leave Event Type Type Description System.Action < View.FocusEventArgs > MouseClick Event fired when a mouse event is generated. Declaration public event Action MouseClick Event Type Type Description System.Action < View.MouseEventArgs > MouseEnter Event fired when the view receives the mouse event for the first time. Declaration public event Action MouseEnter Event Type Type Description System.Action < View.MouseEventArgs > MouseLeave Event fired when the view receives a mouse event for the last time. Declaration public event Action MouseLeave Event Type Type Description System.Action < View.MouseEventArgs > Removed Event fired when a subview is being removed from this view. Declaration public event Action Removed Event Type Type Description System.Action < View > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class View View is the base class for all views on the screen and represents a visible element that can render itself and contains zero or more nested views. Inheritance System.Object Responder View Button CheckBox ComboBox FrameView HexView Label ListView MenuBar ProgressBar RadioGroup ScrollBarView ScrollView StatusBar TableView TextField TextView Toplevel Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class View : Responder, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The View defines the base functionality for user interface elements in Terminal.Gui. Views can contain one or more subviews, can respond to user input and render themselves on the screen. Views supports two layout styles: Absolute or Computed. The choice as to which layout style is used by the View is determined when the View is initizlied. To create a View using Absolute layout, call a constructor that takes a Rect parameter to specify the absolute position and size (the View. Frame )/. To create a View using Computed layout use a constructor that does not take a Rect parametr and set the X, Y, Width and Height properties on the view. Both approaches use coordinates that are relative to the container they are being added to. To switch between Absolute and Computed layout, use the LayoutStyle property. Computed layout is more flexible and supports dynamic console apps where controls adjust layout as the terminal resizes or other Views change size or position. The X, Y, Width and Height properties are Dim and Pos objects that dynamically update the position of a view. The X and Y properties are of type Pos and you can use either absolute positions, percentages or anchor points. The Width and Height properties are of type Dim and can use absolute position, percentages and anchors. These are useful as they will take care of repositioning views when view's frames are resized or if the terminal size changes. Absolute layout requires specifying coordinates and sizes of Views explicitly, and the View will typcialy stay in a fixed position and size. To change the position and size use the Frame property. Subviews (child views) can be added to a View by calling the Add(View) method. The container of a View can be accessed with the SuperView property. To flag a region of the View's Bounds to be redrawn call SetNeedsDisplay(Rect) . To flag the entire view for redraw call SetNeedsDisplay() . Views have a ColorScheme property that defines the default colors that subviews should use for rendering. This ensures that the views fit in the context where they are being used, and allows for themes to be plugged in. For example, the default colors for windows and toplevels uses a blue background, while it uses a white background for dialog boxes and a red background for errors. Subclasses should not rely on ColorScheme being set at construction time. If a ColorScheme is not set on a view, the view will inherit the value from its SuperView and the value might only be valid once a view has been added to a SuperView. By using ColorScheme applications will work both in color as well as black and white displays. Views that are focusable should implement the PositionCursor() to make sure that the cursor is placed in a location that makes sense. Unix terminals do not have a way of hiding the cursor, so it can be distracting to have the cursor left at the last focused view. So views should make sure that they place the cursor in a visually sensible place. The LayoutSubviews() method is invoked when the size or layout of a view has changed. The default processing system will keep the size and dimensions for views that use the Absolute , and will recompute the frames for the vies that use Computed . Constructors View() Initializes a new instance of View using Computed layout. Declaration public View() Remarks Use X , Y , Width , and Height properties to dynamically control the size and location of the view. The Label will be created using Computed coordinates. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. View(ustring) Initializes a new instance of View using Computed layout. Declaration public View(ustring text) Parameters Type Name Description NStack.ustring text text to initialize the Text property with. Remarks The View will be created using Computed coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If Height is greater than one, word wrapping is provided. View(Int32, Int32, ustring) Initializes a new instance of View using Absolute layout. Declaration public View(int x, int y, ustring text) Parameters Type Name Description System.Int32 x column to locate the Label. System.Int32 y row to locate the Label. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. No line wrapping is provided. View(Rect) Initializes a new instance of a Absolute View class with the absolute dimensions specified in the frame parameter. Declaration public View(Rect frame) Parameters Type Name Description Rect frame The region covered by this view. Remarks This constructor intitalize a View with a LayoutStyle of Absolute . Use View() to initialize a View with LayoutStyle of Computed View(Rect, ustring) Initializes a new instance of View using Absolute layout. Declaration public View(Rect rect, ustring text) Parameters Type Name Description Rect rect Location. NStack.ustring text text to initialize the Text property with. Remarks The View will be created at the given coordinates with the given string. The initial size ( Frame will be adjusted to fit the contents of Text , including newlines ('\\n') for multiple lines. If rect.Height is greater than one, word wrapping is provided. Properties AutoSize Used by Text to resize the view's Bounds with the Size . Setting AutoSize to true only work if the Width and Height are null or Absolute values and doesn't work with Computed layout, to avoid breaking the Pos and Dim settings. Declaration public virtual bool AutoSize { get; set; } Property Value Type Description System.Boolean Bounds The bounds represent the View-relative rectangle used for this view; the area inside of the view. Declaration public Rect Bounds { get; set; } Property Value Type Description Rect The bounds. Remarks Updates to the Bounds update the Frame , and has the same side effects as updating the Frame . Because Bounds coordinates are relative to the upper-left corner of the View , the coordinates of the upper-left corner of the rectangle returned by this property are (0,0). Use this property to obtain the size and coordinates of the client area of the control for tasks such as drawing on the surface of the control. CanFocus Gets or sets a value indicating whether this Responder can focus. Declaration public override bool CanFocus { get; set; } Property Value Type Description System.Boolean true if can focus; otherwise, false . Overrides Responder.CanFocus ColorScheme The color scheme for this view, if it is not defined, it returns the SuperView 's color scheme. Declaration public ColorScheme ColorScheme { get; set; } Property Value Type Description ColorScheme Data Gets or sets arbitrary data for the view. Declaration public object Data { get; set; } Property Value Type Description System.Object Remarks This property is not used internally. Driver Points to the current driver in use by the view, it is a convenience property for simplifying the development of new views. Declaration public static ConsoleDriver Driver { get; } Property Value Type Description ConsoleDriver Focused Returns the currently focused view inside this view, or null if nothing is focused. Declaration public View Focused { get; } Property Value Type Description View The focused. Frame Gets or sets the frame for the view. The frame is relative to the view's container ( SuperView ). Declaration public virtual Rect Frame { get; set; } Property Value Type Description Rect The frame. Remarks Change the Frame when using the Absolute layout style to move or resize views. Altering the Frame of a view will trigger the redrawing of the view as well as the redrawing of the affected regions of the SuperView . HasFocus Gets or sets a value indicating whether this Responder has focus. Declaration public override bool HasFocus { get; } Property Value Type Description System.Boolean true if has focus; otherwise, false . Overrides Responder.HasFocus Height Gets or sets the height of the view. Only used whe LayoutStyle is Computed . Declaration public Dim Height { get; set; } Property Value Type Description Dim The height. HotKey Gets or sets the HotKey defined for this view. A user pressing HotKey on the keyboard while this view has focus will cause the Clicked event to fire. Declaration public Key HotKey { get; set; } Property Value Type Description Key HotKeySpecifier Gets or sets the specifier character for the hotkey (e.g. '_'). Set to '\\xffff' to disable hotkey support for this View instance. The default is '\\xffff'. Declaration public Rune HotKeySpecifier { get; set; } Property Value Type Description System.Rune Id Gets or sets an identifier for the view; Declaration public ustring Id { get; set; } Property Value Type Description NStack.ustring The identifier. Remarks The id should be unique across all Views that share a SuperView. IsCurrentTop Returns a value indicating if this View is currently on Top (Active) Declaration public bool IsCurrentTop { get; } Property Value Type Description System.Boolean IsInitialized Get or sets if the View was already initialized. This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are being initialized. Declaration public bool IsInitialized { get; set; } Property Value Type Description System.Boolean LayoutStyle Controls how the View's Frame is computed during the LayoutSubviews method, if the style is set to Absolute , LayoutSubviews does not change the Frame . If the style is Computed the Frame is updated using the X , Y , Width , and Height properties. Declaration public LayoutStyle LayoutStyle { get; set; } Property Value Type Description LayoutStyle The layout style. MostFocused Returns the most focused view in the chain of subviews (the leaf view that has the focus). Declaration public View MostFocused { get; } Property Value Type Description View The most focused. Shortcut This is the global setting that can be used as a global shortcut to invoke an action if provided. Declaration public Key Shortcut { get; set; } Property Value Type Description Key ShortcutAction The action to run if the Shortcut is defined. Declaration public virtual Action ShortcutAction { get; set; } Property Value Type Description System.Action ShortcutTag The keystroke combination used in the Shortcut as string. Declaration public ustring ShortcutTag { get; } Property Value Type Description NStack.ustring Subviews This returns a list of the subviews contained by this view. Declaration public IList Subviews { get; } Property Value Type Description System.Collections.Generic.IList < View > The subviews. SuperView Returns the container for this view, or null if this view has not been added to a container. Declaration public View SuperView { get; } Property Value Type Description View The super view. TabIndex Indicates the index of the current View from the TabIndexes list. Declaration public int TabIndex { get; set; } Property Value Type Description System.Int32 TabIndexes This returns a tab index list of the subviews contained by this view. Declaration public IList TabIndexes { get; } Property Value Type Description System.Collections.Generic.IList < View > The tabIndexes. TabStop This only be true if the CanFocus is also true and the focus can be avoided by setting this to false Declaration public bool TabStop { get; set; } Property Value Type Description System.Boolean Text The text displayed by the View . Declaration public virtual ustring Text { get; set; } Property Value Type Description NStack.ustring Remarks If provided, the text will be drawn before any subviews are drawn. The text will be drawn starting at the view origin (0, 0) and will be formatted according to the TextAlignment property. If the view's height is greater than 1, the text will word-wrap to additional lines if it does not fit horizontally. If the view's height is 1, the text will be clipped. Set the HotKeySpecifier to enable hotkey support. To disable hotkey support set HotKeySpecifier to (Rune)0xffff . TextAlignment Gets or sets how the View's Text is aligned horizontally when drawn. Changing this property will redisplay the View . Declaration public virtual TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Visible Gets or sets the view visibility. Declaration public bool Visible { get; set; } Property Value Type Description System.Boolean WantContinuousButtonPressed Gets or sets a value indicating whether this View want continuous button pressed event. Declaration public virtual bool WantContinuousButtonPressed { get; set; } Property Value Type Description System.Boolean WantMousePositionReports Gets or sets a value indicating whether this View wants mouse position reports. Declaration public virtual bool WantMousePositionReports { get; set; } Property Value Type Description System.Boolean true if want mouse position reports; otherwise, false . Width Gets or sets the width of the view. Only used whe LayoutStyle is Computed . Declaration public Dim Width { get; set; } Property Value Type Description Dim The width. Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. X Gets or sets the X position for the view (the column). Only used whe LayoutStyle is Computed . Declaration public Pos X { get; set; } Property Value Type Description Pos The X Position. Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. Y Gets or sets the Y position for the view (the row). Only used whe LayoutStyle is Computed . Declaration public Pos Y { get; set; } Property Value Type Description Pos The y position (line). Remarks If LayoutStyle is Absolute changing this property has no effect and its value is indeterminate. Methods Add(View) Adds a subview (child) to this view. Declaration public virtual void Add(View view) Parameters Type Name Description View view Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() Add(View[]) Adds the specified views (children) to the view. Declaration public void Add(params View[] views) Parameters Type Name Description View [] views Array of one or more views (can be optional parameter). Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() AddRune(Int32, Int32, Rune) Displays the specified character in the specified column and row of the View. Declaration public void AddRune(int col, int row, Rune ch) Parameters Type Name Description System.Int32 col Column (view-relative). System.Int32 row Row (view-relative). System.Rune ch Ch. BeginInit() This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are beginning initialized. Declaration public void BeginInit() BringSubviewForward(View) Moves the subview backwards in the hierarchy, only one step Declaration public void BringSubviewForward(View subview) Parameters Type Name Description View subview The subview to send backwards Remarks If you want to send the view all the way to the back use SendSubviewToBack. BringSubviewToFront(View) Brings the specified subview to the front so it is drawn on top of any other views. Declaration public void BringSubviewToFront(View subview) Parameters Type Name Description View subview The subview to send to the front Remarks SendSubviewToBack(View) . Clear() Clears the view region with the current color. Declaration public void Clear() Remarks This clears the entire region used by this view. Clear(Rect) Clears the specified region with the current color. Declaration public void Clear(Rect regionScreen) Parameters Type Name Description Rect regionScreen The screen-relative region to clear. Remarks ClearLayoutNeeded() Removes the Terminal.Gui.View.SetNeedsLayout setting on this view. Declaration protected void ClearLayoutNeeded() ClearNeedsDisplay() Removes the SetNeedsDisplay() and the Terminal.Gui.View.ChildNeedsDisplay() setting on this view. Declaration protected void ClearNeedsDisplay() ClipToBounds() Sets the ConsoleDriver 's clip region to the current View's Bounds . Declaration public Rect ClipToBounds() Returns Type Description Rect The existing driver's clip region, which can be then re-eapplied by setting Driver .Clip ( Clip ). Remarks Bounds is View-relative. Dispose(Boolean) Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources. Declaration protected override void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing Overrides Responder.Dispose(Boolean) Remarks If disposing equals true, the method has been called directly or indirectly by a user's code. Managed and unmanaged resources can be disposed. If disposing equals false, the method has been called by the runtime from inside the finalizer and you should not reference other objects. Only unmanaged resources can be disposed. DrawFrame(Rect, Int32, Boolean) Draws a frame in the current view, clipped by the boundary of this view Declaration public void DrawFrame(Rect region, int padding = 0, bool fill = false) Parameters Type Name Description Rect region View-relative region for the frame to be drawn. System.Int32 padding The padding to add around the outside of the drawn frame. System.Boolean fill If set to true it fill will the contents. DrawHotString(ustring, Boolean, ColorScheme) Utility function to draw strings that contains a hotkey using a ColorScheme and the \"focused\" state. Declaration public void DrawHotString(ustring text, bool focused, ColorScheme scheme) Parameters Type Name Description NStack.ustring text String to display, the underscoore before a letter flags the next letter as the hotkey. System.Boolean focused If set to true this uses the focused colors from the color scheme, otherwise the regular ones. ColorScheme scheme The color scheme to use. DrawHotString(ustring, Attribute, Attribute) Utility function to draw strings that contain a hotkey. Declaration public void DrawHotString(ustring text, Attribute hotColor, Attribute normalColor) Parameters Type Name Description NStack.ustring text String to display, the hotkey specifier before a letter flags the next letter as the hotkey. Attribute hotColor Hot color. Attribute normalColor Normal color. Remarks The hotkey is any character following the hotkey specifier, which is the underscore ('_') character by default. The hotkey specifier can be changed via HotKeySpecifier EndInit() This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are ending initialized. Declaration public void EndInit() EnsureFocus() Finds the first view in the hierarchy that wants to get the focus if nothing is currently focused, otherwise, it does nothing. Declaration public void EnsureFocus() FocusFirst() Focuses the first focusable subview if one exists. Declaration public void FocusFirst() FocusLast() Focuses the last focusable subview if one exists. Declaration public void FocusLast() FocusNext() Focuses the next view. Declaration public bool FocusNext() Returns Type Description System.Boolean true , if next was focused, false otherwise. FocusPrev() Focuses the previous view. Declaration public bool FocusPrev() Returns Type Description System.Boolean true , if previous was focused, false otherwise. LayoutSubviews() Invoked when a view starts executing or when the dimensions of the view have changed, for example in response to the container view or terminal resizing. Declaration public virtual void LayoutSubviews() Remarks Calls Terminal.Gui.View.OnLayoutComplete(Terminal.Gui.View.LayoutEventArgs) (which raises the LayoutComplete event) before it returns. Move(Int32, Int32) This moves the cursor to the specified column and row in the view. Declaration public void Move(int col, int row) Parameters Type Name Description System.Int32 col Col. System.Int32 row Row. OnAdded(View) Method invoked when a subview is being added to this view. Declaration public virtual void OnAdded(View view) Parameters Type Name Description View view The subview being added. OnDrawContent(Rect) Enables overrides to draw infinitely scrolled content and/or a background behind added controls. Declaration public virtual void OnDrawContent(Rect viewport) Parameters Type Name Description Rect viewport The view-relative rectangle describing the currently visible viewport into the View Remarks This method will be called before any subviews added with Add(View) have been drawn. OnEnter(View) Method invoked when a view gets focus. Declaration public override bool OnEnter(View view) Parameters Type Name Description View view The view that is losing focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnEnter(View) OnKeyDown(KeyEvent) Declaration public override bool OnKeyDown(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.OnKeyDown(KeyEvent) OnKeyUp(KeyEvent) Declaration public override bool OnKeyUp(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.OnKeyUp(KeyEvent) OnLeave(View) Method invoked when a view loses focus. Declaration public override bool OnLeave(View view) Parameters Type Name Description View view The view that is getting focus. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnLeave(View) OnMouseClick(View.MouseEventArgs) Invokes the MouseClick event. Declaration protected void OnMouseClick(View.MouseEventArgs args) Parameters Type Name Description View.MouseEventArgs args OnMouseEnter(MouseEvent) Method invoked when a mouse event is generated for the first time. Declaration public override bool OnMouseEnter(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnMouseEnter(MouseEvent) OnMouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public virtual bool OnMouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. OnMouseLeave(MouseEvent) Method invoked when a mouse event is generated for the last time. Declaration public override bool OnMouseLeave(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.OnMouseLeave(MouseEvent) OnRemoved(View) Method invoked when a subview is being removed from this view. Declaration public virtual void OnRemoved(View view) Parameters Type Name Description View view The subview being removed. PositionCursor() Positions the cursor in the right position based on the currently focused view in the chain. Declaration public virtual void PositionCursor() ProcessColdKey(KeyEvent) This method can be overwritten by views that want to provide accelerator functionality (Alt-key for example), but without interefering with normal ProcessKey behavior. Declaration public override bool ProcessColdKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.ProcessColdKey(KeyEvent) Remarks After keys are sent to the subviews on the current view, all the view are processed and the key is passed to the views to allow some of them to process the keystroke as a cold-key. This functionality is used, for example, by default buttons to act on the enter key. Processing this as a hot-key would prevent non-default buttons from consuming the enter keypress when they have the focus. ProcessHotKey(KeyEvent) This method can be overwritten by view that want to provide accelerator functionality (Alt-key for example). Declaration public override bool ProcessHotKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Returns Type Description System.Boolean Overrides Responder.ProcessHotKey(KeyEvent) Remarks Before keys are sent to the subview on the current view, all the views are processed and the key is passed to the widgets to allow some of them to process the keystroke as a hot-key. For example, if you implement a button that has a hotkey ok \"o\", you would catch the combination Alt-o here. If the event is caught, you must return true to stop the keystroke from being dispatched to other views. ProcessKey(KeyEvent) If the view is focused, gives the view a chance to process the keystroke. Declaration public override bool ProcessKey(KeyEvent keyEvent) Parameters Type Name Description KeyEvent keyEvent Contains the details about the key that produced the event. Returns Type Description System.Boolean Overrides Responder.ProcessKey(KeyEvent) Remarks Views can override this method if they are interested in processing the given keystroke. If they consume the keystroke, they must return true to stop the keystroke from being processed by other widgets or consumed by the widget engine. If they return false, the keystroke will be passed using the ProcessColdKey method to other views to process. The View implementation does nothing but return false, so it is not necessary to call base.ProcessKey if you derive directly from View, but you should if you derive other View subclasses. Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public virtual void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public virtual void Remove(View view) Parameters Type Name Description View view Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public virtual void RemoveAll() ScreenToView(Int32, Int32) Converts a point from screen-relative coordinates to view-relative coordinates. Declaration public Point ScreenToView(int x, int y) Parameters Type Name Description System.Int32 x X screen-coordinate point. System.Int32 y Y screen-coordinate point. Returns Type Description Point The mapped point. SendSubviewBackwards(View) Moves the subview backwards in the hierarchy, only one step Declaration public void SendSubviewBackwards(View subview) Parameters Type Name Description View subview The subview to send backwards Remarks If you want to send the view all the way to the back use SendSubviewToBack. SendSubviewToBack(View) Sends the specified subview to the front so it is the first view drawn Declaration public void SendSubviewToBack(View subview) Parameters Type Name Description View subview The subview to send to the front Remarks BringSubviewToFront(View) . SetChildNeedsDisplay() Indicates that any child views (in the Subviews list) need to be repainted. Declaration public void SetChildNeedsDisplay() SetClip(Rect) Sets the clip region to the specified view-relative region. Declaration public Rect SetClip(Rect region) Parameters Type Name Description Rect region View-relative clip region. Returns Type Description Rect The previous screen-relative clip region. SetFocus() Causes the specified view and the entire parent hierarchy to have the focused order updated. Declaration public void SetFocus() SetHeight(Int32, out Int32) Calculate the height based on the Height settings. Declaration public bool SetHeight(int desiredHeight, out int resultHeight) Parameters Type Name Description System.Int32 desiredHeight The desired height. System.Int32 resultHeight The real result height. Returns Type Description System.Boolean True if the height can be directly assigned, false otherwise. SetNeedsDisplay() Sets a flag indicating this view needs to be redisplayed because its state has changed. Declaration public void SetNeedsDisplay() SetNeedsDisplay(Rect) Flags the view-relative region on this View as needing to be repainted. Declaration public void SetNeedsDisplay(Rect region) Parameters Type Name Description Rect region The view-relative region that must be flagged for repaint. SetWidth(Int32, out Int32) Calculate the width based on the Width settings. Declaration public bool SetWidth(int desiredWidth, out int resultWidth) Parameters Type Name Description System.Int32 desiredWidth The desired width. System.Int32 resultWidth The real result width. Returns Type Description System.Boolean True if the width can be directly assigned, false otherwise. ToString() Pretty prints the View Declaration public override string ToString() Returns Type Description System.String Overrides System.Object.ToString() Events Added Event fired when a subview is being added to this view. Declaration public event Action Added Event Type Type Description System.Action < View > DrawContent Event invoked when the content area of the View is to be drawn. Declaration public event Action DrawContent Event Type Type Description System.Action < Rect > Remarks Will be invoked before any subviews added with Add(View) have been drawn. Rect provides the view-relative rectangle describing the currently visible viewport into the View . Enter Event fired when the view gets focus. Declaration public event Action Enter Event Type Type Description System.Action < View.FocusEventArgs > Initialized Event called only once when the View is being initialized for the first time. Allows configurations and assignments to be performed before the View being shown. This derived from System.ComponentModel.ISupportInitializeNotification to allow notify all the views that are being initialized. Declaration public event EventHandler Initialized Event Type Type Description System.EventHandler KeyDown Invoked when a key is pressed Declaration public event Action KeyDown Event Type Type Description System.Action < View.KeyEventEventArgs > KeyPress Invoked when a character key is pressed and occurs after the key up event. Declaration public event Action KeyPress Event Type Type Description System.Action < View.KeyEventEventArgs > KeyUp Invoked when a key is released Declaration public event Action KeyUp Event Type Type Description System.Action < View.KeyEventEventArgs > LayoutComplete Fired after the Views's LayoutSubviews() method has completed. Declaration public event Action LayoutComplete Event Type Type Description System.Action < View.LayoutEventArgs > Remarks Subscribe to this event to perform tasks when the View has been resized or the layout has otherwise changed. LayoutStarted Fired after the Views's LayoutSubviews() method has completed. Declaration public event Action LayoutStarted Event Type Type Description System.Action < View.LayoutEventArgs > Remarks Subscribe to this event to perform tasks when the View has been resized or the layout has otherwise changed. Leave Event fired when the view looses focus. Declaration public event Action Leave Event Type Type Description System.Action < View.FocusEventArgs > MouseClick Event fired when a mouse event is generated. Declaration public event Action MouseClick Event Type Type Description System.Action < View.MouseEventArgs > MouseEnter Event fired when the view receives the mouse event for the first time. Declaration public event Action MouseEnter Event Type Type Description System.Action < View.MouseEventArgs > MouseLeave Event fired when the view receives a mouse event for the last time. Declaration public event Action MouseLeave Event Type Type Description System.Action < View.MouseEventArgs > Removed Event fired when a subview is being removed from this view. Declaration public event Action Removed Event Type Type Description System.Action < View > Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html": { "href": "api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html", @@ -352,7 +387,7 @@ "api/Terminal.Gui/Terminal.Gui.Window.html": { "href": "api/Terminal.Gui/Terminal.Gui.Window.html", "title": "Class Window", - "keywords": "Class Window A Toplevel View that draws a border around its Frame with a Title at the top. Inheritance System.Object Responder View Toplevel Window Dialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessKey(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Window : Toplevel, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The 'client area' of a Window is a rectangle deflated by one or more rows/columns from Bounds . A this time there is no API to determine this rectangle. Constructors Window() Initializes a new instance of the Window class using Computed positioning. Declaration public Window() Window(ustring) Initializes a new instance of the Window class with an optional title using Computed positioning. Declaration public Window(ustring title = null) Parameters Type Name Description NStack.ustring title Title. Remarks This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. Window(ustring, Int32) Initializes a new instance of the Window using Absolute positioning with the specified frame for its location, with the specified frame padding, and an optional title. Declaration public Window(ustring title = null, int padding = 0) Parameters Type Name Description NStack.ustring title Title. System.Int32 padding Number of characters to use for padding of the drawn frame. Remarks This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. Window(Rect, ustring) Initializes a new instance of the Window class with an optional title using Absolute positioning. Declaration public Window(Rect frame, ustring title = null) Parameters Type Name Description Rect frame Superview-relative rectangle specifying the location and size NStack.ustring title Title Remarks This constructor intitalizes a Window with a LayoutStyle of Absolute . Use constructors that do not take Rect parameters to initialize a Window with Computed . Window(Rect, ustring, Int32) Initializes a new instance of the Window using Absolute positioning with the specified frame for its location, with the specified frame padding, and an optional title. Declaration public Window(Rect frame, ustring title = null, int padding = 0) Parameters Type Name Description Rect frame Superview-relative rectangle specifying the location and size NStack.ustring title Title System.Int32 padding Number of characters to use for padding of the drawn frame. Remarks This constructor intitalizes a Window with a LayoutStyle of Absolute . Use constructors that do not take Rect parameters to initialize a Window with LayoutStyle of Computed Properties Text The text displayed by the Label . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text TextAlignment Controls the text-alignment property of the label, changing it will redisplay the Label . Declaration public override TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Overrides View.TextAlignment Title The title to be displayed for this window. Declaration public ustring Title { get; set; } Property Value Type Description NStack.ustring The title Methods Add(View) Adds a subview (child) to this view. Declaration public override void Add(View view) Parameters Type Name Description View view Overrides Toplevel.Add(View) Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Contains the details about the mouse event. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides Toplevel.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides Toplevel.Remove(View) Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public override void RemoveAll() Overrides Toplevel.RemoveAll() Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class Window A Toplevel View that draws a border around its Frame with a Title at the top. Inheritance System.Object Responder View Toplevel Window Dialog Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessKey(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) View.DrawHotString(ustring, Attribute, Attribute) View.DrawHotString(ustring, Boolean, ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme View.AddRune(Int32, Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : Terminal.Gui Assembly : Terminal.Gui.dll Syntax public class Window : Toplevel, IDisposable, ISupportInitializeNotification, ISupportInitialize Remarks The 'client area' of a Window is a rectangle deflated by one or more rows/columns from Bounds . A this time there is no API to determine this rectangle. Constructors Window() Initializes a new instance of the Window class using Computed positioning. Declaration public Window() Window(ustring) Initializes a new instance of the Window class with an optional title using Computed positioning. Declaration public Window(ustring title = null) Parameters Type Name Description NStack.ustring title Title. Remarks This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. Window(ustring, Int32) Initializes a new instance of the Window using Absolute positioning with the specified frame for its location, with the specified frame padding, and an optional title. Declaration public Window(ustring title = null, int padding = 0) Parameters Type Name Description NStack.ustring title Title. System.Int32 padding Number of characters to use for padding of the drawn frame. Remarks This constructor intitalize a View with a LayoutStyle of Computed . Use X , Y , Width , and Height properties to dynamically control the size and location of the view. Window(Rect, ustring) Initializes a new instance of the Window class with an optional title using Absolute positioning. Declaration public Window(Rect frame, ustring title = null) Parameters Type Name Description Rect frame Superview-relative rectangle specifying the location and size NStack.ustring title Title Remarks This constructor intitalizes a Window with a LayoutStyle of Absolute . Use constructors that do not take Rect parameters to initialize a Window with Computed . Window(Rect, ustring, Int32) Initializes a new instance of the Window using Absolute positioning with the specified frame for its location, with the specified frame padding, and an optional title. Declaration public Window(Rect frame, ustring title = null, int padding = 0) Parameters Type Name Description Rect frame Superview-relative rectangle specifying the location and size NStack.ustring title Title System.Int32 padding Number of characters to use for padding of the drawn frame. Remarks This constructor intitalizes a Window with a LayoutStyle of Absolute . Use constructors that do not take Rect parameters to initialize a Window with LayoutStyle of Computed Properties Text The text displayed by the Label . Declaration public override ustring Text { get; set; } Property Value Type Description NStack.ustring Overrides View.Text TextAlignment Controls the text-alignment property of the label, changing it will redisplay the Label . Declaration public override TextAlignment TextAlignment { get; set; } Property Value Type Description TextAlignment The text alignment. Overrides View.TextAlignment Title The title to be displayed for this window. Declaration public ustring Title { get; set; } Property Value Type Description NStack.ustring The title Methods Add(View) Adds a subview (child) to this view. Declaration public override void Add(View view) Parameters Type Name Description View view Overrides Toplevel.Add(View) Remarks The Views that have been added to this view can be retrieved via the Subviews property. See also Remove(View) RemoveAll() MouseEvent(MouseEvent) Method invoked when a mouse event is generated Declaration public override bool MouseEvent(MouseEvent mouseEvent) Parameters Type Name Description MouseEvent mouseEvent Contains the details about the mouse event. Returns Type Description System.Boolean true , if the event was handled, false otherwise. Overrides Responder.MouseEvent(MouseEvent) Redraw(Rect) Redraws this view and its subviews; only redraws the views that have been flagged for a re-display. Declaration public override void Redraw(Rect bounds) Parameters Type Name Description Rect bounds The bounds (view-relative region) to redraw. Overrides Toplevel.Redraw(Rect) Remarks Always use Bounds (view-relative) when calling Redraw(Rect) , NOT Frame (superview-relative). Views should set the color that they want to use on entry, as otherwise this will inherit the last color that was set globally on the driver. Overrides of Redraw(Rect) must ensure they do not set Driver.Clip to a clip region larger than the region parameter. Remove(View) Removes a subview added via Add(View) or Add(View[]) from this View. Declaration public override void Remove(View view) Parameters Type Name Description View view Overrides Toplevel.Remove(View) Remarks RemoveAll() Removes all subviews (children) added via Add(View) or Add(View[]) from this View. Declaration public override void RemoveAll() Overrides Toplevel.RemoveAll() Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/Terminal.Gui/Unix.Terminal.Curses.Event.html": { "href": "api/Terminal.Gui/Unix.Terminal.Curses.Event.html", @@ -362,7 +397,7 @@ "api/Terminal.Gui/Unix.Terminal.Curses.html": { "href": "api/Terminal.Gui/Unix.Terminal.Curses.html", "title": "Class Curses", - "keywords": "Class Curses Inheritance System.Object Curses Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Unix.Terminal Assembly : Terminal.Gui.dll Syntax public class Curses Fields A_BLINK Declaration public const int A_BLINK = 524288 Field Value Type Description System.Int32 A_BOLD Declaration public const int A_BOLD = 2097152 Field Value Type Description System.Int32 A_DIM Declaration public const int A_DIM = 1048576 Field Value Type Description System.Int32 A_INVIS Declaration public const int A_INVIS = 8388608 Field Value Type Description System.Int32 A_NORMAL Declaration public const int A_NORMAL = 0 Field Value Type Description System.Int32 A_PROTECT Declaration public const int A_PROTECT = 16777216 Field Value Type Description System.Int32 A_REVERSE Declaration public const int A_REVERSE = 262144 Field Value Type Description System.Int32 A_STANDOUT Declaration public const int A_STANDOUT = 65536 Field Value Type Description System.Int32 A_UNDERLINE Declaration public const int A_UNDERLINE = 131072 Field Value Type Description System.Int32 ACS_BLOCK Declaration public const int ACS_BLOCK = 4194352 Field Value Type Description System.Int32 ACS_BOARD Declaration public const int ACS_BOARD = 4194408 Field Value Type Description System.Int32 ACS_BTEE Declaration public const int ACS_BTEE = 4194422 Field Value Type Description System.Int32 ACS_BULLET Declaration public const int ACS_BULLET = 4194430 Field Value Type Description System.Int32 ACS_CKBOARD Declaration public const int ACS_CKBOARD = 4194401 Field Value Type Description System.Int32 ACS_DARROW Declaration public const int ACS_DARROW = 4194350 Field Value Type Description System.Int32 ACS_DEGREE Declaration public const int ACS_DEGREE = 4194406 Field Value Type Description System.Int32 ACS_DIAMOND Declaration public const int ACS_DIAMOND = 4194400 Field Value Type Description System.Int32 ACS_HLINE Declaration public const int ACS_HLINE = 4194417 Field Value Type Description System.Int32 ACS_LANTERN Declaration public const int ACS_LANTERN = 4194409 Field Value Type Description System.Int32 ACS_LARROW Declaration public const int ACS_LARROW = 4194348 Field Value Type Description System.Int32 ACS_LLCORNER Declaration public const int ACS_LLCORNER = 4194413 Field Value Type Description System.Int32 ACS_LRCORNER Declaration public const int ACS_LRCORNER = 4194410 Field Value Type Description System.Int32 ACS_LTEE Declaration public const int ACS_LTEE = 4194420 Field Value Type Description System.Int32 ACS_PLMINUS Declaration public const int ACS_PLMINUS = 4194407 Field Value Type Description System.Int32 ACS_PLUS Declaration public const int ACS_PLUS = 4194414 Field Value Type Description System.Int32 ACS_RARROW Declaration public const int ACS_RARROW = 4194347 Field Value Type Description System.Int32 ACS_RTEE Declaration public const int ACS_RTEE = 4194421 Field Value Type Description System.Int32 ACS_S1 Declaration public const int ACS_S1 = 4194415 Field Value Type Description System.Int32 ACS_S9 Declaration public const int ACS_S9 = 4194419 Field Value Type Description System.Int32 ACS_TTEE Declaration public const int ACS_TTEE = 4194423 Field Value Type Description System.Int32 ACS_UARROW Declaration public const int ACS_UARROW = 4194349 Field Value Type Description System.Int32 ACS_ULCORNER Declaration public const int ACS_ULCORNER = 4194412 Field Value Type Description System.Int32 ACS_URCORNER Declaration public const int ACS_URCORNER = 4194411 Field Value Type Description System.Int32 ACS_VLINE Declaration public const int ACS_VLINE = 4194424 Field Value Type Description System.Int32 AltCtrlKeyEnd Declaration public const int AltCtrlKeyEnd = 532 Field Value Type Description System.Int32 AltCtrlKeyHome Declaration public const int AltCtrlKeyHome = 537 Field Value Type Description System.Int32 AltCtrlKeyNPage Declaration public const int AltCtrlKeyNPage = 552 Field Value Type Description System.Int32 AltCtrlKeyPPage Declaration public const int AltCtrlKeyPPage = 557 Field Value Type Description System.Int32 AltKeyDown Declaration public const int AltKeyDown = 523 Field Value Type Description System.Int32 AltKeyEnd Declaration public const int AltKeyEnd = 528 Field Value Type Description System.Int32 AltKeyHome Declaration public const int AltKeyHome = 533 Field Value Type Description System.Int32 AltKeyLeft Declaration public const int AltKeyLeft = 543 Field Value Type Description System.Int32 AltKeyNPage Declaration public const int AltKeyNPage = 548 Field Value Type Description System.Int32 AltKeyPPage Declaration public const int AltKeyPPage = 553 Field Value Type Description System.Int32 AltKeyRight Declaration public const int AltKeyRight = 558 Field Value Type Description System.Int32 AltKeyUp Declaration public const int AltKeyUp = 564 Field Value Type Description System.Int32 COLOR_BLACK Declaration public const int COLOR_BLACK = 0 Field Value Type Description System.Int32 COLOR_BLUE Declaration public const int COLOR_BLUE = 4 Field Value Type Description System.Int32 COLOR_CYAN Declaration public const int COLOR_CYAN = 6 Field Value Type Description System.Int32 COLOR_GREEN Declaration public const int COLOR_GREEN = 2 Field Value Type Description System.Int32 COLOR_MAGENTA Declaration public const int COLOR_MAGENTA = 5 Field Value Type Description System.Int32 COLOR_RED Declaration public const int COLOR_RED = 1 Field Value Type Description System.Int32 COLOR_WHITE Declaration public const int COLOR_WHITE = 7 Field Value Type Description System.Int32 COLOR_YELLOW Declaration public const int COLOR_YELLOW = 3 Field Value Type Description System.Int32 CtrlKeyDown Declaration public const int CtrlKeyDown = 525 Field Value Type Description System.Int32 CtrlKeyEnd Declaration public const int CtrlKeyEnd = 530 Field Value Type Description System.Int32 CtrlKeyHome Declaration public const int CtrlKeyHome = 535 Field Value Type Description System.Int32 CtrlKeyLeft Declaration public const int CtrlKeyLeft = 545 Field Value Type Description System.Int32 CtrlKeyNPage Declaration public const int CtrlKeyNPage = 550 Field Value Type Description System.Int32 CtrlKeyPPage Declaration public const int CtrlKeyPPage = 555 Field Value Type Description System.Int32 CtrlKeyRight Declaration public const int CtrlKeyRight = 560 Field Value Type Description System.Int32 CtrlKeyUp Declaration public const int CtrlKeyUp = 566 Field Value Type Description System.Int32 DownEnd Declaration public const int DownEnd = 0 Field Value Type Description System.Int32 ERR Declaration public const int ERR = -1 Field Value Type Description System.Int32 Home Declaration public const int Home = 0 Field Value Type Description System.Int32 KEY_CODE_SEQ Declaration public const int KEY_CODE_SEQ = 91 Field Value Type Description System.Int32 KEY_CODE_YES Declaration public const int KEY_CODE_YES = 256 Field Value Type Description System.Int32 KeyAlt Declaration public const int KeyAlt = 8192 Field Value Type Description System.Int32 KeyBackspace Declaration public const int KeyBackspace = 263 Field Value Type Description System.Int32 KeyBackTab Declaration public const int KeyBackTab = 353 Field Value Type Description System.Int32 KeyDeleteChar Declaration public const int KeyDeleteChar = 330 Field Value Type Description System.Int32 KeyDown Declaration public const int KeyDown = 258 Field Value Type Description System.Int32 KeyEnd Declaration public const int KeyEnd = 360 Field Value Type Description System.Int32 KeyF1 Declaration public const int KeyF1 = 265 Field Value Type Description System.Int32 KeyF10 Declaration public const int KeyF10 = 274 Field Value Type Description System.Int32 KeyF11 Declaration public const int KeyF11 = 275 Field Value Type Description System.Int32 KeyF12 Declaration public const int KeyF12 = 276 Field Value Type Description System.Int32 KeyF2 Declaration public const int KeyF2 = 266 Field Value Type Description System.Int32 KeyF3 Declaration public const int KeyF3 = 267 Field Value Type Description System.Int32 KeyF4 Declaration public const int KeyF4 = 268 Field Value Type Description System.Int32 KeyF5 Declaration public const int KeyF5 = 269 Field Value Type Description System.Int32 KeyF6 Declaration public const int KeyF6 = 270 Field Value Type Description System.Int32 KeyF7 Declaration public const int KeyF7 = 271 Field Value Type Description System.Int32 KeyF8 Declaration public const int KeyF8 = 272 Field Value Type Description System.Int32 KeyF9 Declaration public const int KeyF9 = 273 Field Value Type Description System.Int32 KeyHome Declaration public const int KeyHome = 262 Field Value Type Description System.Int32 KeyInsertChar Declaration public const int KeyInsertChar = 331 Field Value Type Description System.Int32 KeyLeft Declaration public const int KeyLeft = 260 Field Value Type Description System.Int32 KeyMouse Declaration public const int KeyMouse = 409 Field Value Type Description System.Int32 KeyNPage Declaration public const int KeyNPage = 338 Field Value Type Description System.Int32 KeyPPage Declaration public const int KeyPPage = 339 Field Value Type Description System.Int32 KeyResize Declaration public const int KeyResize = 410 Field Value Type Description System.Int32 KeyRight Declaration public const int KeyRight = 261 Field Value Type Description System.Int32 KeyTab Declaration public const int KeyTab = 9 Field Value Type Description System.Int32 KeyUp Declaration public const int KeyUp = 259 Field Value Type Description System.Int32 LC_ALL Declaration public const int LC_ALL = 6 Field Value Type Description System.Int32 LeftRightUpNPagePPage Declaration public const int LeftRightUpNPagePPage = 0 Field Value Type Description System.Int32 ShiftAltKeyDown Declaration public const int ShiftAltKeyDown = 524 Field Value Type Description System.Int32 ShiftAltKeyEnd Declaration public const int ShiftAltKeyEnd = 529 Field Value Type Description System.Int32 ShiftAltKeyHome Declaration public const int ShiftAltKeyHome = 534 Field Value Type Description System.Int32 ShiftAltKeyLeft Declaration public const int ShiftAltKeyLeft = 544 Field Value Type Description System.Int32 ShiftAltKeyNPage Declaration public const int ShiftAltKeyNPage = 549 Field Value Type Description System.Int32 ShiftAltKeyPPage Declaration public const int ShiftAltKeyPPage = 554 Field Value Type Description System.Int32 ShiftAltKeyRight Declaration public const int ShiftAltKeyRight = 559 Field Value Type Description System.Int32 ShiftAltKeyUp Declaration public const int ShiftAltKeyUp = 565 Field Value Type Description System.Int32 ShiftCtrlKeyDown Declaration public const int ShiftCtrlKeyDown = 526 Field Value Type Description System.Int32 ShiftCtrlKeyEnd Declaration public const int ShiftCtrlKeyEnd = 531 Field Value Type Description System.Int32 ShiftCtrlKeyHome Declaration public const int ShiftCtrlKeyHome = 536 Field Value Type Description System.Int32 ShiftCtrlKeyLeft Declaration public const int ShiftCtrlKeyLeft = 546 Field Value Type Description System.Int32 ShiftCtrlKeyNPage Declaration public const int ShiftCtrlKeyNPage = 551 Field Value Type Description System.Int32 ShiftCtrlKeyPPage Declaration public const int ShiftCtrlKeyPPage = 556 Field Value Type Description System.Int32 ShiftCtrlKeyRight Declaration public const int ShiftCtrlKeyRight = 561 Field Value Type Description System.Int32 ShiftCtrlKeyUp Declaration public const int ShiftCtrlKeyUp = 567 Field Value Type Description System.Int32 ShiftKeyDown Declaration public const int ShiftKeyDown = 336 Field Value Type Description System.Int32 ShiftKeyEnd Declaration public const int ShiftKeyEnd = 386 Field Value Type Description System.Int32 ShiftKeyHome Declaration public const int ShiftKeyHome = 391 Field Value Type Description System.Int32 ShiftKeyLeft Declaration public const int ShiftKeyLeft = 393 Field Value Type Description System.Int32 ShiftKeyNPage Declaration public const int ShiftKeyNPage = 396 Field Value Type Description System.Int32 ShiftKeyPPage Declaration public const int ShiftKeyPPage = 398 Field Value Type Description System.Int32 ShiftKeyRight Declaration public const int ShiftKeyRight = 402 Field Value Type Description System.Int32 ShiftKeyUp Declaration public const int ShiftKeyUp = 337 Field Value Type Description System.Int32 Properties ColorPairs Declaration public static int ColorPairs { get; } Property Value Type Description System.Int32 Cols Declaration public static int Cols { get; } Property Value Type Description System.Int32 HasColors Declaration public static bool HasColors { get; } Property Value Type Description System.Boolean Lines Declaration public static int Lines { get; } Property Value Type Description System.Int32 Methods addch(Int32) Declaration public static int addch(int ch) Parameters Type Name Description System.Int32 ch Returns Type Description System.Int32 addstr(String, Object[]) Declaration public static int addstr(string format, params object[] args) Parameters Type Name Description System.String format System.Object [] args Returns Type Description System.Int32 addwstr(String) Declaration public static int addwstr(string s) Parameters Type Name Description System.String s Returns Type Description System.Int32 attroff(Int32) Declaration public static int attroff(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 attron(Int32) Declaration public static int attron(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 attrset(Int32) Declaration public static int attrset(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 cbreak() Declaration public static int cbreak() Returns Type Description System.Int32 CheckWinChange() Declaration public static bool CheckWinChange() Returns Type Description System.Boolean clearok(IntPtr, Boolean) Declaration public static int clearok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 COLOR_PAIRS() Declaration public static int COLOR_PAIRS() Returns Type Description System.Int32 ColorPair(Int32) Declaration public static int ColorPair(int n) Parameters Type Name Description System.Int32 n Returns Type Description System.Int32 doupdate() Declaration public static int doupdate() Returns Type Description System.Int32 echo() Declaration public static int echo() Returns Type Description System.Int32 endwin() Declaration public static int endwin() Returns Type Description System.Int32 get_wch(out Int32) Declaration public static int get_wch(out int sequence) Parameters Type Name Description System.Int32 sequence Returns Type Description System.Int32 getch() Declaration public static int getch() Returns Type Description System.Int32 getmouse(out Curses.MouseEvent) Declaration public static uint getmouse(out Curses.MouseEvent ev) Parameters Type Name Description Curses.MouseEvent ev Returns Type Description System.UInt32 halfdelay(Int32) Declaration public static int halfdelay(int t) Parameters Type Name Description System.Int32 t Returns Type Description System.Int32 has_colors() Declaration public static bool has_colors() Returns Type Description System.Boolean idcok(IntPtr, Boolean) Declaration public static void idcok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf idlok(IntPtr, Boolean) Declaration public static int idlok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 immedok(IntPtr, Boolean) Declaration public static void immedok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf init_pair(Int16, Int16, Int16) Declaration public static int init_pair(short pair, short f, short b) Parameters Type Name Description System.Int16 pair System.Int16 f System.Int16 b Returns Type Description System.Int32 InitColorPair(Int16, Int16, Int16) Declaration public static int InitColorPair(short pair, short foreground, short background) Parameters Type Name Description System.Int16 pair System.Int16 foreground System.Int16 background Returns Type Description System.Int32 initscr() Declaration public static Curses.Window initscr() Returns Type Description Curses.Window intrflush(IntPtr, Boolean) Declaration public static int intrflush(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 IsAlt(Int32) Declaration public static int IsAlt(int key) Parameters Type Name Description System.Int32 key Returns Type Description System.Int32 isendwin() Declaration public static bool isendwin() Returns Type Description System.Boolean keypad(IntPtr, Boolean) Declaration public static int keypad(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 leaveok(IntPtr, Boolean) Declaration public static int leaveok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 meta(IntPtr, Boolean) Declaration public static int meta(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 mouseinterval(Int32) Declaration public static int mouseinterval(int interval) Parameters Type Name Description System.Int32 interval Returns Type Description System.Int32 mousemask(Curses.Event, out Curses.Event) Declaration public static Curses.Event mousemask(Curses.Event newmask, out Curses.Event oldmask) Parameters Type Name Description Curses.Event newmask Curses.Event oldmask Returns Type Description Curses.Event move(Int32, Int32) Declaration public static int move(int line, int col) Parameters Type Name Description System.Int32 line System.Int32 col Returns Type Description System.Int32 mvgetch(Int32, Int32) Declaration public static int mvgetch(int y, int x) Parameters Type Name Description System.Int32 y System.Int32 x Returns Type Description System.Int32 nl() Declaration public static int nl() Returns Type Description System.Int32 nocbreak() Declaration public static int nocbreak() Returns Type Description System.Int32 noecho() Declaration public static int noecho() Returns Type Description System.Int32 nonl() Declaration public static int nonl() Returns Type Description System.Int32 noqiflush() Declaration public static void noqiflush() noraw() Declaration public static int noraw() Returns Type Description System.Int32 notimeout(IntPtr, Boolean) Declaration public static int notimeout(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 qiflush() Declaration public static void qiflush() raw() Declaration public static int raw() Returns Type Description System.Int32 redrawwin(IntPtr) Declaration public static int redrawwin(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 refresh() Declaration public static int refresh() Returns Type Description System.Int32 scrollok(IntPtr, Boolean) Declaration public static int scrollok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 setlocale(Int32, String) Declaration public static int setlocale(int cate, string locale) Parameters Type Name Description System.Int32 cate System.String locale Returns Type Description System.Int32 setscrreg(Int32, Int32) Declaration public static int setscrreg(int top, int bot) Parameters Type Name Description System.Int32 top System.Int32 bot Returns Type Description System.Int32 start_color() Declaration public static int start_color() Returns Type Description System.Int32 StartColor() Declaration public static int StartColor() Returns Type Description System.Int32 timeout(Int32) Declaration public static int timeout(int delay) Parameters Type Name Description System.Int32 delay Returns Type Description System.Int32 typeahead(IntPtr) Declaration public static int typeahead(IntPtr fd) Parameters Type Name Description System.IntPtr fd Returns Type Description System.Int32 ungetch(Int32) Declaration public static int ungetch(int ch) Parameters Type Name Description System.Int32 ch Returns Type Description System.Int32 ungetmouse(ref Curses.MouseEvent) Declaration public static uint ungetmouse(ref Curses.MouseEvent ev) Parameters Type Name Description Curses.MouseEvent ev Returns Type Description System.UInt32 use_default_colors() Declaration public static int use_default_colors() Returns Type Description System.Int32 UseDefaultColors() Declaration public static int UseDefaultColors() Returns Type Description System.Int32 waddch(IntPtr, Int32) Declaration public static int waddch(IntPtr win, int ch) Parameters Type Name Description System.IntPtr win System.Int32 ch Returns Type Description System.Int32 wmove(IntPtr, Int32, Int32) Declaration public static int wmove(IntPtr win, int line, int col) Parameters Type Name Description System.IntPtr win System.Int32 line System.Int32 col Returns Type Description System.Int32 wnoutrefresh(IntPtr) Declaration public static int wnoutrefresh(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 wrefresh(IntPtr) Declaration public static int wrefresh(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 wsetscrreg(IntPtr, Int32, Int32) Declaration public static int wsetscrreg(IntPtr win, int top, int bot) Parameters Type Name Description System.IntPtr win System.Int32 top System.Int32 bot Returns Type Description System.Int32 wtimeout(IntPtr, Int32) Declaration public static int wtimeout(IntPtr win, int delay) Parameters Type Name Description System.IntPtr win System.Int32 delay Returns Type Description System.Int32" + "keywords": "Class Curses Inheritance System.Object Curses Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : Unix.Terminal Assembly : Terminal.Gui.dll Syntax public class Curses Fields A_BLINK Declaration public const int A_BLINK = 524288 Field Value Type Description System.Int32 A_BOLD Declaration public const int A_BOLD = 2097152 Field Value Type Description System.Int32 A_DIM Declaration public const int A_DIM = 1048576 Field Value Type Description System.Int32 A_INVIS Declaration public const int A_INVIS = 8388608 Field Value Type Description System.Int32 A_NORMAL Declaration public const int A_NORMAL = 0 Field Value Type Description System.Int32 A_PROTECT Declaration public const int A_PROTECT = 16777216 Field Value Type Description System.Int32 A_REVERSE Declaration public const int A_REVERSE = 262144 Field Value Type Description System.Int32 A_STANDOUT Declaration public const int A_STANDOUT = 65536 Field Value Type Description System.Int32 A_UNDERLINE Declaration public const int A_UNDERLINE = 131072 Field Value Type Description System.Int32 ACS_BLOCK Declaration public const int ACS_BLOCK = 4194352 Field Value Type Description System.Int32 ACS_BOARD Declaration public const int ACS_BOARD = 4194408 Field Value Type Description System.Int32 ACS_BTEE Declaration public const int ACS_BTEE = 4194422 Field Value Type Description System.Int32 ACS_BULLET Declaration public const int ACS_BULLET = 4194430 Field Value Type Description System.Int32 ACS_CKBOARD Declaration public const int ACS_CKBOARD = 4194401 Field Value Type Description System.Int32 ACS_DARROW Declaration public const int ACS_DARROW = 4194350 Field Value Type Description System.Int32 ACS_DEGREE Declaration public const int ACS_DEGREE = 4194406 Field Value Type Description System.Int32 ACS_DIAMOND Declaration public const int ACS_DIAMOND = 4194400 Field Value Type Description System.Int32 ACS_HLINE Declaration public const int ACS_HLINE = 4194417 Field Value Type Description System.Int32 ACS_LANTERN Declaration public const int ACS_LANTERN = 4194409 Field Value Type Description System.Int32 ACS_LARROW Declaration public const int ACS_LARROW = 4194348 Field Value Type Description System.Int32 ACS_LLCORNER Declaration public const int ACS_LLCORNER = 4194413 Field Value Type Description System.Int32 ACS_LRCORNER Declaration public const int ACS_LRCORNER = 4194410 Field Value Type Description System.Int32 ACS_LTEE Declaration public const int ACS_LTEE = 4194420 Field Value Type Description System.Int32 ACS_PLMINUS Declaration public const int ACS_PLMINUS = 4194407 Field Value Type Description System.Int32 ACS_PLUS Declaration public const int ACS_PLUS = 4194414 Field Value Type Description System.Int32 ACS_RARROW Declaration public const int ACS_RARROW = 4194347 Field Value Type Description System.Int32 ACS_RTEE Declaration public const int ACS_RTEE = 4194421 Field Value Type Description System.Int32 ACS_S1 Declaration public const int ACS_S1 = 4194415 Field Value Type Description System.Int32 ACS_S9 Declaration public const int ACS_S9 = 4194419 Field Value Type Description System.Int32 ACS_TTEE Declaration public const int ACS_TTEE = 4194423 Field Value Type Description System.Int32 ACS_UARROW Declaration public const int ACS_UARROW = 4194349 Field Value Type Description System.Int32 ACS_ULCORNER Declaration public const int ACS_ULCORNER = 4194412 Field Value Type Description System.Int32 ACS_URCORNER Declaration public const int ACS_URCORNER = 4194411 Field Value Type Description System.Int32 ACS_VLINE Declaration public const int ACS_VLINE = 4194424 Field Value Type Description System.Int32 AltCtrlKeyEnd Declaration public const int AltCtrlKeyEnd = 532 Field Value Type Description System.Int32 AltCtrlKeyHome Declaration public const int AltCtrlKeyHome = 537 Field Value Type Description System.Int32 AltCtrlKeyNPage Declaration public const int AltCtrlKeyNPage = 552 Field Value Type Description System.Int32 AltCtrlKeyPPage Declaration public const int AltCtrlKeyPPage = 557 Field Value Type Description System.Int32 AltKeyDown Declaration public const int AltKeyDown = 523 Field Value Type Description System.Int32 AltKeyEnd Declaration public const int AltKeyEnd = 528 Field Value Type Description System.Int32 AltKeyHome Declaration public const int AltKeyHome = 533 Field Value Type Description System.Int32 AltKeyLeft Declaration public const int AltKeyLeft = 543 Field Value Type Description System.Int32 AltKeyNPage Declaration public const int AltKeyNPage = 548 Field Value Type Description System.Int32 AltKeyPPage Declaration public const int AltKeyPPage = 553 Field Value Type Description System.Int32 AltKeyRight Declaration public const int AltKeyRight = 558 Field Value Type Description System.Int32 AltKeyUp Declaration public const int AltKeyUp = 564 Field Value Type Description System.Int32 COLOR_BLACK Declaration public const int COLOR_BLACK = 0 Field Value Type Description System.Int32 COLOR_BLUE Declaration public const int COLOR_BLUE = 4 Field Value Type Description System.Int32 COLOR_CYAN Declaration public const int COLOR_CYAN = 6 Field Value Type Description System.Int32 COLOR_GREEN Declaration public const int COLOR_GREEN = 2 Field Value Type Description System.Int32 COLOR_MAGENTA Declaration public const int COLOR_MAGENTA = 5 Field Value Type Description System.Int32 COLOR_RED Declaration public const int COLOR_RED = 1 Field Value Type Description System.Int32 COLOR_WHITE Declaration public const int COLOR_WHITE = 7 Field Value Type Description System.Int32 COLOR_YELLOW Declaration public const int COLOR_YELLOW = 3 Field Value Type Description System.Int32 CtrlKeyDown Declaration public const int CtrlKeyDown = 525 Field Value Type Description System.Int32 CtrlKeyEnd Declaration public const int CtrlKeyEnd = 530 Field Value Type Description System.Int32 CtrlKeyHome Declaration public const int CtrlKeyHome = 535 Field Value Type Description System.Int32 CtrlKeyLeft Declaration public const int CtrlKeyLeft = 545 Field Value Type Description System.Int32 CtrlKeyNPage Declaration public const int CtrlKeyNPage = 550 Field Value Type Description System.Int32 CtrlKeyPPage Declaration public const int CtrlKeyPPage = 555 Field Value Type Description System.Int32 CtrlKeyRight Declaration public const int CtrlKeyRight = 560 Field Value Type Description System.Int32 CtrlKeyUp Declaration public const int CtrlKeyUp = 566 Field Value Type Description System.Int32 DownEnd Declaration public const int DownEnd = 0 Field Value Type Description System.Int32 ERR Declaration public const int ERR = -1 Field Value Type Description System.Int32 Home Declaration public const int Home = 0 Field Value Type Description System.Int32 KEY_CODE_SEQ Declaration public const int KEY_CODE_SEQ = 91 Field Value Type Description System.Int32 KEY_CODE_YES Declaration public const int KEY_CODE_YES = 256 Field Value Type Description System.Int32 KeyAlt Declaration public const int KeyAlt = 8192 Field Value Type Description System.Int32 KeyBackspace Declaration public const int KeyBackspace = 263 Field Value Type Description System.Int32 KeyBackTab Declaration public const int KeyBackTab = 353 Field Value Type Description System.Int32 KeyDeleteChar Declaration public const int KeyDeleteChar = 330 Field Value Type Description System.Int32 KeyDown Declaration public const int KeyDown = 258 Field Value Type Description System.Int32 KeyEnd Declaration public const int KeyEnd = 360 Field Value Type Description System.Int32 KeyF1 Declaration public const int KeyF1 = 265 Field Value Type Description System.Int32 KeyF10 Declaration public const int KeyF10 = 274 Field Value Type Description System.Int32 KeyF11 Declaration public const int KeyF11 = 275 Field Value Type Description System.Int32 KeyF12 Declaration public const int KeyF12 = 276 Field Value Type Description System.Int32 KeyF2 Declaration public const int KeyF2 = 266 Field Value Type Description System.Int32 KeyF3 Declaration public const int KeyF3 = 267 Field Value Type Description System.Int32 KeyF4 Declaration public const int KeyF4 = 268 Field Value Type Description System.Int32 KeyF5 Declaration public const int KeyF5 = 269 Field Value Type Description System.Int32 KeyF6 Declaration public const int KeyF6 = 270 Field Value Type Description System.Int32 KeyF7 Declaration public const int KeyF7 = 271 Field Value Type Description System.Int32 KeyF8 Declaration public const int KeyF8 = 272 Field Value Type Description System.Int32 KeyF9 Declaration public const int KeyF9 = 273 Field Value Type Description System.Int32 KeyHome Declaration public const int KeyHome = 262 Field Value Type Description System.Int32 KeyInsertChar Declaration public const int KeyInsertChar = 331 Field Value Type Description System.Int32 KeyLeft Declaration public const int KeyLeft = 260 Field Value Type Description System.Int32 KeyMouse Declaration public const int KeyMouse = 409 Field Value Type Description System.Int32 KeyNPage Declaration public const int KeyNPage = 338 Field Value Type Description System.Int32 KeyPPage Declaration public const int KeyPPage = 339 Field Value Type Description System.Int32 KeyResize Declaration public const int KeyResize = 410 Field Value Type Description System.Int32 KeyRight Declaration public const int KeyRight = 261 Field Value Type Description System.Int32 KeyTab Declaration public const int KeyTab = 9 Field Value Type Description System.Int32 KeyUp Declaration public const int KeyUp = 259 Field Value Type Description System.Int32 LC_ALL Declaration public const int LC_ALL = 6 Field Value Type Description System.Int32 LeftRightUpNPagePPage Declaration public const int LeftRightUpNPagePPage = 0 Field Value Type Description System.Int32 ShiftAltKeyDown Declaration public const int ShiftAltKeyDown = 524 Field Value Type Description System.Int32 ShiftAltKeyEnd Declaration public const int ShiftAltKeyEnd = 529 Field Value Type Description System.Int32 ShiftAltKeyHome Declaration public const int ShiftAltKeyHome = 534 Field Value Type Description System.Int32 ShiftAltKeyLeft Declaration public const int ShiftAltKeyLeft = 544 Field Value Type Description System.Int32 ShiftAltKeyNPage Declaration public const int ShiftAltKeyNPage = 549 Field Value Type Description System.Int32 ShiftAltKeyPPage Declaration public const int ShiftAltKeyPPage = 554 Field Value Type Description System.Int32 ShiftAltKeyRight Declaration public const int ShiftAltKeyRight = 559 Field Value Type Description System.Int32 ShiftAltKeyUp Declaration public const int ShiftAltKeyUp = 565 Field Value Type Description System.Int32 ShiftCtrlKeyDown Declaration public const int ShiftCtrlKeyDown = 526 Field Value Type Description System.Int32 ShiftCtrlKeyEnd Declaration public const int ShiftCtrlKeyEnd = 531 Field Value Type Description System.Int32 ShiftCtrlKeyHome Declaration public const int ShiftCtrlKeyHome = 536 Field Value Type Description System.Int32 ShiftCtrlKeyLeft Declaration public const int ShiftCtrlKeyLeft = 546 Field Value Type Description System.Int32 ShiftCtrlKeyNPage Declaration public const int ShiftCtrlKeyNPage = 551 Field Value Type Description System.Int32 ShiftCtrlKeyPPage Declaration public const int ShiftCtrlKeyPPage = 556 Field Value Type Description System.Int32 ShiftCtrlKeyRight Declaration public const int ShiftCtrlKeyRight = 561 Field Value Type Description System.Int32 ShiftCtrlKeyUp Declaration public const int ShiftCtrlKeyUp = 567 Field Value Type Description System.Int32 ShiftKeyDown Declaration public const int ShiftKeyDown = 336 Field Value Type Description System.Int32 ShiftKeyEnd Declaration public const int ShiftKeyEnd = 386 Field Value Type Description System.Int32 ShiftKeyHome Declaration public const int ShiftKeyHome = 391 Field Value Type Description System.Int32 ShiftKeyLeft Declaration public const int ShiftKeyLeft = 393 Field Value Type Description System.Int32 ShiftKeyNPage Declaration public const int ShiftKeyNPage = 396 Field Value Type Description System.Int32 ShiftKeyPPage Declaration public const int ShiftKeyPPage = 398 Field Value Type Description System.Int32 ShiftKeyRight Declaration public const int ShiftKeyRight = 402 Field Value Type Description System.Int32 ShiftKeyUp Declaration public const int ShiftKeyUp = 337 Field Value Type Description System.Int32 Properties ColorPairs Declaration public static int ColorPairs { get; } Property Value Type Description System.Int32 Cols Declaration public static int Cols { get; } Property Value Type Description System.Int32 HasColors Declaration public static bool HasColors { get; } Property Value Type Description System.Boolean Lines Declaration public static int Lines { get; } Property Value Type Description System.Int32 Methods addch(Int32) Declaration public static int addch(int ch) Parameters Type Name Description System.Int32 ch Returns Type Description System.Int32 addstr(String, Object[]) Declaration public static int addstr(string format, params object[] args) Parameters Type Name Description System.String format System.Object [] args Returns Type Description System.Int32 addwstr(String) Declaration public static int addwstr(string s) Parameters Type Name Description System.String s Returns Type Description System.Int32 attroff(Int32) Declaration public static int attroff(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 attron(Int32) Declaration public static int attron(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 attrset(Int32) Declaration public static int attrset(int attrs) Parameters Type Name Description System.Int32 attrs Returns Type Description System.Int32 cbreak() Declaration public static int cbreak() Returns Type Description System.Int32 CheckWinChange() Declaration public static bool CheckWinChange() Returns Type Description System.Boolean clearok(IntPtr, Boolean) Declaration public static int clearok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 COLOR_PAIRS() Declaration public static int COLOR_PAIRS() Returns Type Description System.Int32 ColorPair(Int32) Declaration public static int ColorPair(int n) Parameters Type Name Description System.Int32 n Returns Type Description System.Int32 curs_set(Int32) Declaration public static int curs_set(int visibility) Parameters Type Name Description System.Int32 visibility Returns Type Description System.Int32 doupdate() Declaration public static int doupdate() Returns Type Description System.Int32 echo() Declaration public static int echo() Returns Type Description System.Int32 endwin() Declaration public static int endwin() Returns Type Description System.Int32 get_wch(out Int32) Declaration public static int get_wch(out int sequence) Parameters Type Name Description System.Int32 sequence Returns Type Description System.Int32 getch() Declaration public static int getch() Returns Type Description System.Int32 getmouse(out Curses.MouseEvent) Declaration public static uint getmouse(out Curses.MouseEvent ev) Parameters Type Name Description Curses.MouseEvent ev Returns Type Description System.UInt32 halfdelay(Int32) Declaration public static int halfdelay(int t) Parameters Type Name Description System.Int32 t Returns Type Description System.Int32 has_colors() Declaration public static bool has_colors() Returns Type Description System.Boolean idcok(IntPtr, Boolean) Declaration public static void idcok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf idlok(IntPtr, Boolean) Declaration public static int idlok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 immedok(IntPtr, Boolean) Declaration public static void immedok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf init_pair(Int16, Int16, Int16) Declaration public static int init_pair(short pair, short f, short b) Parameters Type Name Description System.Int16 pair System.Int16 f System.Int16 b Returns Type Description System.Int32 InitColorPair(Int16, Int16, Int16) Declaration public static int InitColorPair(short pair, short foreground, short background) Parameters Type Name Description System.Int16 pair System.Int16 foreground System.Int16 background Returns Type Description System.Int32 initscr() Declaration public static Curses.Window initscr() Returns Type Description Curses.Window intrflush(IntPtr, Boolean) Declaration public static int intrflush(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 IsAlt(Int32) Declaration public static int IsAlt(int key) Parameters Type Name Description System.Int32 key Returns Type Description System.Int32 isendwin() Declaration public static bool isendwin() Returns Type Description System.Boolean keypad(IntPtr, Boolean) Declaration public static int keypad(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 leaveok(IntPtr, Boolean) Declaration public static int leaveok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 meta(IntPtr, Boolean) Declaration public static int meta(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 mouseinterval(Int32) Declaration public static int mouseinterval(int interval) Parameters Type Name Description System.Int32 interval Returns Type Description System.Int32 mousemask(Curses.Event, out Curses.Event) Declaration public static Curses.Event mousemask(Curses.Event newmask, out Curses.Event oldmask) Parameters Type Name Description Curses.Event newmask Curses.Event oldmask Returns Type Description Curses.Event move(Int32, Int32) Declaration public static int move(int line, int col) Parameters Type Name Description System.Int32 line System.Int32 col Returns Type Description System.Int32 mvgetch(Int32, Int32) Declaration public static int mvgetch(int y, int x) Parameters Type Name Description System.Int32 y System.Int32 x Returns Type Description System.Int32 nl() Declaration public static int nl() Returns Type Description System.Int32 nocbreak() Declaration public static int nocbreak() Returns Type Description System.Int32 noecho() Declaration public static int noecho() Returns Type Description System.Int32 nonl() Declaration public static int nonl() Returns Type Description System.Int32 noqiflush() Declaration public static void noqiflush() noraw() Declaration public static int noraw() Returns Type Description System.Int32 notimeout(IntPtr, Boolean) Declaration public static int notimeout(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 qiflush() Declaration public static void qiflush() raw() Declaration public static int raw() Returns Type Description System.Int32 redrawwin(IntPtr) Declaration public static int redrawwin(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 refresh() Declaration public static int refresh() Returns Type Description System.Int32 scrollok(IntPtr, Boolean) Declaration public static int scrollok(IntPtr win, bool bf) Parameters Type Name Description System.IntPtr win System.Boolean bf Returns Type Description System.Int32 setlocale(Int32, String) Declaration public static int setlocale(int cate, string locale) Parameters Type Name Description System.Int32 cate System.String locale Returns Type Description System.Int32 setscrreg(Int32, Int32) Declaration public static int setscrreg(int top, int bot) Parameters Type Name Description System.Int32 top System.Int32 bot Returns Type Description System.Int32 start_color() Declaration public static int start_color() Returns Type Description System.Int32 StartColor() Declaration public static int StartColor() Returns Type Description System.Int32 timeout(Int32) Declaration public static int timeout(int delay) Parameters Type Name Description System.Int32 delay Returns Type Description System.Int32 typeahead(IntPtr) Declaration public static int typeahead(IntPtr fd) Parameters Type Name Description System.IntPtr fd Returns Type Description System.Int32 ungetch(Int32) Declaration public static int ungetch(int ch) Parameters Type Name Description System.Int32 ch Returns Type Description System.Int32 ungetmouse(ref Curses.MouseEvent) Declaration public static uint ungetmouse(ref Curses.MouseEvent ev) Parameters Type Name Description Curses.MouseEvent ev Returns Type Description System.UInt32 use_default_colors() Declaration public static int use_default_colors() Returns Type Description System.Int32 UseDefaultColors() Declaration public static int UseDefaultColors() Returns Type Description System.Int32 waddch(IntPtr, Int32) Declaration public static int waddch(IntPtr win, int ch) Parameters Type Name Description System.IntPtr win System.Int32 ch Returns Type Description System.Int32 wmove(IntPtr, Int32, Int32) Declaration public static int wmove(IntPtr win, int line, int col) Parameters Type Name Description System.IntPtr win System.Int32 line System.Int32 col Returns Type Description System.Int32 wnoutrefresh(IntPtr) Declaration public static int wnoutrefresh(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 wrefresh(IntPtr) Declaration public static int wrefresh(IntPtr win) Parameters Type Name Description System.IntPtr win Returns Type Description System.Int32 wsetscrreg(IntPtr, Int32, Int32) Declaration public static int wsetscrreg(IntPtr win, int top, int bot) Parameters Type Name Description System.IntPtr win System.Int32 top System.Int32 bot Returns Type Description System.Int32 wtimeout(IntPtr, Int32) Declaration public static int wtimeout(IntPtr win, int delay) Parameters Type Name Description System.IntPtr win System.Int32 delay Returns Type Description System.Int32" }, "api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html": { "href": "api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html", @@ -387,12 +422,12 @@ "api/UICatalog/UICatalog.DynamicMenuBarDetails.html": { "href": "api/UICatalog/UICatalog.DynamicMenuBarDetails.html", "title": "Class DynamicMenuBarDetails", - "keywords": "Class DynamicMenuBarDetails Inheritance System.Object Responder View FrameView DynamicMenuBarDetails Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FrameView.Title FrameView.Add(View) FrameView.Remove(View) FrameView.RemoveAll() FrameView.Redraw(Rect) FrameView.Text FrameView.TextAlignment View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) Terminal.Gui.View.DrawHotString(ustring, Terminal.Gui.Attribute, Terminal.Gui.Attribute) Terminal.Gui.View.DrawHotString(ustring, System.Boolean, Terminal.Gui.ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme Terminal.Gui.View.AddRune(System.Int32, System.Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class DynamicMenuBarDetails : FrameView, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors DynamicMenuBarDetails(MenuItem, Boolean) Declaration public DynamicMenuBarDetails(MenuItem menuItem = null, bool hasParent = false) Parameters Type Name Description MenuItem menuItem System.Boolean hasParent DynamicMenuBarDetails(ustring) Declaration public DynamicMenuBarDetails(ustring title) Parameters Type Name Description ustring title Fields _ckbIsTopLevel Declaration public CheckBox _ckbIsTopLevel Field Value Type Description CheckBox _ckbSubMenu Declaration public CheckBox _ckbSubMenu Field Value Type Description CheckBox _menuItem Declaration public MenuItem _menuItem Field Value Type Description MenuItem _rbChkStyle Declaration public RadioGroup _rbChkStyle Field Value Type Description RadioGroup _txtAction Declaration public TextView _txtAction Field Value Type Description TextView _txtHelp Declaration public TextField _txtHelp Field Value Type Description TextField _txtShortcut Declaration public TextField _txtShortcut Field Value Type Description TextField _txtTitle Declaration public TextField _txtTitle Field Value Type Description TextField Methods CreateAction(MenuItem, DynamicMenuItem) Declaration public Action CreateAction(MenuItem menuItem, DynamicMenuItem item) Parameters Type Name Description MenuItem menuItem DynamicMenuItem item Returns Type Description System.Action EditMenuBarItem(MenuItem) Declaration public void EditMenuBarItem(MenuItem menuItem) Parameters Type Name Description MenuItem menuItem EnterMenuItem() Declaration public DynamicMenuItem EnterMenuItem() Returns Type Description DynamicMenuItem UpdateParent(ref MenuItem) Declaration public void UpdateParent(ref MenuItem menuItem) Parameters Type Name Description MenuItem menuItem Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class DynamicMenuBarDetails Inheritance System.Object Responder View FrameView DynamicMenuBarDetails Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members FrameView.Title FrameView.Add(View) FrameView.Remove(View) FrameView.RemoveAll() FrameView.Redraw(Rect) FrameView.Text FrameView.TextAlignment FrameView.OnEnter(View) View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.CanFocus View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) Terminal.Gui.View.DrawHotString(ustring, Terminal.Gui.Attribute, Terminal.Gui.Attribute) Terminal.Gui.View.DrawHotString(ustring, System.Boolean, Terminal.Gui.ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme Terminal.Gui.View.AddRune(System.Int32, System.Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessKey(KeyEvent) View.ProcessHotKey(KeyEvent) View.ProcessColdKey(KeyEvent) View.KeyDown View.OnKeyDown(KeyEvent) View.KeyUp View.OnKeyUp(KeyEvent) View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.MouseEvent(MouseEvent) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class DynamicMenuBarDetails : FrameView, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors DynamicMenuBarDetails(MenuItem, Boolean) Declaration public DynamicMenuBarDetails(MenuItem menuItem = null, bool hasParent = false) Parameters Type Name Description MenuItem menuItem System.Boolean hasParent DynamicMenuBarDetails(ustring) Declaration public DynamicMenuBarDetails(ustring title) Parameters Type Name Description ustring title Fields _ckbIsTopLevel Declaration public CheckBox _ckbIsTopLevel Field Value Type Description CheckBox _ckbSubMenu Declaration public CheckBox _ckbSubMenu Field Value Type Description CheckBox _menuItem Declaration public MenuItem _menuItem Field Value Type Description MenuItem _rbChkStyle Declaration public RadioGroup _rbChkStyle Field Value Type Description RadioGroup _txtAction Declaration public TextView _txtAction Field Value Type Description TextView _txtHelp Declaration public TextField _txtHelp Field Value Type Description TextField _txtShortcut Declaration public TextField _txtShortcut Field Value Type Description TextField _txtTitle Declaration public TextField _txtTitle Field Value Type Description TextField Methods CreateAction(MenuItem, DynamicMenuItem) Declaration public Action CreateAction(MenuItem menuItem, DynamicMenuItem item) Parameters Type Name Description MenuItem menuItem DynamicMenuItem item Returns Type Description System.Action EditMenuBarItem(MenuItem) Declaration public void EditMenuBarItem(MenuItem menuItem) Parameters Type Name Description MenuItem menuItem EnterMenuItem() Declaration public DynamicMenuItem EnterMenuItem() Returns Type Description DynamicMenuItem UpdateParent(ref MenuItem) Declaration public void UpdateParent(ref MenuItem menuItem) Parameters Type Name Description MenuItem menuItem Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/UICatalog/UICatalog.DynamicMenuBarSample.html": { "href": "api/UICatalog/UICatalog.DynamicMenuBarSample.html", "title": "Class DynamicMenuBarSample", - "keywords": "Class DynamicMenuBarSample Inheritance System.Object Responder View Toplevel Window DynamicMenuBarSample Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessKey(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.SetNeedsDisplay(Rect) View.ChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) Terminal.Gui.View.DrawHotString(ustring, Terminal.Gui.Attribute, Terminal.Gui.Attribute) Terminal.Gui.View.DrawHotString(ustring, System.Boolean, Terminal.Gui.ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme Terminal.Gui.View.AddRune(System.Int32, System.Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class DynamicMenuBarSample : Window, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors DynamicMenuBarSample(ustring) Declaration public DynamicMenuBarSample(ustring title) Parameters Type Name Description ustring title Properties DataContext Declaration public DynamicMenuItemModel DataContext { get; set; } Property Value Type Description DynamicMenuItemModel Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" + "keywords": "Class DynamicMenuBarSample Inheritance System.Object Responder View Toplevel Window DynamicMenuBarSample Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize Inherited Members Window.Title Window.Add(View) Window.Remove(View) Window.RemoveAll() Window.Redraw(Rect) Window.MouseEvent(MouseEvent) Window.Text Window.TextAlignment Toplevel.Running Toplevel.Loaded Toplevel.Ready Toplevel.Unloaded Toplevel.Create() Toplevel.CanFocus Toplevel.Modal Toplevel.MenuBar Toplevel.StatusBar Toplevel.OnKeyDown(KeyEvent) Toplevel.OnKeyUp(KeyEvent) Toplevel.ProcessKey(KeyEvent) Toplevel.ProcessColdKey(KeyEvent) Toplevel.WillPresent() View.Added View.Removed View.Enter View.Leave View.MouseEnter View.MouseLeave View.MouseClick View.HotKey View.HotKeySpecifier View.Shortcut View.ShortcutTag View.ShortcutAction View.Data View.Driver View.Subviews View.TabIndexes View.TabIndex View.TabStop View.Id View.IsCurrentTop View.WantMousePositionReports View.WantContinuousButtonPressed View.Frame View.LayoutStyle View.Bounds View.X View.Y View.Width View.Height View.SuperView View.SetNeedsDisplay() View.ClearLayoutNeeded() View.SetNeedsDisplay(Rect) View.SetChildNeedsDisplay() View.Add(View[]) View.BringSubviewToFront(View) View.SendSubviewToBack(View) View.SendSubviewBackwards(View) View.BringSubviewForward(View) View.Clear() View.Clear(Rect) View.ScreenToView(Int32, Int32) View.ClipToBounds() View.SetClip(Rect) View.DrawFrame(Rect, Int32, Boolean) Terminal.Gui.View.DrawHotString(ustring, Terminal.Gui.Attribute, Terminal.Gui.Attribute) Terminal.Gui.View.DrawHotString(ustring, System.Boolean, Terminal.Gui.ColorScheme) View.Move(Int32, Int32) View.PositionCursor() View.HasFocus View.OnAdded(View) View.OnRemoved(View) View.OnEnter(View) View.OnLeave(View) View.Focused View.MostFocused View.ColorScheme Terminal.Gui.View.AddRune(System.Int32, System.Int32, Rune) View.ClearNeedsDisplay() View.DrawContent View.OnDrawContent(Rect) View.SetFocus() View.KeyPress View.ProcessHotKey(KeyEvent) View.KeyDown View.KeyUp View.EnsureFocus() View.FocusFirst() View.FocusLast() View.FocusPrev() View.FocusNext() View.LayoutStarted View.LayoutComplete View.Initialized View.LayoutSubviews() View.AutoSize View.IsInitialized View.ToString() View.OnMouseEnter(MouseEvent) View.OnMouseLeave(MouseEvent) View.OnMouseEvent(MouseEvent) View.OnMouseClick(View.MouseEventArgs) View.Dispose(Boolean) View.BeginInit() View.EndInit() View.Visible View.SetWidth(Int32, Int32) View.SetHeight(Int32, Int32) Responder.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class DynamicMenuBarSample : Window, IDisposable, ISupportInitializeNotification, ISupportInitialize Constructors DynamicMenuBarSample(ustring) Declaration public DynamicMenuBarSample(ustring title) Parameters Type Name Description ustring title Properties DataContext Declaration public DynamicMenuItemModel DataContext { get; set; } Property Value Type Description DynamicMenuItemModel Implements System.IDisposable System.ComponentModel.ISupportInitializeNotification System.ComponentModel.ISupportInitialize" }, "api/UICatalog/UICatalog.DynamicMenuItem.html": { "href": "api/UICatalog/UICatalog.DynamicMenuItem.html", @@ -432,7 +467,7 @@ "api/UICatalog/UICatalog.Scenario.html": { "href": "api/UICatalog/UICatalog.Scenario.html", "title": "Class Scenario", - "keywords": "Class Scenario Base class for each demo/scenario. To define a new scenario: Create a new .cs file in the Scenarios directory that derives from Scenario . Annotate the Scenario derived class with a attribute specifying the scenario's name and description. Add one or more Scenario.ScenarioCategory attributes to the class specifying which categories the sceanrio belongs to. If you don't specify a category the sceanrio will show up in \"All\". Implement the Setup() override which will be called when a user selects the scenario to run. Optionally, implement the and/or Run() overrides to provide a custom implementation. The UI Catalog program uses reflection to find all scenarios and adds them to the ListViews. Press ENTER to run the selected scenario. Press CTRL-Q to exit it. / Inheritance System.Object Scenario Implements System.IDisposable Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class Scenario : IDisposable Examples The example below is provided in the Scenarios directory as a generic sample that can be copied and re-named: using Terminal.Gui; namespace UICatalog { [ScenarioMetadata (Name: \"Generic\", Description: \"Generic sample - A template for creating new Scenarios\")] [ScenarioCategory (\"Controls\")] class MyScenario : Scenario { public override void Setup () { // Put your scenario code here, e.g. Win.Add (new Button (\"Press me!\") { X = Pos.Center (), Y = Pos.Center (), Clicked = () => MessageBox.Query (20, 7, \"Hi\", \"Neat?\", \"Yes\", \"No\") }); } } } Properties Top The Top level for the Scenario . This should be set to Top in most cases. Declaration public Toplevel Top { get; set; } Property Value Type Description Toplevel Win The Window for the Scenario . This should be set within the Top in most cases. Declaration public Window Win { get; set; } Property Value Type Description Window Methods Dispose() Declaration public void Dispose() Dispose(Boolean) Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing GetCategories() Helper function to get the list of categories a Scenario belongs to (defined in Scenario.ScenarioCategory ) Declaration public List GetCategories() Returns Type Description System.Collections.Generic.List < System.String > list of category names GetDerivedClasses() Returns an instance of each Scenario defined in the project. https://stackoverflow.com/questions/5411694/get-all-inherited-classes-of-an-abstract-class Declaration public static List GetDerivedClasses() Returns Type Description System.Collections.Generic.List < System.Type > Type Parameters Name Description T GetDescription() Helper to get the Scenario Description (defined in Scenario.ScenarioMetadata ) Declaration public string GetDescription() Returns Type Description System.String GetName() Helper to get the Scenario Name (defined in Scenario.ScenarioMetadata ) Declaration public string GetName() Returns Type Description System.String Init(Toplevel, ColorScheme) Helper that provides the default Window implementation with a frame and label showing the name of the Scenario and logic to exit back to the Scenario picker UI. Override to provide any Toplevel behavior needed. Declaration public virtual void Init(Toplevel top, ColorScheme colorScheme) Parameters Type Name Description Toplevel top The Toplevel created by the UI Catalog host. ColorScheme colorScheme The colorscheme to use. Remarks Thg base implementation calls Init(ConsoleDriver, IMainLoopDriver) , sets Top to the passed in Toplevel , creates a Window for Win and adds it to Top . Overrides that do not call the base. Run() , must call Init(ConsoleDriver, IMainLoopDriver) before creating any views or calling other Terminal.Gui APIs. RequestStop() Stops the scenario. Override to change shutdown behavior for the Scenario . Declaration public virtual void RequestStop() Run() Runs the Scenario . Override to start the Scenario using a Toplevel different than Top . Declaration public virtual void Run() Remarks Overrides that do not call the base. Run() , must call Shutdown() before returning. Setup() Override this to implement the Scenario setup logic (create controls, etc...). Declaration public virtual void Setup() Remarks This is typically the best place to put scenario logic code. ToString() Declaration public override string ToString() Returns Type Description System.String Overrides System.Object.ToString() Implements System.IDisposable" + "keywords": "Class Scenario Base class for each demo/scenario. To define a new scenario: Create a new .cs file in the Scenarios directory that derives from Scenario . Annotate the Scenario derived class with a attribute specifying the scenario's name and description. Add one or more Scenario.ScenarioCategory attributes to the class specifying which categories the sceanrio belongs to. If you don't specify a category the sceanrio will show up in \"All\". Implement the Setup() override which will be called when a user selects the scenario to run. Optionally, implement the and/or Run() overrides to provide a custom implementation. The UI Catalog program uses reflection to find all scenarios and adds them to the ListViews. Press ENTER to run the selected scenario. Press CTRL-Q to exit it. / Inheritance System.Object Scenario CsvEditor TableEditor Implements System.IDisposable Inherited Members System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog Assembly : UICatalog.dll Syntax public class Scenario : IDisposable Examples The example below is provided in the Scenarios directory as a generic sample that can be copied and re-named: using Terminal.Gui; namespace UICatalog { [ScenarioMetadata (Name: \"Generic\", Description: \"Generic sample - A template for creating new Scenarios\")] [ScenarioCategory (\"Controls\")] class MyScenario : Scenario { public override void Setup () { // Put your scenario code here, e.g. Win.Add (new Button (\"Press me!\") { X = Pos.Center (), Y = Pos.Center (), Clicked = () => MessageBox.Query (20, 7, \"Hi\", \"Neat?\", \"Yes\", \"No\") }); } } } Properties Top The Top level for the Scenario . This should be set to Top in most cases. Declaration public Toplevel Top { get; set; } Property Value Type Description Toplevel Win The Window for the Scenario . This should be set within the Top in most cases. Declaration public Window Win { get; set; } Property Value Type Description Window Methods Dispose() Declaration public void Dispose() Dispose(Boolean) Declaration protected virtual void Dispose(bool disposing) Parameters Type Name Description System.Boolean disposing GetCategories() Helper function to get the list of categories a Scenario belongs to (defined in Scenario.ScenarioCategory ) Declaration public List GetCategories() Returns Type Description System.Collections.Generic.List < System.String > list of category names GetDerivedClasses() Returns an instance of each Scenario defined in the project. https://stackoverflow.com/questions/5411694/get-all-inherited-classes-of-an-abstract-class Declaration public static List GetDerivedClasses() Returns Type Description System.Collections.Generic.List < System.Type > Type Parameters Name Description T GetDescription() Helper to get the Scenario Description (defined in Scenario.ScenarioMetadata ) Declaration public string GetDescription() Returns Type Description System.String GetName() Helper to get the Scenario Name (defined in Scenario.ScenarioMetadata ) Declaration public string GetName() Returns Type Description System.String Init(Toplevel, ColorScheme) Helper that provides the default Window implementation with a frame and label showing the name of the Scenario and logic to exit back to the Scenario picker UI. Override to provide any Toplevel behavior needed. Declaration public virtual void Init(Toplevel top, ColorScheme colorScheme) Parameters Type Name Description Toplevel top The Toplevel created by the UI Catalog host. ColorScheme colorScheme The colorscheme to use. Remarks Thg base implementation calls Init(ConsoleDriver, IMainLoopDriver) , sets Top to the passed in Toplevel , creates a Window for Win and adds it to Top . Overrides that do not call the base. Run() , must call Init(ConsoleDriver, IMainLoopDriver) before creating any views or calling other Terminal.Gui APIs. RequestStop() Stops the scenario. Override to change shutdown behavior for the Scenario . Declaration public virtual void RequestStop() Run() Runs the Scenario . Override to start the Scenario using a Toplevel different than Top . Declaration public virtual void Run() Remarks Overrides that do not call the base. Run() , must call Shutdown() before returning. Setup() Override this to implement the Scenario setup logic (create controls, etc...). Declaration public virtual void Setup() Remarks This is typically the best place to put scenario logic code. ToString() Declaration public override string ToString() Returns Type Description System.String Overrides System.Object.ToString() Implements System.IDisposable" }, "api/UICatalog/UICatalog.Scenario.ScenarioCategory.html": { "href": "api/UICatalog/UICatalog.Scenario.ScenarioCategory.html", @@ -444,6 +479,21 @@ "title": "Class Scenario.ScenarioMetadata", "keywords": "Class Scenario.ScenarioMetadata Defines the metadata (Name and Description) for a Scenario Inheritance System.Object System.Attribute Scenario.ScenarioMetadata Inherited Members System.Attribute.Equals(System.Object) System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type) System.Attribute.GetCustomAttribute(System.Reflection.Assembly, System.Type, System.Boolean) System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type) System.Attribute.GetCustomAttribute(System.Reflection.MemberInfo, System.Type, System.Boolean) System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type) System.Attribute.GetCustomAttribute(System.Reflection.Module, System.Type, System.Boolean) System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type) System.Attribute.GetCustomAttribute(System.Reflection.ParameterInfo, System.Type, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.Assembly) System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type) System.Attribute.GetCustomAttributes(System.Reflection.Assembly, System.Type, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo) System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type) System.Attribute.GetCustomAttributes(System.Reflection.MemberInfo, System.Type, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.Module) System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type) System.Attribute.GetCustomAttributes(System.Reflection.Module, System.Type, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo) System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Boolean) System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type) System.Attribute.GetCustomAttributes(System.Reflection.ParameterInfo, System.Type, System.Boolean) System.Attribute.GetHashCode() System.Attribute.IsDefaultAttribute() System.Attribute.IsDefined(System.Reflection.Assembly, System.Type) System.Attribute.IsDefined(System.Reflection.Assembly, System.Type, System.Boolean) System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type) System.Attribute.IsDefined(System.Reflection.MemberInfo, System.Type, System.Boolean) System.Attribute.IsDefined(System.Reflection.Module, System.Type) System.Attribute.IsDefined(System.Reflection.Module, System.Type, System.Boolean) System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type) System.Attribute.IsDefined(System.Reflection.ParameterInfo, System.Type, System.Boolean) System.Attribute.Match(System.Object) System.Attribute.TypeId System.Object.Equals(System.Object, System.Object) System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) System.Object.ToString() Namespace : UICatalog Assembly : UICatalog.dll Syntax [AttributeUsage(AttributeTargets.Class)] public class ScenarioMetadata : Attribute Constructors ScenarioMetadata(String, String) Declaration public ScenarioMetadata(string Name, string Description) Parameters Type Name Description System.String Name System.String Description Properties Description Scenario Description Declaration public string Description { get; set; } Property Value Type Description System.String Name Scenario Name Declaration public string Name { get; set; } Property Value Type Description System.String Methods GetDescription(Type) Static helper function to get the Scenario Description given a Type Declaration public static string GetDescription(Type t) Parameters Type Name Description System.Type t Returns Type Description System.String GetName(Type) Static helper function to get the Scenario Name given a Type Declaration public static string GetName(Type t) Parameters Type Name Description System.Type t Returns Type Description System.String" }, + "api/UICatalog/UICatalog.Scenarios.CsvEditor.html": { + "href": "api/UICatalog/UICatalog.Scenarios.CsvEditor.html", + "title": "Class CsvEditor", + "keywords": "Class CsvEditor Inheritance System.Object Scenario CsvEditor Implements System.IDisposable Inherited Members Scenario.Top Scenario.Win Scenario.Init(Toplevel, ColorScheme) Scenario.GetName() Scenario.GetDescription() Scenario.GetCategories() Scenario.ToString() Scenario.Run() Scenario.RequestStop() Scenario.GetDerivedClasses() Scenario.Dispose(Boolean) Scenario.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog.Scenarios Assembly : UICatalog.dll Syntax [Scenario.ScenarioMetadata(\"Csv Editor\", \"Open and edit simple CSV files\")] [Scenario.ScenarioCategory(\"Controls\")] [Scenario.ScenarioCategory(\"Dialogs\")] [Scenario.ScenarioCategory(\"Text\")] [Scenario.ScenarioCategory(\"Dialogs\")] [Scenario.ScenarioCategory(\"TopLevel\")] public class CsvEditor : Scenario, IDisposable Methods Setup() Declaration public override void Setup() Overrides Scenario.Setup() Implements System.IDisposable" + }, + "api/UICatalog/UICatalog.Scenarios.html": { + "href": "api/UICatalog/UICatalog.Scenarios.html", + "title": "Namespace UICatalog.Scenarios", + "keywords": "Namespace UICatalog.Scenarios Classes CsvEditor TableEditor" + }, + "api/UICatalog/UICatalog.Scenarios.TableEditor.html": { + "href": "api/UICatalog/UICatalog.Scenarios.TableEditor.html", + "title": "Class TableEditor", + "keywords": "Class TableEditor Inheritance System.Object Scenario TableEditor Implements System.IDisposable Inherited Members Scenario.Top Scenario.Win Scenario.Init(Toplevel, ColorScheme) Scenario.GetName() Scenario.GetDescription() Scenario.GetCategories() Scenario.ToString() Scenario.Run() Scenario.RequestStop() Scenario.GetDerivedClasses() Scenario.Dispose(Boolean) Scenario.Dispose() System.Object.Equals(System.Object) System.Object.Equals(System.Object, System.Object) System.Object.GetHashCode() System.Object.GetType() System.Object.MemberwiseClone() System.Object.ReferenceEquals(System.Object, System.Object) Namespace : UICatalog.Scenarios Assembly : UICatalog.dll Syntax [Scenario.ScenarioMetadata(\"TableEditor\", \"A Terminal.Gui DataTable editor via TableView\")] [Scenario.ScenarioCategory(\"Controls\")] [Scenario.ScenarioCategory(\"Dialogs\")] [Scenario.ScenarioCategory(\"Text\")] [Scenario.ScenarioCategory(\"Dialogs\")] [Scenario.ScenarioCategory(\"TopLevel\")] public class TableEditor : Scenario, IDisposable Methods BuildDemoDataTable(Int32, Int32) Generates a new demo System.Data.DataTable with the given number of cols (min 5) and rows Declaration public static DataTable BuildDemoDataTable(int cols, int rows) Parameters Type Name Description System.Int32 cols System.Int32 rows Returns Type Description System.Data.DataTable BuildSimpleDataTable(Int32, Int32) Builds a simple table in which cell values contents are the index of the cell. This helps testing that scrolling etc is working correctly and not skipping out any rows/columns when paging Declaration public static DataTable BuildSimpleDataTable(int cols, int rows) Parameters Type Name Description System.Int32 cols System.Int32 rows Returns Type Description System.Data.DataTable Setup() Declaration public override void Setup() Overrides Scenario.Setup() Implements System.IDisposable" + }, "api/UICatalog/UICatalog.UICatalogApp.html": { "href": "api/UICatalog/UICatalog.UICatalogApp.html", "title": "Class UICatalogApp", @@ -474,6 +524,11 @@ "title": "Terminal.Gui API Overview", "keywords": "Terminal.Gui API Overview Terminal.Gui is a library intended to create console-based applications using C#. The framework has been designed to make it easy to write applications that will work on monochrome terminals, as well as modern color terminals with mouse support. This library works across Windows, Linux and MacOS. This library provides a text-based toolkit as works in a way similar to graphic toolkits. There are many controls that can be used to create your applications and it is event based, meaning that you create the user interface, hook up various events and then let the a processing loop run your application, and your code is invoked via one or more callbacks. The simplest application looks like this: using Terminal.Gui; class Demo { static int Main () { Application.Init (); var n = MessageBox.Query (50, 7, \"Question\", \"Do you like console apps?\", \"Yes\", \"No\"); return n; } } This example shows a prompt and returns an integer value depending on which value was selected by the user (Yes, No, or if they use chose not to make a decision and instead pressed the ESC key). More interesting user interfaces can be created by composing some of the various views that are included. In the following sections, you will see how applications are put together. In the example above, you can see that we have initialized the runtime by calling the Init method in the Application class - this sets up the environment, initializes the color schemes available for your application and clears the screen to start your application. The Application class, additionally creates an instance of the [Toplevel]((../api/Terminal.Gui/Terminal.Gui.Toplevel.html) class that is ready to be consumed, this instance is available in the Application.Top property, and can be used like this: using Terminal.Gui; class Demo { static int Main () { Application.Init (); var label = new Label (\"Hello World\") { X = Pos.Center (), Y = Pos.Center (), Height = 1, }; Application.Top.Add (label); Application.Run (); } } Typically, you will want your application to have more than a label, you might want a menu, and a region for your application to live in, the following code does this: using Terminal.Gui; class Demo { static int Main () { Application.Init (); var menu = new MenuBar (new MenuBarItem [] { new MenuBarItem (\"_File\", new MenuItem [] { new MenuItem (\"_Quit\", \"\", () => { Application.RequestStop (); }) }), }); var win = new Window (\"Hello\") { X = 0, Y = 1, Width = Dim.Fill (), Height = Dim.Fill () - 1 }; // Add both menu and win in a single call Application.Top.Add (menu, win); Application.Run (); } } Views All visible elements on a Terminal.Gui application are implemented as Views . Views are self-contained objects that take care of displaying themselves, can receive keyboard and mouse input and participate in the focus mechanism. Every view can contain an arbitrary number of children views. These are called the Subviews. You can add a view to an existing view, by calling the Add method, for example, to add a couple of buttons to a UI, you can do this: void SetupMyView (View myView) { var label = new Label (\"Username: \") { X = 1, Y = 1, Width = 20, Height = 1 }; myView.Add (label); var username = new TextField (\"\") { X = 1, Y = 2, Width = 30, Height = 1 }; myView.Add (username); } The container of a given view is called the SuperView and it is a property of every View. There are many views that you can use to spice up your application: Buttons , Labels , Text entry , Text view , Radio buttons , Checkboxes , Dialog boxes , Message boxes , Windows , Menus , ListViews , Frames , ProgressBars , Scroll views and Scrollbars . Layout Terminal.Gui supports two different layout systems, absolute and computed \\ (controlled by the LayoutStyle property on the view. The absolute system is used when you want the view to be positioned exactly in one location and want to manually control where the view is. This is done by invoking your View constructor with an argument of type Rect . When you do this, to change the position of the View, you can change the Frame property on the View. The computed layout system offers a few additional capabilities, like automatic centering, expanding of dimensions and a handful of other features. To use this you construct your object without an initial Frame , but set the X , Y , Width and Height properties after the object has been created. Examples: // Dynamically computed var label = new Label (\"Hello\") { X = 1, Y = Pos.Center (), Width = Dim.Fill (), Height = 1 }; // Absolute position using the provided rectangle var label2 = new Label (new Rect (1, 2, 20, 1), \"World\") The computed layout system does not take integers, instead the X and Y properties are of type Pos and the Width and Height properties are of type Dim both which can be created implicitly from integer values. The Pos Type The Pos type on X and Y offers a few options: Absolute position, by passing an integer Percentage of the parent's view size - Pos.Percent(n) Anchored from the end of the dimension - AnchorEnd(int margin=0) Centered, using Center() Reference the Left (X), Top (Y), Bottom, Right positions of another view The Pos values can be added or subtracted, like this: // Set the X coordinate to 10 characters left from the center view.X = Pos.Center () - 10; view.Y = Pos.Percent (20); anotherView.X = AnchorEnd (10); anotherView.Width = 9; myView.X = Pos.X (view); myView.Y = Pos.Bottom (anotherView); The Dim Type The Dim type is used for the Width and Height properties on the View and offers the following options: Absolute size, by passing an integer Percentage of the parent's view size - Dim.Percent(n) Fill to the end - Dim.Fill () Reference the Width or Height of another view Like, Pos , objects of type Dim can be added an subtracted, like this: // Set the Width to be 10 characters less than filling // the remaining portion of the screen view.Width = Dim.Fill () - 10; view.Height = Dim.Percent(20) - 1; anotherView.Height = Dim.Height (view)+1 TopLevels, Windows and Dialogs. Among the many kinds of views, you typically will create a Toplevel view (or any of its subclasses, like Window or Dialog which is special kind of views that can be executed modally - that is, the view can take over all input and returns only when the user chooses to complete their work there. The following sections cover the differences. TopLevel Views Toplevel views have no visible user interface elements and occupy an arbitrary portion of the screen. You would use a toplevel Modal view for example to launch an entire new experience in your application, one where you would have a new top-level menu for example. You typically would add a Menu and a Window to your Toplevel, it would look like this: using Terminal.Gui; class Demo { static void Edit (string filename) { var top = new Toplevel () { X = 0, Y = 0, Width = Dim.Fill (), Height = Dim.Fill () }; var menu = new MenuBar (new MenuBarItem [] { new MenuBarItem (\"_File\", new MenuItem [] { new MenuItem (\"_Close\", \"\", () => { Application.RequestStop (); }) }), }); // nest a window for the editor var win = new Window (filename) { X = 0, Y = 1, Width = Dim.Fill (), Height = Dim.Fill () - 1 }; var editor = new TextView () { X = 0, Y = 0, Width = Dim.Fill (), Height = Dim.Fill () }; editor.Text = System.IO.File.ReadAllText (filename); win.Add (editor); // Add both menu and win in a single call top.Add (win, menu); Application.Run (top); } } Window Views Window views extend the Toplevel view by providing a frame and a title around the toplevel - and can be moved on the screen with the mouse (caveat: code is currently disabled) From a user interface perspective, you might have more than one Window on the screen at a given time. Dialogs Dialog are Window objects that happen to be centered in the middle of the screen. Dialogs are instances of a Window that are centered in the screen, and are intended to be used modally - that is, they run, and they are expected to return a result before resuming execution of your application. Dialogs are a subclass of Window and additionally expose the AddButton API which manages the layout of any button passed to it, ensuring that the buttons are at the bottom of the dialog. Example: bool okpressed = false; var ok = new Button(\"Ok\"); var cancel = new Button(\"Cancel\"); var dialog = new Dialog (\"Quit\", 60, 7, ok, cancel); Which will show something like this: +- Quit -----------------------------------------------+ | | | | | [ Ok ] [ Cancel ] | +------------------------------------------------------+ Running Modally To run your Dialog, Window or Toplevel modally, you will invoke the Application.Run method on the toplevel. It is up to your code and event handlers to invoke the Application.RequestStop() method to terminate the modal execution. bool okpressed = false; var ok = new Button(3, 14, \"Ok\") { Clicked = () => { Application.RequestStop (); okpressed = true; } }; var cancel = new Button(10, 14, \"Cancel\") { Clicked = () => Application.RequestStop () }; var dialog = new Dialog (\"Login\", 60, 18, ok, cancel); var entry = new TextField () { X = 1, Y = 1, Width = Dim.Fill (), Height = 1 }; dialog.Add (entry); Application.Run (dialog); if (okpressed) Console.WriteLine (\"The user entered: \" + entry.Text); There is no return value from running modally, so your code will need to have a mechanism of indicating the reason that the execution of the modal dialog was completed, in the case above, the okpressed value is set to true if the user pressed or selected the Ok button. Input Handling Every view has a focused view, and if that view has nested views, one of those is the focused view. This is called the focus chain, and at any given time, only one View has the focus. The library binds the key Tab to focus the next logical view, and the Shift-Tab combination to focus the previous logical view. Keyboard processing is divided in three stages: HotKey processing, regular processing and cold key processing. Hot key processing happens first, and it gives all the views in the current toplevel a chance to monitor whether the key needs to be treated specially. This for example handles the scenarios where the user pressed Alt-o, and a view with a highlighted \"o\" is being displayed. If no view processed the hotkey, then the key is sent to the currently focused view. If the key was not processed by the normal processing, all views are given a chance to process the keystroke in their cold processing stage. Examples include the processing of the \"return\" key in a dialog when a button in the dialog has been flagged as the \"default\" action. The most common case is the normal processing, which sends the keystrokes to the currently focused view. Mouse events are processed in visual order, and the event will be sent to the view on the screen. The only exception is that no mouse events are delivered to background views when a modal view is running. More details are available on the Keyboard Event Processing document. Colors and Color Schemes All views have been configured with a color scheme that will work both in color terminals as well as the more limited black and white terminals. The various styles are captured in the Colors class which defined color schemes for the normal views, the menu bar, popup dialog boxes and error dialog boxes, that you can use like this: Colors.Base Colors.Menu Colors.Dialog Colors.Error You can use them for example like this to set the colors for a new Window: var w = new Window (\"Hello\"); w.ColorScheme = Colors.Error The ColorScheme represents four values, the color used for Normal text, the color used for normal text when a view is focused an the colors for the hot-keys both in focused and unfocused modes. By using ColorSchemes you ensure that your application will work correctbly both in color and black and white terminals. Some views support setting individual color attributes, you create an attribute for a particular pair of Foreground/Background like this: var myColor = Application.Driver.MakeAttribute (Color.Blue, Color.Red); var label = new Label (...); label.TextColor = myColor MainLoop, Threads and Input Handling Detailed description of the mainlop is described on the Event Processing and the Application Main Loop document." }, + "articles/tableview.html": { + "href": "articles/tableview.html", + "title": "Table View", + "keywords": "Table View This control supports viewing and editing tabular data. It provides a view of a System.DataTable . System.DataTable is a core class of .net standard and can be created very easily Csv Example You can create a DataTable from a CSV file by creating a new instance and adding columns and rows as you read them. For a robust solution however you might want to look into a CSV parser library that deals with escaping, multi line rows etc. var dt = new DataTable(); var lines = File.ReadAllLines(filename); foreach(var h in lines[0].Split(',')){ dt.Columns.Add(h); } foreach(var line in lines.Skip(1)) { dt.Rows.Add(line.Split(',')); } Database Example All Ado.net database providers (Oracle, MySql, SqlServer etc) support reading data as DataTables for example: var dt = new DataTable(); using(var con = new SqlConnection(\"Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;\")) { con.Open(); var cmd = new SqlCommand(\"select * from myTable;\",con); var adapter = new SqlDataAdapter(cmd); adapter.Fill(dt); } Displaying the table Once you have set up your data table set it in the view: tableView = new TableView () { X = 0, Y = 0, Width = 50, Height = 10, }; tableView.Table = yourDataTable;" + }, "articles/views.html": { "href": "articles/views.html", "title": "Views", @@ -482,7 +537,7 @@ "index.html": { "href": "index.html", "title": "Terminal.Gui - Terminal UI toolkit for .NET", - "keywords": "Terminal.Gui - Terminal UI toolkit for .NET A simple UI toolkit for .NET, .NET Core, and Mono that works on Windows, the Mac, and Linux/Unix. The most recent released Nuget package is version 0.90 which is the \"Stable Feature Complete\" pre-release of 1.0. Terminal.Gui Project on GitHub Terminal.Gui API Documentation API Reference Terminal.Gui API Overview Keyboard Event Processing Event Processing and the Application Main Loop UI Catalog UI Catalog is a comprehensive sample library for Terminal.Gui. It provides a simple UI for adding to the catalog of scenarios. UI Catalog API Reference UI Catalog Source" + "keywords": "Terminal.Gui - Terminal UI toolkit for .NET A simple UI toolkit for .NET, .NET Core, and Mono that works on Windows, the Mac, and Linux/Unix. Terminal.Gui Project on GitHub Terminal.Gui API Documentation API Reference Terminal.Gui API Overview Keyboard Event Processing Event Processing and the Application Main Loop UI Catalog UI Catalog is a comprehensive sample library for Terminal.Gui. It provides a simple UI for adding to the catalog of scenarios. UI Catalog API Reference UI Catalog Source" }, "README.html": { "href": "README.html", diff --git a/docs/manifest.json b/docs/manifest.json index 5e3404528..4ec6e73c2 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -18,7 +18,7 @@ "output": { ".html": { "relative_path": "README.html", - "hash": "kN4VpPj0jYn/r2vGth0zpA==" + "hash": "Lt+Njythi5pKdc+I9LLYzg==" } }, "is_incremental": false, @@ -30,7 +30,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Application.ResizedEventArgs.html", - "hash": "xZROP63p916/SchNnEH7rg==" + "hash": "s38VTl4uoPJ93bSStSWJxg==" } }, "is_incremental": false, @@ -42,7 +42,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Application.RunState.html", - "hash": "b5AeapsC+PLoAmPXUVb+xg==" + "hash": "MJ+f6BY/qSlltPlvzd75kA==" } }, "is_incremental": false, @@ -54,7 +54,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Application.html", - "hash": "adLHrrWcfONSreHrmFyZUA==" + "hash": "F50PozRx4VuDeKYkL96Jlg==" } }, "is_incremental": false, @@ -66,7 +66,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Attribute.html", - "hash": "Nh0wIrFuwN7DKj7sBZQ2Rw==" + "hash": "5BUbB7KHznK4Q84WboKo+Q==" } }, "is_incremental": false, @@ -78,7 +78,19 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Button.html", - "hash": "utT05epj2Hi+qxjeaX0WOQ==" + "hash": "jTOwUw8HqRpcAtR21bf5sA==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html", + "hash": "zztPAM41CxTPH9C/sjUbiQ==" } }, "is_incremental": false, @@ -90,7 +102,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.CheckBox.html", - "hash": "3RnSxXNyQj6UBe9LL+6xJw==" + "hash": "wUgl9q6XLTZQT8VnSR+yNw==" } }, "is_incremental": false, @@ -102,7 +114,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Clipboard.html", - "hash": "pNGilcFrpk/mmEG/MHNu8A==" + "hash": "3mGjiKrYCX7GWXe2278h4Q==" } }, "is_incremental": false, @@ -114,7 +126,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Color.html", - "hash": "p6EtSWgtfmdbw8EWHMKZoQ==" + "hash": "EfHen5RHFxscLDkvDpuFdg==" } }, "is_incremental": false, @@ -126,7 +138,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ColorScheme.html", - "hash": "13cJhuSBvmghEeeIBXhauA==" + "hash": "OIhTUel/9lncdfrLlpDtaw==" } }, "is_incremental": false, @@ -138,7 +150,19 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Colors.html", - "hash": "sKwRp9bvNFc2+VQC3MQurg==" + "hash": "SjAZDwSOoILZQS5sUrhN/w==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.ColumnStyle.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.ColumnStyle.html", + "hash": "ngJsAeu9H4PUnCectnvwXw==" } }, "is_incremental": false, @@ -150,7 +174,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ComboBox.html", - "hash": "IucJCcWKRIrerv41SqU7Gw==" + "hash": "uRK+RS43CQ62bMS/nBwdGw==" } }, "is_incremental": false, @@ -162,7 +186,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.DiagnosticFlags.html", - "hash": "Ew5IjQpYyq4juCYIiYw1Yw==" + "hash": "E5s23SpjilJbI//W5+AEzg==" } }, "is_incremental": false, @@ -174,7 +198,19 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html", - "hash": "C0dZ54NpyyjH5BDlfx8rsw==" + "hash": "4lLVHtn73S8jZlfFOFbLKQ==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.CursorVisibility.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.CursorVisibility.html", + "hash": "QPhQ+PIyT9KxDK5dlLbfIA==" } }, "is_incremental": false, @@ -186,7 +222,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.DateField.html", - "hash": "6c6h6x3f1ItWKNrmfgSIAg==" + "hash": "KA/hTefQNPlZGoXNtjyJlw==" } }, "is_incremental": false, @@ -198,7 +234,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.DateTimeEventArgs-1.html", - "hash": "EUC++yYECgWY8JOWCZc6QA==" + "hash": "naPgSrDvRsfDVvdyQj5aYg==" } }, "is_incremental": false, @@ -210,7 +246,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Dialog.html", - "hash": "+j593zVXQ8IC9pxzKBZ5Uw==" + "hash": "L7N8QldQ54Er1KIimuIC+Q==" } }, "is_incremental": false, @@ -222,7 +258,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Dim.html", - "hash": "DNxVtYBOGYhyaQ7wdvcfvQ==" + "hash": "EszzmUYjMRFd0V9rcxKSNA==" } }, "is_incremental": false, @@ -234,7 +270,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.DisplayModeLayout.html", - "hash": "pvBwJeMB2ewt2z9jqptcfQ==" + "hash": "i72Gt+PTxY9f2yQBj2MBIw==" } }, "is_incremental": false, @@ -246,7 +282,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.FakeConsole.html", - "hash": "cHVQ+n0n2RVtyjascIeskw==" + "hash": "I6MULR3r0tJ/smNoJeUkCg==" } }, "is_incremental": false, @@ -258,7 +294,19 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.FakeDriver.html", - "hash": "CVF+3OPeZggk1MiPueExEQ==" + "hash": "h10hPSiA1j0yg6Mw7zp+iA==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.FakeMainLoop.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html", + "hash": "o3mhlY9wp546KU2Rujho6w==" } }, "is_incremental": false, @@ -270,7 +318,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.FileDialog.html", - "hash": "Xz46dSeNJwJynF1vRwbKfA==" + "hash": "P45WzMRGI1shxXXWms1m/g==" } }, "is_incremental": false, @@ -282,7 +330,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.FrameView.html", - "hash": "8nKMxYO5f40EknIOdGacqA==" + "hash": "PuU/nToIeVK/zVp597/0ng==" } }, "is_incremental": false, @@ -294,7 +342,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.HexView.html", - "hash": "uESpSvrwm3Rulj4vE6k+kQ==" + "hash": "HlU+2CvN560QiW0HBBhApw==" } }, "is_incremental": false, @@ -306,7 +354,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.IListDataSource.html", - "hash": "bC6DmmAHro+1zW71m22IMA==" + "hash": "3eA3a/Ye9Z3EGMPXMTTiyA==" } }, "is_incremental": false, @@ -318,7 +366,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.IMainLoopDriver.html", - "hash": "F6YyCgUO0HhDuglfWKtv3g==" + "hash": "dqwqhbv5/Giw+06Zondc5A==" } }, "is_incremental": false, @@ -330,7 +378,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Key.html", - "hash": "iDEzBe7S3PdymFiUgdS/fg==" + "hash": "qD03T/uUHOtqt5Pqq58PbA==" } }, "is_incremental": false, @@ -342,7 +390,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.KeyEvent.html", - "hash": "4tmo6+zOeQrVyrZalNFhuw==" + "hash": "vr3PjKisuPykP587LkmsrA==" } }, "is_incremental": false, @@ -354,7 +402,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.KeyModifiers.html", - "hash": "RrvVfQZvmTqFkeTQ8MPCFg==" + "hash": "xoMsqUwyAS9c4lbyUbrmZw==" } }, "is_incremental": false, @@ -366,7 +414,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Label.html", - "hash": "KCMzohT34u0ZaHNKCTki2Q==" + "hash": "7nRskEgPoIB5UBCZKy/OQg==" } }, "is_incremental": false, @@ -378,7 +426,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.LayoutStyle.html", - "hash": "YejJ5rGIEWQSuJIMITjodQ==" + "hash": "fZPZWbFFmVTREQchS2SEnA==" } }, "is_incremental": false, @@ -390,7 +438,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ListView.html", - "hash": "kqmIUV0LA7xbIHBnnBkSSQ==" + "hash": "prfkOLOPGM0MtvnBmcTHfw==" } }, "is_incremental": false, @@ -402,7 +450,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ListViewItemEventArgs.html", - "hash": "CMQD8kuRr5UNbQNto94kmg==" + "hash": "ZVJGyZuaGfeNail6koaCTg==" } }, "is_incremental": false, @@ -414,7 +462,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ListWrapper.html", - "hash": "cB8iBEUZxhzxBFFqnUvP5w==" + "hash": "GhDKdrgdp8n9qsn0BMffcA==" } }, "is_incremental": false, @@ -426,7 +474,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MainLoop.html", - "hash": "Xzafpi1MkzOHWmiTNMtSXQ==" + "hash": "L7rzABrFSR6w0+Vxybkj0Q==" } }, "is_incremental": false, @@ -438,7 +486,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MenuBar.html", - "hash": "WliS5ePQFgPX3kZ264UoXA==" + "hash": "AK4r9zOXE+Q7s+0Vdog0AQ==" } }, "is_incremental": false, @@ -450,7 +498,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MenuBarItem.html", - "hash": "nt2VHHxtwua0WwTXFp961Q==" + "hash": "tLhwQwZOZdbO89j0HMdwDQ==" } }, "is_incremental": false, @@ -462,7 +510,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MenuItem.html", - "hash": "sew43DZJxOYVDb+vIgweDg==" + "hash": "68Ly8CwgKjlt5D7SSn4FfA==" } }, "is_incremental": false, @@ -474,7 +522,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MenuItemCheckStyle.html", - "hash": "Hgr/filixsvIL9PqIHfHIw==" + "hash": "Tw0NCN/M4ixwfAP0B6PoZg==" } }, "is_incremental": false, @@ -486,7 +534,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MessageBox.html", - "hash": "ur7b7BtplTLDIMDYl4cxsA==" + "hash": "spEAT3p7Qo/UcsPlX4KTTg==" } }, "is_incremental": false, @@ -498,7 +546,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MouseEvent.html", - "hash": "RDk/scxrk5d+gawBxNCyWQ==" + "hash": "6H7DBfiDlkl7oQ7qDCea6g==" } }, "is_incremental": false, @@ -510,19 +558,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.MouseFlags.html", - "hash": "3974x3u7m616HhWDOaIGvw==" - } - }, - "is_incremental": false, - "version": "" - }, - { - "type": "ManagedReference", - "source_relative_path": "api/Terminal.Gui/Terminal.Gui.NetMainLoop.yml", - "output": { - ".html": { - "relative_path": "api/Terminal.Gui/Terminal.Gui.NetMainLoop.html", - "hash": "KLxBcYJYZILRSB8/jFhcMg==" + "hash": "6hlpVdskhta63JnszZQNPw==" } }, "is_incremental": false, @@ -534,7 +570,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.OpenDialog.html", - "hash": "IRwx12E6EvLMg1F5O4oABQ==" + "hash": "gsbL1rnZ3ybLl/2s2PNdyg==" } }, "is_incremental": false, @@ -546,7 +582,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Point.html", - "hash": "gBjabJiGcRvkwQRakIHGsQ==" + "hash": "NKcaFLuAYGr6ueotnhpY5w==" } }, "is_incremental": false, @@ -558,7 +594,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Pos.html", - "hash": "JpnkXMWwU/xTapANW/NwQQ==" + "hash": "QJEgdHsy+LX78zC/NkPfpg==" } }, "is_incremental": false, @@ -570,7 +606,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ProgressBar.html", - "hash": "PIuKK5C+qVLaCFPwmWxJXg==" + "hash": "Per+M7EzHmhXINMN3ygMFw==" } }, "is_incremental": false, @@ -582,7 +618,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.RadioGroup.SelectedItemChangedArgs.html", - "hash": "7TiJdvH2pHMxvXhsSlNeaQ==" + "hash": "zxOUdjMLBH+AdGvvQz6dkw==" } }, "is_incremental": false, @@ -594,7 +630,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.RadioGroup.html", - "hash": "V3o7GnXT4/xviAcRD/tzkA==" + "hash": "IjBW2vh4uiinfXPO0y2ktA==" } }, "is_incremental": false, @@ -606,7 +642,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Rect.html", - "hash": "C0Inn7Iyvhe94POBruuzyQ==" + "hash": "iZcMdDsv1ZoiURxcziGgUA==" } }, "is_incremental": false, @@ -618,7 +654,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Responder.html", - "hash": "Jpbrys0MlWf0vMohaz4z5Q==" + "hash": "cmey/PPixlKy7gQvG7o7ew==" } }, "is_incremental": false, @@ -630,7 +666,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.SaveDialog.html", - "hash": "4yggSUHTvg9LQVDHLpgMLQ==" + "hash": "ppX0QjoQ7175sfkMQ2H+Bw==" } }, "is_incremental": false, @@ -642,7 +678,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ScrollBarView.html", - "hash": "TFXQqoTP1ud2vataabjx+w==" + "hash": "neXyHZ19CVrC3G/HVPf5kg==" } }, "is_incremental": false, @@ -654,7 +690,19 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ScrollView.html", - "hash": "h5QWbTxIO0sBhmly3SXuYw==" + "hash": "yVCVVnuPtnYNlQcuZi6q6Q==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html", + "hash": "aF+TFAgmHFEEa1MmMhYXag==" } }, "is_incremental": false, @@ -666,7 +714,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html", - "hash": "W8radBuvVaiAVH74YKIUWQ==" + "hash": "Xql6IP+DDXSDRWMN+Y96vg==" } }, "is_incremental": false, @@ -678,7 +726,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Size.html", - "hash": "LukAok9fMq3OKFGwLvww+Q==" + "hash": "/ZSJ5NJNfT2EwGq3mZEkoQ==" } }, "is_incremental": false, @@ -690,7 +738,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.StatusBar.html", - "hash": "lWJ5lKCLyk51yOvIP/ALdg==" + "hash": "A1x1FDTHu4uOVkuJzRcEtA==" } }, "is_incremental": false, @@ -702,7 +750,43 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.StatusItem.html", - "hash": "5oEhp2NcZBlVu/4uIcrlIw==" + "hash": "A5dOyJL2MjueilBhNv509w==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.TableSelection.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.TableSelection.html", + "hash": "X9yZgNQWAT9wERljKUHqhA==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.TableStyle.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.TableStyle.html", + "hash": "PYIINCw+SJsxqNIJX5A80g==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/Terminal.Gui/Terminal.Gui.TableView.yml", + "output": { + ".html": { + "relative_path": "api/Terminal.Gui/Terminal.Gui.TableView.html", + "hash": "YPP3D/5D5lwt+P92QVB2bQ==" } }, "is_incremental": false, @@ -714,7 +798,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TextAlignment.html", - "hash": "7Px6Fvbpxc9aTOb3RbEbbw==" + "hash": "E9caBDEpeDEbbjcYLlE3zA==" } }, "is_incremental": false, @@ -726,7 +810,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TextChangingEventArgs.html", - "hash": "KqX/YMBpTSrExxNnRNyvxg==" + "hash": "6fH2S6v7GStlTUnRKWbuGw==" } }, "is_incremental": false, @@ -738,7 +822,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TextField.html", - "hash": "LYYE37F/9CUMCWGDyOmdVg==" + "hash": "64PB3QuK4jIw7+D5CFUpfw==" } }, "is_incremental": false, @@ -750,7 +834,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TextFormatter.html", - "hash": "1kfDR820gyNVp7L/hLLcSg==" + "hash": "ou9XPjo4sHVFcLzOocZcBg==" } }, "is_incremental": false, @@ -762,7 +846,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TextView.html", - "hash": "26I0W6ZThd8Cn1NFmkMe7w==" + "hash": "Ri4wmLbVFgmDUH62lBrVXg==" } }, "is_incremental": false, @@ -774,7 +858,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.TimeField.html", - "hash": "i0Vwrcum16UBFwR3wABnEw==" + "hash": "CkWjGGYwl8NGheLTwNXqag==" } }, "is_incremental": false, @@ -786,7 +870,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Toplevel.html", - "hash": "UJCruEVW+HWJbHzrjH+Crg==" + "hash": "J+QySZecHTgLBOMxpZD2vw==" } }, "is_incremental": false, @@ -798,7 +882,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.View.FocusEventArgs.html", - "hash": "QDP9HQT9QxbX2fEEc+BnFg==" + "hash": "1SXEUoychl7xvN/QRGdXCg==" } }, "is_incremental": false, @@ -810,7 +894,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.View.KeyEventEventArgs.html", - "hash": "be+bHXJ4CpL27i7PODKEjg==" + "hash": "RsxXZ5DUI68UnYsJvpEn9A==" } }, "is_incremental": false, @@ -822,7 +906,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.View.LayoutEventArgs.html", - "hash": "7BCMD8kD7G3KwaCzIr6P2A==" + "hash": "o6YITlH0YH8pf+WG+xjIvA==" } }, "is_incremental": false, @@ -834,7 +918,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.View.MouseEventArgs.html", - "hash": "DpaaRYD1VCgvz8e3kMataA==" + "hash": "61qMm3ftW2VbPEOWzmEqqg==" } }, "is_incremental": false, @@ -846,7 +930,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.View.html", - "hash": "aK8/6Cv3AXSqiePJV3kEuw==" + "hash": "jXHpO4gK7kYCg1Uk2KDEXw==" } }, "is_incremental": false, @@ -858,7 +942,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.Window.html", - "hash": "WrriqfUgUxKmjwm9z+blrg==" + "hash": "F1M1Xg+AaqlsYgr926d7bQ==" } }, "is_incremental": false, @@ -870,7 +954,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Terminal.Gui.html", - "hash": "c5JOg0CHamuR5EDpkt46sQ==" + "hash": "bGqWUSeFbIdE4NIL6IWeVg==" } }, "is_incremental": false, @@ -882,7 +966,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Unix.Terminal.Curses.Event.html", - "hash": "M/hQtS13QnIKLZRbiJywYA==" + "hash": "es46UeCvkee1TT5ya1CYXA==" } }, "is_incremental": false, @@ -894,7 +978,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Unix.Terminal.Curses.MouseEvent.html", - "hash": "EyVkFYlHCAO82wv1R+x0sA==" + "hash": "YXyLTVPIlyhuQ9060PVFPQ==" } }, "is_incremental": false, @@ -906,7 +990,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Unix.Terminal.Curses.Window.html", - "hash": "LRl0mm82g3z7NN0YG8Qeig==" + "hash": "o7ewmVMiLzGvWWbUnSzwhQ==" } }, "is_incremental": false, @@ -918,7 +1002,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Unix.Terminal.Curses.html", - "hash": "4QDsFVabOA0Q3p5i2tPm2A==" + "hash": "JPGZSEb5t3maJ6x23QboAw==" } }, "is_incremental": false, @@ -930,7 +1014,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/Unix.Terminal.html", - "hash": "PuygtA88cj6TcvB7Y+03Tg==" + "hash": "qPzoGR0wREo5NzlKsOHaDQ==" } }, "is_incremental": false, @@ -942,7 +1026,7 @@ "output": { ".html": { "relative_path": "api/Terminal.Gui/toc.html", - "hash": "8rqMXtiXXJzLCJ5mqHASkQ==" + "hash": "gd6js05cT2YVSfi0WIj+Pg==" } }, "is_incremental": false, @@ -954,7 +1038,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.Binding.html", - "hash": "hRZnEdkrZaSyuSBpZofU2g==" + "hash": "Mime+uO70A+C+O6nGU2Ygg==" } }, "is_incremental": false, @@ -966,7 +1050,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.DynamicMenuBarDetails.html", - "hash": "pLj3dZLaJzF/UtKWzNGzyA==" + "hash": "B6jZ1ehvmRX+m4mJKura4g==" } }, "is_incremental": false, @@ -978,7 +1062,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.DynamicMenuBarSample.html", - "hash": "qtKSZZH2hJLBNcr2H1rPGA==" + "hash": "eB3HNl42NXpQOv4SNHO4iw==" } }, "is_incremental": false, @@ -990,7 +1074,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.DynamicMenuItem.html", - "hash": "I8EZesyrEOy2Mze78OogOA==" + "hash": "t+Ew6YBiiTxpHAQe+U+2pQ==" } }, "is_incremental": false, @@ -1002,7 +1086,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.DynamicMenuItemList.html", - "hash": "YlvazHxTTf2cvM+OxBYZzg==" + "hash": "gAEliLsblKjmeGxip1wIsg==" } }, "is_incremental": false, @@ -1014,7 +1098,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.DynamicMenuItemModel.html", - "hash": "zO9eknSK3VoThnRJz/jEVw==" + "hash": "JlKAwXFdSUZZWddXWZP/wQ==" } }, "is_incremental": false, @@ -1026,7 +1110,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.IValueConverter.html", - "hash": "yfJTmlIPoI4ZBsGOP0NJ+A==" + "hash": "NruE7+KoMRoGDHjm/wLuFg==" } }, "is_incremental": false, @@ -1038,7 +1122,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.ListWrapperConverter.html", - "hash": "9RywfEKpSeKUcVQxF+Z3fQ==" + "hash": "T9G+gL6jrH1TLpBq0bkf/A==" } }, "is_incremental": false, @@ -1050,7 +1134,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.NumberToWords.html", - "hash": "jgywMJSStUSHynPG8s0QDA==" + "hash": "NInkjF+5AbNWmeW77B3J0w==" } }, "is_incremental": false, @@ -1062,7 +1146,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.Scenario.ScenarioCategory.html", - "hash": "zKkWSPZIhBeS7559bNJMoQ==" + "hash": "bh2Ph9zw0Fxi812Q7pg0ug==" } }, "is_incremental": false, @@ -1074,7 +1158,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.Scenario.ScenarioMetadata.html", - "hash": "Va/z9O9Xnw/zx9R8YubMDA==" + "hash": "hEeK3LnDKElPujjqzCCVwg==" } }, "is_incremental": false, @@ -1086,7 +1170,43 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.Scenario.html", - "hash": "A612hD8hkmTarO/j1qn7Tw==" + "hash": "0ktqGQEYzm+wWLsoP2WgwQ==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/UICatalog/UICatalog.Scenarios.CsvEditor.yml", + "output": { + ".html": { + "relative_path": "api/UICatalog/UICatalog.Scenarios.CsvEditor.html", + "hash": "PFAHa3FahgGvtBWIsc8eZQ==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/UICatalog/UICatalog.Scenarios.TableEditor.yml", + "output": { + ".html": { + "relative_path": "api/UICatalog/UICatalog.Scenarios.TableEditor.html", + "hash": "lh+62xZp2GsDYlXyazSw5w==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "ManagedReference", + "source_relative_path": "api/UICatalog/UICatalog.Scenarios.yml", + "output": { + ".html": { + "relative_path": "api/UICatalog/UICatalog.Scenarios.html", + "hash": "fCsIT/Bz7aRthAhA7Yv0lA==" } }, "is_incremental": false, @@ -1098,7 +1218,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.UICatalogApp.html", - "hash": "NP9irLG7E5q8E+9+ITZdcQ==" + "hash": "eVD5u+WqRlkDsNiRj0Xd5g==" } }, "is_incremental": false, @@ -1110,7 +1230,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.UStringValueConverter.html", - "hash": "kPIeYlH2E3G7kAAIeaWvhQ==" + "hash": "KNzKncTAEQyhiVnzLm0KIA==" } }, "is_incremental": false, @@ -1122,7 +1242,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/UICatalog.html", - "hash": "NmbAKFGnPfR8lDG/Ir907A==" + "hash": "jYifmritmyR1OKOFUERDIw==" } }, "is_incremental": false, @@ -1134,7 +1254,7 @@ "output": { ".html": { "relative_path": "api/UICatalog/toc.html", - "hash": "+2genCJa8SCpevQGmvSZ9w==" + "hash": "mw9Qx04kR9Iew6+JXOTpJQ==" } }, "is_incremental": false, @@ -1149,7 +1269,7 @@ "output": { ".html": { "relative_path": "articles/index.html", - "hash": "1ef/q1k8M6HFk0UrJPk99A==" + "hash": "ddxywhjW3v8mThrnMb5hBg==" } }, "is_incremental": false, @@ -1164,7 +1284,7 @@ "output": { ".html": { "relative_path": "articles/keyboard.html", - "hash": "dicqhUmbhKtbmRefd/SZng==" + "hash": "EqTtqPNlipaOEvFqSc13ow==" } }, "is_incremental": false, @@ -1179,7 +1299,7 @@ "output": { ".html": { "relative_path": "articles/mainloop.html", - "hash": "lCdZFXRQnUfpQuh47i/hag==" + "hash": "OoDaaK43wBM+tjJUnLZ9gA==" } }, "is_incremental": false, @@ -1194,7 +1314,19 @@ "output": { ".html": { "relative_path": "articles/overview.html", - "hash": "6Vpl6cf8E15pBFW6ceRGOg==" + "hash": "aeFT0bXnveU1MBnJOSmzuw==" + } + }, + "is_incremental": false, + "version": "" + }, + { + "type": "Conceptual", + "source_relative_path": "articles/tableview.md", + "output": { + ".html": { + "relative_path": "articles/tableview.html", + "hash": "7Onv5qePXH3OA9L4uun4rQ==" } }, "is_incremental": false, @@ -1206,7 +1338,7 @@ "output": { ".html": { "relative_path": "articles/views.html", - "hash": "H6hLeI12X4TsgImIWSwF6w==" + "hash": "GLWkKQvF/g7DeLm3XkaF4Q==" } }, "is_incremental": false, @@ -1243,7 +1375,7 @@ "output": { ".html": { "relative_path": "index.html", - "hash": "41E/fuGu2/bhbW30vTXrCQ==" + "hash": "C6ehu8VWtH40rKyt9DRphw==" } }, "is_incremental": false, @@ -1274,14 +1406,14 @@ "ConceptualDocumentProcessor": { "can_incremental": true, "incrementalPhase": "build", - "total_file_count": 7, - "skipped_file_count": 7 + "total_file_count": 8, + "skipped_file_count": 8 }, "ManagedReferenceDocumentProcessor": { "can_incremental": true, "incrementalPhase": "build", - "total_file_count": 91, - "skipped_file_count": 83 + "total_file_count": 101, + "skipped_file_count": 91 }, "ResourceDocumentProcessor": { "can_incremental": false, diff --git a/docs/styles/docfx.js b/docs/styles/docfx.js index 7eeb0da80..b095cf643 100644 --- a/docs/styles/docfx.js +++ b/docs/styles/docfx.js @@ -256,7 +256,7 @@ $(function () { } else { flipContents("hide"); $("body").trigger("queryReady"); - $('#search-results>.search-list').text('Search Results for "' + query + '"'); + $('#search-results>.search-list>span').text('"' + query + '"'); } }).off("keydown"); }); @@ -301,12 +301,17 @@ $(function () { function handleSearchResults(hits) { var numPerPage = 10; - $('#pagination').empty(); - $('#pagination').removeData("twbs-pagination"); + var pagination = $('#pagination'); + pagination.empty(); + pagination.removeData("twbs-pagination"); if (hits.length === 0) { $('#search-results>.sr-items').html('

                                                                                                                                                                                                                                                                                                                                                    No results found

                                                                                                                                                                                                                                                                                                                                                    '); - } else { - $('#pagination').twbsPagination({ + } else { + pagination.twbsPagination({ + first: pagination.data('first'), + prev: pagination.data('prev'), + next: pagination.data('next'), + last: pagination.data('last'), totalPages: Math.ceil(hits.length / numPerPage), visiblePages: 5, onPageClick: function (event, page) { @@ -593,10 +598,12 @@ $(function () { //Setup Affix function renderAffix() { var hierarchy = getHierarchy(); - if (hierarchy && hierarchy.length > 0) { - var html = '
                                                                                                                                                                                                                                                                                                                                                    In This Article
                                                                                                                                                                                                                                                                                                                                                    ' - html += util.formList(hierarchy, ['nav', 'bs-docs-sidenav']); - $("#affix").empty().append(html); + if (!hierarchy || hierarchy.length <= 0) { + $("#affix").hide(); + } + else { + var html = util.formList(hierarchy, ['nav', 'bs-docs-sidenav']); + $("#affix>div").empty().append(html); if ($('footer').is(':visible')) { $(".sideaffix").css("bottom", "70px"); } diff --git a/docs/styles/docfx.vendor.css b/docs/styles/docfx.vendor.css index 91bb610c8..9bd4516af 100644 --- a/docs/styles/docfx.vendor.css +++ b/docs/styles/docfx.vendor.css @@ -1,6 +1,6 @@ /*! - * Bootstrap v3.3.7 (http://getbootstrap.com) - * Copyright 2011-2016 Twitter, Inc. + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ @@ -9,36 +9,37 @@ hr,img{border:0} body,figure{margin:0} .btn-group>.btn-group,.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.dropdown-menu{float:left} .navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.pre-scrollable{max-height:340px} -html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%} +html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%} article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block} audio,canvas,progress,video{display:inline-block;vertical-align:baseline} audio:not([controls]){display:none;height:0} [hidden],template{display:none} a{background-color:transparent} a:active,a:hover{outline:0} +abbr[title]{border-bottom:none;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted} b,optgroup,strong{font-weight:700} dfn{font-style:italic} h1{margin:.67em 0} -mark{color:#000;background:#ff0} -sub,sup{position:relative;font-size:75%;line-height:0} +mark{background:#ff0;color:#000} +sub,sup{font-size:75%;line-height:0;position:relative} sup{top:-.5em} sub{bottom:-.25em} img{vertical-align:middle} svg:not(:root){overflow:hidden} -hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box} +hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0} pre,textarea{overflow:auto} code,kbd,pre,samp{font-size:1em} -button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit} +button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0} .glyphicon,address{font-style:normal} button{overflow:visible} button,select{text-transform:none} button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer} button[disabled],html input[disabled]{cursor:default} -button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0} +button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0} input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0} input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto} input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none} -table{border-spacing:0;border-collapse:collapse} +table{border-collapse:collapse;border-spacing:0} td,th{padding:0} /*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print{blockquote,img,pre,tr{page-break-inside:avoid} @@ -59,11 +60,9 @@ h2,h3{page-break-after:avoid} .table td,.table th{background-color:#fff!important} .table-bordered td,.table-bordered th{border:1px solid #ddd!important} } -.dropdown-menu,.modal-content{-webkit-background-clip:padding-box} -.btn,.btn-danger.active,.btn-danger:active,.btn-default.active,.btn-default:active,.btn-info.active,.btn-info:active,.btn-primary.active,.btn-primary:active,.btn-warning.active,.btn-warning:active,.btn.active,.btn:active,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover,.form-control,.navbar-toggle,.open>.dropdown-toggle.btn-danger,.open>.dropdown-toggle.btn-default,.open>.dropdown-toggle.btn-info,.open>.dropdown-toggle.btn-primary,.open>.dropdown-toggle.btn-warning{background-image:none} .img-thumbnail,body{background-color:#fff} -@font-face{font-family:'Glyphicons Halflings';src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format('embedded-opentype'),url(../fonts/glyphicons-halflings-regular.woff2) format('woff2'),url(../fonts/glyphicons-halflings-regular.woff) format('woff'),url(../fonts/glyphicons-halflings-regular.ttf) format('truetype'),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format('svg')} -.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} +@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")} +.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale} .glyphicon-asterisk:before{content:"\002a"} .glyphicon-plus:before{content:"\002b"} .glyphicon-eur:before,.glyphicon-euro:before{content:"\20ac"} @@ -331,7 +330,7 @@ a:focus,a:hover{color:#23527c;text-decoration:underline} a:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px} .carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto} .img-rounded{border-radius:6px} -.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out} +.img-thumbnail{padding:4px;line-height:1.42857143;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto} .img-circle{border-radius:50%} hr{margin-top:20px;margin-bottom:20px;border-top:1px solid #eee} .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0} @@ -396,35 +395,37 @@ ol,ul{margin-bottom:10px} .list-inline{margin-left:-5px} .list-inline>li{display:inline-block;padding-right:5px;padding-left:5px} dd{margin-left:0} -@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap} +@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .dl-horizontal dd{margin-left:180px} .container{width:750px} } -abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #777} +abbr[data-original-title],abbr[title]{cursor:help} +.checkbox.disabled label,.form-control[disabled],.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .form-control,fieldset[disabled] .radio label,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed} .initialism{font-size:90%;text-transform:uppercase} blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee} blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;color:#777} legend,pre{display:block;color:#333} -blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'} +blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"} .blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0} code,kbd{padding:2px 4px;font-size:90%} caption,th{text-align:left} -.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''} -.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'} +.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:""} +.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:"\00A0 \2014"} code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace} code{color:#c7254e;background-color:#f9f2f4;border-radius:4px} kbd{color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)} kbd kbd{padding:0;font-size:100%;-webkit-box-shadow:none;box-shadow:none} pre{padding:9.5px;margin:0 0 10px;font-size:13px;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px} -.container,.container-fluid{margin-right:auto;margin-left:auto} pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-radius:0} -.container,.container-fluid{padding-right:15px;padding-left:15px} +.container,.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto} .pre-scrollable{overflow-y:scroll} @media (min-width:992px){.container{width:970px} } @media (min-width:1200px){.container{width:1170px} } .row{margin-right:-15px;margin-left:-15px} +.row-no-gutters{margin-right:0;margin-left:0} +.row-no-gutters [class*=col-]{padding-right:0;padding-left:0} .col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-right:15px;padding-left:15px} .col-xs-12{width:100%} .col-xs-11{width:91.66666667%} @@ -636,6 +637,8 @@ pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;border-r .col-lg-offset-1{margin-left:8.33333333%} .col-lg-offset-0{margin-left:0} } +table col[class*=col-]{position:static;display:table-column;float:none} +table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none} caption{padding-top:8px;padding-bottom:8px;color:#777} .table{width:100%;max-width:100%;margin-bottom:20px} .table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd} @@ -648,8 +651,6 @@ caption{padding-top:8px;padding-bottom:8px;color:#777} .table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px} .table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9} .table-hover>tbody>tr:hover,.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5} -table col[class*=col-]{position:static;display:table-column;float:none} -table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none} .table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8} .table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8} .table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6} @@ -660,6 +661,7 @@ table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;f .table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede} .table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc} .table-responsive{min-height:.01%;overflow-x:auto} +.checkbox label,.radio label,.well{min-height:20px} @media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd} .table-responsive>.table{margin-bottom:0} .table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap} @@ -672,7 +674,7 @@ fieldset,legend{padding:0;border:0} fieldset{min-width:0;margin:0} legend{width:100%;margin-bottom:20px;font-size:21px;line-height:inherit;border-bottom:1px solid #e5e5e5} label{display:inline-block;max-width:100%;margin-bottom:5px} -input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none} +input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none} input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal} .form-control,output{font-size:14px;line-height:1.42857143;color:#555;display:block} input[type=file]{display:block} @@ -680,7 +682,7 @@ input[type=range]{display:block;width:100%} select[multiple],select[size]{height:auto} input[type=file]:focus,input[type=checkbox]:focus,input[type=radio]:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px} output{padding-top:7px} -.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s} +.form-control{width:100%;height:34px;padding:6px 12px;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s,-webkit-box-shadow ease-in-out .15s} .form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)} .form-control::-moz-placeholder{color:#999;opacity:1} .form-control:-ms-input-placeholder{color:#999} @@ -688,7 +690,6 @@ output{padding-top:7px} .has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .form-control-feedback,.has-success .help-block,.has-success .radio,.has-success .radio-inline,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d} .form-control::-ms-expand{background-color:transparent;border:0} .form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1} -.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed} textarea.form-control{height:auto} @media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=time].form-control,input[type=datetime-local].form-control,input[type=month].form-control{line-height:34px} .input-group-sm input[type=date],.input-group-sm input[type=time],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px} @@ -696,12 +697,12 @@ textarea.form-control{height:auto} } .form-group{margin-bottom:15px} .checkbox,.radio{position:relative;display:block;margin-top:10px;margin-bottom:10px} -.checkbox label,.radio label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer} +.checkbox label,.checkbox-inline,.radio label,.radio-inline{padding-left:20px;cursor:pointer;margin-bottom:0;font-weight:400} .checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{position:absolute;margin-top:4px\9;margin-left:-20px} .checkbox+.checkbox,.radio+.radio{margin-top:-5px} -.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer} +.checkbox-inline,.radio-inline{position:relative;display:inline-block;vertical-align:middle} +.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed} .checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px} -.checkbox-inline.disabled,.checkbox.disabled label,.radio-inline.disabled,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio label,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed} .form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0} .form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0} .form-group-sm .form-control,.input-sm{padding:5px 10px;border-radius:3px;font-size:12px} @@ -759,46 +760,51 @@ select[multiple].input-lg,textarea.input-lg{height:auto} @media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px} .form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px} } -.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;border:1px solid transparent;border-radius:4px} +.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none} .btn.active.focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn:active:focus,.btn:focus{outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px} .btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none} -.btn.active,.btn:active{outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)} -.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65} +.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)} +.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none} a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none} .btn-default{color:#333;background-color:#fff;border-color:#ccc} .btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c} -.btn-default.active,.btn-default:active,.btn-default:hover,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad} +.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad} +.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad} .btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c} .btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{background-color:#fff;border-color:#ccc} .btn-default .badge{color:#fff;background-color:#333} .btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4} .btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40} -.btn-primary.active,.btn-primary:active,.btn-primary:hover,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74} +.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74} +.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74} .btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40} .btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4} .btn-primary .badge{color:#337ab7;background-color:#fff} .btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c} .btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625} -.btn-success.active,.btn-success:active,.btn-success:hover,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439} +.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439} +.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439} .btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625} -.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{background-image:none} .btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{background-color:#5cb85c;border-color:#4cae4c} .btn-success .badge{color:#5cb85c;background-color:#fff} .btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da} .btn-info.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85} -.btn-info.active,.btn-info:active,.btn-info:hover,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc} +.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc} +.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc} .btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85} .btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{background-color:#5bc0de;border-color:#46b8da} .btn-info .badge{color:#5bc0de;background-color:#fff} .btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236} .btn-warning.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d} -.btn-warning.active,.btn-warning:active,.btn-warning:hover,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512} +.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512} +.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512} .btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d} .btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{background-color:#f0ad4e;border-color:#eea236} .btn-warning .badge{color:#f0ad4e;background-color:#fff} .btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a} .btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19} -.btn-danger.active,.btn-danger:active,.btn-danger:hover,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925} +.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925} +.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925} .btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19} .btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a} .btn-danger .badge{color:#d9534f;background-color:#fff} @@ -819,7 +825,7 @@ input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn- .collapse.in{display:block} tr.collapse.in{display:table-row} tbody.collapse.in{display:table-row-group} -.collapsing{height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility} +.collapsing{height:0;overflow:hidden;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease} .caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent} .dropdown-toggle:focus{outline:0} .dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)} @@ -833,7 +839,7 @@ tbody.collapse.in{display:table-row-group} .dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5} .dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0} .dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777} -.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)} +.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)} .open>.dropdown-menu{display:block} .open>a{outline:0} .dropdown-menu-left{right:auto;left:0} @@ -942,7 +948,7 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .tab-content>.active{display:block} .nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0} .navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent} -.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)} +.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch} .navbar-collapse.in{overflow-y:auto} @media (min-width:768px){.navbar{border-radius:4px} .navbar-header{float:left} @@ -950,23 +956,24 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important} .navbar-collapse.in{overflow-y:visible} .navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0} +.navbar-fixed-bottom,.navbar-fixed-top{border-radius:0} } .embed-responsive,.modal,.modal-open,.progress{overflow:hidden} +.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030} @media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px} } -.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px} -.navbar-static-top{z-index:1000;border-width:0 0 1px} -.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030} .navbar-fixed-top{top:0;border-width:0 0 1px} .navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0} +.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px} +.navbar-static-top{z-index:1000;border-width:0 0 1px} .navbar-brand{float:left;height:50px;padding:15px;font-size:18px;line-height:20px} .navbar-brand:focus,.navbar-brand:hover{text-decoration:none} .navbar-brand>img{display:block} @media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:0;margin-left:0} -.navbar-fixed-bottom,.navbar-fixed-top,.navbar-static-top{border-radius:0} +.navbar-static-top{border-radius:0} .navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px} } -.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px} +.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px} .navbar-toggle:focus{outline:0} .navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px} .navbar-toggle .icon-bar+.icon-bar{margin-top:4px} @@ -1019,16 +1026,16 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent} .navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7} .navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent} -.navbar-default .navbar-toggle{border-color:#ddd} -.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd} -.navbar-default .navbar-toggle .icon-bar{background-color:#888} -.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7} .navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7} @media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777} .navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#ccc;background-color:transparent} } +.navbar-default .navbar-toggle{border-color:#ddd} +.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{background-color:#ddd} +.navbar-default .navbar-toggle .icon-bar{background-color:#888} +.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7} .navbar-default .navbar-link{color:#777} .navbar-default .navbar-link:hover{color:#333} .navbar-default .btn-link{color:#777} @@ -1041,10 +1048,6 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent} .navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#080808} .navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent} -.navbar-inverse .navbar-toggle{border-color:#333} -.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333} -.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff} -.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010} .navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808} @media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808} @@ -1053,6 +1056,10 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent} } +.navbar-inverse .navbar-toggle{border-color:#333} +.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{background-color:#333} +.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff} +.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010} .navbar-inverse .navbar-link{color:#9d9d9d} .navbar-inverse .navbar-link:hover{color:#fff} .navbar-inverse .btn-link{color:#9d9d9d} @@ -1064,9 +1071,9 @@ select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.i .pagination{padding-left:0;margin:20px 0;border-radius:4px} .pager li,.pagination>li{display:inline} .pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd} +.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd} .pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px} .pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px} -.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd} .pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7} .pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd} .pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333} @@ -1150,7 +1157,7 @@ to{background-position:0 0} to{background-position:0 0} } .progress{height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)} -.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease} +.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease} .progress-bar-striped,.progress-striped .progress-bar{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px} .progress-bar.active,.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite} .progress-bar-success{background-color:#5cb85c} @@ -1178,16 +1185,16 @@ to{background-position:0 0} .list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd} .list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px} .list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px} -a.list-group-item,button.list-group-item{color:#555} -a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333} -a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5} -button.list-group-item{width:100%;text-align:left} .list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee} .list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit} .list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#777} .list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7} .list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{color:inherit} .list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .list-group-item-text{color:#c7ddef} +a.list-group-item,button.list-group-item{color:#555} +a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333} +a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5} +button.list-group-item{width:100%;text-align:left} .list-group-item-success{color:#3c763d;background-color:#dff0d8} a.list-group-item-success,button.list-group-item-success{color:#3c763d} a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit} @@ -1276,20 +1283,21 @@ a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-gro .embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0} .embed-responsive-16by9{padding-bottom:56.25%} .embed-responsive-4by3{padding-bottom:75%} -.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)} +.well{padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)} .well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)} .well-lg{padding:24px;border-radius:6px} .well-sm{padding:9px;border-radius:3px} .close{float:right;font-size:21px;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2} -.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;line-break:auto;text-decoration:none} +.popover,.tooltip{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;text-decoration:none} .close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5} -button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0} +button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none} +.modal-content,.popover{background-clip:padding-box} .modal{position:fixed;z-index:1050;display:none;-webkit-overflow-scrolling:touch;outline:0} -.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)} +.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-transform .3s ease-out} .modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)} .modal-open .modal{overflow-x:hidden;overflow-y:auto} .modal-dialog{position:relative;width:auto;margin:10px} -.modal-content{position:relative;background-color:#fff;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)} +.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);outline:0} .modal-backdrop{position:fixed;z-index:1040;background-color:#000} .modal-backdrop.fade{filter:alpha(opacity=0);opacity:0} .modal-backdrop.in{filter:alpha(opacity=50);opacity:.5} @@ -1306,37 +1314,35 @@ button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;bor .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)} .modal-sm{width:300px} } +.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000} @media (min-width:992px){.modal-lg{width:900px} } -.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;text-align:left;text-align:start;filter:alpha(opacity=0);opacity:0} +.tooltip{position:absolute;z-index:1070;display:block;text-align:left;text-align:start;font-size:12px;filter:alpha(opacity=0);opacity:0} .tooltip.in{filter:alpha(opacity=90);opacity:.9} .tooltip.top{padding:5px 0;margin-top:-3px} .tooltip.right{padding:0 5px;margin-left:3px} .tooltip.bottom{padding:5px 0;margin-top:3px} .tooltip.left{padding:0 5px;margin-left:-3px} -.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px} -.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid} -.tooltip.top .tooltip-arrow,.tooltip.top-left .tooltip-arrow,.tooltip.top-right .tooltip-arrow{bottom:0;border-width:5px 5px 0;border-top-color:#000} -.tooltip.top .tooltip-arrow{left:50%;margin-left:-5px} -.tooltip.top-left .tooltip-arrow{right:5px;margin-bottom:-5px} -.tooltip.top-right .tooltip-arrow{left:5px;margin-bottom:-5px} +.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000} +.tooltip.top-left .tooltip-arrow{right:5px} +.tooltip.top-right .tooltip-arrow{left:5px} .tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000} .tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000} .tooltip.bottom .tooltip-arrow,.tooltip.bottom-left .tooltip-arrow,.tooltip.bottom-right .tooltip-arrow{border-width:0 5px 5px;border-bottom-color:#000;top:0} .tooltip.bottom .tooltip-arrow{left:50%;margin-left:-5px} .tooltip.bottom-left .tooltip-arrow{right:5px;margin-top:-5px} .tooltip.bottom-right .tooltip-arrow{left:5px;margin-top:-5px} -.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;text-align:left;text-align:start;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)} +.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px} +.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid} +.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;text-align:left;text-align:start;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)} .carousel-caption,.carousel-control{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)} .popover.top{margin-top:-10px} .popover.right{margin-left:10px} .popover.bottom{margin-top:10px} .popover.left{margin-left:-10px} -.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0} -.popover-content{padding:9px 14px} +.popover>.arrow{border-width:11px} .popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid} .carousel,.carousel-inner{position:relative} -.popover>.arrow{border-width:11px} .popover>.arrow:after{content:"";border-width:10px} .popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0} .popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0} @@ -1347,13 +1353,15 @@ button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;bor .popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff} .popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)} .popover.left>.arrow:after{right:1px;border-right-width:0;border-left-color:#fff} +.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0} +.popover-content{padding:9px 14px} .carousel-inner{width:100%;overflow:hidden} .carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left} .carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1} -@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px} -.carousel-inner>.item.active.right,.carousel-inner>.item.next{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)} -.carousel-inner>.item.active.left,.carousel-inner>.item.prev{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)} -.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)} +@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px} +.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0} +.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0} +.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0} } .carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block} .carousel-inner>.active{left:0} @@ -1366,13 +1374,13 @@ button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;bor .carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5} .carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x} .carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x} -.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9} +.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9} .carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block;margin-top:-10px} .carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px} .carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px} .carousel-control .icon-next,.carousel-control .icon-prev{width:20px;height:20px;font-family:serif;line-height:1} -.carousel-control .icon-prev:before{content:'\2039'} -.carousel-control .icon-next:before{content:'\203a'} +.carousel-control .icon-prev:before{content:"\2039"} +.carousel-control .icon-next:before{content:"\203a"} .carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none} .carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px} .carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff} diff --git a/docs/styles/docfx.vendor.js b/docs/styles/docfx.vendor.js index 5fda2eb51..154de37d6 100644 --- a/docs/styles/docfx.vendor.js +++ b/docs/styles/docfx.vendor.js @@ -1,13 +1,12 @@ -/*! jQuery v3.4.1 | (c) JS Foundation and other contributors | jquery.org/license */ -!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],E=C.document,r=Object.getPrototypeOf,s=t.slice,g=t.concat,u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.4.1",k=function(e,t){return new k.fn.init(e,t)},p=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g;function d(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp($),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+$),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),ne=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(m.childNodes),m.childNodes),t[m.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&((e?e.ownerDocument||e:m)!==C&&T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!A[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&U.test(t)){(s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=k),o=(l=h(t)).length;while(o--)l[o]="#"+s+" "+xe(l[o]);c=l.join(","),f=ee.test(t)&&ye(e.parentNode)||e}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){A(t,!0)}finally{s===k&&e.removeAttribute("id")}}}return g(t.replace(B,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[k]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:m;return r!==C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),m!==C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=k,!C.getElementsByName||!C.getElementsByName(k).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+k+"-]").length||v.push("~="),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+k+"+*").length||v.push(".#.+[+~]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",$)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e===C||e.ownerDocument===m&&y(m,e)?-1:t===C||t.ownerDocument===m&&y(m,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e===C?-1:t===C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]===m?-1:s[r]===m?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if((e.ownerDocument||e)!==C&&T(e),d.matchesSelector&&E&&!A[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){A(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=p[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&p(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function j(e,n,r){return m(n)?k.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?k.grep(e,function(e){return e===n!==r}):"string"!=typeof n?k.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(k.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||q,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:L.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof k?t[0]:t,k.merge(this,k.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),D.test(r[1])&&k.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(k):k.makeArray(e,this)}).prototype=k.fn,q=k(E);var H=/^(?:parents|prev(?:Until|All))/,O={children:!0,contents:!0,next:!0,prev:!0};function P(e,t){while((e=e[t])&&1!==e.nodeType);return e}k.fn.extend({has:function(e){var t=k(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i,ge={option:[1,""],thead:[1,"","
                                                                                                                                                                                                                                                                                                                                                    "],col:[2,"","
                                                                                                                                                                                                                                                                                                                                                    "],tr:[2,"","
                                                                                                                                                                                                                                                                                                                                                    "],td:[3,"","
                                                                                                                                                                                                                                                                                                                                                    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?k.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;nx",y.noCloneChecked=!!me.cloneNode(!0).lastChild.defaultValue;var Te=/^key/,Ce=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,Ee=/^([^.]*)(?:\.(.+)|)/;function ke(){return!0}function Se(){return!1}function Ne(e,t){return e===function(){try{return E.activeElement}catch(e){}}()==("focus"===t)}function Ae(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Ae(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=Se;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return k().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=k.guid++)),e.each(function(){k.event.add(this,t,i,r,n)})}function De(e,i,o){o?(Q.set(e,i,!1),k.event.add(e,i,{namespace:!1,handler:function(e){var t,n,r=Q.get(this,i);if(1&e.isTrigger&&this[i]){if(r.length)(k.event.special[i]||{}).delegateType&&e.stopPropagation();else if(r=s.call(arguments),Q.set(this,i,r),t=o(this,i),this[i](),r!==(n=Q.get(this,i))||t?Q.set(this,i,!1):n={},r!==n)return e.stopImmediatePropagation(),e.preventDefault(),n.value}else r.length&&(Q.set(this,i,{value:k.event.trigger(k.extend(r[0],k.Event.prototype),r.slice(1),this)}),e.stopImmediatePropagation())}})):void 0===Q.get(e,i)&&k.event.add(e,i,ke)}k.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.get(t);if(v){n.handler&&(n=(o=n).handler,i=o.selector),i&&k.find.matchesSelector(ie,i),n.guid||(n.guid=k.guid++),(u=v.events)||(u=v.events={}),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof k&&k.event.triggered!==e.type?k.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(R)||[""]).length;while(l--)d=g=(s=Ee.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=k.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=k.event.special[d]||{},c=k.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&k.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),k.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=Q.hasData(e)&&Q.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(R)||[""]).length;while(l--)if(d=g=(s=Ee.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=k.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||k.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)k.event.remove(e,d+t[l],n,r,!0);k.isEmptyObject(u)&&Q.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=k.event.fix(e),u=new Array(arguments.length),l=(Q.get(this,"events")||{})[s.type]||[],c=k.event.special[s.type]||{};for(u[0]=s,t=1;t\x20\t\r\n\f]*)[^>]*)\/>/gi,qe=/\s*$/g;function Oe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&k(e).children("tbody")[0]||e}function Pe(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function Re(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Me(e,t){var n,r,i,o,a,s,u,l;if(1===t.nodeType){if(Q.hasData(e)&&(o=Q.access(e),a=Q.set(t,o),l=o.events))for(i in delete a.handle,a.events={},l)for(n=0,r=l[i].length;n")},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=oe(e);if(!(y.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||k.isXMLDoc(e)))for(a=ve(c),r=0,i=(o=ve(e)).length;r").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Vt,Gt=[],Yt=/(=)\?(?=&|$)|\?\?/;k.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Gt.pop()||k.expando+"_"+kt++;return this[e]=!0,e}}),k.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Yt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Yt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Yt,"$1"+r):!1!==e.jsonp&&(e.url+=(St.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||k.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?k(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Gt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Vt=E.implementation.createHTMLDocument("").body).innerHTML="
                                                                                                                                                                                                                                                                                                                                                    ",2===Vt.childNodes.length),k.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=D.exec(e))?[t.createElement(i[1])]:(i=we([e],t,o),o&&o.length&&k(o).remove(),k.merge([],i.childNodes)));var r,i,o},k.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(k.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},k.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){k.fn[t]=function(e){return this.on(t,e)}}),k.expr.pseudos.animated=function(t){return k.grep(k.timers,function(e){return t===e.elem}).length},k.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=k.css(e,"position"),c=k(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=k.css(e,"top"),u=k.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,k.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},k.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){k.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===k.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===k.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=k(e).offset()).top+=k.css(e,"borderTopWidth",!0),i.left+=k.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-k.css(r,"marginTop",!0),left:t.left-i.left-k.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===k.css(e,"position"))e=e.offsetParent;return e||ie})}}),k.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;k.fn[t]=function(e){return _(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),k.each(["top","left"],function(e,n){k.cssHooks[n]=ze(y.pixelPosition,function(e,t){if(t)return t=_e(e,n),$e.test(t)?k(e).position()[n]+"px":t})}),k.each({Height:"height",Width:"width"},function(a,s){k.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){k.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return _(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?k.css(e,t,i):k.style(e,t,n,i)},s,n?e:void 0,n)}})}),k.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){k.fn[n]=function(e,t){return 0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML="";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML="",y.option=!!ce.lastChild;var ge={thead:[1,"","
                                                                                                                                                                                                                                                                                                                                                    "],col:[2,"","
                                                                                                                                                                                                                                                                                                                                                    "],tr:[2,"","
                                                                                                                                                                                                                                                                                                                                                    "],td:[3,"","
                                                                                                                                                                                                                                                                                                                                                    "],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|&#?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="
                                                                                                                                                                                                                                                                                                                                                    ",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 03)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher, but lower than version 4")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){if(a(b.target).is(this))return b.handleObj.handler.apply(this,arguments)}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.7",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a("#"===f?[]:f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.7",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c).prop(c,!0)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c).prop(c,!1))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target).closest(".btn");b.call(d,"toggle"),a(c.target).is('input[type="radio"], input[type="checkbox"]')||(c.preventDefault(),d.is("input,button")?d.trigger("focus"):d.find("input:visible,button:visible").first().trigger("focus"))}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.7",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(!(a>this.$items.length-1||a<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){if(!this.sliding)return this.slide("next")},c.prototype.prev=function(){if(!this.sliding)return this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.7",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger(a.Event("hidden.bs.dropdown",f)))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.7",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger(a.Event("shown.bs.dropdown",h))}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
                                                                                                                                                                                                                                                                                                                                                    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);if(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),!c.isInStateTrue())return clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null,a.$element=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;!e&&/destroy|hide/.test(b)||(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.7",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.7",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.7",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return e=a-d&&"bottom"},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); +if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");!function(t){"use strict";var e=jQuery.fn.jquery.split(" ")[0].split(".");if(e[0]<2&&e[1]<9||1==e[0]&&9==e[1]&&e[2]<1||3this.$items.length-1||t<0))return this.sliding?this.$element.one("slid.bs.carousel",function(){e.to(t)}):i==t?this.pause().cycle():this.slide(idocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&t?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!t?this.scrollbarWidth:""})},s.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},s.prototype.checkScrollbar=function(){var t=window.innerWidth;if(!t){var e=document.documentElement.getBoundingClientRect();t=e.right-Math.abs(e.left)}this.bodyIsOverflowing=document.body.clientWidth
                                                                                                                                                                                                                                                                                                                                                    ',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0},sanitize:!0,sanitizeFn:null,whiteList:t},m.prototype.init=function(t,e,i){if(this.enabled=!0,this.type=t,this.$element=g(e),this.options=this.getOptions(i),this.$viewport=this.options.viewport&&g(document).find(g.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var o=this.options.trigger.split(" "),n=o.length;n--;){var s=o[n];if("click"==s)this.$element.on("click."+this.type,this.options.selector,g.proxy(this.toggle,this));else if("manual"!=s){var a="hover"==s?"mouseenter":"focusin",r="hover"==s?"mouseleave":"focusout";this.$element.on(a+"."+this.type,this.options.selector,g.proxy(this.enter,this)),this.$element.on(r+"."+this.type,this.options.selector,g.proxy(this.leave,this))}}this.options.selector?this._options=g.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},m.prototype.getDefaults=function(){return m.DEFAULTS},m.prototype.getOptions=function(t){var e=this.$element.data();for(var i in e)e.hasOwnProperty(i)&&-1!==g.inArray(i,o)&&delete e[i];return(t=g.extend({},this.getDefaults(),e,t)).delay&&"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),t.sanitize&&(t.template=n(t.template,t.whiteList,t.sanitizeFn)),t},m.prototype.getDelegateOptions=function(){var i={},o=this.getDefaults();return this._options&&g.each(this._options,function(t,e){o[t]!=e&&(i[t]=e)}),i},m.prototype.enter=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusin"==t.type?"focus":"hover"]=!0),e.tip().hasClass("in")||"in"==e.hoverState)e.hoverState="in";else{if(clearTimeout(e.timeout),e.hoverState="in",!e.options.delay||!e.options.delay.show)return e.show();e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show)}},m.prototype.isInStateTrue=function(){for(var t in this.inState)if(this.inState[t])return!0;return!1},m.prototype.leave=function(t){var e=t instanceof this.constructor?t:g(t.currentTarget).data("bs."+this.type);if(e||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e)),t instanceof g.Event&&(e.inState["focusout"==t.type?"focus":"hover"]=!1),!e.isInStateTrue()){if(clearTimeout(e.timeout),e.hoverState="out",!e.options.delay||!e.options.delay.hide)return e.hide();e.timeout=setTimeout(function(){"out"==e.hoverState&&e.hide()},e.options.delay.hide)}},m.prototype.show=function(){var t=g.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(t);var e=g.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(t.isDefaultPrevented()||!e)return;var i=this,o=this.tip(),n=this.getUID(this.type);this.setContent(),o.attr("id",n),this.$element.attr("aria-describedby",n),this.options.animation&&o.addClass("fade");var s="function"==typeof this.options.placement?this.options.placement.call(this,o[0],this.$element[0]):this.options.placement,a=/\s?auto?\s?/i,r=a.test(s);r&&(s=s.replace(a,"")||"top"),o.detach().css({top:0,left:0,display:"block"}).addClass(s).data("bs."+this.type,this),this.options.container?o.appendTo(g(document).find(this.options.container)):o.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var l=this.getPosition(),h=o[0].offsetWidth,d=o[0].offsetHeight;if(r){var p=s,c=this.getPosition(this.$viewport);s="bottom"==s&&l.bottom+d>c.bottom?"top":"top"==s&&l.top-dc.width?"left":"left"==s&&l.left-ha.top+a.height&&(n.top=a.top+a.height-l)}else{var h=e.left-s,d=e.left+s+i;ha.right&&(n.left=a.left+a.width-d)}return n},m.prototype.getTitle=function(){var t=this.$element,e=this.options;return t.attr("data-original-title")||("function"==typeof e.title?e.title.call(t[0]):e.title)},m.prototype.getUID=function(t){for(;t+=~~(1e6*Math.random()),document.getElementById(t););return t},m.prototype.tip=function(){if(!this.$tip&&(this.$tip=g(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},m.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},m.prototype.enable=function(){this.enabled=!0},m.prototype.disable=function(){this.enabled=!1},m.prototype.toggleEnabled=function(){this.enabled=!this.enabled},m.prototype.toggle=function(t){var e=this;t&&((e=g(t.currentTarget).data("bs."+this.type))||(e=new this.constructor(t.currentTarget,this.getDelegateOptions()),g(t.currentTarget).data("bs."+this.type,e))),t?(e.inState.click=!e.inState.click,e.isInStateTrue()?e.enter(e):e.leave(e)):e.tip().hasClass("in")?e.leave(e):e.enter(e)},m.prototype.destroy=function(){var t=this;clearTimeout(this.timeout),this.hide(function(){t.$element.off("."+t.type).removeData("bs."+t.type),t.$tip&&t.$tip.detach(),t.$tip=null,t.$arrow=null,t.$viewport=null,t.$element=null})},m.prototype.sanitizeHtml=function(t){return n(t,this.options.whiteList,this.options.sanitizeFn)};var e=g.fn.tooltip;g.fn.tooltip=function i(o){return this.each(function(){var t=g(this),e=t.data("bs.tooltip"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.tooltip",e=new m(this,i)),"string"==typeof o&&e[o]())})},g.fn.tooltip.Constructor=m,g.fn.tooltip.noConflict=function(){return g.fn.tooltip=e,this}}(jQuery),function(n){"use strict";var s=function(t,e){this.init("popover",t,e)};if(!n.fn.tooltip)throw new Error("Popover requires tooltip.js");s.VERSION="3.4.1",s.DEFAULTS=n.extend({},n.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),((s.prototype=n.extend({},n.fn.tooltip.Constructor.prototype)).constructor=s).prototype.getDefaults=function(){return s.DEFAULTS},s.prototype.setContent=function(){var t=this.tip(),e=this.getTitle(),i=this.getContent();if(this.options.html){var o=typeof i;this.options.sanitize&&(e=this.sanitizeHtml(e),"string"===o&&(i=this.sanitizeHtml(i))),t.find(".popover-title").html(e),t.find(".popover-content").children().detach().end()["string"===o?"html":"append"](i)}else t.find(".popover-title").text(e),t.find(".popover-content").children().detach().end().text(i);t.removeClass("fade top bottom left right in"),t.find(".popover-title").html()||t.find(".popover-title").hide()},s.prototype.hasContent=function(){return this.getTitle()||this.getContent()},s.prototype.getContent=function(){var t=this.$element,e=this.options;return t.attr("data-content")||("function"==typeof e.content?e.content.call(t[0]):e.content)},s.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var t=n.fn.popover;n.fn.popover=function e(o){return this.each(function(){var t=n(this),e=t.data("bs.popover"),i="object"==typeof o&&o;!e&&/destroy|hide/.test(o)||(e||t.data("bs.popover",e=new s(this,i)),"string"==typeof o&&e[o]())})},n.fn.popover.Constructor=s,n.fn.popover.noConflict=function(){return n.fn.popover=t,this}}(jQuery),function(s){"use strict";function n(t,e){this.$body=s(document.body),this.$scrollElement=s(t).is(document.body)?s(window):s(t),this.options=s.extend({},n.DEFAULTS,e),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",s.proxy(this.process,this)),this.refresh(),this.process()}function e(o){return this.each(function(){var t=s(this),e=t.data("bs.scrollspy"),i="object"==typeof o&&o;e||t.data("bs.scrollspy",e=new n(this,i)),"string"==typeof o&&e[o]()})}n.VERSION="3.4.1",n.DEFAULTS={offset:10},n.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},n.prototype.refresh=function(){var t=this,o="offset",n=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),s.isWindow(this.$scrollElement[0])||(o="position",n=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var t=s(this),e=t.data("target")||t.attr("href"),i=/^#./.test(e)&&s(e);return i&&i.length&&i.is(":visible")&&[[i[o]().top+n,e]]||null}).sort(function(t,e){return t[0]-e[0]}).each(function(){t.offsets.push(this[0]),t.targets.push(this[1])})},n.prototype.process=function(){var t,e=this.$scrollElement.scrollTop()+this.options.offset,i=this.getScrollHeight(),o=this.options.offset+i-this.$scrollElement.height(),n=this.offsets,s=this.targets,a=this.activeTarget;if(this.scrollHeight!=i&&this.refresh(),o<=e)return a!=(t=s[s.length-1])&&this.activate(t);if(a&&e=n[t]&&(n[t+1]===undefined||e .active"),n=i&&r.support.transition&&(o.length&&o.hasClass("fade")||!!e.find("> .fade").length);function s(){o.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),t.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),n?(t[0].offsetWidth,t.addClass("in")):t.removeClass("fade"),t.parent(".dropdown-menu").length&&t.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),i&&i()}o.length&&n?o.one("bsTransitionEnd",s).emulateTransitionEnd(a.TRANSITION_DURATION):s(),o.removeClass("in")};var t=r.fn.tab;r.fn.tab=e,r.fn.tab.Constructor=a,r.fn.tab.noConflict=function(){return r.fn.tab=t,this};var i=function(t){t.preventDefault(),e.call(r(this),"show")};r(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',i).on("click.bs.tab.data-api",'[data-toggle="pill"]',i)}(jQuery),function(l){"use strict";var h=function(t,e){this.options=l.extend({},h.DEFAULTS,e);var i=this.options.target===h.DEFAULTS.target?l(this.options.target):l(document).find(this.options.target);this.$target=i.on("scroll.bs.affix.data-api",l.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",l.proxy(this.checkPositionWithEventLoop,this)),this.$element=l(t),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};function i(o){return this.each(function(){var t=l(this),e=t.data("bs.affix"),i="object"==typeof o&&o;e||t.data("bs.affix",e=new h(this,i)),"string"==typeof o&&e[o]()})}h.VERSION="3.4.1",h.RESET="affix affix-top affix-bottom",h.DEFAULTS={offset:0,target:window},h.prototype.getState=function(t,e,i,o){var n=this.$target.scrollTop(),s=this.$element.offset(),a=this.$target.height();if(null!=i&&"top"==this.affixed)return n/g,">")}function r(e){return e.nodeName.toLowerCase()}function a(e,t){var r=e&&e.exec(t);return r&&0===r.index}function i(e){return T.test(e)}function n(e){var t,r,a,n,o=e.className+" ";if(o+=e.parentNode?e.parentNode.className:"",r=w.exec(o))return S(r[1])?r[1]:"no-highlight";for(o=o.split(/\s+/),t=0,a=o.length;a>t;t++)if(n=o[t],i(n)||S(n))return n}function o(e){var t,r={},a=Array.prototype.slice.call(arguments,1);for(t in e)r[t]=e[t];return a.forEach(function(e){for(t in e)r[t]=e[t]}),r}function s(e){var t=[];return function a(e,i){for(var n=e.firstChild;n;n=n.nextSibling)3===n.nodeType?i+=n.nodeValue.length:1===n.nodeType&&(t.push({event:"start",offset:i,node:n}),i=a(n,i),r(n).match(/br|hr|img|input/)||t.push({event:"stop",offset:i,node:n}));return i}(e,0),t}function l(e,a,i){function n(){return e.length&&a.length?e[0].offset!==a[0].offset?e[0].offset"}function s(e){d+=""}function l(e){("start"===e.event?o:s)(e.node)}for(var c=0,d="",p=[];e.length||a.length;){var m=n();if(d+=t(i.substring(c,m[0].offset)),c=m[0].offset,m===e){p.reverse().forEach(s);do l(m.splice(0,1)[0]),m=n();while(m===e&&m.length&&m[0].offset===c);p.reverse().forEach(o)}else"start"===m[0].event?p.push(m[0].node):p.pop(),l(m.splice(0,1)[0])}return d+t(i.substr(c))}function c(e){return e.v&&!e.cached_variants&&(e.cached_variants=e.v.map(function(t){return o(e,{v:null},t)})),e.cached_variants||e.eW&&[o(e)]||[e]}function d(e){function t(e){return e&&e.source||e}function r(r,a){return new RegExp(t(r),"m"+(e.cI?"i":"")+(a?"g":""))}function a(i,n){if(!i.compiled){if(i.compiled=!0,i.k=i.k||i.bK,i.k){var o={},s=function(t,r){e.cI&&(r=r.toLowerCase()),r.split(" ").forEach(function(e){var r=e.split("|");o[r[0]]=[t,r[1]?Number(r[1]):1]})};"string"==typeof i.k?s("keyword",i.k):x(i.k).forEach(function(e){s(e,i.k[e])}),i.k=o}i.lR=r(i.l||/\w+/,!0),n&&(i.bK&&(i.b="\\b("+i.bK.split(" ").join("|")+")\\b"),i.b||(i.b=/\B|\b/),i.bR=r(i.b),i.e||i.eW||(i.e=/\B|\b/),i.e&&(i.eR=r(i.e)),i.tE=t(i.e)||"",i.eW&&n.tE&&(i.tE+=(i.e?"|":"")+n.tE)),i.i&&(i.iR=r(i.i)),null==i.r&&(i.r=1),i.c||(i.c=[]),i.c=Array.prototype.concat.apply([],i.c.map(function(e){return c("self"===e?i:e)})),i.c.forEach(function(e){a(e,i)}),i.starts&&a(i.starts,n);var l=i.c.map(function(e){return e.bK?"\\.?("+e.b+")\\.?":e.b}).concat([i.tE,i.i]).map(t).filter(Boolean);i.t=l.length?r(l.join("|"),!0):{exec:function(){return null}}}}a(e)}function p(e,r,i,n){function o(e,t){var r,i;for(r=0,i=t.c.length;i>r;r++)if(a(t.c[r].bR,e))return t.c[r]}function s(e,t){if(a(e.eR,t)){for(;e.endsParent&&e.parent;)e=e.parent;return e}return e.eW?s(e.parent,t):void 0}function l(e,t){return!i&&a(t.iR,e)}function c(e,t){var r=v.cI?t[0].toLowerCase():t[0];return e.k.hasOwnProperty(r)&&e.k[r]}function u(e,t,r,a){var i=a?"":D.classPrefix,n='',n+t+o}function b(){var e,r,a,i;if(!C.k)return t(T);for(i="",r=0,C.lR.lastIndex=0,a=C.lR.exec(T);a;)i+=t(T.substring(r,a.index)),e=c(C,a),e?(w+=e[1],i+=u(e[0],t(a[0]))):i+=t(a[0]),r=C.lR.lastIndex,a=C.lR.exec(T);return i+t(T.substr(r))}function g(){var e="string"==typeof C.sL;if(e&&!E[C.sL])return t(T);var r=e?p(C.sL,T,!0,x[C.sL]):m(T,C.sL.length?C.sL:void 0);return C.r>0&&(w+=r.r),e&&(x[C.sL]=r.top),u(r.language,r.value,!1,!0)}function f(){N+=null!=C.sL?g():b(),T=""}function _(e){N+=e.cN?u(e.cN,"",!0):"",C=Object.create(e,{parent:{value:C}})}function h(e,t){if(T+=e,null==t)return f(),0;var r=o(t,C);if(r)return r.skip?T+=t:(r.eB&&(T+=t),f(),r.rB||r.eB||(T=t)),_(r,t),r.rB?0:t.length;var a=s(C,t);if(a){var i=C;i.skip?T+=t:(i.rE||i.eE||(T+=t),f(),i.eE&&(T=t));do C.cN&&(N+=M),C.skip||(w+=C.r),C=C.parent;while(C!==a.parent);return a.starts&&_(a.starts,""),i.rE?0:t.length}if(l(t,C))throw new Error('Illegal lexeme "'+t+'" for mode "'+(C.cN||"")+'"');return T+=t,t.length||1}var v=S(e);if(!v)throw new Error('Unknown language: "'+e+'"');d(v);var y,C=n||v,x={},N="";for(y=C;y!==v;y=y.parent)y.cN&&(N=u(y.cN,"",!0)+N);var T="",w=0;try{for(var A,I,k=0;;){if(C.t.lastIndex=k,A=C.t.exec(r),!A)break;I=h(r.substring(k,A.index),A[0]),k=A.index+I}for(h(r.substr(k)),y=C;y.parent;y=y.parent)y.cN&&(N+=M);return{r:w,value:N,language:e,top:C}}catch(R){if(R.message&&-1!==R.message.indexOf("Illegal"))return{r:0,value:t(r)};throw R}}function m(e,r){r=r||D.languages||x(E);var a={r:0,value:t(e)},i=a;return r.filter(S).forEach(function(t){var r=p(t,e,!1);r.language=t,r.r>i.r&&(i=r),r.r>a.r&&(i=a,a=r)}),i.language&&(a.second_best=i),a}function u(e){return D.tabReplace||D.useBR?e.replace(A,function(e,t){return D.useBR&&"\n"===e?"
                                                                                                                                                                                                                                                                                                                                                    ":D.tabReplace?t.replace(/\t/g,D.tabReplace):""}):e}function b(e,t,r){var a=t?N[t]:r,i=[e.trim()];return e.match(/\bhljs\b/)||i.push("hljs"),-1===e.indexOf(a)&&i.push(a),i.join(" ").trim()}function g(e){var t,r,a,o,c,d=n(e);i(d)||(D.useBR?(t=document.createElementNS("http://www.w3.org/1999/xhtml","div"),t.innerHTML=e.innerHTML.replace(/\n/g,"").replace(//g,"\n")):t=e,c=t.textContent,a=d?p(d,c,!0):m(c),r=s(t),r.length&&(o=document.createElementNS("http://www.w3.org/1999/xhtml","div"),o.innerHTML=a.value,a.value=l(r,s(o),c)),a.value=u(a.value),e.innerHTML=a.value,e.className=b(e.className,d,a.language),e.result={language:a.language,re:a.r},a.second_best&&(e.second_best={language:a.second_best.language,re:a.second_best.r}))}function f(e){D=o(D,e)}function _(){if(!_.called){_.called=!0;var e=document.querySelectorAll("pre code");C.forEach.call(e,g)}}function h(){addEventListener("DOMContentLoaded",_,!1),addEventListener("load",_,!1)}function v(t,r){var a=E[t]=r(e);a.aliases&&a.aliases.forEach(function(e){N[e]=t})}function y(){return x(E)}function S(e){return e=(e||"").toLowerCase(),E[e]||E[N[e]]}var C=[],x=Object.keys,E={},N={},T=/^(no-?highlight|plain|text)$/i,w=/\blang(?:uage)?-([\w-]+)\b/i,A=/((^(<[^>]+>|\t|)+|(?:\n)))/gm,M="
                                                                                                                                                                                                                                                                                                                                                    ",D={classPrefix:"hljs-",tabReplace:null,useBR:!1,languages:void 0};return e.highlight=p,e.highlightAuto=m,e.fixMarkup=u,e.highlightBlock=g,e.configure=f,e.initHighlighting=_,e.initHighlightingOnLoad=h,e.registerLanguage=v,e.listLanguages=y,e.getLanguage=S,e.inherit=o,e.IR="[a-zA-Z]\\w*",e.UIR="[a-zA-Z_]\\w*",e.NR="\\b\\d+(\\.\\d+)?",e.CNR="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",e.BNR="\\b(0b[01]+)",e.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",e.BE={b:"\\\\[\\s\\S]",r:0},e.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[e.BE]},e.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[e.BE]},e.PWM={b:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},e.C=function(t,r,a){var i=e.inherit({cN:"comment",b:t,e:r,c:[]},a||{});return i.c.push(e.PWM),i.c.push({cN:"doctag",b:"(?:TODO|FIXME|NOTE|BUG|XXX):",r:0}),i},e.CLCM=e.C("//","$"),e.CBCM=e.C("/\\*","\\*/"),e.HCM=e.C("#","$"),e.NM={cN:"number",b:e.NR,r:0},e.CNM={cN:"number",b:e.CNR,r:0},e.BNM={cN:"number",b:e.BNR,r:0},e.CSSNM={cN:"number",b:e.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0},e.RM={cN:"regexp",b:/\//,e:/\/[gimuy]*/,i:/\n/,c:[e.BE,{b:/\[/,e:/\]/,r:0,c:[e.BE]}]},e.TM={cN:"title",b:e.IR,r:0},e.UTM={cN:"title",b:e.UIR,r:0},e.METHOD_GUARD={b:"\\.\\s*"+e.UIR,r:0},e.registerLanguage("1c",function(e){var t="[A-Za-zА-Π―Π°-яёЁ_][A-Za-zА-Π―Π°-яёЁ_0-9]+",r="Π΄Π°Π»Π΅Π΅ ",a="Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ для Ссли ΠΈ ΠΈΠ· ΠΈΠ»ΠΈ ΠΈΠ½Π°Ρ‡Π΅ иначССсли ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ конСцСсли ΠΊΠΎΠ½Π΅Ρ†ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΈ ΠΊΠΎΠ½Π΅Ρ†Ρ†ΠΈΠΊΠ»Π° Π½Π΅ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌ ΠΏΠΎ ΠΏΠΎΠΊΠ° ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΡ€Π΅Ρ€Π²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ Ρ‚ΠΎΠ³Π΄Π° Ρ†ΠΈΠΊΠ» экспорт ",i=r+a,n="Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠΈΠ·Ρ„Π°ΠΉΠ»Π° ",o="Π²Π΅Π±ΠΊΠ»ΠΈΠ΅Π½Ρ‚ вмСсто внСшнССсоСдинСниС ΠΊΠ»ΠΈΠ΅Π½Ρ‚ конСцобласти ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΊΠ»ΠΈΠ΅Π½Ρ‚ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠ΅ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠ΅Ρ€Π²Π΅Ρ€ Π½Π°ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅ наклиСнтСнасСрвСрС наклиСнтСнасСрвСрСбСзконтСкста насСрвСрС насСрвСрСбСзконтСкста ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Π΄ послС сСрвСр толстыйклиСнтобычноСприлоТСниС толстыйклиСнтуправляСмоСприлоТСниС Ρ‚ΠΎΠ½ΠΊΠΈΠΉΠΊΠ»ΠΈΠ΅Π½Ρ‚ ",s=n+o,l="Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Ρ€Π°Π½ΠΈΡ† Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΡΡ‚Ρ€ΠΎΠΊ символтабуляции ",c="ansitooem oemtoansi ввСстивидсубконто ввСстипСрСчислСниС ввСстипСриод ввСстиплансчСтов выбранныйплансчСтов Π΄Π°Ρ‚Π°Π³ΠΎΠ΄ датамСсяц датачисло заголовоксистСмы значСниСвстроку значСниСизстроки ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΈΠ± ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ кодсимв ΠΊΠΎΠ½Π³ΠΎΠ΄Π° ΠΊΠΎΠ½Π΅Ρ†ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°Π±ΠΈ конСцрассчитанногопСриодаби конСцстандартногоинтСрвала ΠΊΠΎΠ½ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π° конмСсяца ΠΊΠΎΠ½Π½Π΅Π΄Π΅Π»ΠΈ Π»ΠΎΠ³ Π»ΠΎΠ³10 ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ΠΊΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎΡΡƒΠ±ΠΊΠΎΠ½Ρ‚ΠΎ названиСинтСрфСйса Π½Π°Π·Π²Π°Π½ΠΈΠ΅Π½Π°Π±ΠΎΡ€Π°ΠΏΡ€Π°Π² Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒΠ²ΠΈΠ΄ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒΡΡ‡Π΅Ρ‚ найтиссылки Π½Π°Ρ‡Π°Π»ΠΎΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°Π±ΠΈ началостандартногоинтСрвала Π½Π°Ρ‡Π³ΠΎΠ΄Π° Π½Π°Ρ‡ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π° начмСсяца Π½Π°Ρ‡Π½Π΅Π΄Π΅Π»ΠΈ номСрднягода номСрднянСдСли Π½ΠΎΠΌΠ΅Ρ€Π½Π΅Π΄Π΅Π»ΠΈΠ³ΠΎΠ΄Π° обработкаоТидания основнойТурналрасчСтов основнойплансчСтов основнойязык ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒΠΎΠΊΠ½ΠΎΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠΉ пСриодстр ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΡ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄Π°Ρ‚ΡƒΡ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΎΡ‚Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽΡ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΡƒΡΡ‚ΠΎΠ΅Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ‚Π° прСфиксавтонумСрации ΠΏΡ€ΠΎΠΏΠΈΡΡŒ пустоСзначСниС Ρ€Π°Π·ΠΌ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡ€Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹Π½Π° Ρ€Π°ΡΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡ€Π΅Π³ΠΈΡΡ‚Ρ€Ρ‹ΠΏΠΎ симв ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΠΎΠ±ΡŠΠ΅ΠΊΡ‚ статусвозврата стрколичСствострок ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠΏΠΎΠ·ΠΈΡ†ΠΈΡŽΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° счСтпокоду тСкущССврСмя типзначСния типзначСниястр ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ‚Π°Π½Π° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ‚Π°ΠΏΠΎ Ρ„ΠΈΠΊΡΡˆΠ°Π±Π»ΠΎΠ½ шаблон ",d="acos asin atan base64Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ base64строка cos exp log log10 pow sin sqrt tan xmlΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ xmlстрока xmlΡ‚ΠΈΠΏ xmlΡ‚ΠΈΠΏΠ·Π½Ρ‡ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ΅ΠΎΠΊΠ½ΠΎ бСзопасныйрСТим бСзопасныйрСТимраздСлСнияданных Π±ΡƒΠ»Π΅Π²ΠΎ ввСстидату ввСстизначСниС ввСстистроку ввСстичисло Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡ‡Ρ‚Π΅Π½ΠΈΡxml вопрос Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅Π³ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠΆΡƒΡ€Π½Π°Π»Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΠΏΡ€Π°Π²Π΄ΠΎΡΡ‚ΡƒΠΏΠ° Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π³ΠΎΠ΄ Π΄Π°Π½Π½Ρ‹Π΅Ρ„ΠΎΡ€ΠΌΡ‹Π²Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄Π°Ρ‚Π° дСнь дСньгода дСньнСдСли Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒΠΌΠ΅ΡΡΡ† Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ΄Π°Π½Π½Ρ‹Π΅Π΄Π»ΡΡ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡ€Π°Π±ΠΎΡ‚ΡƒΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π°Π²Π΅Ρ€ΡˆΠΈΡ‚ΡŒΡ€Π°Π±ΠΎΡ‚ΡƒΡΠΈΡΡ‚Π΅ΠΌΡ‹ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒΠ²Π½Π΅ΡˆΠ½ΡŽΡŽΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΡΠΏΡ€Π°Π²ΠΊΡƒ Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒjson Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒxml Π·Π°ΠΏΠΈΡΠ°Ρ‚ΡŒΠ΄Π°Ρ‚Ρƒjson Π·Π°ΠΏΠΈΡΡŒΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΡΠ²ΠΎΠΉΡΡ‚Π² Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒΡ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒΡΠΈΡΡ‚Π΅ΠΌΡƒ Π·Π°Ρ„ΠΈΠΊΡΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π²Π΄Π°Π½Π½Ρ‹Π΅Ρ„ΠΎΡ€ΠΌΡ‹ значСниСвстрокувнутр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π²Ρ„Π°ΠΉΠ» Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΎ значСниСизстрокивнутр Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΈΠ·Ρ„Π°ΠΉΠ»Π° ΠΈΠ·xmlΡ‚ΠΈΠΏΠ° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΌΠΎΠ΄Π΅Π»ΠΈxdto ΠΈΠΌΡΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π° ΠΈΠΌΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡΠΎΠ±ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠΈΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½ΠΎΠ³ΠΎΡƒΡΡ‚Ρ€ΠΎΠΉΡΡ‚Π²Π° ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ‚Ρ€ΠΎΠΊΡƒ ΠΊΠΎΠ΄Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ кодсимвола командасистСмы ΠΊΠΎΠ½Π΅Ρ†Π³ΠΎΠ΄Π° конСцдня ΠΊΠΎΠ½Π΅Ρ†ΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π° конСцмСсяца ΠΊΠΎΠ½Π΅Ρ†ΠΌΠΈΠ½ΡƒΡ‚Ρ‹ ΠΊΠΎΠ½Π΅Ρ†Π½Π΅Π΄Π΅Π»ΠΈ конСцчаса конфигурациябазыданныхизмСнСнадинамичСски конфигурацияизмСнСна ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ΄Π°Π½Π½Ρ‹Π΅Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡ„Π°ΠΉΠ» ΠΊΡ€Π°Ρ‚ΠΊΠΎΠ΅ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΎΡˆΠΈΠ±ΠΊΠΈ Π»Π΅Π² макс мСстноСврСмя мСсяц ΠΌΠΈΠ½ ΠΌΠΈΠ½ΡƒΡ‚Π° ΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌ Π½Π°ΠΉΡ‚ΠΈ найтинСдопустимыСсимволыxml найтиокнопонавигационнойссылкС Π½Π°ΠΉΡ‚ΠΈΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅Π½Π°ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ найтипоссылкам Π½Π°ΠΉΡ‚ΠΈΡ„Π°ΠΉΠ»Ρ‹ Π½Π°Ρ‡Π°Π»ΠΎΠ³ΠΎΠ΄Π° началодня Π½Π°Ρ‡Π°Π»ΠΎΠΊΠ²Π°Ρ€Ρ‚Π°Π»Π° началомСсяца Π½Π°Ρ‡Π°Π»ΠΎΠΌΠΈΠ½ΡƒΡ‚Ρ‹ Π½Π°Ρ‡Π°Π»ΠΎΠ½Π΅Π΄Π΅Π»ΠΈ началочаса Π½Π°Ρ‡Π°Ρ‚ΡŒΠ·Π°ΠΏΡ€ΠΎΡΡ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°Ρ‡Π°Ρ‚ΡŒΠ·Π°ΠΏΡƒΡΠΊΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Ρ‡Π°Ρ‚ΡŒΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»Π° Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»Π° Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π²Π½Π΅ΡˆΠ½Π΅ΠΉΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ€Π°Π±ΠΎΡ‚Ρ‹ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ€Π°Π±ΠΎΡ‚Ρ‹ΡΡ„Π°ΠΉΠ»Π°ΠΌΠΈ Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠΈΡΠΊΡ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Π²Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ…Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»Π° Π½Π°Ρ‡Π°Ρ‚ΡŒΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ…ΠΈΠ·Ρ„Π°ΠΉΠ»Π° Π½Π°Ρ‡Π°Ρ‚ΡŒΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π° Π½Π°Ρ‡Π°Ρ‚ΡŒΡ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ Π½Π°Ρ‡Π°Ρ‚ΡŒΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Ρ„Π°ΠΉΠ»ΠΎΠ² Π½Π°Ρ‡Π°Ρ‚ΡŒΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΡƒΠ²Π½Π΅ΡˆΠ½Π΅ΠΉΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π½Π°Ρ‡Π°Ρ‚ΡŒΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΡƒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ€Π°Π±ΠΎΡ‚Ρ‹ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ Π½Π°Ρ‡Π°Ρ‚ΡŒΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΊΡƒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΡ€Π°Π±ΠΎΡ‚Ρ‹ΡΡ„Π°ΠΉΠ»Π°ΠΌΠΈ нСдСлягода Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ номСрсСансаинформационнойбазы номСрсоСдинСнияинформационнойбазы Π½Ρ€Π΅Π³ нстр ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΡŽΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ»Ρ‹ ΠΎΠΊΡ€ описаниСошибки ΠΎΠΏΠΎΠ²Π΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠΏΠΎΠ²Π΅ΡΡ‚ΠΈΡ‚ΡŒΠΎΠ±ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ·Π°ΠΏΡ€ΠΎΡΠ°Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΠΈΠ½Π΄Π΅ΠΊΡΡΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ΡΠΏΡ€Π°Π²ΠΊΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡΠΏΡ€Π°Π²ΠΊΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡ„ΠΎΡ€ΠΌΡƒ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒΡ„ΠΎΡ€ΠΌΡƒΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΡŽ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒΠΆΡƒΡ€Π½Π°Π»Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒΠ½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ парамСтрыдоступа пСрСйтипонавигационнойссылкС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ» ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠ²Π½Π΅ΡˆΠ½ΡŽΡŽΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ·Π°ΠΏΡ€ΠΎΡΠ°Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‚Ρ‹ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‚Ρ‹ΡΡ„Π°ΠΉΠ»Π°ΠΌΠΈ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΎΡˆΠΈΠ±ΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ²Π²ΠΎΠ΄Π΄Π°Ρ‚Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ²Π²ΠΎΠ΄Π·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ²Π²ΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΊΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ²Π²ΠΎΠ΄Ρ‡ΠΈΡΠ»Π° ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ²ΠΎΠΏΡ€ΠΎΡ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽΠΎΠ±ΠΎΡˆΠΈΠ±ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠ½Π°ΠΊΠ°Ρ€Ρ‚Π΅ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΠ΅ΠΈΠΌΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒcomΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒxmlΡ‚ΠΈΠΏ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ°Π΄Ρ€Π΅ΡΠΏΠΎΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒΡΠ΅Π°Π½ΡΠΎΠ² ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡΡΠΏΡΡ‰Π΅Π³ΠΎΡΠ΅Π°Π½ΡΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠ·Π°ΡΡ‹ΠΏΠ°Π½ΠΈΡΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎΡΠ΅Π°Π½ΡΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄Π°Π½Π½Ρ‹Π΅Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹Π΅ΠΊΠΎΠ΄Ρ‹Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ΄ΠΎΠΏΡƒΡΡ‚ΠΈΠΌΡ‹Π΅Ρ‡Π°ΡΠΎΠ²Ρ‹Π΅ΠΏΠΎΡΡΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΡΠΈΡΡ‚Π΅ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΎΡ‚Π±ΠΎΡ€Π°ΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΠ·Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΠΌΡΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎΡ„Π°ΠΉΠ»Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΠΌΡΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽΡΠΊΡ€Π°Π½ΠΎΠ²ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠ°ΠΊΠ΅Ρ‚ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠ°ΡΠΊΡƒΠ²ΡΠ΅Ρ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠ°ΡΠΊΡƒΠ²ΡΠ΅Ρ„Π°ΠΉΠ»Ρ‹ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠ°ΡΠΊΡƒΠ²ΡΠ΅Ρ„Π°ΠΉΠ»Ρ‹ΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠ΅ΡΡ‚ΠΎΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΏΠΎΠ°Π΄Ρ€Π΅ΡΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽΠ΄Π»ΠΈΠ½ΡƒΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽΡΡΡ‹Π»ΠΊΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠ½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½ΡƒΡŽΡΡΡ‹Π»ΠΊΡƒΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΠ±Π°Π·Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ…ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ‰ΠΈΠΉΠΌΠ°ΠΊΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠ±Ρ‰ΡƒΡŽΡ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠΊΠ½Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΡƒΡŽΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒΠ²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎΡ€Π΅ΠΆΠΈΠΌΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ…ΠΎΠΏΡ†ΠΈΠΉΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΠΎΠ»Π½ΠΎΠ΅ΠΈΠΌΡΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΡΠ½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ…ΡΡΡ‹Π»ΠΎΠΊ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠΏΡƒΡ‚ΠΈ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠΏΡƒΡ‚ΠΈΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒΠΏΡƒΡ‚ΠΈΡΠ΅Ρ€Π²Π΅Ρ€Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠ΅Π°Π½ΡΡ‹ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΈΡ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΠΎΡΡ‚Π°Π²ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ°odata ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΡƒΡ…Ρ€Π°Π½Π΅Π½ΠΈΡΠ±Π°Π·Ρ‹Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉΡΠ΅Π°Π½ΡΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ» ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ»Ρ‹ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ„ΠΎΡ€ΠΌΡƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽΠΎΠΏΡ†ΠΈΡŽ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽΠΎΠΏΡ†ΠΈΡŽΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡ‡Π°ΡΠΎΠ²ΠΎΠΉΠΏΠΎΡΡΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΠ²ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ» ΠΏΠΎΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ»Ρ‹ ΠΏΡ€Π°Π² праводоступа ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ прСдставлСниСкодалокализации прСдставлСниСпСриода прСдставлСниСправа прСдставлСниСприлоТСния прСдставлСниСсобытияТурналарСгистрации прСдставлСниСчасовогопояса ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒΡ€Π°Π±ΠΎΡ‚ΡƒΡΠΈΡΡ‚Π΅ΠΌΡ‹ ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒΠ²Ρ‹Π·ΠΎΠ² ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒjson ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒxml ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΠ΄Π°Ρ‚Ρƒjson пустаястрока Ρ€Π°Π±ΠΎΡ‡ΠΈΠΉΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠ΄Π°Π½Π½Ρ‹Π΅Π΄Π»ΡΡ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ» Ρ€Π°Π·ΠΎΡ€Π²Π°Ρ‚ΡŒΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΡΠ²Π½Π΅ΡˆΠ½ΠΈΠΌΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠΌΠ΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°ΡΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ‚Ρ€ΠΎΠΊΡƒ Ρ€ΠΎΠ»ΡŒΠ΄ΠΎΡΡ‚ΡƒΠΏΠ½Π° сСкунда сигнал символ ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΠΆΡƒΡ€Π½Π°Π»Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ смСщСниСлСтнСговрСмСни смСщСниСстандартноговрСмСни ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒΠ±ΡƒΡ„Π΅Ρ€Ρ‹Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ… ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒΡ„Π°Π±Ρ€ΠΈΠΊΡƒxdto сокрл сокрлп сокрп ΡΠΎΠΎΠ±Ρ‰ΠΈΡ‚ΡŒ состояниС ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΠ½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ срСд стрдлина стрзаканчиваСтсяна ΡΡ‚Ρ€Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ стрнайти стрначинаСтсяс строка строкасоСдинСнияинформационнойбазы ΡΡ‚Ρ€ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ‚Ρ€ΠΎΠΊΡƒ ΡΡ‚Ρ€Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡΡ‚Ρ€ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚ΡŒ ΡΡ‚Ρ€ΡΡ€Π°Π²Π½ΠΈΡ‚ΡŒ стрчисловхоТдСний стрчислострок ΡΡ‚Ρ€ΡˆΠ°Π±Π»ΠΎΠ½ тСкущаядата тСкущаядатасСанса Ρ‚Π΅ΠΊΡƒΡ‰Π°ΡΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°ΡΠ΄Π°Ρ‚Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°ΡΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Π°ΡΠ΄Π°Ρ‚Π°Π²ΠΌΠΈΠ»Π»ΠΈΡΠ΅ΠΊΡƒΠ½Π΄Π°Ρ… тСкущийвариантинтСрфСйсаклиСнтскогоприлоТСния Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉΠ²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉΠΊΠΎΠ΄Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ тСкущийрСТимзапуска тСкущийязык тСкущийязыксистСмы Ρ‚ΠΈΠΏ Ρ‚ΠΈΠΏΠ·Π½Ρ‡ транзакцияактивна Ρ‚Ρ€Π΅Π³ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΠ΄Π°Π½Π½Ρ‹Π΅ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΠΈΠ·Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ³ΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒΡ„Π°ΠΉΠ»Ρ‹ ΡƒΠ½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½ΠΎΠ΅Π²Ρ€Π΅ΠΌΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ±Π΅Π·ΠΎΠΏΠ°ΡΠ½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌΡ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΡΠ΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒΡΠ΅Π°Π½ΡΠΎΠ² ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ²Π½Π΅ΡˆΠ½ΡŽΡŽΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠ·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡΡΠΏΡΡ‰Π΅Π³ΠΎΡΠ΅Π°Π½ΡΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠ·Π°ΡΡ‹ΠΏΠ°Π½ΠΈΡΠΏΠ°ΡΡΠΈΠ²Π½ΠΎΠ³ΠΎΡΠ΅Π°Π½ΡΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ²Ρ€Π΅ΠΌΡΠΎΠΆΠΈΠ΄Π°Π½ΠΈΡΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΡΠΈΡΡ‚Π΅ΠΌΡ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΊΡ€Π°Ρ‚ΠΊΠΈΠΉΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽΠ΄Π»ΠΈΠ½ΡƒΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΌΠΎΠ½ΠΎΠΏΠΎΠ»ΡŒΠ½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠ½Π°ΡΡ‚Ρ€ΠΎΠΉΠΊΠΈΠΊΠ»ΠΈΠ΅Π½Ρ‚Π°Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ…ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎΡ€Π΅ΠΆΠΈΠΌΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Ρ…ΠΎΠΏΡ†ΠΈΠΉΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ° ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒΡΠ»ΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΉΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‚Ρ‹ΡΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠ΅ΠΉ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‚Ρ‹ΡΡ„Π°ΠΉΠ»Π°ΠΌΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ΡΠ²Π½Π΅ΡˆΠ½ΠΈΠΌΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΎΠΌΠ΄Π°Π½Π½Ρ‹Ρ… ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΠΈΠ΅ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΈΡ„ΠΎΡ€ΠΌΡ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΠΎΡΡ‚Π°Π²ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΠΎΠ³ΠΎΠΈΠ½Ρ‚Π΅Ρ€Ρ„Π΅ΠΉΡΠ°odata ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ‡Π°ΡΠΎΠ²ΠΎΠΉΠΏΠΎΡΡΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒΡ‡Π°ΡΠΎΠ²ΠΎΠΉΠΏΠΎΡΡΡΠ΅Π°Π½ΡΠ° Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Ρ†Π΅Π» час часовойпояс часовойпояссСанса число Ρ‡ΠΈΡΠ»ΠΎΠΏΡ€ΠΎΠΏΠΈΡΡŒΡŽ этоадрСсврСмСнногохранилища ",p="wsссылки Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ библиотСкамакСтовоформлСниякомпоновкиданных библиотСкастилСй бизнСспроцСссы Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π½Π΅ΡˆΠ½ΠΈΠ΅ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ встроСнныСпокупки главныйинтСрфСйс Π³Π»Π°Π²Π½Ρ‹ΠΉΡΡ‚ΠΈΠ»ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ доставляСмыСувСдомлСния ΠΆΡƒΡ€Π½Π°Π»Ρ‹Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π·Π°Π΄Π°Ρ‡ΠΈ информацияобинтСрнСтсоСдинСнии ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉΠ΄Π°Ρ‚Ρ‹ ΠΈΡΡ‚ΠΎΡ€ΠΈΡΡ€Π°Π±ΠΎΡ‚Ρ‹ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ константы ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈΠΎΡ‚Π±ΠΎΡ€Π° ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ€Π΅ΠΊΠ»Π°ΠΌΡ‹ отправкадоставляСмыхувСдомлСний ΠΎΡ‚Ρ‡Π΅Ρ‚Ρ‹ ΠΏΠ°Π½Π΅Π»ΡŒΠ·Π°Π΄Π°Ρ‡ΠΎΡ парамСтрзапуска парамСтрысСанса пСрСчислСния планывидоврасчСта планывидовхарактСристик ΠΏΠ»Π°Π½Ρ‹ΠΎΠ±ΠΌΠ΅Π½Π° планысчСтов полнотСкстовыйпоиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉΠ±Π°Π·Ρ‹ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ провСркавстроСнныхпокупок рабочаядата Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ рСгистрыбухгалтСрии рСгистрынакоплСния рСгистрырасчСта рСгистрысвСдСний рСгламСнтныСзадания сСриализаторxdto справочники срСдствагСопозиционирования срСдствакриптографии ΡΡ€Π΅Π΄ΡΡ‚Π²Π°ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠΌΠ΅Π΄ΠΈΠ° срСдстваотобраТСниярСкламы срСдствапочты срСдстватСлСфонии Ρ„Π°Π±Ρ€ΠΈΠΊΠ°xdto Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ΠΏΠΎΡ‚ΠΎΠΊΠΈ фоновыСзадания хранилищанастроСк Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ²ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² хранилищСнастроСкданныхформ хранилищСобщихнастроСк Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ…Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊΠ΄ΠΈΠ½Π°ΠΌΠΈΡ‡Π΅ΡΠΊΠΈΡ…ΡΠΏΠΈΡΠΊΠΎΠ² Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ…Π½Π°ΡΡ‚Ρ€ΠΎΠ΅ΠΊΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² хранилищСсистСмныхнастроСк ",m=l+c+d+p,u="webΡ†Π²Π΅Ρ‚Π° windowsΡ†Π²Π΅Ρ‚Π° windowsΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ рамкистиля символы цвСтастиля ΡˆΡ€ΠΈΡ„Ρ‚Ρ‹ΡΡ‚ΠΈΠ»Ρ ",b="автоматичСскоСсохранСниСданныхформывнастройках автонумСрациявформС автораздвиТСниСсСрий анимациядиаграммы вариантвыравниванияэлСмСнтовизаголовков вариантуправлСниявысотойтаблицы Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°ΡΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°Ρ„ΠΎΡ€ΠΌΡ‹ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° Π²ΠΈΠ΄Π³Ρ€ΡƒΠΏΠΏΡ‹Ρ„ΠΎΡ€ΠΌΡ‹ Π²ΠΈΠ΄Π΄Π΅ΠΊΠΎΡ€Π°Ρ†ΠΈΠΈΡ„ΠΎΡ€ΠΌΡ‹ виддополнСнияэлСмСнтаформы видизмСнСнияданных Π²ΠΈΠ΄ΠΊΠ½ΠΎΠΏΠΊΠΈΡ„ΠΎΡ€ΠΌΡ‹ Π²ΠΈΠ΄ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ видподписСйкдиаграммС видполяформы Π²ΠΈΠ΄Ρ„Π»Π°ΠΆΠΊΠ° влияниСразмСранапузырСкдиаграммы Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π° Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ группировкаподчинСнныхэлСмСнтовформы группыиэлСмСнты дСйствиСпСрСтаскивания Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉΡ€Π΅ΠΆΠΈΠΌΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡ допустимыСдСйствияпСрСтаскивания интСрвалмСТдуэлСмСнтамиформы ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΏΠΎΠ»ΠΎΡΡ‹ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΎΡ‡ΠΊΠΈΠ±ΠΈΡ€ΠΆΠ΅Π²ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ историявыборапривводС источникзначСнийоситочСкдиаграммы ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΡ€Π°Π·ΠΌΠ΅Ρ€Π°ΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠ°Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ катСгориягруппыкоманд максимумсСрий Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π΄Π΅Ρ€Π΅Π²Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΡΠΏΠΈΡΠΊΠ° обновлСниСтСкстарСдактирования ориСнтациядСндрограммы ориСнтациядиаграммы ориСнтациямСтокдиаграммы ориСнтациямСтоксводнойдиаграммы ориСнтацияэлСмСнтаформы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π²Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π²Π»Π΅Π³Π΅Π½Π΄Π΅Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π³Ρ€ΡƒΠΏΠΏΡ‹ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΡˆΠΊΠ°Π»Ρ‹Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ отобраТСниСзначСнийсводнойдиаграммы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹Π³Π°Π½Ρ‚Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΊΠ½ΠΎΠΏΠΊΠΈΠ²Ρ‹Π±ΠΎΡ€Π° отобраТСниСобсуТдСнийформы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉΠ³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ…Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠΏΡƒΠ·Ρ‹Ρ€ΡŒΠΊΠΎΠ²ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ отобраТСниСпанСлипоиска отобраТСниСподсказки отобраТСниСпрСдупрСТдСнияприрСдактировании отобраТСниСразмСткиполосырСгулирования отобраТСниСстраницформы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ отобраТСниСтСкстазначСниядиаграммыганта отобраТСниСуправлСнияобычнойгруппы ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ„ΠΈΠ³ΡƒΡ€Ρ‹ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π»ΠΈΡ‚Ρ€Π°Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉΠ³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Π΄Π΅Π½Π΄Ρ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹Π³Π°Π½Ρ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ°ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°ΡΠ²ΠΎΠ΄Π½ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ поисквтаблицСпривводС полоТСниСзаголовкаэлСмСнтаформы ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈΠΊΠ½ΠΎΠΏΠΊΠΈΡ„ΠΎΡ€ΠΌΡ‹ полоТСниСкартинкиэлСмСнтаграфичСскойсхСмы ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉΠΏΠ°Π½Π΅Π»ΠΈΡ„ΠΎΡ€ΠΌΡ‹ полоТСниСкоманднойпанСлиэлСмСнтаформы полоТСниСопорнойточкиотрисовки полоТСниСподписСйкдиаграммС ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉΡˆΠΊΠ°Π»Ρ‹Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠΈΠ·ΠΌΠ΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ полоТСниСсостоянияпросмотра полоТСниСстрокипоиска ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚Π΅ΠΊΡΡ‚Π°ΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΠ»ΠΈΠ½ΠΈΠΈ полоТСниСуправлСнияпоиском ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΡˆΠΊΠ°Π»Ρ‹Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠΎΡ€ΡΠ΄ΠΎΠΊΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ‚ΠΎΡ‡Π΅ΠΊΠ³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠΉΠ³ΠΈΡΡ‚ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ порядоксСрийвлСгСндСдиаграммы Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΡˆΠΊΠ°Π»Ρ‹Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ растягиваниСповСртикалидиаграммыганта рСТимавтоотобраТСниясостояния рСТимвводастроктаблицы Ρ€Π΅ΠΆΠΈΠΌΠ²Ρ‹Π±ΠΎΡ€Π°Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠ³ΠΎ рСТимвыдСлСниядаты рСТимвыдСлСниястрокитаблицы рСТимвыдСлСниятаблицы рСТимизмСнСнияразмСра рСТимизмСнСниясвязанногозначСния Ρ€Π΅ΠΆΠΈΠΌΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠ΄ΠΈΠ°Π»ΠΎΠ³Π°ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Ρ€Π΅ΠΆΠΈΠΌΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π° рСТимосновногоокнаклиСнтскогоприлоТСния рСТимоткрытияокнаформы рСТимотобраТСниявыдСлСния рСТимотобраТСниягСографичСскойсхСмы рСТимотобраТСниязначСнийсСрии рСТимотрисовкисСткиграфичСскойсхСмы рСТимполупрозрачностидиаграммы Ρ€Π΅ΠΆΠΈΠΌΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ рСТимразмСщСниянастраницС рСТимрСдактированияколонки рСТимсглаТиваниядиаграммы рСТимсглаТиванияиндикатора рСТимсписказадач сквозноСвыравниваниС сохранСниСданныхформывнастройках ΡΠΏΠΎΡΠΎΠ±Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΡ‚Π΅ΠΊΡΡ‚Π°Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΡˆΠΊΠ°Π»Ρ‹Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΡΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ стандартнаягруппакоманд стандартноСоформлСниС ΡΡ‚Π°Ρ‚ΡƒΡΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΡΡ‚ΠΈΠ»ΡŒΡΡ‚Ρ€Π΅Π»ΠΊΠΈ типаппроксимациилиниитрСндадиаграммы Ρ‚ΠΈΠΏΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ‚ΠΈΠΏΠ΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ΡˆΠΊΠ°Π»Ρ‹Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ типимпортасСрийслоягСографичСскойсхСмы типлиниигСографичСскойсхСмы Ρ‚ΠΈΠΏΠ»ΠΈΠ½ΠΈΠΈΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ типмаркСрагСографичСскойсхСмы Ρ‚ΠΈΠΏΠΌΠ°Ρ€ΠΊΠ΅Ρ€Π°Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ типобластиоформлСния типорганизацииисточникаданныхгСографичСскойсхСмы типотобраТСниясСриислоягСографичСскойсхСмы Ρ‚ΠΈΠΏΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠ³ΠΎΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΎΠΉΡΡ…Π΅ΠΌΡ‹ Ρ‚ΠΈΠΏΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΡΡˆΠΊΠ°Π»Ρ‹ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Π»Π΅Π³Π΅Π½Π΄Ρ‹Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΎΠΉΡΡ…Π΅ΠΌΡ‹ Ρ‚ΠΈΠΏΠΏΠΎΠΈΡΠΊΠ°ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²Π³Π΅ΠΎΠ³Ρ€Π°Ρ„ΠΈΡ‡Π΅ΡΠΊΠΎΠΉΡΡ…Π΅ΠΌΡ‹ типпроСкциигСографичСскойсхСмы типразмСщСнияизмСрСний типразмСщСниярСквизитовизмСрСний типрамкиэлСмСнтауправлСния типсводнойдиаграммы типсвязидиаграммыганта типсоСдинСниязначСнийпосСриямдиаграммы типсоСдинСнияточСкдиаграммы Ρ‚ΠΈΠΏΡΠΎΠ΅Π΄ΠΈΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉΠ»ΠΈΠ½ΠΈΠΈ типстороныэлСмСнтаграфичСскойсхСмы Ρ‚ΠΈΠΏΡ„ΠΎΡ€ΠΌΡ‹ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Ρ‚ΠΈΠΏΡˆΠΊΠ°Π»Ρ‹Ρ€Π°Π΄Π°Ρ€Π½ΠΎΠΉΠ΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ„Π°ΠΊΡ‚ΠΎΡ€Π»ΠΈΠ½ΠΈΠΈΡ‚Ρ€Π΅Π½Π΄Π°Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΡ‹ Ρ„ΠΈΠ³ΡƒΡ€Π°ΠΊΠ½ΠΎΠΏΠΊΠΈ фигурыграфичСскойсхСмы фиксациявтаблицС Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΄Π½ΡΡˆΠΊΠ°Π»Ρ‹Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ ΡˆΠΈΡ€ΠΈΠ½Π°ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½Π½Ρ‹Ρ…ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²Ρ„ΠΎΡ€ΠΌΡ‹ ",g="виддвиТСниябухгалтСрии виддвиТСниянакоплСния видпСриодарСгистрарасчСта видсчСта Π²ΠΈΠ΄Ρ‚ΠΎΡ‡ΠΊΠΈΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°Π±ΠΈΠ·Π½Π΅ΡΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π°Π³Ρ€Π΅Π³Π°Ρ‚Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π³Ρ€ΡƒΠΏΠΏΠΈΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Ρ€Π΅ΠΆΠΈΠΌΠ°ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΡΡ€Π΅Π·Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΠ°Π³Ρ€Π΅Π³Π°Ρ‚Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Π½Π°ΠΊΠΎΠΏΠ»Π΅Π½ΠΈΡ рСТимавтоврСмя рСТимзаписидокумСнта рСТимпровСдСниядокумСнта ",f="авторСгистрацияизмСнСний допустимыйномСрсообщСния отправкаэлСмСнтаданных получСниСэлСмСнтаданных ",_="ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΡ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ориСнтациястраницы полоТСниСитоговколоноксводнойтаблицы полоТСниСитоговстроксводнойтаблицы ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Ρ‚Π΅ΠΊΡΡ‚Π°ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ располоТСниСзаголовкагруппировкитабличногодокумСнта способчтСниязначСнийтабличногодокумСнта типдвустороннСйпСчати типзаполнСнияобластитабличногодокумСнта типкурсоровтабличногодокумСнта типлиниирисункатабличногодокумСнта типлинииячСйкитабличногодокумСнта типнаправлСнияпСрСходатабличногодокумСнта типотобраТСниявыдСлСниятабличногодокумСнта типотобраТСниялинийсводнойтаблицы типразмСщСниятСкстатабличногодокумСнта типрисункатабличногодокумСнта типсмСщСниятабличногодокумСнта Ρ‚ΠΈΠΏΡƒΠ·ΠΎΡ€Π°Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΡ„Π°ΠΉΠ»Π°Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΎΡ‡Π½ΠΎΡΡ‚ΡŒΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ чСрСдованиСрасполоТСниястраниц ",h="отобраТСниСврСмСниэлСмСнтовпланировщика ",v="Ρ‚ΠΈΠΏΡ„Π°ΠΉΠ»Π°Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ",y="ΠΎΠ±Ρ…ΠΎΠ΄Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π·Π°ΠΏΡ€ΠΎΡΠ° типзаписизапроса ",S="Π²ΠΈΠ΄Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΡ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡΠΎΡ‚Ρ‡Π΅Ρ‚Π° типдобавлСнияпрСдставлСний типизмСрСнияпостроитСляотчСта типразмСщСнияитогов ",C="доступкфайлу Ρ€Π΅ΠΆΠΈΠΌΠ΄ΠΈΠ°Π»ΠΎΠ³Π°Π²Ρ‹Π±ΠΎΡ€Π°Ρ„Π°ΠΉΠ»Π° рСТимоткрытияфайла ",x="типизмСрСнияпостроитСлязапроса ",E="Π²ΠΈΠ΄Π΄Π°Π½Π½Ρ‹Ρ…Π°Π½Π°Π»ΠΈΠ·Π° мСтодкластСризации Ρ‚ΠΈΠΏΠ΅Π΄ΠΈΠ½ΠΈΡ†Ρ‹ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈΠ°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠ·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡΡ‚Π°Π±Π»ΠΈΡ†Ρ‹Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°Π°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡ‡ΠΈΡΠ»ΠΎΠ²Ρ‹Ρ…Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉΠ°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… типисточникаданныхпоискаассоциаций Ρ‚ΠΈΠΏΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈΠ°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ…Π΄Π΅Ρ€Π΅Π²ΠΎΡ€Π΅ΡˆΠ΅Π½ΠΈΠΉ типколонкианализаданныхкластСризация типколонкианализаданныхобщаястатистика типколонкианализаданныхпоискассоциаций Ρ‚ΠΈΠΏΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈΠ°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΠΈΡΠΊΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ Ρ‚ΠΈΠΏΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈΠΌΠΎΠ΄Π΅Π»ΠΈΠΏΡ€ΠΎΠ³Π½ΠΎΠ·Π° типмСрырасстоянияанализаданных типотсСчСнияправилассоциации типполяанализаданных типстандартизациианализаданных типупорядочиванияправилассоциациианализаданных Ρ‚ΠΈΠΏΡƒΠΏΠΎΡ€ΡΠ΄ΠΎΡ‡ΠΈΠ²Π°Π½ΠΈΡΡˆΠ°Π±Π»ΠΎΠ½ΠΎΠ²ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉΠ°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΡƒΠΏΡ€ΠΎΡ‰Π΅Π½ΠΈΡΠ΄Π΅Ρ€Π΅Π²Π°Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ ",N="wsΠ½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° Π²Π°Ρ€ΠΈΠ°Π½Ρ‚xpathxs вариантзаписидатыjson вариантпростоготипаxs Π²ΠΈΠ΄Π³Ρ€ΡƒΠΏΠΏΡ‹ΠΌΠΎΠ΄Π΅Π»ΠΈxs видфасСтаxdto дСйствиСпостроитСляdom Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΡΡ‚ΡŒΠΏΡ€ΠΎΡΡ‚ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ°xs Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΡΡ‚ΡŒΡΠΎΡΡ‚Π°Π²Π½ΠΎΠ³ΠΎΡ‚ΠΈΠΏΠ°xs Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π½ΠΎΡΡ‚ΡŒΡΡ…Π΅ΠΌΡ‹xs запрСщСнныСподстановкиxs ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΠ³Ρ€ΡƒΠΏΠΏΠΏΠΎΠ΄ΡΡ‚Π°Π½ΠΎΠ²ΠΊΠΈxs ΠΊΠ°Ρ‚Π΅Π³ΠΎΡ€ΠΈΡΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠ°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°xs катСгорияограничСнияидСнтичностиxs катСгорияограничСнияпространствимСнxs мСтоднаслСдованияxs ΠΌΠΎΠ΄Π΅Π»ΡŒΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ³ΠΎxs Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Ρ‚ΠΈΠΏΠ°xml нСдопустимыСподстановкиxs ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ…ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²xs обработкасодСрТимогоxs ограничСниСзначСнияxs ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ΠΎΡ‚Π±ΠΎΡ€Π°ΡƒΠ·Π»ΠΎΠ²dom пСрСносстрокjson позициявдокумСнтСdom ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Π΅ΡΠΈΠΌΠ²ΠΎΠ»Ρ‹xml Ρ‚ΠΈΠΏΠ°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°xml типзначСнияjson типканоничСскогоxml Ρ‚ΠΈΠΏΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹xs Ρ‚ΠΈΠΏΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈxml Ρ‚ΠΈΠΏΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°domxpath Ρ‚ΠΈΠΏΡƒΠ·Π»Π°dom Ρ‚ΠΈΠΏΡƒΠ·Π»Π°xml Ρ„ΠΎΡ€ΠΌΠ°xml формапрСдставлСнияxs Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΄Π°Ρ‚Ρ‹json экранированиСсимволовjson ",T="видсравнСниякомпоновкиданных Π΄Π΅ΠΉΡΡ‚Π²ΠΈΠ΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΡ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… направлСниСсортировкикомпоновкиданных Ρ€Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ…ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΎΠ²Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… располоТСниСитоговкомпоновкиданных располоТСниСгруппировкикомпоновкиданных располоТСниСполСйгруппировкикомпоновкиданных располоТСниСполякомпоновкиданных располоТСниСрСквизитовкомпоновкиданных располоТСниСрСсурсовкомпоновкиданных типбухгалтСрскогоостаткакомпоновкиданных типвыводатСкстакомпоновкиданных Ρ‚ΠΈΠΏΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… типгруппыэлСмСнтовотборакомпоновкиданных типдополнСнияпСриодакомпоновкиданных Ρ‚ΠΈΠΏΠ·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΏΠΎΠ»Π΅ΠΉΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΌΠ°ΠΊΠ΅Ρ‚Π°Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… типмакСтаобластикомпоновкиданных типостаткакомпоновкиданных Ρ‚ΠΈΠΏΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… типразмСщСниятСкстакомпоновкиданных типсвязинаборовданныхкомпоновкиданных Ρ‚ΠΈΠΏΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… располоТСниСлСгСндыдиаграммыкомпоновкиданных типпримСнСнияотборакомпоновкиданных рСТимотобраТСнияэлСмСнтанастройкикомпоновкиданных рСТимотобраТСниянастроСккомпоновкиданных состояниСэлСмСнтанастройкикомпоновкиданных способвосстановлСниянастроСккомпоновкиданных Ρ€Π΅ΠΆΠΈΠΌΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΡ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… автопозициярСсурсовкомпоновкиданных Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠ³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… располоТСниСрСсурсоввдиаграммСкомпоновкиданных фиксациякомпоновкиданных ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΡƒΡΠ»ΠΎΠ²Π½ΠΎΠ³ΠΎΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΡΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ",w="Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΏΠΎΡ‡Ρ‚ΠΎΠ²ΠΎΠ³ΠΎΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΡ обработкатСкстаинтСрнСтпочтовогосообщСния способкодированияинтСрнСтпочтовоговлоТСния способкодированиянСasciiсимволовинтСрнСтпочтовогосообщСния типтСкстапочтовогосообщСния ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΏΠΎΡ‡Ρ‚Ρ‹ статусразборапочтовогосообщСния ",A="рСТимтранзакциизаписиТурналарСгистрации статустранзакциизаписиТурналарСгистрации ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ",M="располоТСниСхранилищасСртификатовкриптографии Ρ€Π΅ΠΆΠΈΠΌΠ²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΠ²ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ рСТимпровСркисСртификатакриптографии типхранилищасСртификатовкриптографии ",D="ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°ΠΈΠΌΠ΅Π½Ρ„Π°ΠΉΠ»ΠΎΠ²Π²zipΡ„Π°ΠΉΠ»Π΅ мСтодсТатияzip ΠΌΠ΅Ρ‚ΠΎΠ΄ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡzip рСТимвосстановлСнияпутСйфайловzip Ρ€Π΅ΠΆΠΈΠΌΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΠΏΠΎΠ΄ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ²zip рСТимсохранСнияпутСйzip ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΡΠΆΠ°Ρ‚ΠΈΡzip ",I="Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ΠΎΠΏΠΎΠ²Π΅Ρ‰Π΅Π½ΠΈΠ΅ направлСниСпСрСходакстрокС позициявпотокС порядокбайтов Ρ€Π΅ΠΆΠΈΠΌΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… рСТимуправлСнияблокировкойданных сСрвисвстроСнныхпокупок состояниСфоновогозадания типподписчикадоставляСмыхувСдомлСний ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠ·Π°Ρ‰ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡftp ",k="направлСниСпорядкасхСмызапроса типдополнСнияпСриодамисхСмызапроса Ρ‚ΠΈΠΏΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½ΠΎΠΉΡ‚ΠΎΡ‡ΠΊΠΈΡΡ…Π΅ΠΌΡ‹Π·Π°ΠΏΡ€ΠΎΡΠ° Ρ‚ΠΈΠΏΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡΡΡ…Π΅ΠΌΡ‹Π·Π°ΠΏΡ€ΠΎΡΠ° типпарамСтрадоступнойтаблицысхСмызапроса типсоСдинСниясхСмызапроса ",R="httpΠΌΠ΅Ρ‚ΠΎΠ΄ Π°Π²Ρ‚ΠΎΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° автопрСфиксномСразадачи вариантвстроСнногоязыка Π²ΠΈΠ΄ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ видрСгистранакоплСния Π²ΠΈΠ΄Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ°Π΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΏΠΈΡΡŒΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉΠΏΡ€ΠΈΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ индСксированиС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π±Π°Π·Ρ‹ΠΏΠ»Π°Π½Π°Π²ΠΈΠ΄ΠΎΠ²Ρ€Π°ΡΡ‡Π΅Ρ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π±Ρ‹ΡΡ‚Ρ€ΠΎΠ³ΠΎΠ²Ρ‹Π±ΠΎΡ€Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΏΠΎΠ΄Ρ‡ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΠΎΠ³ΠΎΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Ρ€Π°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ…ΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΈΠ²Π½ΠΎΠ΅ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ основноСпрСдставлСниСвидарасчСта основноСпрСдставлСниСвидахарактСристики основноСпрСдставлСниСзадачи основноСпрСдставлСниСпланаобмСна основноСпрСдставлСниСсправочника основноСпрСдставлСниСсчСта ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ΠΏΡ€ΠΈΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΠ½ΠΎΠΌΠ΅Ρ€Π°Π±ΠΈΠ·Π½Π΅ΡΠΏΡ€ΠΎΡ†Π΅ΡΡΠ° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΠ½ΠΎΠΌΠ΅Ρ€Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ€Π°ΡΡ‡Π΅Ρ‚Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ΠΈΡ‡Π½ΠΎΡΡ‚ΡŒΡ€Π΅Π³ΠΈΡΡ‚Ρ€Π°ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΡ‹Ρ…Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ полнотСкстовыйпоискпривводСпострокС ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Π΄Π°Π½Π½Ρ‹Ρ…ΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈΠΎΠ±Ρ‰Π΅Π³ΠΎΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ€Π΅ΠΆΠΈΠΌΠ°Π²Ρ‚ΠΎΠ½ΡƒΠΌΠ΅Ρ€Π°Ρ†ΠΈΠΈΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² рСТимзаписирСгистра Ρ€Π΅ΠΆΠΈΠΌΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΠΌΠΎΠ΄Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Ρ€Π΅ΠΆΠΈΠΌΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡΠΈΠ½Ρ…Ρ€ΠΎΠ½Π½Ρ‹Ρ…Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ΠΈΠ²Π½Π΅ΡˆΠ½ΠΈΡ…ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ Ρ€Π΅ΠΆΠΈΠΌΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡΠ΅Π°Π½ΡΠΎΠ² рСТимполучСнияданныхвыборапривводСпострокС рСТимсовмСстимости рСТимсовмСстимостиинтСрфСйса Ρ€Π΅ΠΆΠΈΠΌΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΡΠ±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉΠ΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ сСриикодовпланавидовхарактСристик сСриикодовпланасчСтов сСриикодовсправочника созданиСпривводС способвыбора способпоискастрокипривводСпострокС способрСдактирования Ρ‚ΠΈΠΏΠ΄Π°Π½Π½Ρ‹Ρ…Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ°Π΄Π°Π½Π½Ρ‹Ρ… типкодапланавидоврасчСта типкодасправочника Ρ‚ΠΈΠΏΠΌΠ°ΠΊΠ΅Ρ‚Π° типномСрабизнСспроцСсса Ρ‚ΠΈΠΏΠ½ΠΎΠΌΠ΅Ρ€Π°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Ρ‚ΠΈΠΏΠ½ΠΎΠΌΠ΅Ρ€Π°Π·Π°Π΄Π°Ρ‡ΠΈ Ρ‚ΠΈΠΏΡ„ΠΎΡ€ΠΌΡ‹ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠΉ ",L="Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ вариантинтСрфСйсаклиСнтскогоприлоТСния Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΌΠ°ΡΡˆΡ‚Π°Π±Π°Ρ„ΠΎΡ€ΠΌΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎΡˆΡ€ΠΈΡ„Ρ‚Π°ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ вариантстандартногопСриода вариантстандартнойдатыначала Π²ΠΈΠ΄Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π²ΠΈΠ΄ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ видотобраТСнияполнотСкстовогопоиска Π²ΠΈΠ΄Ρ€Π°ΠΌΠΊΠΈ видсравнСния Π²ΠΈΠ΄Ρ†Π²Π΅Ρ‚Π° видчисловогозначСния Π²ΠΈΠ΄ΡˆΡ€ΠΈΡ„Ρ‚Π° допустимаядлина допустимыйзнак использованиСbyteordermark ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…ΠΏΠΎΠ»Π½ΠΎΡ‚Π΅ΠΊΡΡ‚ΠΎΠ²ΠΎΠ³ΠΎΠΏΠΎΠΈΡΠΊΠ° ΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΡ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠΉΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ клавиша ΠΊΠΎΠ΄Π²ΠΎΠ·Π²Ρ€Π°Ρ‚Π°Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ°xbase кодировкатСкста направлСниСпоиска направлСниСсортировки ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΏΡ€ΠΈΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΏΠ°Π½Π΅Π»ΠΈΡ€Π°Π·Π΄Π΅Π»ΠΎΠ² провСрказаполнСния рСТимдиалогавопрос рСТимзапускаклиСнтскогоприлоТСния рСТимокруглСния рСТимоткрытияформприлоТСния рСТимполнотСкстовогопоиска ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠ³ΠΎΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΡΠΎΡΡ‚ΠΎΡΠ½ΠΈΠ΅Π²Π½Π΅ΡˆΠ½Π΅Π³ΠΎΠΈΡΡ‚ΠΎΡ‡Π½ΠΈΠΊΠ°Π΄Π°Π½Π½Ρ‹Ρ… состояниСобновлСнияконфигурациибазыданных способвыборасСртификатаwindows способкодированиястроки статуссообщСния Ρ‚ΠΈΠΏΠ²Π½Π΅ΡˆΠ½Π΅ΠΉΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Ρ‚ΠΈΠΏΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ Ρ‚ΠΈΠΏΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡΠΊΠ»Π°Π²ΠΈΡˆΠΈenter типэлСмСнтаинформацииовыполнСнииобновлСнияконфигурациибазыданных ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒΠΈΠ·ΠΎΠ»ΡΡ†ΠΈΠΈΡ‚Ρ€Π°Π½Π·Π°ΠΊΡ†ΠΈΠΉ Ρ…Π΅ΡˆΡ„ΡƒΠ½ΠΊΡ†ΠΈΡ частидаты",P=u+b+g+f+_+h+v+y+S+C+x+E+N+T+w+A+M+D+I+k+R+L,O="comΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ftpсоСдинСниС httpзапрос httpсСрвисотвСт httpсоСдинСниС wsопрСдСлСния wsпрокси xbase Π°Π½Π°Π»ΠΈΠ·Π΄Π°Π½Π½Ρ‹Ρ… аннотацияxs Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ°Π΄Π°Π½Π½Ρ‹Ρ… Π±ΡƒΡ„Π΅Ρ€Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ… Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅xs Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… гСнСраторслучайныхчисСл гСографичСскаясхСма гСографичСскиСкоординаты графичСскаясхСма Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΎΠ΄Π΅Π»ΠΈxs Π΄Π°Π½Π½Ρ‹Π΅Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Π΅Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π΅Π½Π΄Ρ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ° Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠΌΠ°Π³Π°Π½Ρ‚Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π²Ρ‹Π±ΠΎΡ€Π°Ρ„Π°ΠΉΠ»Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π²Ρ‹Π±ΠΎΡ€Π°Ρ†Π²Π΅Ρ‚Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π²Ρ‹Π±ΠΎΡ€Π°ΡˆΡ€ΠΈΡ„Ρ‚Π° диалограсписаниярСгламСнтногозадания диалогрСдактированиястандартногопСриода Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚dom Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚html докумСнтацияxs доставляСмоСувСдомлСниС записьdom записьfastinfoset записьhtml записьjson записьxml записьzipΡ„Π°ΠΉΠ»Π° Π·Π°ΠΏΠΈΡΡŒΠ΄Π°Π½Π½Ρ‹Ρ… Π·Π°ΠΏΠΈΡΡŒΡ‚Π΅ΠΊΡΡ‚Π° Π·Π°ΠΏΠΈΡΡŒΡƒΠ·Π»ΠΎΠ²dom запрос защищСнноСсоСдинСниСopenssl Π·Π½Π°Ρ‡Π΅Π½ΠΈΡΠΏΠΎΠ»Π΅ΠΉΡ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… извлСчСниСтСкста ΠΈΠΌΠΏΠΎΡ€Ρ‚xs ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΏΠΎΡ‡Ρ‚Π° интСрнСтпочтовоСсообщСниС ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚ΠΏΠΎΡ‡Ρ‚ΠΎΠ²Ρ‹ΠΉΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ интСрнСтпрокси интСрнСтсоСдинСниС информациядляприлоТСнияxs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°xs ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ источникдоступныхнастроСккомпоновкиданных ΠΈΡ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ΡƒΠ·Π»ΠΎΠ²dom ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π΄Π°Ρ‚Ρ‹ ΠΊΠ²Π°Π»ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹Π΄Π²ΠΎΠΈΡ‡Π½Ρ‹Ρ…Π΄Π°Π½Π½Ρ‹Ρ… квалификаторыстроки квалификаторычисла ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²Ρ‰ΠΈΠΊΠΌΠ°ΠΊΠ΅Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… компоновщикнастроСккомпоновкиданных конструктормакСтаоформлСниякомпоновкиданных конструкторнастроСккомпоновкиданных конструкторформатнойстроки линия ΠΌΠ°ΠΊΠ΅Ρ‚ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… макСтобластикомпоновкиданных макСтоформлСниякомпоновкиданных маскаxs ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€ΠΊΡ€ΠΈΠΏΡ‚ΠΎΠ³Ρ€Π°Ρ„ΠΈΠΈ наборсхСмxml настройкикомпоновкиданных настройкисСриализацииjson ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΎΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΎΠ±Ρ…ΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°dom ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°xs ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅Π½ΠΎΡ‚Π°Ρ†ΠΈΠΈxs ΠΎΠ±ΡŠΡΠ²Π»Π΅Π½ΠΈΠ΅ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°xs ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠ΄ΠΎΡΡ‚ΡƒΠΏΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Π½ΠΈΡΡΠΎΠ±Ρ‹Ρ‚ΠΈΡΠΎΡ‚ΠΊΠ°Π·Π²Π΄ΠΎΡΡ‚ΡƒΠΏΠ΅ΠΆΡƒΡ€Π½Π°Π»Π°Ρ€Π΅Π³ΠΈΡΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈΡ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… описаниСпСрСдаваСмогофайла описаниСтипов ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Π³Ρ€ΡƒΠΏΠΏΡ‹Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ²xs ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Π³Ρ€ΡƒΠΏΠΏΡ‹ΠΌΠΎΠ΄Π΅Π»ΠΈxs опрСдСлСниСограничСнияидСнтичностиxs опрСдСлСниСпростоготипаxs опрСдСлСниСсоставноготипаxs ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΈΠΏΠ°Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°dom опрСдСлСнияxpathxs ΠΎΡ‚Π±ΠΎΡ€ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ…Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… парамСтрызаписиjson парамСтрызаписиxml парамСтрычтСнияxml ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅xs ΠΏΠ»Π°Π½ΠΈΡ€ΠΎΠ²Ρ‰ΠΈΠΊ ΠΏΠΎΠ»Π΅Π°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒdom ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ·Π°ΠΏΡ€ΠΎΡΠ° ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠΎΡ‚Ρ‡Π΅Ρ‚Π° ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠΎΡ‚Ρ‡Π΅Ρ‚Π°Π°Π½Π°Π»ΠΈΠ·Π°Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΡΡ…Π΅ΠΌxml ΠΏΠΎΡ‚ΠΎΠΊ потоквпамяти ΠΏΠΎΡ‡Ρ‚Π° почтовоСсообщСниС ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅xsl прСобразованиСкканоничСскомуxml ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π²Ρ‹Π²ΠΎΠ΄Π°Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ…Π²ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΎΡ†Π΅ΡΡΠΎΡ€Π²Ρ‹Π²ΠΎΠ΄Π°Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ…Π²Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ процСссоркомпоновкиданных Ρ€Π°Π·Ρ‹ΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠΏΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΈΠΌΠ΅Π½dom Ρ€Π°ΠΌΠΊΠ° расписаниСрСгламСнтногозадания Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ΠΈΠΌΡxml Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‡Ρ‚Π΅Π½ΠΈΡΠ΄Π°Π½Π½Ρ‹Ρ… своднаядиаграмма ΡΠ²ΡΠ·ΡŒΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°Π²Ρ‹Π±ΠΎΡ€Π° ΡΠ²ΡΠ·ΡŒΠΏΠΎΡ‚ΠΈΠΏΡƒ ΡΠ²ΡΠ·ΡŒΠΏΠΎΡ‚ΠΈΠΏΡƒΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… сСриализаторxdto сСртификатклиСнтаwindows сСртификатклиСнтафайл сСртификаткриптографии ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΡ…Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²windows ΡΠ΅Ρ€Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚Ρ‹ΡƒΠ΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€ΡΡŽΡ‰ΠΈΡ…Ρ†Π΅Π½Ρ‚Ρ€ΠΎΠ²Ρ„Π°ΠΉΠ» сТатиСданных систСмнаяинформация ΡΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡΠΎΡ‡Π΅Ρ‚Π°Π½ΠΈΠ΅ΠΊΠ»Π°Π²ΠΈΡˆ сравнСниСзначСний стандартнаядатаначала стандартныйпСриод схСмаxml схСмакомпоновкиданных Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΉΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ тСкстовыйдокумСнт тСстируСмоСприлоТСниС Ρ‚ΠΈΠΏΠ΄Π°Π½Π½Ρ‹Ρ…xml ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„Π°Π±Ρ€ΠΈΠΊΠ°xdto Ρ„Π°ΠΉΠ» Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΉΠΏΠΎΡ‚ΠΎΠΊ фасСтдлиныxs фасСтколичСстваразрядовдробнойчастиxs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠ²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡxs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡxs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉΠ΄Π»ΠΈΠ½Ρ‹xs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠ²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡxs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎΠΈΡΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡxs Ρ„Π°ΡΠ΅Ρ‚ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉΠ΄Π»ΠΈΠ½Ρ‹xs фасСтобразцаxs фасСтобщСгоколичСстваразрядовxs фасСтпСрСчислСнияxs Ρ„Π°ΡΠ΅Ρ‚ΠΏΡ€ΠΎΠ±Π΅Π»ΡŒΠ½Ρ‹Ρ…ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ²xs Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ·Π»ΠΎΠ²dom форматированнаястрока Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉΠ΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚xs Ρ…Π΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅Π΄Π°Π½Π½Ρ‹Ρ… хранилищСзначСния Ρ†Π²Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅fastinfoset Ρ‡Ρ‚Π΅Π½ΠΈΠ΅html Ρ‡Ρ‚Π΅Π½ΠΈΠ΅json Ρ‡Ρ‚Π΅Π½ΠΈΠ΅xml Ρ‡Ρ‚Π΅Π½ΠΈΠ΅zipΡ„Π°ΠΉΠ»Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Π΄Π°Π½Π½Ρ‹Ρ… чтСниСтСкста Ρ‡Ρ‚Π΅Π½ΠΈΠ΅ΡƒΠ·Π»ΠΎΠ²dom ΡˆΡ€ΠΈΡ„Ρ‚ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΊΠΎΠΌΠΏΠΎΠ½ΠΎΠ²ΠΊΠΈΠ΄Π°Π½Π½Ρ‹Ρ… ",F="comsafearray Π΄Π΅Ρ€Π΅Π²ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массив соотвСтствиС списокзначСний структура Ρ‚Π°Π±Π»ΠΈΡ†Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ фиксированнаяструктура фиксированноСсоотвСтствиС фиксированныймассив ",B=O+F,G="null истина лоТь Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΎ",q=e.inherit(e.NM),U={ cN:"string",b:'"|\\|',e:'"|$',c:[{b:'""'}]},z={b:"'",e:"'",eB:!0,eE:!0,c:[{cN:"number",b:"\\d{4}([\\.\\\\/:-]?\\d{2}){0,5}"}]},$=e.inherit(e.CLCM),V={cN:"meta",l:t,b:"#|&",e:"$",k:{"meta-keyword":i+s},c:[$]},W={cN:"symbol",b:"~",e:";|:",eE:!0},H={cN:"function",l:t,v:[{b:"ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°|функция",e:"\\)",k:"ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° функция"},{b:"ΠΊΠΎΠ½Π΅Ρ†ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹|ΠΊΠΎΠ½Π΅Ρ†Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ",k:"ΠΊΠΎΠ½Π΅Ρ†ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ ΠΊΠΎΠ½Π΅Ρ†Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ"}],c:[{b:"\\(",e:"\\)",endsParent:!0,c:[{cN:"params",l:t,b:t,e:",",eE:!0,eW:!0,k:{keyword:"Π·Π½Π°Ρ‡",literal:G},c:[q,U,z]},$]},e.inherit(e.TM,{b:t})]};return{cI:!0,l:t,k:{keyword:i,built_in:m,"class":P,type:B,literal:G},c:[V,H,$,W,q,U,z]}}),e.registerLanguage("abnf",function(e){var t={ruleDeclaration:"^[a-zA-Z][a-zA-Z0-9-]*",unexpectedChars:"[!@#$^&',?+~`|:]"},r=["ALPHA","BIT","CHAR","CR","CRLF","CTL","DIGIT","DQUOTE","HEXDIG","HTAB","LF","LWSP","OCTET","SP","VCHAR","WSP"],a=e.C(";","$"),i={cN:"symbol",b:/%b[0-1]+(-[0-1]+|(\.[0-1]+)+){0,1}/},n={cN:"symbol",b:/%d[0-9]+(-[0-9]+|(\.[0-9]+)+){0,1}/},o={cN:"symbol",b:/%x[0-9A-F]+(-[0-9A-F]+|(\.[0-9A-F]+)+){0,1}/},s={cN:"symbol",b:/%[si]/},l={b:t.ruleDeclaration+"\\s*=",rB:!0,e:/=/,r:0,c:[{cN:"attribute",b:t.ruleDeclaration}]};return{i:t.unexpectedChars,k:r.join(" "),c:[l,a,i,n,o,s,e.QSM,e.NM]}}),e.registerLanguage("accesslog",function(e){return{c:[{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+\\b",r:0},{cN:"string",b:'"(GET|POST|HEAD|PUT|DELETE|CONNECT|OPTIONS|PATCH|TRACE)',e:'"',k:"GET POST HEAD PUT DELETE CONNECT OPTIONS PATCH TRACE",i:"\\n",r:10},{cN:"string",b:/\[/,e:/\]/,i:"\\n"},{cN:"string",b:'"',e:'"',i:"\\n"}]}}),e.registerLanguage("actionscript",function(e){var t="[a-zA-Z_$][a-zA-Z0-9_$]*",r="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)",a={cN:"rest_arg",b:"[.]{3}",e:t,r:10};return{aliases:["as"],k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[e.ASM,e.QSM,e.CLCM,e.CBCM,e.CNM,{cN:"class",bK:"package",e:"{",c:[e.TM]},{cN:"class",bK:"class interface",e:"{",eE:!0,c:[{bK:"extends implements"},e.TM]},{cN:"meta",bK:"import include",e:";",k:{"meta-keyword":"import include"}},{cN:"function",bK:"function",e:"[{;]",eE:!0,i:"\\S",c:[e.TM,{cN:"params",b:"\\(",e:"\\)",c:[e.ASM,e.QSM,e.CLCM,e.CBCM,a]},{b:":\\s*"+r}]},e.METHOD_GUARD],i:/#/}}),e.registerLanguage("ada",function(e){var t="\\d(_|\\d)*",r="[eE][-+]?"+t,a=t+"(\\."+t+")?("+r+")?",i="\\w+",n=t+"#"+i+"(\\."+i+")?#("+r+")?",o="\\b("+n+"|"+a+")",s="[A-Za-z](_?[A-Za-z0-9.])*",l="[]{}%#'\"",c=e.C("--","$"),d={b:"\\s+:\\s+",e:"\\s*(:=|;|\\)|=>|$)",i:l,c:[{bK:"loop for declare others",endsParent:!0},{cN:"keyword",bK:"not null constant access function procedure in out aliased exception"},{cN:"type",b:s,endsParent:!0,r:0}]};return{cI:!0,k:{keyword:"abort else new return abs elsif not reverse abstract end accept entry select access exception of separate aliased exit or some all others subtype and for out synchronized array function overriding at tagged generic package task begin goto pragma terminate body private then if procedure type case in protected constant interface is raise use declare range delay limited record when delta loop rem while digits renames with do mod requeue xor",literal:"True False"},c:[c,{cN:"string",b:/"/,e:/"/,c:[{b:/""/,r:0}]},{cN:"string",b:/'.'/},{cN:"number",b:o,r:0},{cN:"symbol",b:"'"+s},{cN:"title",b:"(\\bwith\\s+)?(\\bprivate\\s+)?\\bpackage\\s+(\\bbody\\s+)?",e:"(is|$)",k:"package body",eB:!0,eE:!0,i:l},{b:"(\\b(with|overriding)\\s+)?\\b(function|procedure)\\s+",e:"(\\bis|\\bwith|\\brenames|\\)\\s*;)",k:"overriding function procedure with is renames return",rB:!0,c:[c,{cN:"title",b:"(\\bwith\\s+)?\\b(function|procedure)\\s+",e:"(\\(|\\s+|$)",eB:!0,eE:!0,i:l},d,{cN:"type",b:"\\breturn\\s+",e:"(\\s+|;|$)",k:"return",eB:!0,eE:!0,endsParent:!0,i:l}]},{cN:"type",b:"\\b(sub)?type\\s+",e:"\\s+",k:"type",eB:!0,i:l},d]}}),e.registerLanguage("apache",function(e){var t={cN:"number",b:"[\\$%]\\d+"};return{aliases:["apacheconf"],cI:!0,c:[e.HCM,{cN:"section",b:""},{cN:"attribute",b:/\w+/,r:0,k:{nomarkup:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"meta",b:"\\s\\[",e:"\\]$"},{cN:"variable",b:"[\\$%]\\{",e:"\\}",c:["self",t]},t,e.QSM]}}],i:/\S/}}),e.registerLanguage("applescript",function(e){var t=e.inherit(e.QSM,{i:""}),r={cN:"params",b:"\\(",e:"\\)",c:["self",e.CNM,t]},a=e.C("--","$"),i=e.C("\\(\\*","\\*\\)",{c:["self",a]}),n=[a,i,e.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",literal:"AppleScript false linefeed return pi quote result space tab true",built_in:"alias application boolean class constant date file integer list number real record string text activate beep count delay launch log offset read round run say summarize write character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[t,e.CNM,{cN:"built_in",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"literal",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference)|POSIX file|POSIX path|(date|time) string|quoted form)\\b"},{bK:"on",i:"[${=;\\n]",c:[e.UTM,r]}].concat(n),i:"//|->|=>|\\[\\["}}),e.registerLanguage("cpp",function(e){var t={cN:"keyword",b:"\\b[a-z\\d_]*_t\\b"},r={cN:"string",v:[{b:'(u8?|U)?L?"',e:'"',i:"\\n",c:[e.BE]},{b:'(u8?|U)?R"',e:'"',c:[e.BE]},{b:"'\\\\?.",e:"'",i:"."}]},a={cN:"number",v:[{b:"\\b(0b[01']+)"},{b:"(-?)\\b([\\d']+(\\.[\\d']*)?|\\.[\\d']+)(u|U|l|L|ul|UL|f|F|b|B)"},{b:"(-?)(\\b0[xX][a-fA-F0-9']+|(\\b[\\d']+(\\.[\\d']*)?|\\.[\\d']+)([eE][-+]?[\\d']+)?)"}],r:0},i={cN:"meta",b:/#\s*[a-z]+\b/,e:/$/,k:{"meta-keyword":"if else elif endif define undef warning error line pragma ifdef ifndef include"},c:[{b:/\\\n/,r:0},e.inherit(r,{cN:"meta-string"}),{cN:"meta-string",b:/<[^\n>]*>/,e:/$/,i:"\\n"},e.CLCM,e.CBCM]},n=e.IR+"\\s*\\(",o={keyword:"int float while private char catch import module export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const for static_cast|10 union namespace unsigned long volatile static protected bool template mutable if public friend do goto auto void enum else break extern using asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue inline delete alignof constexpr decltype noexcept static_assert thread_local restrict _Bool complex _Complex _Imaginary atomic_bool atomic_char atomic_schar atomic_uchar atomic_short atomic_ushort atomic_int atomic_uint atomic_long atomic_ulong atomic_llong atomic_ullong new throw return and or not",built_in:"std string cin cout cerr clog stdin stdout stderr stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc realloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf endl initializer_list unique_ptr",literal:"true false nullptr NULL"},s=[t,e.CLCM,e.CBCM,a,r];return{aliases:["c","cc","h","c++","h++","hpp"],k:o,i:"",k:o,c:["self",t]},{b:e.IR+"::",k:o},{v:[{b:/=/,e:/;/},{b:/\(/,e:/\)/},{bK:"new throw return else",e:/;/}],k:o,c:s.concat([{b:/\(/,e:/\)/,k:o,c:s.concat(["self"]),r:0}]),r:0},{cN:"function",b:"("+e.IR+"[\\*&\\s]+)+"+n,rB:!0,e:/[{;=]/,eE:!0,k:o,i:/[^\w\s\*&]/,c:[{b:n,rB:!0,c:[e.TM],r:0},{cN:"params",b:/\(/,e:/\)/,k:o,r:0,c:[e.CLCM,e.CBCM,r,a,t]},e.CLCM,e.CBCM,i]},{cN:"class",bK:"class struct",e:/[{;:]/,c:[{b://,c:["self"]},e.TM]}]),exports:{preprocessor:i,strings:r,k:o}}}),e.registerLanguage("arduino",function(e){var t=e.getLanguage("cpp").exports;return{k:{keyword:"boolean byte word string String array "+t.k.keyword,built_in:"setup loop while catch for if do goto try switch case else default break continue return KeyboardController MouseController SoftwareSerial EthernetServer EthernetClient LiquidCrystal RobotControl GSMVoiceCall EthernetUDP EsploraTFT HttpClient RobotMotor WiFiClient GSMScanner FileSystem Scheduler GSMServer YunClient YunServer IPAddress GSMClient GSMModem Keyboard Ethernet Console GSMBand Esplora Stepper Process WiFiUDP GSM_SMS Mailbox USBHost Firmata PImage Client Server GSMPIN FileIO Bridge Serial EEPROM Stream Mouse Audio Servo File Task GPRS WiFi Wire TFT GSM SPI SD runShellCommandAsynchronously analogWriteResolution retrieveCallingNumber printFirmwareVersion analogReadResolution sendDigitalPortPair noListenOnLocalhost readJoystickButton setFirmwareVersion readJoystickSwitch scrollDisplayRight getVoiceCallStatus scrollDisplayLeft writeMicroseconds delayMicroseconds beginTransmission getSignalStrength runAsynchronously getAsynchronously listenOnLocalhost getCurrentCarrier readAccelerometer messageAvailable sendDigitalPorts lineFollowConfig countryNameWrite runShellCommand readStringUntil rewindDirectory readTemperature setClockDivider readLightSensor endTransmission analogReference detachInterrupt countryNameRead attachInterrupt encryptionType readBytesUntil robotNameWrite readMicrophone robotNameRead cityNameWrite userNameWrite readJoystickY readJoystickX mouseReleased openNextFile scanNetworks noInterrupts digitalWrite beginSpeaker mousePressed isActionDone mouseDragged displayLogos noAutoscroll addParameter remoteNumber getModifiers keyboardRead userNameRead waitContinue processInput parseCommand printVersion readNetworks writeMessage blinkVersion cityNameRead readMessage setDataMode parsePacket isListening setBitOrder beginPacket isDirectory motorsWrite drawCompass digitalRead clearScreen serialEvent rightToLeft setTextSize leftToRight requestFrom keyReleased compassRead analogWrite interrupts WiFiServer disconnect playMelody parseFloat autoscroll getPINUsed setPINUsed setTimeout sendAnalog readSlider analogRead beginWrite createChar motorsStop keyPressed tempoWrite readButton subnetMask debugPrint macAddress writeGreen randomSeed attachGPRS readString sendString remotePort releaseAll mouseMoved background getXChange getYChange answerCall getResult voiceCall endPacket constrain getSocket writeJSON getButton available connected findUntil readBytes exitValue readGreen writeBlue startLoop IPAddress isPressed sendSysex pauseMode gatewayIP setCursor getOemKey tuneWrite noDisplay loadImage switchPIN onRequest onReceive changePIN playFile noBuffer parseInt overflow checkPIN knobRead beginTFT bitClear updateIR bitWrite position writeRGB highByte writeRed setSpeed readBlue noStroke remoteIP transfer shutdown hangCall beginSMS endWrite attached maintain noCursor checkReg checkPUK shiftOut isValid shiftIn pulseIn connect println localIP pinMode getIMEI display noBlink process getBand running beginSD drawBMP lowByte setBand release bitRead prepare pointTo readRed setMode noFill remove listen stroke detach attach noTone exists buffer height bitSet circle config cursor random IRread setDNS endSMS getKey micros millis begin print write ready flush width isPIN blink clear press mkdir rmdir close point yield image BSSID click delay read text move peek beep rect line open seek fill size turn stop home find step tone sqrt RSSI SSID end bit tan cos sin pow map abs max min get run put",literal:"DIGITAL_MESSAGE FIRMATA_STRING ANALOG_MESSAGE REPORT_DIGITAL REPORT_ANALOG INPUT_PULLUP SET_PIN_MODE INTERNAL2V56 SYSTEM_RESET LED_BUILTIN INTERNAL1V1 SYSEX_START INTERNAL EXTERNAL DEFAULT OUTPUT INPUT HIGH LOW"},c:[t.preprocessor,e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM]}}),e.registerLanguage("armasm",function(e){return{cI:!0,aliases:["arm"],l:"\\.?"+e.IR,k:{meta:".2byte .4byte .align .ascii .asciz .balign .byte .code .data .else .end .endif .endm .endr .equ .err .exitm .extern .global .hword .if .ifdef .ifndef .include .irp .long .macro .rept .req .section .set .skip .space .text .word .arm .thumb .code16 .code32 .force_thumb .thumb_func .ltorg ALIAS ALIGN ARM AREA ASSERT ATTR CN CODE CODE16 CODE32 COMMON CP DATA DCB DCD DCDU DCDO DCFD DCFDU DCI DCQ DCQU DCW DCWU DN ELIF ELSE END ENDFUNC ENDIF ENDP ENTRY EQU EXPORT EXPORTAS EXTERN FIELD FILL FUNCTION GBLA GBLL GBLS GET GLOBAL IF IMPORT INCBIN INCLUDE INFO KEEP LCLA LCLL LCLS LTORG MACRO MAP MEND MEXIT NOFP OPT PRESERVE8 PROC QN READONLY RELOC REQUIRE REQUIRE8 RLIST FN ROUT SETA SETL SETS SN SPACE SUBT THUMB THUMBX TTL WHILE WEND ",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 pc lr sp ip sl sb fp a1 a2 a3 a4 v1 v2 v3 v4 v5 v6 v7 v8 f0 f1 f2 f3 f4 f5 f6 f7 p0 p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15 c0 c1 c2 c3 c4 c5 c6 c7 c8 c9 c10 c11 c12 c13 c14 c15 q0 q1 q2 q3 q4 q5 q6 q7 q8 q9 q10 q11 q12 q13 q14 q15 cpsr_c cpsr_x cpsr_s cpsr_f cpsr_cx cpsr_cxs cpsr_xs cpsr_xsf cpsr_sf cpsr_cxsf spsr_c spsr_x spsr_s spsr_f spsr_cx spsr_cxs spsr_xs spsr_xsf spsr_sf spsr_cxsf s0 s1 s2 s3 s4 s5 s6 s7 s8 s9 s10 s11 s12 s13 s14 s15 s16 s17 s18 s19 s20 s21 s22 s23 s24 s25 s26 s27 s28 s29 s30 s31 d0 d1 d2 d3 d4 d5 d6 d7 d8 d9 d10 d11 d12 d13 d14 d15 d16 d17 d18 d19 d20 d21 d22 d23 d24 d25 d26 d27 d28 d29 d30 d31 {PC} {VAR} {TRUE} {FALSE} {OPT} {CONFIG} {ENDIAN} {CODESIZE} {CPU} {FPU} {ARCHITECTURE} {PCSTOREOFFSET} {ARMASM_VERSION} {INTER} {ROPI} {RWPI} {SWST} {NOSWST} . @"},c:[{cN:"keyword",b:"\\b(adc|(qd?|sh?|u[qh]?)?add(8|16)?|usada?8|(q|sh?|u[qh]?)?(as|sa)x|and|adrl?|sbc|rs[bc]|asr|b[lx]?|blx|bxj|cbn?z|tb[bh]|bic|bfc|bfi|[su]bfx|bkpt|cdp2?|clz|clrex|cmp|cmn|cpsi[ed]|cps|setend|dbg|dmb|dsb|eor|isb|it[te]{0,3}|lsl|lsr|ror|rrx|ldm(([id][ab])|f[ds])?|ldr((s|ex)?[bhd])?|movt?|mvn|mra|mar|mul|[us]mull|smul[bwt][bt]|smu[as]d|smmul|smmla|mla|umlaal|smlal?([wbt][bt]|d)|mls|smlsl?[ds]|smc|svc|sev|mia([bt]{2}|ph)?|mrr?c2?|mcrr2?|mrs|msr|orr|orn|pkh(tb|bt)|rbit|rev(16|sh)?|sel|[su]sat(16)?|nop|pop|push|rfe([id][ab])?|stm([id][ab])?|str(ex)?[bhd]?|(qd?)?sub|(sh?|q|u[qh]?)?sub(8|16)|[su]xt(a?h|a?b(16)?)|srs([id][ab])?|swpb?|swi|smi|tst|teq|wfe|wfi|yield)(eq|ne|cs|cc|mi|pl|vs|vc|hi|ls|ge|lt|gt|le|al|hs|lo)?[sptrx]?",e:"\\s"},e.C("[;@]","$",{r:0}),e.CBCM,e.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"title",b:"\\|",e:"\\|",i:"\\n",r:0},{cN:"number",v:[{b:"[#$=]?0x[0-9a-f]+"},{b:"[#$=]?0b[01]+"},{b:"[#$=]\\d+"},{b:"\\b\\d+"}],r:0},{cN:"symbol",v:[{b:"^[a-z_\\.\\$][a-z0-9_\\.\\$]+"},{b:"^\\s*[a-z_\\.\\$][a-z0-9_\\.\\$]+:"},{b:"[=#]\\w+"}],r:0}]}}),e.registerLanguage("xml",function(e){var t="[A-Za-z0-9\\._:-]+",r={eW:!0,i:/`]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist"],cI:!0,c:[{cN:"meta",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},e.C("",{r:10}),{b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{b:/<\?(php)?/,e:/\?>/,sL:"php",c:[{b:"/\\*",e:"\\*/",skip:!0}]},{cN:"tag",b:"|$)",e:">",k:{name:"style"},c:[r],starts:{e:"",rE:!0,sL:["css","xml"]}},{cN:"tag",b:"|$)",e:">",k:{name:"script"},c:[r],starts:{e:"",rE:!0,sL:["actionscript","javascript","handlebars","xml"]}},{cN:"meta",v:[{b:/<\?xml/,e:/\?>/,r:10},{b:/<\?\w+/,e:/\?>/}]},{cN:"tag",b:"",c:[{cN:"name",b:/[^\/><\s]+/,r:0},r]}]}}),e.registerLanguage("asciidoc",function(e){return{aliases:["adoc"],c:[e.C("^/{4,}\\n","\\n/{4,}$",{r:10}),e.C("^//","$",{r:0}),{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"section",r:10,v:[{b:"^(={1,5}) .+?( \\1)?$"},{b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$"}]},{cN:"meta",b:"^:.+?:",e:"\\s",eE:!0,r:10},{cN:"meta",b:"^\\[.+?\\]$",r:0},{cN:"quote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"symbol",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"string",v:[{b:"``.+?''"},{b:"`.+?'"}]},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:!0,c:[{b:"(link|image:?):",r:0},{cN:"link",b:"\\w",e:"[^\\[]+",r:0},{cN:"string",b:"\\[",e:"\\]",eB:!0,eE:!0,r:0}],r:10}]}}),e.registerLanguage("aspectj",function(e){var t="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else extends implements break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws privileged aspectOf adviceexecution proceed cflowbelow cflow initialization preinitialization staticinitialization withincode target within execution getWithinTypeName handler thisJoinPoint thisJoinPointStaticPart thisEnclosingJoinPointStaticPart declare parents warning error soft precedence thisAspectInstance",r="get set args call";return{k:t,i:/<\/|#/,c:[e.C("/\\*\\*","\\*/",{r:0,c:[{b:/\w+@/,r:0},{cN:"doctag",b:"@[A-Za-z]+"}]}),e.CLCM,e.CBCM,e.ASM,e.QSM,{cN:"class",bK:"aspect",e:/[{;=]/,eE:!0,i:/[:;"\[\]]/,c:[{bK:"extends implements pertypewithin perthis pertarget percflowbelow percflow issingleton"},e.UTM,{b:/\([^\)]*/,e:/[)]+/,k:t+" "+r,eE:!1}]},{cN:"class",bK:"class interface",e:/[{;=]/,eE:!0,r:0,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},e.UTM]},{bK:"pointcut after before around throwing returning",e:/[)]/,eE:!1,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",rB:!0,c:[e.UTM]}]},{b:/[:]/,rB:!0,e:/[{;]/,r:0,eE:!1,k:t,i:/["\[\]]/,c:[{b:e.UIR+"\\s*\\(",k:t+" "+r,r:0},e.QSM]},{bK:"new throw",r:0},{cN:"function",b:/\w+ +\w+(\.)?\w+\s*\([^\)]*\)\s*((throws)[\w\s,]+)?[\{;]/,rB:!0,e:/[{;=]/,k:t,eE:!0,c:[{b:e.UIR+"\\s*\\(",rB:!0,r:0,c:[e.UTM]},{cN:"params",b:/\(/,e:/\)/,r:0,k:t,c:[e.ASM,e.QSM,e.CNM,e.CBCM]},e.CLCM,e.CBCM]},e.CNM,{cN:"meta",b:"@[A-Za-z]+"}]}}),e.registerLanguage("autohotkey",function(e){var t={b:"`[\\s\\S]"};return{cI:!0,aliases:["ahk"],k:{keyword:"Break Continue Critical Exit ExitApp Gosub Goto New OnExit Pause return SetBatchLines SetTimer Suspend Thread Throw Until ahk_id ahk_class ahk_pid ahk_exe ahk_group",literal:"A|0 true false NOT AND OR",built_in:"ComSpec Clipboard ClipboardAll ErrorLevel"},c:[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},t,e.inherit(e.QSM,{c:[t]}),e.C(";","$",{r:0}),e.CBCM,{cN:"number",b:e.NR,r:0},{cN:"subst",b:"%(?=[a-zA-Z0-9#_$@])",e:"%",i:"[^a-zA-Z0-9#_$@]"},{cN:"built_in",b:"^\\s*\\w+\\s*,"},{cN:"meta",b:"^\\s*#w+",e:"$",r:0},{cN:"symbol",c:[t],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,"}]}}),e.registerLanguage("autoit",function(e){var t="ByRef Case Const ContinueCase ContinueLoop Default Dim Do Else ElseIf EndFunc EndIf EndSelect EndSwitch EndWith Enum Exit ExitLoop For Func Global If In Local Next ReDim Return Select Static Step Switch Then To Until Volatile WEnd While With",r="True False And Null Not Or",a="Abs ACos AdlibRegister AdlibUnRegister Asc AscW ASin Assign ATan AutoItSetOption AutoItWinGetTitle AutoItWinSetTitle Beep Binary BinaryLen BinaryMid BinaryToString BitAND BitNOT BitOR BitRotate BitShift BitXOR BlockInput Break Call CDTray Ceiling Chr ChrW ClipGet ClipPut ConsoleRead ConsoleWrite ConsoleWriteError ControlClick ControlCommand ControlDisable ControlEnable ControlFocus ControlGetFocus ControlGetHandle ControlGetPos ControlGetText ControlHide ControlListView ControlMove ControlSend ControlSetText ControlShow ControlTreeView Cos Dec DirCopy DirCreate DirGetSize DirMove DirRemove DllCall DllCallAddress DllCallbackFree DllCallbackGetPtr DllCallbackRegister DllClose DllOpen DllStructCreate DllStructGetData DllStructGetPtr DllStructGetSize DllStructSetData DriveGetDrive DriveGetFileSystem DriveGetLabel DriveGetSerial DriveGetType DriveMapAdd DriveMapDel DriveMapGet DriveSetLabel DriveSpaceFree DriveSpaceTotal DriveStatus EnvGet EnvSet EnvUpdate Eval Execute Exp FileChangeDir FileClose FileCopy FileCreateNTFSLink FileCreateShortcut FileDelete FileExists FileFindFirstFile FileFindNextFile FileFlush FileGetAttrib FileGetEncoding FileGetLongName FileGetPos FileGetShortcut FileGetShortName FileGetSize FileGetTime FileGetVersion FileInstall FileMove FileOpen FileOpenDialog FileRead FileReadLine FileReadToArray FileRecycle FileRecycleEmpty FileSaveDialog FileSelectFolder FileSetAttrib FileSetEnd FileSetPos FileSetTime FileWrite FileWriteLine Floor FtpSetProxy FuncName GUICreate GUICtrlCreateAvi GUICtrlCreateButton GUICtrlCreateCheckbox GUICtrlCreateCombo GUICtrlCreateContextMenu GUICtrlCreateDate GUICtrlCreateDummy GUICtrlCreateEdit GUICtrlCreateGraphic GUICtrlCreateGroup GUICtrlCreateIcon GUICtrlCreateInput GUICtrlCreateLabel GUICtrlCreateList GUICtrlCreateListView GUICtrlCreateListViewItem GUICtrlCreateMenu GUICtrlCreateMenuItem GUICtrlCreateMonthCal GUICtrlCreateObj GUICtrlCreatePic GUICtrlCreateProgress GUICtrlCreateRadio GUICtrlCreateSlider GUICtrlCreateTab GUICtrlCreateTabItem GUICtrlCreateTreeView GUICtrlCreateTreeViewItem GUICtrlCreateUpdown GUICtrlDelete GUICtrlGetHandle GUICtrlGetState GUICtrlRead GUICtrlRecvMsg GUICtrlRegisterListViewSort GUICtrlSendMsg GUICtrlSendToDummy GUICtrlSetBkColor GUICtrlSetColor GUICtrlSetCursor GUICtrlSetData GUICtrlSetDefBkColor GUICtrlSetDefColor GUICtrlSetFont GUICtrlSetGraphic GUICtrlSetImage GUICtrlSetLimit GUICtrlSetOnEvent GUICtrlSetPos GUICtrlSetResizing GUICtrlSetState GUICtrlSetStyle GUICtrlSetTip GUIDelete GUIGetCursorInfo GUIGetMsg GUIGetStyle GUIRegisterMsg GUISetAccelerators GUISetBkColor GUISetCoord GUISetCursor GUISetFont GUISetHelp GUISetIcon GUISetOnEvent GUISetState GUISetStyle GUIStartGroup GUISwitch Hex HotKeySet HttpSetProxy HttpSetUserAgent HWnd InetClose InetGet InetGetInfo InetGetSize InetRead IniDelete IniRead IniReadSection IniReadSectionNames IniRenameSection IniWrite IniWriteSection InputBox Int IsAdmin IsArray IsBinary IsBool IsDeclared IsDllStruct IsFloat IsFunc IsHWnd IsInt IsKeyword IsNumber IsObj IsPtr IsString Log MemGetStats Mod MouseClick MouseClickDrag MouseDown MouseGetCursor MouseGetPos MouseMove MouseUp MouseWheel MsgBox Number ObjCreate ObjCreateInterface ObjEvent ObjGet ObjName OnAutoItExitRegister OnAutoItExitUnRegister Ping PixelChecksum PixelGetColor PixelSearch ProcessClose ProcessExists ProcessGetStats ProcessList ProcessSetPriority ProcessWait ProcessWaitClose ProgressOff ProgressOn ProgressSet Ptr Random RegDelete RegEnumKey RegEnumVal RegRead RegWrite Round Run RunAs RunAsWait RunWait Send SendKeepActive SetError SetExtended ShellExecute ShellExecuteWait Shutdown Sin Sleep SoundPlay SoundSetWaveVolume SplashImageOn SplashOff SplashTextOn Sqrt SRandom StatusbarGetText StderrRead StdinWrite StdioClose StdoutRead String StringAddCR StringCompare StringFormat StringFromASCIIArray StringInStr StringIsAlNum StringIsAlpha StringIsASCII StringIsDigit StringIsFloat StringIsInt StringIsLower StringIsSpace StringIsUpper StringIsXDigit StringLeft StringLen StringLower StringMid StringRegExp StringRegExpReplace StringReplace StringReverse StringRight StringSplit StringStripCR StringStripWS StringToASCIIArray StringToBinary StringTrimLeft StringTrimRight StringUpper Tan TCPAccept TCPCloseSocket TCPConnect TCPListen TCPNameToIP TCPRecv TCPSend TCPShutdown, UDPShutdown TCPStartup, UDPStartup TimerDiff TimerInit ToolTip TrayCreateItem TrayCreateMenu TrayGetMsg TrayItemDelete TrayItemGetHandle TrayItemGetState TrayItemGetText TrayItemSetOnEvent TrayItemSetState TrayItemSetText TraySetClick TraySetIcon TraySetOnEvent TraySetPauseIcon TraySetState TraySetToolTip TrayTip UBound UDPBind UDPCloseSocket UDPOpen UDPRecv UDPSend VarGetType WinActivate WinActive WinClose WinExists WinFlash WinGetCaretPos WinGetClassList WinGetClientSize WinGetHandle WinGetPos WinGetProcess WinGetState WinGetText WinGetTitle WinKill WinList WinMenuSelectItem WinMinimizeAll WinMinimizeAllUndo WinMove WinSetOnTop WinSetState WinSetTitle WinSetTrans WinWait",i={v:[e.C(";","$",{r:0}),e.C("#cs","#ce"),e.C("#comments-start","#comments-end")]},n={b:"\\$[A-z0-9_]+"},o={cN:"string",v:[{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]},s={v:[e.BNM,e.CNM]},l={cN:"meta",b:"#",e:"$",k:{"meta-keyword":"comments include include-once NoTrayIcon OnAutoItStartRegister pragma compile RequireAdmin"},c:[{b:/\\\n/,r:0},{bK:"include",k:{"meta-keyword":"include"},e:"$",c:[o,{cN:"meta-string",v:[{b:"<",e:">"},{b:/"/,e:/"/,c:[{b:/""/,r:0}]},{b:/'/,e:/'/,c:[{b:/''/,r:0}]}]}]},o,i]},c={cN:"symbol",b:"@[A-z0-9_]+"},d={cN:"function",bK:"Func",e:"$",i:"\\$|\\[|%",c:[e.UTM,{cN:"params",b:"\\(",e:"\\)",c:[n,o,s]}]};return{cI:!0,i:/\/\*/,k:{keyword:t,built_in:a,literal:r},c:[i,n,o,s,l,c,d]}}),e.registerLanguage("avrasm",function(e){return{cI:!0,l:"\\.?"+e.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",meta:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[e.CBCM,e.C(";","$",{r:0}),e.CNM,e.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},e.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"symbol",b:"^[A-Za-z0-9_.$]+:"},{cN:"meta",b:"#",e:"$"},{cN:"subst",b:"@[0-9]+"}]}}),e.registerLanguage("awk",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r="BEGIN END if else while do for in break continue delete next nextfile function func exit|10",a={cN:"string",c:[e.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,r:10},{b:/(u|b)?r?"""/,e:/"""/,r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},e.ASM,e.QSM]};return{k:{keyword:r},c:[t,a,e.RM,e.HCM,e.NM]}}),e.registerLanguage("axapta",function(e){return{k:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[e.CLCM,e.CBCM,e.ASM,e.QSM,e.CNM,{cN:"meta",b:"#",e:"$"},{cN:"class",bK:"class interface",e:"{",eE:!0,i:":",c:[{bK:"extends implements"},e.UTM]}]}}),e.registerLanguage("bash",function(e){var t={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)}/}]},r={cN:"string",b:/"/,e:/"/,c:[e.BE,t,{cN:"variable",b:/\$\(/,e:/\)/,c:[e.BE]}]},a={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/\b-?[a-z\._]+\b/,k:{keyword:"if then else elif fi for while in do done case esac function",literal:"true false",built_in:"break cd continue eval exec exit export getopts hash pwd readonly return shift test times trap umask unset alias bind builtin caller command declare echo enable help let local logout mapfile printf read readarray source type typeset ulimit unalias set shopt autoload bg bindkey bye cap chdir clone comparguments compcall compctl compdescribe compfiles compgroups compquote comptags comptry compvalues dirs disable disown echotc echoti emulate fc fg float functions getcap getln history integer jobs kill limit log noglob popd print pushd pushln rehash sched setcap setopt stat suspend ttyctl unfunction unhash unlimit unsetopt vared wait whence where which zcompile zformat zftp zle zmodload zparseopts zprof zpty zregexparse zsocket zstyle ztcp",_:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"meta",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:!0,c:[e.inherit(e.TM,{b:/\w[\w\d_]*/})],r:0},e.HCM,r,a,t]}}),e.registerLanguage("basic",function(e){return{cI:!0,i:"^.",l:"[a-zA-Z][a-zA-Z0-9_$%!#]*",k:{keyword:"ABS ASC AND ATN AUTO|0 BEEP BLOAD|10 BSAVE|10 CALL CALLS CDBL CHAIN CHDIR CHR$|10 CINT CIRCLE CLEAR CLOSE CLS COLOR COM COMMON CONT COS CSNG CSRLIN CVD CVI CVS DATA DATE$ DEFDBL DEFINT DEFSNG DEFSTR DEF|0 SEG USR DELETE DIM DRAW EDIT END ENVIRON ENVIRON$ EOF EQV ERASE ERDEV ERDEV$ ERL ERR ERROR EXP FIELD FILES FIX FOR|0 FRE GET GOSUB|10 GOTO HEX$ IF|0 THEN ELSE|0 INKEY$ INP INPUT INPUT# INPUT$ INSTR IMP INT IOCTL IOCTL$ KEY ON OFF LIST KILL LEFT$ LEN LET LINE LLIST LOAD LOC LOCATE LOF LOG LPRINT USING LSET MERGE MID$ MKDIR MKD$ MKI$ MKS$ MOD NAME NEW NEXT NOISE NOT OCT$ ON OR PEN PLAY STRIG OPEN OPTION BASE OUT PAINT PALETTE PCOPY PEEK PMAP POINT POKE POS PRINT PRINT] PSET PRESET PUT RANDOMIZE READ REM RENUM RESET|0 RESTORE RESUME RETURN|0 RIGHT$ RMDIR RND RSET RUN SAVE SCREEN SGN SHELL SIN SOUND SPACE$ SPC SQR STEP STICK STOP STR$ STRING$ SWAP SYSTEM TAB TAN TIME$ TIMER TROFF TRON TO USR VAL VARPTR VARPTR$ VIEW WAIT WHILE WEND WIDTH WINDOW WRITE XOR" @@ -43,10 +42,10 @@ built_in:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat // -// AnchorJS - v4.2.2 - 2019-11-14 +// AnchorJS - v4.3.0 - 2020-10-21 // https://www.bryanbraun.com/anchorjs/ -// Copyright (c) 2019 Bryan Braun; Licensed MIT +// Copyright (c) 2020 Bryan Braun; Licensed MIT // // @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt Expat -!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function f(A){A.icon=A.hasOwnProperty("icon")?A.icon:"ξ§‹",A.visible=A.hasOwnProperty("visible")?A.visible:"hover",A.placement=A.hasOwnProperty("placement")?A.placement:"right",A.ariaLabel=A.hasOwnProperty("ariaLabel")?A.ariaLabel:"Anchor",A.class=A.hasOwnProperty("class")?A.class:"",A.base=A.hasOwnProperty("base")?A.base:"",A.truncate=A.hasOwnProperty("truncate")?Math.floor(A.truncate):64,A.titleText=A.hasOwnProperty("titleText")?A.titleText:""}function p(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new Error("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],f(this.options),this.isTouchDevice=function(){return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,i,n,o,s,a,r,c,h,l,u,d=[];if(f(this.options),"touch"===(l=this.options.visible)&&(l=this.isTouchDevice()?"always":"hover"),0===(e=p(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"], style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(" .anchorjs-link { opacity: 0; text-decoration: none; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }",e.sheet.cssRules.length),e.sheet.insertRule(" *:hover > .anchorjs-link, .anchorjs-link:focus { opacity: 1; }",e.sheet.cssRules.length),e.sheet.insertRule(" [data-anchorjs-icon]::after { content: attr(data-anchorjs-icon); }",e.sheet.cssRules.length),e.sheet.insertRule(' @font-face { font-family: "anchorjs-icons"; src: url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype"); }',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),i=[].map.call(t,function(A){return A.id}),o=0;o\]\.\/\(\)\*\\\n\t\b\v]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); +!function(A,e){"use strict";"function"==typeof define&&define.amd?define([],e):"object"==typeof module&&module.exports?module.exports=e():(A.AnchorJS=e(),A.anchors=new A.AnchorJS)}(this,function(){"use strict";return function(A){function d(A){A.icon=Object.prototype.hasOwnProperty.call(A,"icon")?A.icon:"ξ§‹",A.visible=Object.prototype.hasOwnProperty.call(A,"visible")?A.visible:"hover",A.placement=Object.prototype.hasOwnProperty.call(A,"placement")?A.placement:"right",A.ariaLabel=Object.prototype.hasOwnProperty.call(A,"ariaLabel")?A.ariaLabel:"Anchor",A.class=Object.prototype.hasOwnProperty.call(A,"class")?A.class:"",A.base=Object.prototype.hasOwnProperty.call(A,"base")?A.base:"",A.truncate=Object.prototype.hasOwnProperty.call(A,"truncate")?Math.floor(A.truncate):64,A.titleText=Object.prototype.hasOwnProperty.call(A,"titleText")?A.titleText:""}function f(A){var e;if("string"==typeof A||A instanceof String)e=[].slice.call(document.querySelectorAll(A));else{if(!(Array.isArray(A)||A instanceof NodeList))throw new TypeError("The selector provided to AnchorJS was invalid.");e=[].slice.call(A)}return e}this.options=A||{},this.elements=[],d(this.options),this.isTouchDevice=function(){return Boolean("ontouchstart"in window||window.TouchEvent||window.DocumentTouch&&document instanceof DocumentTouch)},this.add=function(A){var e,t,o,n,i,s,a,r,c,l,h,u,p=[];if(d(this.options),"touch"===(h=this.options.visible)&&(h=this.isTouchDevice()?"always":"hover"),0===(e=f(A=A||"h2, h3, h4, h5, h6")).length)return this;for(!function(){if(null!==document.head.querySelector("style.anchorjs"))return;var A,e=document.createElement("style");e.className="anchorjs",e.appendChild(document.createTextNode("")),void 0===(A=document.head.querySelector('[rel="stylesheet"],style'))?document.head.appendChild(e):document.head.insertBefore(e,A);e.sheet.insertRule(".anchorjs-link{opacity:0;text-decoration:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}",e.sheet.cssRules.length),e.sheet.insertRule(":hover>.anchorjs-link,.anchorjs-link:focus{opacity:1}",e.sheet.cssRules.length),e.sheet.insertRule("[data-anchorjs-icon]::after{content:attr(data-anchorjs-icon)}",e.sheet.cssRules.length),e.sheet.insertRule('@font-face{font-family:anchorjs-icons;src:url(data:n/a;base64,AAEAAAALAIAAAwAwT1MvMg8yG2cAAAE4AAAAYGNtYXDp3gC3AAABpAAAAExnYXNwAAAAEAAAA9wAAAAIZ2x5ZlQCcfwAAAH4AAABCGhlYWQHFvHyAAAAvAAAADZoaGVhBnACFwAAAPQAAAAkaG10eASAADEAAAGYAAAADGxvY2EACACEAAAB8AAAAAhtYXhwAAYAVwAAARgAAAAgbmFtZQGOH9cAAAMAAAAAunBvc3QAAwAAAAADvAAAACAAAQAAAAEAAHzE2p9fDzz1AAkEAAAAAADRecUWAAAAANQA6R8AAAAAAoACwAAAAAgAAgAAAAAAAAABAAADwP/AAAACgAAA/9MCrQABAAAAAAAAAAAAAAAAAAAAAwABAAAAAwBVAAIAAAAAAAIAAAAAAAAAAAAAAAAAAAAAAAMCQAGQAAUAAAKZAswAAACPApkCzAAAAesAMwEJAAAAAAAAAAAAAAAAAAAAARAAAAAAAAAAAAAAAAAAAAAAQAAg//0DwP/AAEADwABAAAAAAQAAAAAAAAAAAAAAIAAAAAAAAAIAAAACgAAxAAAAAwAAAAMAAAAcAAEAAwAAABwAAwABAAAAHAAEADAAAAAIAAgAAgAAACDpy//9//8AAAAg6cv//f///+EWNwADAAEAAAAAAAAAAAAAAAAACACEAAEAAAAAAAAAAAAAAAAxAAACAAQARAKAAsAAKwBUAAABIiYnJjQ3NzY2MzIWFxYUBwcGIicmNDc3NjQnJiYjIgYHBwYUFxYUBwYGIwciJicmNDc3NjIXFhQHBwYUFxYWMzI2Nzc2NCcmNDc2MhcWFAcHBgYjARQGDAUtLXoWOR8fORYtLTgKGwoKCjgaGg0gEhIgDXoaGgkJBQwHdR85Fi0tOAobCgoKOBoaDSASEiANehoaCQkKGwotLXoWOR8BMwUFLYEuehYXFxYugC44CQkKGwo4GkoaDQ0NDXoaShoKGwoFBe8XFi6ALjgJCQobCjgaShoNDQ0NehpKGgobCgoKLYEuehYXAAAADACWAAEAAAAAAAEACAAAAAEAAAAAAAIAAwAIAAEAAAAAAAMACAAAAAEAAAAAAAQACAAAAAEAAAAAAAUAAQALAAEAAAAAAAYACAAAAAMAAQQJAAEAEAAMAAMAAQQJAAIABgAcAAMAAQQJAAMAEAAMAAMAAQQJAAQAEAAMAAMAAQQJAAUAAgAiAAMAAQQJAAYAEAAMYW5jaG9yanM0MDBAAGEAbgBjAGgAbwByAGoAcwA0ADAAMABAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAH//wAP) format("truetype")}',e.sheet.cssRules.length)}(),t=document.querySelectorAll("[id]"),o=[].map.call(t,function(A){return A.id}),i=0;i\]./()*\\\n\t\b\v\u00A0]/g,"-").replace(/-{2,}/g,"-").substring(0,this.options.truncate).replace(/^-+|-+$/gm,"").toLowerCase()},this.hasAnchorJSLink=function(A){var e=A.firstChild&&-1<(" "+A.firstChild.className+" ").indexOf(" anchorjs-link "),t=A.lastChild&&-1<(" "+A.lastChild.className+" ").indexOf(" anchorjs-link ");return e||t||!1}}}); // @license-end \ No newline at end of file diff --git a/docs/xrefmap.yml b/docs/xrefmap.yml index 7ab47632c..d08fea3fc 100644 --- a/docs/xrefmap.yml +++ b/docs/xrefmap.yml @@ -13,6 +13,19 @@ references: commentId: T:Terminal.Gui.Application fullName: Terminal.Gui.Application nameWithType: Application +- uid: Terminal.Gui.Application.AlwaysSetPosition + name: AlwaysSetPosition + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_AlwaysSetPosition + commentId: P:Terminal.Gui.Application.AlwaysSetPosition + fullName: Terminal.Gui.Application.AlwaysSetPosition + nameWithType: Application.AlwaysSetPosition +- uid: Terminal.Gui.Application.AlwaysSetPosition* + name: AlwaysSetPosition + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_AlwaysSetPosition_ + commentId: Overload:Terminal.Gui.Application.AlwaysSetPosition + isSpec: "True" + fullName: Terminal.Gui.Application.AlwaysSetPosition + nameWithType: Application.AlwaysSetPosition - uid: Terminal.Gui.Application.Begin(Terminal.Gui.Toplevel) name: Begin(Toplevel) href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Begin_Terminal_Gui_Toplevel_ @@ -39,19 +52,6 @@ references: isSpec: "True" fullName: Terminal.Gui.Application.Current nameWithType: Application.Current -- uid: Terminal.Gui.Application.CurrentView - name: CurrentView - href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_CurrentView - commentId: P:Terminal.Gui.Application.CurrentView - fullName: Terminal.Gui.Application.CurrentView - nameWithType: Application.CurrentView -- uid: Terminal.Gui.Application.CurrentView* - name: CurrentView - href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_CurrentView_ - commentId: Overload:Terminal.Gui.Application.CurrentView - isSpec: "True" - fullName: Terminal.Gui.Application.CurrentView - nameWithType: Application.CurrentView - uid: Terminal.Gui.Application.Driver name: Driver href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Driver @@ -84,6 +84,19 @@ references: isSpec: "True" fullName: Terminal.Gui.Application.GrabMouse nameWithType: Application.GrabMouse +- uid: Terminal.Gui.Application.HeightAsBuffer + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_HeightAsBuffer + commentId: P:Terminal.Gui.Application.HeightAsBuffer + fullName: Terminal.Gui.Application.HeightAsBuffer + nameWithType: Application.HeightAsBuffer +- uid: Terminal.Gui.Application.HeightAsBuffer* + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_HeightAsBuffer_ + commentId: Overload:Terminal.Gui.Application.HeightAsBuffer + isSpec: "True" + fullName: Terminal.Gui.Application.HeightAsBuffer + nameWithType: Application.HeightAsBuffer - uid: Terminal.Gui.Application.Init(Terminal.Gui.ConsoleDriver,Terminal.Gui.IMainLoopDriver) name: Init(ConsoleDriver, IMainLoopDriver) href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Init_Terminal_Gui_ConsoleDriver_Terminal_Gui_IMainLoopDriver_ @@ -199,18 +212,24 @@ references: commentId: F:Terminal.Gui.Application.RootMouseEvent fullName: Terminal.Gui.Application.RootMouseEvent nameWithType: Application.RootMouseEvent -- uid: Terminal.Gui.Application.Run - name: Run() - href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run - commentId: M:Terminal.Gui.Application.Run - fullName: Terminal.Gui.Application.Run() - nameWithType: Application.Run() -- uid: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel) - name: Run(Toplevel) - href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run_Terminal_Gui_Toplevel_ - commentId: M:Terminal.Gui.Application.Run(Terminal.Gui.Toplevel) - fullName: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel) - nameWithType: Application.Run(Toplevel) +- uid: Terminal.Gui.Application.Run(System.Func{System.Exception,System.Boolean}) + name: Run(Func) + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run_System_Func_System_Exception_System_Boolean__ + commentId: M:Terminal.Gui.Application.Run(System.Func{System.Exception,System.Boolean}) + name.vb: Run(Func(Of Exception, Boolean)) + fullName: Terminal.Gui.Application.Run(System.Func) + fullName.vb: Terminal.Gui.Application.Run(System.Func(Of System.Exception, System.Boolean)) + nameWithType: Application.Run(Func) + nameWithType.vb: Application.Run(Func(Of Exception, Boolean)) +- uid: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel,System.Func{System.Exception,System.Boolean}) + name: Run(Toplevel, Func) + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run_Terminal_Gui_Toplevel_System_Func_System_Exception_System_Boolean__ + commentId: M:Terminal.Gui.Application.Run(Terminal.Gui.Toplevel,System.Func{System.Exception,System.Boolean}) + name.vb: Run(Toplevel, Func(Of Exception, Boolean)) + fullName: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel, System.Func) + fullName.vb: Terminal.Gui.Application.Run(Terminal.Gui.Toplevel, System.Func(Of System.Exception, System.Boolean)) + nameWithType: Application.Run(Toplevel, Func) + nameWithType.vb: Application.Run(Toplevel, Func(Of Exception, Boolean)) - uid: Terminal.Gui.Application.Run* name: Run href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run_ @@ -218,15 +237,15 @@ references: isSpec: "True" fullName: Terminal.Gui.Application.Run nameWithType: Application.Run -- uid: Terminal.Gui.Application.Run``1 - name: Run() - href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run__1 - commentId: M:Terminal.Gui.Application.Run``1 - name.vb: Run(Of T)() - fullName: Terminal.Gui.Application.Run() - fullName.vb: Terminal.Gui.Application.Run(Of T)() - nameWithType: Application.Run() - nameWithType.vb: Application.Run(Of T)() +- uid: Terminal.Gui.Application.Run``1(System.Func{System.Exception,System.Boolean}) + name: Run(Func) + href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_Run__1_System_Func_System_Exception_System_Boolean__ + commentId: M:Terminal.Gui.Application.Run``1(System.Func{System.Exception,System.Boolean}) + name.vb: Run(Of T)(Func(Of Exception, Boolean)) + fullName: Terminal.Gui.Application.Run(System.Func) + fullName.vb: Terminal.Gui.Application.Run(Of T)(System.Func(Of System.Exception, System.Boolean)) + nameWithType: Application.Run(Func) + nameWithType.vb: Application.Run(Of T)(Func(Of Exception, Boolean)) - uid: Terminal.Gui.Application.RunLoop(Terminal.Gui.Application.RunState,System.Boolean) name: RunLoop(Application.RunState, Boolean) href: api/Terminal.Gui/Terminal.Gui.Application.html#Terminal_Gui_Application_RunLoop_Terminal_Gui_Application_RunState_System_Boolean_ @@ -348,6 +367,45 @@ references: isSpec: "True" fullName: Terminal.Gui.Attribute.Attribute nameWithType: Attribute.Attribute +- uid: Terminal.Gui.Attribute.Background + name: Background + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Background + commentId: P:Terminal.Gui.Attribute.Background + fullName: Terminal.Gui.Attribute.Background + nameWithType: Attribute.Background +- uid: Terminal.Gui.Attribute.Background* + name: Background + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Background_ + commentId: Overload:Terminal.Gui.Attribute.Background + isSpec: "True" + fullName: Terminal.Gui.Attribute.Background + nameWithType: Attribute.Background +- uid: Terminal.Gui.Attribute.Foreground + name: Foreground + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Foreground + commentId: P:Terminal.Gui.Attribute.Foreground + fullName: Terminal.Gui.Attribute.Foreground + nameWithType: Attribute.Foreground +- uid: Terminal.Gui.Attribute.Foreground* + name: Foreground + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Foreground_ + commentId: Overload:Terminal.Gui.Attribute.Foreground + isSpec: "True" + fullName: Terminal.Gui.Attribute.Foreground + nameWithType: Attribute.Foreground +- uid: Terminal.Gui.Attribute.Get + name: Get() + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Get + commentId: M:Terminal.Gui.Attribute.Get + fullName: Terminal.Gui.Attribute.Get() + nameWithType: Attribute.Get() +- uid: Terminal.Gui.Attribute.Get* + name: Get + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Get_ + commentId: Overload:Terminal.Gui.Attribute.Get + isSpec: "True" + fullName: Terminal.Gui.Attribute.Get + nameWithType: Attribute.Get - uid: Terminal.Gui.Attribute.Make(Terminal.Gui.Color,Terminal.Gui.Color) name: Make(Color, Color) href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Make_Terminal_Gui_Color_Terminal_Gui_Color_ @@ -389,6 +447,19 @@ references: fullName.vb: Terminal.Gui.Attribute.Widening nameWithType: Attribute.Implicit nameWithType.vb: Attribute.Widening +- uid: Terminal.Gui.Attribute.Value + name: Value + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Value + commentId: P:Terminal.Gui.Attribute.Value + fullName: Terminal.Gui.Attribute.Value + nameWithType: Attribute.Value +- uid: Terminal.Gui.Attribute.Value* + name: Value + href: api/Terminal.Gui/Terminal.Gui.Attribute.html#Terminal_Gui_Attribute_Value_ + commentId: Overload:Terminal.Gui.Attribute.Value + isSpec: "True" + fullName: Terminal.Gui.Attribute.Value + nameWithType: Attribute.Value - uid: Terminal.Gui.Button name: Button href: api/Terminal.Gui/Terminal.Gui.Button.html @@ -458,6 +529,19 @@ references: isSpec: "True" fullName: Terminal.Gui.Button.MouseEvent nameWithType: Button.MouseEvent +- uid: Terminal.Gui.Button.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.Button.html#Terminal_Gui_Button_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.Button.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.Button.OnEnter(Terminal.Gui.View) + nameWithType: Button.OnEnter(View) +- uid: Terminal.Gui.Button.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.Button.html#Terminal_Gui_Button_OnEnter_ + commentId: Overload:Terminal.Gui.Button.OnEnter + isSpec: "True" + fullName: Terminal.Gui.Button.OnEnter + nameWithType: Button.OnEnter - uid: Terminal.Gui.Button.PositionCursor name: PositionCursor() href: api/Terminal.Gui/Terminal.Gui.Button.html#Terminal_Gui_Button_PositionCursor @@ -523,6 +607,64 @@ references: isSpec: "True" fullName: Terminal.Gui.Button.Text nameWithType: Button.Text +- uid: Terminal.Gui.CellActivatedEventArgs + name: CellActivatedEventArgs + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html + commentId: T:Terminal.Gui.CellActivatedEventArgs + fullName: Terminal.Gui.CellActivatedEventArgs + nameWithType: CellActivatedEventArgs +- uid: Terminal.Gui.CellActivatedEventArgs.#ctor(System.Data.DataTable,System.Int32,System.Int32) + name: CellActivatedEventArgs(DataTable, Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs__ctor_System_Data_DataTable_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.CellActivatedEventArgs.#ctor(System.Data.DataTable,System.Int32,System.Int32) + fullName: Terminal.Gui.CellActivatedEventArgs.CellActivatedEventArgs(System.Data.DataTable, System.Int32, System.Int32) + nameWithType: CellActivatedEventArgs.CellActivatedEventArgs(DataTable, Int32, Int32) +- uid: Terminal.Gui.CellActivatedEventArgs.#ctor* + name: CellActivatedEventArgs + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs__ctor_ + commentId: Overload:Terminal.Gui.CellActivatedEventArgs.#ctor + isSpec: "True" + fullName: Terminal.Gui.CellActivatedEventArgs.CellActivatedEventArgs + nameWithType: CellActivatedEventArgs.CellActivatedEventArgs +- uid: Terminal.Gui.CellActivatedEventArgs.Col + name: Col + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Col + commentId: P:Terminal.Gui.CellActivatedEventArgs.Col + fullName: Terminal.Gui.CellActivatedEventArgs.Col + nameWithType: CellActivatedEventArgs.Col +- uid: Terminal.Gui.CellActivatedEventArgs.Col* + name: Col + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Col_ + commentId: Overload:Terminal.Gui.CellActivatedEventArgs.Col + isSpec: "True" + fullName: Terminal.Gui.CellActivatedEventArgs.Col + nameWithType: CellActivatedEventArgs.Col +- uid: Terminal.Gui.CellActivatedEventArgs.Row + name: Row + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Row + commentId: P:Terminal.Gui.CellActivatedEventArgs.Row + fullName: Terminal.Gui.CellActivatedEventArgs.Row + nameWithType: CellActivatedEventArgs.Row +- uid: Terminal.Gui.CellActivatedEventArgs.Row* + name: Row + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Row_ + commentId: Overload:Terminal.Gui.CellActivatedEventArgs.Row + isSpec: "True" + fullName: Terminal.Gui.CellActivatedEventArgs.Row + nameWithType: CellActivatedEventArgs.Row +- uid: Terminal.Gui.CellActivatedEventArgs.Table + name: Table + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Table + commentId: P:Terminal.Gui.CellActivatedEventArgs.Table + fullName: Terminal.Gui.CellActivatedEventArgs.Table + nameWithType: CellActivatedEventArgs.Table +- uid: Terminal.Gui.CellActivatedEventArgs.Table* + name: Table + href: api/Terminal.Gui/Terminal.Gui.CellActivatedEventArgs.html#Terminal_Gui_CellActivatedEventArgs_Table_ + commentId: Overload:Terminal.Gui.CellActivatedEventArgs.Table + isSpec: "True" + fullName: Terminal.Gui.CellActivatedEventArgs.Table + nameWithType: CellActivatedEventArgs.Table - uid: Terminal.Gui.CheckBox name: CheckBox href: api/Terminal.Gui/Terminal.Gui.CheckBox.html @@ -586,6 +728,19 @@ references: isSpec: "True" fullName: Terminal.Gui.CheckBox.MouseEvent nameWithType: CheckBox.MouseEvent +- uid: Terminal.Gui.CheckBox.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.CheckBox.html#Terminal_Gui_CheckBox_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.CheckBox.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.CheckBox.OnEnter(Terminal.Gui.View) + nameWithType: CheckBox.OnEnter(View) +- uid: Terminal.Gui.CheckBox.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.CheckBox.html#Terminal_Gui_CheckBox_OnEnter_ + commentId: Overload:Terminal.Gui.CheckBox.OnEnter + isSpec: "True" + fullName: Terminal.Gui.CheckBox.OnEnter + nameWithType: CheckBox.OnEnter - uid: Terminal.Gui.CheckBox.OnToggled(System.Boolean) name: OnToggled(Boolean) href: api/Terminal.Gui/Terminal.Gui.CheckBox.html#Terminal_Gui_CheckBox_OnToggled_System_Boolean_ @@ -991,6 +1146,102 @@ references: isSpec: "True" fullName: Terminal.Gui.ColorScheme.Inequality nameWithType: ColorScheme.Inequality +- uid: Terminal.Gui.ColumnStyle + name: ColumnStyle + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html + commentId: T:Terminal.Gui.ColumnStyle + fullName: Terminal.Gui.ColumnStyle + nameWithType: ColumnStyle +- uid: Terminal.Gui.ColumnStyle.Alignment + name: Alignment + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment + commentId: P:Terminal.Gui.ColumnStyle.Alignment + fullName: Terminal.Gui.ColumnStyle.Alignment + nameWithType: ColumnStyle.Alignment +- uid: Terminal.Gui.ColumnStyle.Alignment* + name: Alignment + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Alignment_ + commentId: Overload:Terminal.Gui.ColumnStyle.Alignment + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.Alignment + nameWithType: ColumnStyle.Alignment +- uid: Terminal.Gui.ColumnStyle.AlignmentGetter + name: AlignmentGetter + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_AlignmentGetter + commentId: F:Terminal.Gui.ColumnStyle.AlignmentGetter + fullName: Terminal.Gui.ColumnStyle.AlignmentGetter + nameWithType: ColumnStyle.AlignmentGetter +- uid: Terminal.Gui.ColumnStyle.Format + name: Format + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Format + commentId: P:Terminal.Gui.ColumnStyle.Format + fullName: Terminal.Gui.ColumnStyle.Format + nameWithType: ColumnStyle.Format +- uid: Terminal.Gui.ColumnStyle.Format* + name: Format + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_Format_ + commentId: Overload:Terminal.Gui.ColumnStyle.Format + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.Format + nameWithType: ColumnStyle.Format +- uid: Terminal.Gui.ColumnStyle.GetAlignment(System.Object) + name: GetAlignment(Object) + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_GetAlignment_System_Object_ + commentId: M:Terminal.Gui.ColumnStyle.GetAlignment(System.Object) + fullName: Terminal.Gui.ColumnStyle.GetAlignment(System.Object) + nameWithType: ColumnStyle.GetAlignment(Object) +- uid: Terminal.Gui.ColumnStyle.GetAlignment* + name: GetAlignment + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_GetAlignment_ + commentId: Overload:Terminal.Gui.ColumnStyle.GetAlignment + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.GetAlignment + nameWithType: ColumnStyle.GetAlignment +- uid: Terminal.Gui.ColumnStyle.GetRepresentation(System.Object) + name: GetRepresentation(Object) + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_GetRepresentation_System_Object_ + commentId: M:Terminal.Gui.ColumnStyle.GetRepresentation(System.Object) + fullName: Terminal.Gui.ColumnStyle.GetRepresentation(System.Object) + nameWithType: ColumnStyle.GetRepresentation(Object) +- uid: Terminal.Gui.ColumnStyle.GetRepresentation* + name: GetRepresentation + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_GetRepresentation_ + commentId: Overload:Terminal.Gui.ColumnStyle.GetRepresentation + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.GetRepresentation + nameWithType: ColumnStyle.GetRepresentation +- uid: Terminal.Gui.ColumnStyle.MaxWidth + name: MaxWidth + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MaxWidth + commentId: P:Terminal.Gui.ColumnStyle.MaxWidth + fullName: Terminal.Gui.ColumnStyle.MaxWidth + nameWithType: ColumnStyle.MaxWidth +- uid: Terminal.Gui.ColumnStyle.MaxWidth* + name: MaxWidth + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MaxWidth_ + commentId: Overload:Terminal.Gui.ColumnStyle.MaxWidth + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.MaxWidth + nameWithType: ColumnStyle.MaxWidth +- uid: Terminal.Gui.ColumnStyle.MinWidth + name: MinWidth + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MinWidth + commentId: P:Terminal.Gui.ColumnStyle.MinWidth + fullName: Terminal.Gui.ColumnStyle.MinWidth + nameWithType: ColumnStyle.MinWidth +- uid: Terminal.Gui.ColumnStyle.MinWidth* + name: MinWidth + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_MinWidth_ + commentId: Overload:Terminal.Gui.ColumnStyle.MinWidth + isSpec: "True" + fullName: Terminal.Gui.ColumnStyle.MinWidth + nameWithType: ColumnStyle.MinWidth +- uid: Terminal.Gui.ColumnStyle.RepresentationGetter + name: RepresentationGetter + href: api/Terminal.Gui/Terminal.Gui.ColumnStyle.html#Terminal_Gui_ColumnStyle_RepresentationGetter + commentId: F:Terminal.Gui.ColumnStyle.RepresentationGetter + fullName: Terminal.Gui.ColumnStyle.RepresentationGetter + nameWithType: ColumnStyle.RepresentationGetter - uid: Terminal.Gui.ComboBox name: ComboBox href: api/Terminal.Gui/Terminal.Gui.ComboBox.html @@ -1374,6 +1625,61 @@ references: isSpec: "True" fullName: Terminal.Gui.ConsoleDriver.End nameWithType: ConsoleDriver.End +- uid: Terminal.Gui.ConsoleDriver.EnsureCursorVisibility + name: EnsureCursorVisibility() + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_EnsureCursorVisibility + commentId: M:Terminal.Gui.ConsoleDriver.EnsureCursorVisibility + fullName: Terminal.Gui.ConsoleDriver.EnsureCursorVisibility() + nameWithType: ConsoleDriver.EnsureCursorVisibility() +- uid: Terminal.Gui.ConsoleDriver.EnsureCursorVisibility* + name: EnsureCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_EnsureCursorVisibility_ + commentId: Overload:Terminal.Gui.ConsoleDriver.EnsureCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.EnsureCursorVisibility + nameWithType: ConsoleDriver.EnsureCursorVisibility +- uid: Terminal.Gui.ConsoleDriver.GetAttribute + name: GetAttribute() + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_GetAttribute + commentId: M:Terminal.Gui.ConsoleDriver.GetAttribute + fullName: Terminal.Gui.ConsoleDriver.GetAttribute() + nameWithType: ConsoleDriver.GetAttribute() +- uid: Terminal.Gui.ConsoleDriver.GetAttribute* + name: GetAttribute + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_GetAttribute_ + commentId: Overload:Terminal.Gui.ConsoleDriver.GetAttribute + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.GetAttribute + nameWithType: ConsoleDriver.GetAttribute +- uid: Terminal.Gui.ConsoleDriver.GetCursorVisibility(Terminal.Gui.CursorVisibility@) + name: GetCursorVisibility(out CursorVisibility) + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_GetCursorVisibility_Terminal_Gui_CursorVisibility__ + commentId: M:Terminal.Gui.ConsoleDriver.GetCursorVisibility(Terminal.Gui.CursorVisibility@) + name.vb: GetCursorVisibility(ByRef CursorVisibility) + fullName: Terminal.Gui.ConsoleDriver.GetCursorVisibility(out Terminal.Gui.CursorVisibility) + fullName.vb: Terminal.Gui.ConsoleDriver.GetCursorVisibility(ByRef Terminal.Gui.CursorVisibility) + nameWithType: ConsoleDriver.GetCursorVisibility(out CursorVisibility) + nameWithType.vb: ConsoleDriver.GetCursorVisibility(ByRef CursorVisibility) +- uid: Terminal.Gui.ConsoleDriver.GetCursorVisibility* + name: GetCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_GetCursorVisibility_ + commentId: Overload:Terminal.Gui.ConsoleDriver.GetCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.GetCursorVisibility + nameWithType: ConsoleDriver.GetCursorVisibility +- uid: Terminal.Gui.ConsoleDriver.HeightAsBuffer + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_HeightAsBuffer + commentId: P:Terminal.Gui.ConsoleDriver.HeightAsBuffer + fullName: Terminal.Gui.ConsoleDriver.HeightAsBuffer + nameWithType: ConsoleDriver.HeightAsBuffer +- uid: Terminal.Gui.ConsoleDriver.HeightAsBuffer* + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_HeightAsBuffer_ + commentId: Overload:Terminal.Gui.ConsoleDriver.HeightAsBuffer + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.HeightAsBuffer + nameWithType: ConsoleDriver.HeightAsBuffer - uid: Terminal.Gui.ConsoleDriver.HLine name: HLine href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_HLine @@ -1584,6 +1890,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ConsoleDriver.SetColors nameWithType: ConsoleDriver.SetColors +- uid: Terminal.Gui.ConsoleDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + name: SetCursorVisibility(CursorVisibility) + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_SetCursorVisibility_Terminal_Gui_CursorVisibility_ + commentId: M:Terminal.Gui.ConsoleDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + fullName: Terminal.Gui.ConsoleDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + nameWithType: ConsoleDriver.SetCursorVisibility(CursorVisibility) +- uid: Terminal.Gui.ConsoleDriver.SetCursorVisibility* + name: SetCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_SetCursorVisibility_ + commentId: Overload:Terminal.Gui.ConsoleDriver.SetCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.SetCursorVisibility + nameWithType: ConsoleDriver.SetCursorVisibility - uid: Terminal.Gui.ConsoleDriver.SetTerminalResized(System.Action) name: SetTerminalResized(Action) href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_SetTerminalResized_System_Action_ @@ -1648,6 +1967,19 @@ references: commentId: F:Terminal.Gui.ConsoleDriver.TerminalResized fullName: Terminal.Gui.ConsoleDriver.TerminalResized nameWithType: ConsoleDriver.TerminalResized +- uid: Terminal.Gui.ConsoleDriver.Top + name: Top + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Top + commentId: P:Terminal.Gui.ConsoleDriver.Top + fullName: Terminal.Gui.ConsoleDriver.Top + nameWithType: ConsoleDriver.Top +- uid: Terminal.Gui.ConsoleDriver.Top* + name: Top + href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_Top_ + commentId: Overload:Terminal.Gui.ConsoleDriver.Top + isSpec: "True" + fullName: Terminal.Gui.ConsoleDriver.Top + nameWithType: ConsoleDriver.Top - uid: Terminal.Gui.ConsoleDriver.TopTee name: TopTee href: api/Terminal.Gui/Terminal.Gui.ConsoleDriver.html#Terminal_Gui_ConsoleDriver_TopTee @@ -1729,6 +2061,60 @@ references: commentId: F:Terminal.Gui.ConsoleDriver.VLine fullName: Terminal.Gui.ConsoleDriver.VLine nameWithType: ConsoleDriver.VLine +- uid: Terminal.Gui.CursorVisibility + name: CursorVisibility + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html + commentId: T:Terminal.Gui.CursorVisibility + fullName: Terminal.Gui.CursorVisibility + nameWithType: CursorVisibility +- uid: Terminal.Gui.CursorVisibility.Box + name: Box + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_Box + commentId: F:Terminal.Gui.CursorVisibility.Box + fullName: Terminal.Gui.CursorVisibility.Box + nameWithType: CursorVisibility.Box +- uid: Terminal.Gui.CursorVisibility.BoxFix + name: BoxFix + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_BoxFix + commentId: F:Terminal.Gui.CursorVisibility.BoxFix + fullName: Terminal.Gui.CursorVisibility.BoxFix + nameWithType: CursorVisibility.BoxFix +- uid: Terminal.Gui.CursorVisibility.Default + name: Default + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_Default + commentId: F:Terminal.Gui.CursorVisibility.Default + fullName: Terminal.Gui.CursorVisibility.Default + nameWithType: CursorVisibility.Default +- uid: Terminal.Gui.CursorVisibility.Invisible + name: Invisible + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_Invisible + commentId: F:Terminal.Gui.CursorVisibility.Invisible + fullName: Terminal.Gui.CursorVisibility.Invisible + nameWithType: CursorVisibility.Invisible +- uid: Terminal.Gui.CursorVisibility.Underline + name: Underline + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_Underline + commentId: F:Terminal.Gui.CursorVisibility.Underline + fullName: Terminal.Gui.CursorVisibility.Underline + nameWithType: CursorVisibility.Underline +- uid: Terminal.Gui.CursorVisibility.UnderlineFix + name: UnderlineFix + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_UnderlineFix + commentId: F:Terminal.Gui.CursorVisibility.UnderlineFix + fullName: Terminal.Gui.CursorVisibility.UnderlineFix + nameWithType: CursorVisibility.UnderlineFix +- uid: Terminal.Gui.CursorVisibility.Vertical + name: Vertical + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_Vertical + commentId: F:Terminal.Gui.CursorVisibility.Vertical + fullName: Terminal.Gui.CursorVisibility.Vertical + nameWithType: CursorVisibility.Vertical +- uid: Terminal.Gui.CursorVisibility.VerticalFix + name: VerticalFix + href: api/Terminal.Gui/Terminal.Gui.CursorVisibility.html#Terminal_Gui_CursorVisibility_VerticalFix + commentId: F:Terminal.Gui.CursorVisibility.VerticalFix + fullName: Terminal.Gui.CursorVisibility.VerticalFix + nameWithType: CursorVisibility.VerticalFix - uid: Terminal.Gui.DateField name: DateField href: api/Terminal.Gui/Terminal.Gui.DateField.html @@ -3092,6 +3478,61 @@ references: isSpec: "True" fullName: Terminal.Gui.FakeDriver.End nameWithType: FakeDriver.End +- uid: Terminal.Gui.FakeDriver.EnsureCursorVisibility + name: EnsureCursorVisibility() + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_EnsureCursorVisibility + commentId: M:Terminal.Gui.FakeDriver.EnsureCursorVisibility + fullName: Terminal.Gui.FakeDriver.EnsureCursorVisibility() + nameWithType: FakeDriver.EnsureCursorVisibility() +- uid: Terminal.Gui.FakeDriver.EnsureCursorVisibility* + name: EnsureCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_EnsureCursorVisibility_ + commentId: Overload:Terminal.Gui.FakeDriver.EnsureCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.EnsureCursorVisibility + nameWithType: FakeDriver.EnsureCursorVisibility +- uid: Terminal.Gui.FakeDriver.GetAttribute + name: GetAttribute() + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_GetAttribute + commentId: M:Terminal.Gui.FakeDriver.GetAttribute + fullName: Terminal.Gui.FakeDriver.GetAttribute() + nameWithType: FakeDriver.GetAttribute() +- uid: Terminal.Gui.FakeDriver.GetAttribute* + name: GetAttribute + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_GetAttribute_ + commentId: Overload:Terminal.Gui.FakeDriver.GetAttribute + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.GetAttribute + nameWithType: FakeDriver.GetAttribute +- uid: Terminal.Gui.FakeDriver.GetCursorVisibility(Terminal.Gui.CursorVisibility@) + name: GetCursorVisibility(out CursorVisibility) + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_GetCursorVisibility_Terminal_Gui_CursorVisibility__ + commentId: M:Terminal.Gui.FakeDriver.GetCursorVisibility(Terminal.Gui.CursorVisibility@) + name.vb: GetCursorVisibility(ByRef CursorVisibility) + fullName: Terminal.Gui.FakeDriver.GetCursorVisibility(out Terminal.Gui.CursorVisibility) + fullName.vb: Terminal.Gui.FakeDriver.GetCursorVisibility(ByRef Terminal.Gui.CursorVisibility) + nameWithType: FakeDriver.GetCursorVisibility(out CursorVisibility) + nameWithType.vb: FakeDriver.GetCursorVisibility(ByRef CursorVisibility) +- uid: Terminal.Gui.FakeDriver.GetCursorVisibility* + name: GetCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_GetCursorVisibility_ + commentId: Overload:Terminal.Gui.FakeDriver.GetCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.GetCursorVisibility + nameWithType: FakeDriver.GetCursorVisibility +- uid: Terminal.Gui.FakeDriver.HeightAsBuffer + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_HeightAsBuffer + commentId: P:Terminal.Gui.FakeDriver.HeightAsBuffer + fullName: Terminal.Gui.FakeDriver.HeightAsBuffer + nameWithType: FakeDriver.HeightAsBuffer +- uid: Terminal.Gui.FakeDriver.HeightAsBuffer* + name: HeightAsBuffer + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_HeightAsBuffer_ + commentId: Overload:Terminal.Gui.FakeDriver.HeightAsBuffer + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.HeightAsBuffer + nameWithType: FakeDriver.HeightAsBuffer - uid: Terminal.Gui.FakeDriver.Init(System.Action) name: Init(Action) href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_Init_System_Action_ @@ -3205,6 +3646,19 @@ references: isSpec: "True" fullName: Terminal.Gui.FakeDriver.SetColors nameWithType: FakeDriver.SetColors +- uid: Terminal.Gui.FakeDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + name: SetCursorVisibility(CursorVisibility) + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_SetCursorVisibility_Terminal_Gui_CursorVisibility_ + commentId: M:Terminal.Gui.FakeDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + fullName: Terminal.Gui.FakeDriver.SetCursorVisibility(Terminal.Gui.CursorVisibility) + nameWithType: FakeDriver.SetCursorVisibility(CursorVisibility) +- uid: Terminal.Gui.FakeDriver.SetCursorVisibility* + name: SetCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_SetCursorVisibility_ + commentId: Overload:Terminal.Gui.FakeDriver.SetCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.SetCursorVisibility + nameWithType: FakeDriver.SetCursorVisibility - uid: Terminal.Gui.FakeDriver.StartReportingMouseMoves name: StartReportingMouseMoves() href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_StartReportingMouseMoves @@ -3244,6 +3698,19 @@ references: isSpec: "True" fullName: Terminal.Gui.FakeDriver.Suspend nameWithType: FakeDriver.Suspend +- uid: Terminal.Gui.FakeDriver.Top + name: Top + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_Top + commentId: P:Terminal.Gui.FakeDriver.Top + fullName: Terminal.Gui.FakeDriver.Top + nameWithType: FakeDriver.Top +- uid: Terminal.Gui.FakeDriver.Top* + name: Top + href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_Top_ + commentId: Overload:Terminal.Gui.FakeDriver.Top + isSpec: "True" + fullName: Terminal.Gui.FakeDriver.Top + nameWithType: FakeDriver.Top - uid: Terminal.Gui.FakeDriver.UncookMouse name: UncookMouse() href: api/Terminal.Gui/Terminal.Gui.FakeDriver.html#Terminal_Gui_FakeDriver_UncookMouse @@ -3283,6 +3750,102 @@ references: isSpec: "True" fullName: Terminal.Gui.FakeDriver.UpdateScreen nameWithType: FakeDriver.UpdateScreen +- uid: Terminal.Gui.FakeMainLoop + name: FakeMainLoop + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html + commentId: T:Terminal.Gui.FakeMainLoop + fullName: Terminal.Gui.FakeMainLoop + nameWithType: FakeMainLoop +- uid: Terminal.Gui.FakeMainLoop.#ctor(System.Func{System.ConsoleKeyInfo}) + name: FakeMainLoop(Func) + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop__ctor_System_Func_System_ConsoleKeyInfo__ + commentId: M:Terminal.Gui.FakeMainLoop.#ctor(System.Func{System.ConsoleKeyInfo}) + name.vb: FakeMainLoop(Func(Of ConsoleKeyInfo)) + fullName: Terminal.Gui.FakeMainLoop.FakeMainLoop(System.Func) + fullName.vb: Terminal.Gui.FakeMainLoop.FakeMainLoop(System.Func(Of System.ConsoleKeyInfo)) + nameWithType: FakeMainLoop.FakeMainLoop(Func) + nameWithType.vb: FakeMainLoop.FakeMainLoop(Func(Of ConsoleKeyInfo)) +- uid: Terminal.Gui.FakeMainLoop.#ctor* + name: FakeMainLoop + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop__ctor_ + commentId: Overload:Terminal.Gui.FakeMainLoop.#ctor + isSpec: "True" + fullName: Terminal.Gui.FakeMainLoop.FakeMainLoop + nameWithType: FakeMainLoop.FakeMainLoop +- uid: Terminal.Gui.FakeMainLoop.KeyPressed + name: KeyPressed + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_KeyPressed + commentId: F:Terminal.Gui.FakeMainLoop.KeyPressed + fullName: Terminal.Gui.FakeMainLoop.KeyPressed + nameWithType: FakeMainLoop.KeyPressed +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending(System.Boolean) + name: IMainLoopDriver.EventsPending(Boolean) + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_EventsPending_System_Boolean_ + commentId: M:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending(System.Boolean) + name.vb: Terminal.Gui.IMainLoopDriver.EventsPending(Boolean) + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending(System.Boolean) + nameWithType: FakeMainLoop.IMainLoopDriver.EventsPending(Boolean) + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending(Boolean) +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending* + name: IMainLoopDriver.EventsPending + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_EventsPending_ + commentId: Overload:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending + isSpec: "True" + name.vb: Terminal.Gui.IMainLoopDriver.EventsPending + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending + nameWithType: FakeMainLoop.IMainLoopDriver.EventsPending + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration + name: IMainLoopDriver.MainIteration() + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_MainIteration + commentId: M:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration + name.vb: Terminal.Gui.IMainLoopDriver.MainIteration() + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration() + nameWithType: FakeMainLoop.IMainLoopDriver.MainIteration() + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration() +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration* + name: IMainLoopDriver.MainIteration + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_MainIteration_ + commentId: Overload:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration + isSpec: "True" + name.vb: Terminal.Gui.IMainLoopDriver.MainIteration + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration + nameWithType: FakeMainLoop.IMainLoopDriver.MainIteration + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Setup(Terminal.Gui.MainLoop) + name: IMainLoopDriver.Setup(MainLoop) + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_Setup_Terminal_Gui_MainLoop_ + commentId: M:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Setup(Terminal.Gui.MainLoop) + name.vb: Terminal.Gui.IMainLoopDriver.Setup(MainLoop) + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.Setup(Terminal.Gui.MainLoop) + nameWithType: FakeMainLoop.IMainLoopDriver.Setup(MainLoop) + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.Setup(MainLoop) +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Setup* + name: IMainLoopDriver.Setup + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_Setup_ + commentId: Overload:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Setup + isSpec: "True" + name.vb: Terminal.Gui.IMainLoopDriver.Setup + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.Setup + nameWithType: FakeMainLoop.IMainLoopDriver.Setup + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.Setup +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup + name: IMainLoopDriver.Wakeup() + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_Wakeup + commentId: M:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup + name.vb: Terminal.Gui.IMainLoopDriver.Wakeup() + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup() + nameWithType: FakeMainLoop.IMainLoopDriver.Wakeup() + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup() +- uid: Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup* + name: IMainLoopDriver.Wakeup + href: api/Terminal.Gui/Terminal.Gui.FakeMainLoop.html#Terminal_Gui_FakeMainLoop_Terminal_Gui_IMainLoopDriver_Wakeup_ + commentId: Overload:Terminal.Gui.FakeMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup + isSpec: "True" + name.vb: Terminal.Gui.IMainLoopDriver.Wakeup + fullName: Terminal.Gui.FakeMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup + nameWithType: FakeMainLoop.IMainLoopDriver.Wakeup + nameWithType.vb: FakeMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup - uid: Terminal.Gui.FileDialog name: FileDialog href: api/Terminal.Gui/Terminal.Gui.FileDialog.html @@ -3504,6 +4067,19 @@ references: isSpec: "True" fullName: Terminal.Gui.FrameView.Add nameWithType: FrameView.Add +- uid: Terminal.Gui.FrameView.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.FrameView.html#Terminal_Gui_FrameView_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.FrameView.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.FrameView.OnEnter(Terminal.Gui.View) + nameWithType: FrameView.OnEnter(View) +- uid: Terminal.Gui.FrameView.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.FrameView.html#Terminal_Gui_FrameView_OnEnter_ + commentId: Overload:Terminal.Gui.FrameView.OnEnter + isSpec: "True" + fullName: Terminal.Gui.FrameView.OnEnter + nameWithType: FrameView.OnEnter - uid: Terminal.Gui.FrameView.Redraw(Terminal.Gui.Rect) name: Redraw(Rect) href: api/Terminal.Gui/Terminal.Gui.FrameView.html#Terminal_Gui_FrameView_Redraw_Terminal_Gui_Rect_ @@ -3633,6 +4209,19 @@ references: isSpec: "True" fullName: Terminal.Gui.HexView.ApplyEdits nameWithType: HexView.ApplyEdits +- uid: Terminal.Gui.HexView.DesiredCursorVisibility + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.HexView.html#Terminal_Gui_HexView_DesiredCursorVisibility + commentId: P:Terminal.Gui.HexView.DesiredCursorVisibility + fullName: Terminal.Gui.HexView.DesiredCursorVisibility + nameWithType: HexView.DesiredCursorVisibility +- uid: Terminal.Gui.HexView.DesiredCursorVisibility* + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.HexView.html#Terminal_Gui_HexView_DesiredCursorVisibility_ + commentId: Overload:Terminal.Gui.HexView.DesiredCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.HexView.DesiredCursorVisibility + nameWithType: HexView.DesiredCursorVisibility - uid: Terminal.Gui.HexView.DisplayStart name: DisplayStart href: api/Terminal.Gui/Terminal.Gui.HexView.html#Terminal_Gui_HexView_DisplayStart @@ -3756,12 +4345,25 @@ references: isSpec: "True" fullName: Terminal.Gui.IListDataSource.IsMarked nameWithType: IListDataSource.IsMarked -- uid: Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32) - name: Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) - href: api/Terminal.Gui/Terminal.Gui.IListDataSource.html#Terminal_Gui_IListDataSource_Render_Terminal_Gui_ListView_Terminal_Gui_ConsoleDriver_System_Boolean_System_Int32_System_Int32_System_Int32_System_Int32_ - commentId: M:Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32) - fullName: Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView, Terminal.Gui.ConsoleDriver, System.Boolean, System.Int32, System.Int32, System.Int32, System.Int32) - nameWithType: IListDataSource.Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) +- uid: Terminal.Gui.IListDataSource.Length + name: Length + href: api/Terminal.Gui/Terminal.Gui.IListDataSource.html#Terminal_Gui_IListDataSource_Length + commentId: P:Terminal.Gui.IListDataSource.Length + fullName: Terminal.Gui.IListDataSource.Length + nameWithType: IListDataSource.Length +- uid: Terminal.Gui.IListDataSource.Length* + name: Length + href: api/Terminal.Gui/Terminal.Gui.IListDataSource.html#Terminal_Gui_IListDataSource_Length_ + commentId: Overload:Terminal.Gui.IListDataSource.Length + isSpec: "True" + fullName: Terminal.Gui.IListDataSource.Length + nameWithType: IListDataSource.Length +- uid: Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) + name: Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.IListDataSource.html#Terminal_Gui_IListDataSource_Render_Terminal_Gui_ListView_Terminal_Gui_ConsoleDriver_System_Boolean_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) + fullName: Terminal.Gui.IListDataSource.Render(Terminal.Gui.ListView, Terminal.Gui.ConsoleDriver, System.Boolean, System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) + nameWithType: IListDataSource.Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) - uid: Terminal.Gui.IListDataSource.Render* name: Render href: api/Terminal.Gui/Terminal.Gui.IListDataSource.html#Terminal_Gui_IListDataSource_Render_ @@ -4517,6 +5119,19 @@ references: commentId: E:Terminal.Gui.Label.Clicked fullName: Terminal.Gui.Label.Clicked nameWithType: Label.Clicked +- uid: Terminal.Gui.Label.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.Label.html#Terminal_Gui_Label_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.Label.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.Label.OnEnter(Terminal.Gui.View) + nameWithType: Label.OnEnter(View) +- uid: Terminal.Gui.Label.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.Label.html#Terminal_Gui_Label_OnEnter_ + commentId: Overload:Terminal.Gui.Label.OnEnter + isSpec: "True" + fullName: Terminal.Gui.Label.OnEnter + nameWithType: Label.OnEnter - uid: Terminal.Gui.Label.OnMouseEvent(Terminal.Gui.MouseEvent) name: OnMouseEvent(MouseEvent) href: api/Terminal.Gui/Terminal.Gui.Label.html#Terminal_Gui_Label_OnMouseEvent_Terminal_Gui_MouseEvent_ @@ -4630,6 +5245,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ListView.AllowsMultipleSelection nameWithType: ListView.AllowsMultipleSelection +- uid: Terminal.Gui.ListView.LeftItem + name: LeftItem + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_LeftItem + commentId: P:Terminal.Gui.ListView.LeftItem + fullName: Terminal.Gui.ListView.LeftItem + nameWithType: ListView.LeftItem +- uid: Terminal.Gui.ListView.LeftItem* + name: LeftItem + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_LeftItem_ + commentId: Overload:Terminal.Gui.ListView.LeftItem + isSpec: "True" + fullName: Terminal.Gui.ListView.LeftItem + nameWithType: ListView.LeftItem - uid: Terminal.Gui.ListView.MarkUnmarkRow name: MarkUnmarkRow() href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_MarkUnmarkRow @@ -4643,6 +5271,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ListView.MarkUnmarkRow nameWithType: ListView.MarkUnmarkRow +- uid: Terminal.Gui.ListView.Maxlength + name: Maxlength + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_Maxlength + commentId: P:Terminal.Gui.ListView.Maxlength + fullName: Terminal.Gui.ListView.Maxlength + nameWithType: ListView.Maxlength +- uid: Terminal.Gui.ListView.Maxlength* + name: Maxlength + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_Maxlength_ + commentId: Overload:Terminal.Gui.ListView.Maxlength + isSpec: "True" + fullName: Terminal.Gui.ListView.Maxlength + nameWithType: ListView.Maxlength - uid: Terminal.Gui.ListView.MouseEvent(Terminal.Gui.MouseEvent) name: MouseEvent(MouseEvent) href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_MouseEvent_Terminal_Gui_MouseEvent_ @@ -4831,6 +5472,58 @@ references: isSpec: "True" fullName: Terminal.Gui.ListView.Redraw nameWithType: ListView.Redraw +- uid: Terminal.Gui.ListView.ScrollDown(System.Int32) + name: ScrollDown(Int32) + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollDown_System_Int32_ + commentId: M:Terminal.Gui.ListView.ScrollDown(System.Int32) + fullName: Terminal.Gui.ListView.ScrollDown(System.Int32) + nameWithType: ListView.ScrollDown(Int32) +- uid: Terminal.Gui.ListView.ScrollDown* + name: ScrollDown + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollDown_ + commentId: Overload:Terminal.Gui.ListView.ScrollDown + isSpec: "True" + fullName: Terminal.Gui.ListView.ScrollDown + nameWithType: ListView.ScrollDown +- uid: Terminal.Gui.ListView.ScrollLeft(System.Int32) + name: ScrollLeft(Int32) + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollLeft_System_Int32_ + commentId: M:Terminal.Gui.ListView.ScrollLeft(System.Int32) + fullName: Terminal.Gui.ListView.ScrollLeft(System.Int32) + nameWithType: ListView.ScrollLeft(Int32) +- uid: Terminal.Gui.ListView.ScrollLeft* + name: ScrollLeft + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollLeft_ + commentId: Overload:Terminal.Gui.ListView.ScrollLeft + isSpec: "True" + fullName: Terminal.Gui.ListView.ScrollLeft + nameWithType: ListView.ScrollLeft +- uid: Terminal.Gui.ListView.ScrollRight(System.Int32) + name: ScrollRight(Int32) + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollRight_System_Int32_ + commentId: M:Terminal.Gui.ListView.ScrollRight(System.Int32) + fullName: Terminal.Gui.ListView.ScrollRight(System.Int32) + nameWithType: ListView.ScrollRight(Int32) +- uid: Terminal.Gui.ListView.ScrollRight* + name: ScrollRight + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollRight_ + commentId: Overload:Terminal.Gui.ListView.ScrollRight + isSpec: "True" + fullName: Terminal.Gui.ListView.ScrollRight + nameWithType: ListView.ScrollRight +- uid: Terminal.Gui.ListView.ScrollUp(System.Int32) + name: ScrollUp(Int32) + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollUp_System_Int32_ + commentId: M:Terminal.Gui.ListView.ScrollUp(System.Int32) + fullName: Terminal.Gui.ListView.ScrollUp(System.Int32) + nameWithType: ListView.ScrollUp(Int32) +- uid: Terminal.Gui.ListView.ScrollUp* + name: ScrollUp + href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_ScrollUp_ + commentId: Overload:Terminal.Gui.ListView.ScrollUp + isSpec: "True" + fullName: Terminal.Gui.ListView.ScrollUp + nameWithType: ListView.ScrollUp - uid: Terminal.Gui.ListView.SelectedItem name: SelectedItem href: api/Terminal.Gui/Terminal.Gui.ListView.html#Terminal_Gui_ListView_SelectedItem @@ -4992,12 +5685,25 @@ references: isSpec: "True" fullName: Terminal.Gui.ListWrapper.IsMarked nameWithType: ListWrapper.IsMarked -- uid: Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32) - name: Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) - href: api/Terminal.Gui/Terminal.Gui.ListWrapper.html#Terminal_Gui_ListWrapper_Render_Terminal_Gui_ListView_Terminal_Gui_ConsoleDriver_System_Boolean_System_Int32_System_Int32_System_Int32_System_Int32_ - commentId: M:Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32) - fullName: Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView, Terminal.Gui.ConsoleDriver, System.Boolean, System.Int32, System.Int32, System.Int32, System.Int32) - nameWithType: ListWrapper.Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32) +- uid: Terminal.Gui.ListWrapper.Length + name: Length + href: api/Terminal.Gui/Terminal.Gui.ListWrapper.html#Terminal_Gui_ListWrapper_Length + commentId: P:Terminal.Gui.ListWrapper.Length + fullName: Terminal.Gui.ListWrapper.Length + nameWithType: ListWrapper.Length +- uid: Terminal.Gui.ListWrapper.Length* + name: Length + href: api/Terminal.Gui/Terminal.Gui.ListWrapper.html#Terminal_Gui_ListWrapper_Length_ + commentId: Overload:Terminal.Gui.ListWrapper.Length + isSpec: "True" + fullName: Terminal.Gui.ListWrapper.Length + nameWithType: ListWrapper.Length +- uid: Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) + name: Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.ListWrapper.html#Terminal_Gui_ListWrapper_Render_Terminal_Gui_ListView_Terminal_Gui_ConsoleDriver_System_Boolean_System_Int32_System_Int32_System_Int32_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView,Terminal.Gui.ConsoleDriver,System.Boolean,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32) + fullName: Terminal.Gui.ListWrapper.Render(Terminal.Gui.ListView, Terminal.Gui.ConsoleDriver, System.Boolean, System.Int32, System.Int32, System.Int32, System.Int32, System.Int32) + nameWithType: ListWrapper.Render(ListView, ConsoleDriver, Boolean, Int32, Int32, Int32, Int32, Int32) - uid: Terminal.Gui.ListWrapper.Render* name: Render href: api/Terminal.Gui/Terminal.Gui.ListWrapper.html#Terminal_Gui_ListWrapper_Render_ @@ -5294,6 +6000,19 @@ references: isSpec: "True" fullName: Terminal.Gui.MenuBar.MouseEvent nameWithType: MenuBar.MouseEvent +- uid: Terminal.Gui.MenuBar.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.MenuBar.html#Terminal_Gui_MenuBar_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.MenuBar.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.MenuBar.OnEnter(Terminal.Gui.View) + nameWithType: MenuBar.OnEnter(View) +- uid: Terminal.Gui.MenuBar.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.MenuBar.html#Terminal_Gui_MenuBar_OnEnter_ + commentId: Overload:Terminal.Gui.MenuBar.OnEnter + isSpec: "True" + fullName: Terminal.Gui.MenuBar.OnEnter + nameWithType: MenuBar.OnEnter - uid: Terminal.Gui.MenuBar.OnKeyDown(Terminal.Gui.KeyEvent) name: OnKeyDown(KeyEvent) href: api/Terminal.Gui/Terminal.Gui.MenuBar.html#Terminal_Gui_MenuBar_OnKeyDown_Terminal_Gui_KeyEvent_ @@ -5484,6 +6203,15 @@ references: fullName.vb: Terminal.Gui.MenuBarItem.MenuBarItem(NStack.ustring, NStack.ustring, System.Action, System.Func(Of System.Boolean), Terminal.Gui.MenuItem) nameWithType: MenuBarItem.MenuBarItem(ustring, ustring, Action, Func, MenuItem) nameWithType.vb: MenuBarItem.MenuBarItem(ustring, ustring, Action, Func(Of Boolean), MenuItem) +- uid: Terminal.Gui.MenuBarItem.#ctor(NStack.ustring,System.Collections.Generic.List{Terminal.Gui.MenuItem[]},Terminal.Gui.MenuItem) + name: MenuBarItem(ustring, List, MenuItem) + href: api/Terminal.Gui/Terminal.Gui.MenuBarItem.html#Terminal_Gui_MenuBarItem__ctor_NStack_ustring_System_Collections_Generic_List_Terminal_Gui_MenuItem____Terminal_Gui_MenuItem_ + commentId: M:Terminal.Gui.MenuBarItem.#ctor(NStack.ustring,System.Collections.Generic.List{Terminal.Gui.MenuItem[]},Terminal.Gui.MenuItem) + name.vb: MenuBarItem(ustring, List(Of MenuItem()), MenuItem) + fullName: Terminal.Gui.MenuBarItem.MenuBarItem(NStack.ustring, System.Collections.Generic.List, Terminal.Gui.MenuItem) + fullName.vb: Terminal.Gui.MenuBarItem.MenuBarItem(NStack.ustring, System.Collections.Generic.List(Of Terminal.Gui.MenuItem()), Terminal.Gui.MenuItem) + nameWithType: MenuBarItem.MenuBarItem(ustring, List, MenuItem) + nameWithType.vb: MenuBarItem.MenuBarItem(ustring, List(Of MenuItem()), MenuItem) - uid: Terminal.Gui.MenuBarItem.#ctor(NStack.ustring,Terminal.Gui.MenuItem[],Terminal.Gui.MenuItem) name: MenuBarItem(ustring, MenuItem[], MenuItem) href: api/Terminal.Gui/Terminal.Gui.MenuBarItem.html#Terminal_Gui_MenuBarItem__ctor_NStack_ustring_Terminal_Gui_MenuItem___Terminal_Gui_MenuItem_ @@ -6066,102 +6794,6 @@ references: commentId: F:Terminal.Gui.MouseFlags.WheeledUp fullName: Terminal.Gui.MouseFlags.WheeledUp nameWithType: MouseFlags.WheeledUp -- uid: Terminal.Gui.NetMainLoop - name: NetMainLoop - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html - commentId: T:Terminal.Gui.NetMainLoop - fullName: Terminal.Gui.NetMainLoop - nameWithType: NetMainLoop -- uid: Terminal.Gui.NetMainLoop.#ctor(System.Func{System.ConsoleKeyInfo}) - name: NetMainLoop(Func) - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop__ctor_System_Func_System_ConsoleKeyInfo__ - commentId: M:Terminal.Gui.NetMainLoop.#ctor(System.Func{System.ConsoleKeyInfo}) - name.vb: NetMainLoop(Func(Of ConsoleKeyInfo)) - fullName: Terminal.Gui.NetMainLoop.NetMainLoop(System.Func) - fullName.vb: Terminal.Gui.NetMainLoop.NetMainLoop(System.Func(Of System.ConsoleKeyInfo)) - nameWithType: NetMainLoop.NetMainLoop(Func) - nameWithType.vb: NetMainLoop.NetMainLoop(Func(Of ConsoleKeyInfo)) -- uid: Terminal.Gui.NetMainLoop.#ctor* - name: NetMainLoop - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop__ctor_ - commentId: Overload:Terminal.Gui.NetMainLoop.#ctor - isSpec: "True" - fullName: Terminal.Gui.NetMainLoop.NetMainLoop - nameWithType: NetMainLoop.NetMainLoop -- uid: Terminal.Gui.NetMainLoop.KeyPressed - name: KeyPressed - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_KeyPressed - commentId: F:Terminal.Gui.NetMainLoop.KeyPressed - fullName: Terminal.Gui.NetMainLoop.KeyPressed - nameWithType: NetMainLoop.KeyPressed -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending(System.Boolean) - name: IMainLoopDriver.EventsPending(Boolean) - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_EventsPending_System_Boolean_ - commentId: M:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending(System.Boolean) - name.vb: Terminal.Gui.IMainLoopDriver.EventsPending(Boolean) - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending(System.Boolean) - nameWithType: NetMainLoop.IMainLoopDriver.EventsPending(Boolean) - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending(Boolean) -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending* - name: IMainLoopDriver.EventsPending - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_EventsPending_ - commentId: Overload:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#EventsPending - isSpec: "True" - name.vb: Terminal.Gui.IMainLoopDriver.EventsPending - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending - nameWithType: NetMainLoop.IMainLoopDriver.EventsPending - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.EventsPending -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration - name: IMainLoopDriver.MainIteration() - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_MainIteration - commentId: M:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration - name.vb: Terminal.Gui.IMainLoopDriver.MainIteration() - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration() - nameWithType: NetMainLoop.IMainLoopDriver.MainIteration() - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration() -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration* - name: IMainLoopDriver.MainIteration - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_MainIteration_ - commentId: Overload:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#MainIteration - isSpec: "True" - name.vb: Terminal.Gui.IMainLoopDriver.MainIteration - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration - nameWithType: NetMainLoop.IMainLoopDriver.MainIteration - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.MainIteration -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Setup(Terminal.Gui.MainLoop) - name: IMainLoopDriver.Setup(MainLoop) - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_Setup_Terminal_Gui_MainLoop_ - commentId: M:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Setup(Terminal.Gui.MainLoop) - name.vb: Terminal.Gui.IMainLoopDriver.Setup(MainLoop) - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.Setup(Terminal.Gui.MainLoop) - nameWithType: NetMainLoop.IMainLoopDriver.Setup(MainLoop) - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.Setup(MainLoop) -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Setup* - name: IMainLoopDriver.Setup - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_Setup_ - commentId: Overload:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Setup - isSpec: "True" - name.vb: Terminal.Gui.IMainLoopDriver.Setup - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.Setup - nameWithType: NetMainLoop.IMainLoopDriver.Setup - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.Setup -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup - name: IMainLoopDriver.Wakeup() - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_Wakeup - commentId: M:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup - name.vb: Terminal.Gui.IMainLoopDriver.Wakeup() - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup() - nameWithType: NetMainLoop.IMainLoopDriver.Wakeup() - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup() -- uid: Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup* - name: IMainLoopDriver.Wakeup - href: api/Terminal.Gui/Terminal.Gui.NetMainLoop.html#Terminal_Gui_NetMainLoop_Terminal_Gui_IMainLoopDriver_Wakeup_ - commentId: Overload:Terminal.Gui.NetMainLoop.Terminal#Gui#IMainLoopDriver#Wakeup - isSpec: "True" - name.vb: Terminal.Gui.IMainLoopDriver.Wakeup - fullName: Terminal.Gui.NetMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup - nameWithType: NetMainLoop.IMainLoopDriver.Wakeup - nameWithType.vb: NetMainLoop.Terminal.Gui.IMainLoopDriver.Wakeup - uid: Terminal.Gui.OpenDialog name: OpenDialog href: api/Terminal.Gui/Terminal.Gui.OpenDialog.html @@ -6669,6 +7301,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ProgressBar.Fraction nameWithType: ProgressBar.Fraction +- uid: Terminal.Gui.ProgressBar.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.ProgressBar.html#Terminal_Gui_ProgressBar_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.ProgressBar.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.ProgressBar.OnEnter(Terminal.Gui.View) + nameWithType: ProgressBar.OnEnter(View) +- uid: Terminal.Gui.ProgressBar.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.ProgressBar.html#Terminal_Gui_ProgressBar_OnEnter_ + commentId: Overload:Terminal.Gui.ProgressBar.OnEnter + isSpec: "True" + fullName: Terminal.Gui.ProgressBar.OnEnter + nameWithType: ProgressBar.OnEnter - uid: Terminal.Gui.ProgressBar.Pulse name: Pulse() href: api/Terminal.Gui/Terminal.Gui.ProgressBar.html#Terminal_Gui_ProgressBar_Pulse @@ -6780,6 +7425,19 @@ references: isSpec: "True" fullName: Terminal.Gui.RadioGroup.MouseEvent nameWithType: RadioGroup.MouseEvent +- uid: Terminal.Gui.RadioGroup.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.RadioGroup.html#Terminal_Gui_RadioGroup_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.RadioGroup.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.RadioGroup.OnEnter(Terminal.Gui.View) + nameWithType: RadioGroup.OnEnter(View) +- uid: Terminal.Gui.RadioGroup.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.RadioGroup.html#Terminal_Gui_RadioGroup_OnEnter_ + commentId: Overload:Terminal.Gui.RadioGroup.OnEnter + isSpec: "True" + fullName: Terminal.Gui.RadioGroup.OnEnter + nameWithType: RadioGroup.OnEnter - uid: Terminal.Gui.RadioGroup.OnSelectedItemChanged(System.Int32,System.Int32) name: OnSelectedItemChanged(Int32, Int32) href: api/Terminal.Gui/Terminal.Gui.RadioGroup.html#Terminal_Gui_RadioGroup_OnSelectedItemChanged_System_Int32_System_Int32_ @@ -7536,6 +8194,12 @@ references: commentId: M:Terminal.Gui.ScrollBarView.#ctor(Terminal.Gui.Rect,System.Int32,System.Int32,System.Boolean) fullName: Terminal.Gui.ScrollBarView.ScrollBarView(Terminal.Gui.Rect, System.Int32, System.Int32, System.Boolean) nameWithType: ScrollBarView.ScrollBarView(Rect, Int32, Int32, Boolean) +- uid: Terminal.Gui.ScrollBarView.#ctor(Terminal.Gui.View,System.Boolean,System.Boolean) + name: ScrollBarView(View, Boolean, Boolean) + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView__ctor_Terminal_Gui_View_System_Boolean_System_Boolean_ + commentId: M:Terminal.Gui.ScrollBarView.#ctor(Terminal.Gui.View,System.Boolean,System.Boolean) + fullName: Terminal.Gui.ScrollBarView.ScrollBarView(Terminal.Gui.View, System.Boolean, System.Boolean) + nameWithType: ScrollBarView.ScrollBarView(View, Boolean, Boolean) - uid: Terminal.Gui.ScrollBarView.#ctor* name: ScrollBarView href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView__ctor_ @@ -7543,6 +8207,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollBarView.ScrollBarView nameWithType: ScrollBarView.ScrollBarView +- uid: Terminal.Gui.ScrollBarView.AutoHideScrollBars + name: AutoHideScrollBars + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_AutoHideScrollBars + commentId: P:Terminal.Gui.ScrollBarView.AutoHideScrollBars + fullName: Terminal.Gui.ScrollBarView.AutoHideScrollBars + nameWithType: ScrollBarView.AutoHideScrollBars +- uid: Terminal.Gui.ScrollBarView.AutoHideScrollBars* + name: AutoHideScrollBars + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_AutoHideScrollBars_ + commentId: Overload:Terminal.Gui.ScrollBarView.AutoHideScrollBars + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.AutoHideScrollBars + nameWithType: ScrollBarView.AutoHideScrollBars - uid: Terminal.Gui.ScrollBarView.ChangedPosition name: ChangedPosition href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_ChangedPosition @@ -7575,6 +8252,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollBarView.IsVertical nameWithType: ScrollBarView.IsVertical +- uid: Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport + name: KeepContentAlwaysInViewport + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_KeepContentAlwaysInViewport + commentId: P:Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport + fullName: Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport + nameWithType: ScrollBarView.KeepContentAlwaysInViewport +- uid: Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport* + name: KeepContentAlwaysInViewport + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_KeepContentAlwaysInViewport_ + commentId: Overload:Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.KeepContentAlwaysInViewport + nameWithType: ScrollBarView.KeepContentAlwaysInViewport - uid: Terminal.Gui.ScrollBarView.MouseEvent(Terminal.Gui.MouseEvent) name: MouseEvent(MouseEvent) href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_MouseEvent_Terminal_Gui_MouseEvent_ @@ -7588,6 +8278,45 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollBarView.MouseEvent nameWithType: ScrollBarView.MouseEvent +- uid: Terminal.Gui.ScrollBarView.OnChangedPosition + name: OnChangedPosition() + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OnChangedPosition + commentId: M:Terminal.Gui.ScrollBarView.OnChangedPosition + fullName: Terminal.Gui.ScrollBarView.OnChangedPosition() + nameWithType: ScrollBarView.OnChangedPosition() +- uid: Terminal.Gui.ScrollBarView.OnChangedPosition* + name: OnChangedPosition + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OnChangedPosition_ + commentId: Overload:Terminal.Gui.ScrollBarView.OnChangedPosition + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.OnChangedPosition + nameWithType: ScrollBarView.OnChangedPosition +- uid: Terminal.Gui.ScrollBarView.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.ScrollBarView.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.ScrollBarView.OnEnter(Terminal.Gui.View) + nameWithType: ScrollBarView.OnEnter(View) +- uid: Terminal.Gui.ScrollBarView.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OnEnter_ + commentId: Overload:Terminal.Gui.ScrollBarView.OnEnter + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.OnEnter + nameWithType: ScrollBarView.OnEnter +- uid: Terminal.Gui.ScrollBarView.OtherScrollBarView + name: OtherScrollBarView + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OtherScrollBarView + commentId: P:Terminal.Gui.ScrollBarView.OtherScrollBarView + fullName: Terminal.Gui.ScrollBarView.OtherScrollBarView + nameWithType: ScrollBarView.OtherScrollBarView +- uid: Terminal.Gui.ScrollBarView.OtherScrollBarView* + name: OtherScrollBarView + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_OtherScrollBarView_ + commentId: Overload:Terminal.Gui.ScrollBarView.OtherScrollBarView + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.OtherScrollBarView + nameWithType: ScrollBarView.OtherScrollBarView - uid: Terminal.Gui.ScrollBarView.Position name: Position href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_Position @@ -7614,6 +8343,32 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollBarView.Redraw nameWithType: ScrollBarView.Redraw +- uid: Terminal.Gui.ScrollBarView.Refresh + name: Refresh() + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_Refresh + commentId: M:Terminal.Gui.ScrollBarView.Refresh + fullName: Terminal.Gui.ScrollBarView.Refresh() + nameWithType: ScrollBarView.Refresh() +- uid: Terminal.Gui.ScrollBarView.Refresh* + name: Refresh + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_Refresh_ + commentId: Overload:Terminal.Gui.ScrollBarView.Refresh + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.Refresh + nameWithType: ScrollBarView.Refresh +- uid: Terminal.Gui.ScrollBarView.ShowScrollIndicator + name: ShowScrollIndicator + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_ShowScrollIndicator + commentId: P:Terminal.Gui.ScrollBarView.ShowScrollIndicator + fullName: Terminal.Gui.ScrollBarView.ShowScrollIndicator + nameWithType: ScrollBarView.ShowScrollIndicator +- uid: Terminal.Gui.ScrollBarView.ShowScrollIndicator* + name: ShowScrollIndicator + href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_ShowScrollIndicator_ + commentId: Overload:Terminal.Gui.ScrollBarView.ShowScrollIndicator + isSpec: "True" + fullName: Terminal.Gui.ScrollBarView.ShowScrollIndicator + nameWithType: ScrollBarView.ShowScrollIndicator - uid: Terminal.Gui.ScrollBarView.Size name: Size href: api/Terminal.Gui/Terminal.Gui.ScrollBarView.html#Terminal_Gui_ScrollBarView_Size @@ -7743,6 +8498,19 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollView.MouseEvent nameWithType: ScrollView.MouseEvent +- uid: Terminal.Gui.ScrollView.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.ScrollView.html#Terminal_Gui_ScrollView_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.ScrollView.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.ScrollView.OnEnter(Terminal.Gui.View) + nameWithType: ScrollView.OnEnter(View) +- uid: Terminal.Gui.ScrollView.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.ScrollView.html#Terminal_Gui_ScrollView_OnEnter_ + commentId: Overload:Terminal.Gui.ScrollView.OnEnter + isSpec: "True" + fullName: Terminal.Gui.ScrollView.OnEnter + nameWithType: ScrollView.OnEnter - uid: Terminal.Gui.ScrollView.PositionCursor name: PositionCursor() href: api/Terminal.Gui/Terminal.Gui.ScrollView.html#Terminal_Gui_ScrollView_PositionCursor @@ -7873,6 +8641,90 @@ references: isSpec: "True" fullName: Terminal.Gui.ScrollView.ShowVerticalScrollIndicator nameWithType: ScrollView.ShowVerticalScrollIndicator +- uid: Terminal.Gui.SelectedCellChangedEventArgs + name: SelectedCellChangedEventArgs + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html + commentId: T:Terminal.Gui.SelectedCellChangedEventArgs + fullName: Terminal.Gui.SelectedCellChangedEventArgs + nameWithType: SelectedCellChangedEventArgs +- uid: Terminal.Gui.SelectedCellChangedEventArgs.#ctor(System.Data.DataTable,System.Int32,System.Int32,System.Int32,System.Int32) + name: SelectedCellChangedEventArgs(DataTable, Int32, Int32, Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs__ctor_System_Data_DataTable_System_Int32_System_Int32_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.SelectedCellChangedEventArgs.#ctor(System.Data.DataTable,System.Int32,System.Int32,System.Int32,System.Int32) + fullName: Terminal.Gui.SelectedCellChangedEventArgs.SelectedCellChangedEventArgs(System.Data.DataTable, System.Int32, System.Int32, System.Int32, System.Int32) + nameWithType: SelectedCellChangedEventArgs.SelectedCellChangedEventArgs(DataTable, Int32, Int32, Int32, Int32) +- uid: Terminal.Gui.SelectedCellChangedEventArgs.#ctor* + name: SelectedCellChangedEventArgs + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs__ctor_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.#ctor + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.SelectedCellChangedEventArgs + nameWithType: SelectedCellChangedEventArgs.SelectedCellChangedEventArgs +- uid: Terminal.Gui.SelectedCellChangedEventArgs.NewCol + name: NewCol + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_NewCol + commentId: P:Terminal.Gui.SelectedCellChangedEventArgs.NewCol + fullName: Terminal.Gui.SelectedCellChangedEventArgs.NewCol + nameWithType: SelectedCellChangedEventArgs.NewCol +- uid: Terminal.Gui.SelectedCellChangedEventArgs.NewCol* + name: NewCol + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_NewCol_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.NewCol + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.NewCol + nameWithType: SelectedCellChangedEventArgs.NewCol +- uid: Terminal.Gui.SelectedCellChangedEventArgs.NewRow + name: NewRow + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_NewRow + commentId: P:Terminal.Gui.SelectedCellChangedEventArgs.NewRow + fullName: Terminal.Gui.SelectedCellChangedEventArgs.NewRow + nameWithType: SelectedCellChangedEventArgs.NewRow +- uid: Terminal.Gui.SelectedCellChangedEventArgs.NewRow* + name: NewRow + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_NewRow_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.NewRow + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.NewRow + nameWithType: SelectedCellChangedEventArgs.NewRow +- uid: Terminal.Gui.SelectedCellChangedEventArgs.OldCol + name: OldCol + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_OldCol + commentId: P:Terminal.Gui.SelectedCellChangedEventArgs.OldCol + fullName: Terminal.Gui.SelectedCellChangedEventArgs.OldCol + nameWithType: SelectedCellChangedEventArgs.OldCol +- uid: Terminal.Gui.SelectedCellChangedEventArgs.OldCol* + name: OldCol + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_OldCol_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.OldCol + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.OldCol + nameWithType: SelectedCellChangedEventArgs.OldCol +- uid: Terminal.Gui.SelectedCellChangedEventArgs.OldRow + name: OldRow + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_OldRow + commentId: P:Terminal.Gui.SelectedCellChangedEventArgs.OldRow + fullName: Terminal.Gui.SelectedCellChangedEventArgs.OldRow + nameWithType: SelectedCellChangedEventArgs.OldRow +- uid: Terminal.Gui.SelectedCellChangedEventArgs.OldRow* + name: OldRow + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_OldRow_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.OldRow + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.OldRow + nameWithType: SelectedCellChangedEventArgs.OldRow +- uid: Terminal.Gui.SelectedCellChangedEventArgs.Table + name: Table + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_Table + commentId: P:Terminal.Gui.SelectedCellChangedEventArgs.Table + fullName: Terminal.Gui.SelectedCellChangedEventArgs.Table + nameWithType: SelectedCellChangedEventArgs.Table +- uid: Terminal.Gui.SelectedCellChangedEventArgs.Table* + name: Table + href: api/Terminal.Gui/Terminal.Gui.SelectedCellChangedEventArgs.html#Terminal_Gui_SelectedCellChangedEventArgs_Table_ + commentId: Overload:Terminal.Gui.SelectedCellChangedEventArgs.Table + isSpec: "True" + fullName: Terminal.Gui.SelectedCellChangedEventArgs.Table + nameWithType: SelectedCellChangedEventArgs.Table - uid: Terminal.Gui.ShortcutHelper name: ShortcutHelper href: api/Terminal.Gui/Terminal.Gui.ShortcutHelper.html @@ -8298,6 +9150,19 @@ references: isSpec: "True" fullName: Terminal.Gui.StatusBar.MouseEvent nameWithType: StatusBar.MouseEvent +- uid: Terminal.Gui.StatusBar.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.StatusBar.html#Terminal_Gui_StatusBar_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.StatusBar.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.StatusBar.OnEnter(Terminal.Gui.View) + nameWithType: StatusBar.OnEnter(View) +- uid: Terminal.Gui.StatusBar.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.StatusBar.html#Terminal_Gui_StatusBar_OnEnter_ + commentId: Overload:Terminal.Gui.StatusBar.OnEnter + isSpec: "True" + fullName: Terminal.Gui.StatusBar.OnEnter + nameWithType: StatusBar.OnEnter - uid: Terminal.Gui.StatusBar.ProcessHotKey(Terminal.Gui.KeyEvent) name: ProcessHotKey(KeyEvent) href: api/Terminal.Gui/Terminal.Gui.StatusBar.html#Terminal_Gui_StatusBar_ProcessHotKey_Terminal_Gui_KeyEvent_ @@ -8382,6 +9247,594 @@ references: isSpec: "True" fullName: Terminal.Gui.StatusItem.Title nameWithType: StatusItem.Title +- uid: Terminal.Gui.TableSelection + name: TableSelection + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html + commentId: T:Terminal.Gui.TableSelection + fullName: Terminal.Gui.TableSelection + nameWithType: TableSelection +- uid: Terminal.Gui.TableSelection.#ctor(Terminal.Gui.Point,Terminal.Gui.Rect) + name: TableSelection(Point, Rect) + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection__ctor_Terminal_Gui_Point_Terminal_Gui_Rect_ + commentId: M:Terminal.Gui.TableSelection.#ctor(Terminal.Gui.Point,Terminal.Gui.Rect) + fullName: Terminal.Gui.TableSelection.TableSelection(Terminal.Gui.Point, Terminal.Gui.Rect) + nameWithType: TableSelection.TableSelection(Point, Rect) +- uid: Terminal.Gui.TableSelection.#ctor* + name: TableSelection + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection__ctor_ + commentId: Overload:Terminal.Gui.TableSelection.#ctor + isSpec: "True" + fullName: Terminal.Gui.TableSelection.TableSelection + nameWithType: TableSelection.TableSelection +- uid: Terminal.Gui.TableSelection.Origin + name: Origin + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection_Origin + commentId: P:Terminal.Gui.TableSelection.Origin + fullName: Terminal.Gui.TableSelection.Origin + nameWithType: TableSelection.Origin +- uid: Terminal.Gui.TableSelection.Origin* + name: Origin + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection_Origin_ + commentId: Overload:Terminal.Gui.TableSelection.Origin + isSpec: "True" + fullName: Terminal.Gui.TableSelection.Origin + nameWithType: TableSelection.Origin +- uid: Terminal.Gui.TableSelection.Rect + name: Rect + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection_Rect + commentId: P:Terminal.Gui.TableSelection.Rect + fullName: Terminal.Gui.TableSelection.Rect + nameWithType: TableSelection.Rect +- uid: Terminal.Gui.TableSelection.Rect* + name: Rect + href: api/Terminal.Gui/Terminal.Gui.TableSelection.html#Terminal_Gui_TableSelection_Rect_ + commentId: Overload:Terminal.Gui.TableSelection.Rect + isSpec: "True" + fullName: Terminal.Gui.TableSelection.Rect + nameWithType: TableSelection.Rect +- uid: Terminal.Gui.TableStyle + name: TableStyle + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html + commentId: T:Terminal.Gui.TableStyle + fullName: Terminal.Gui.TableStyle + nameWithType: TableStyle +- uid: Terminal.Gui.TableStyle.AlwaysShowHeaders + name: AlwaysShowHeaders + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_AlwaysShowHeaders + commentId: P:Terminal.Gui.TableStyle.AlwaysShowHeaders + fullName: Terminal.Gui.TableStyle.AlwaysShowHeaders + nameWithType: TableStyle.AlwaysShowHeaders +- uid: Terminal.Gui.TableStyle.AlwaysShowHeaders* + name: AlwaysShowHeaders + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_AlwaysShowHeaders_ + commentId: Overload:Terminal.Gui.TableStyle.AlwaysShowHeaders + isSpec: "True" + fullName: Terminal.Gui.TableStyle.AlwaysShowHeaders + nameWithType: TableStyle.AlwaysShowHeaders +- uid: Terminal.Gui.TableStyle.ColumnStyles + name: ColumnStyles + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ColumnStyles + commentId: P:Terminal.Gui.TableStyle.ColumnStyles + fullName: Terminal.Gui.TableStyle.ColumnStyles + nameWithType: TableStyle.ColumnStyles +- uid: Terminal.Gui.TableStyle.ColumnStyles* + name: ColumnStyles + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ColumnStyles_ + commentId: Overload:Terminal.Gui.TableStyle.ColumnStyles + isSpec: "True" + fullName: Terminal.Gui.TableStyle.ColumnStyles + nameWithType: TableStyle.ColumnStyles +- uid: Terminal.Gui.TableStyle.GetColumnStyleIfAny(System.Data.DataColumn) + name: GetColumnStyleIfAny(DataColumn) + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_GetColumnStyleIfAny_System_Data_DataColumn_ + commentId: M:Terminal.Gui.TableStyle.GetColumnStyleIfAny(System.Data.DataColumn) + fullName: Terminal.Gui.TableStyle.GetColumnStyleIfAny(System.Data.DataColumn) + nameWithType: TableStyle.GetColumnStyleIfAny(DataColumn) +- uid: Terminal.Gui.TableStyle.GetColumnStyleIfAny* + name: GetColumnStyleIfAny + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_GetColumnStyleIfAny_ + commentId: Overload:Terminal.Gui.TableStyle.GetColumnStyleIfAny + isSpec: "True" + fullName: Terminal.Gui.TableStyle.GetColumnStyleIfAny + nameWithType: TableStyle.GetColumnStyleIfAny +- uid: Terminal.Gui.TableStyle.GetOrCreateColumnStyle(System.Data.DataColumn) + name: GetOrCreateColumnStyle(DataColumn) + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_GetOrCreateColumnStyle_System_Data_DataColumn_ + commentId: M:Terminal.Gui.TableStyle.GetOrCreateColumnStyle(System.Data.DataColumn) + fullName: Terminal.Gui.TableStyle.GetOrCreateColumnStyle(System.Data.DataColumn) + nameWithType: TableStyle.GetOrCreateColumnStyle(DataColumn) +- uid: Terminal.Gui.TableStyle.GetOrCreateColumnStyle* + name: GetOrCreateColumnStyle + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_GetOrCreateColumnStyle_ + commentId: Overload:Terminal.Gui.TableStyle.GetOrCreateColumnStyle + isSpec: "True" + fullName: Terminal.Gui.TableStyle.GetOrCreateColumnStyle + nameWithType: TableStyle.GetOrCreateColumnStyle +- uid: Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline + name: ShowHorizontalHeaderOverline + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowHorizontalHeaderOverline + commentId: P:Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline + fullName: Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline + nameWithType: TableStyle.ShowHorizontalHeaderOverline +- uid: Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline* + name: ShowHorizontalHeaderOverline + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowHorizontalHeaderOverline_ + commentId: Overload:Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline + isSpec: "True" + fullName: Terminal.Gui.TableStyle.ShowHorizontalHeaderOverline + nameWithType: TableStyle.ShowHorizontalHeaderOverline +- uid: Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline + name: ShowHorizontalHeaderUnderline + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowHorizontalHeaderUnderline + commentId: P:Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline + fullName: Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline + nameWithType: TableStyle.ShowHorizontalHeaderUnderline +- uid: Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline* + name: ShowHorizontalHeaderUnderline + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowHorizontalHeaderUnderline_ + commentId: Overload:Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline + isSpec: "True" + fullName: Terminal.Gui.TableStyle.ShowHorizontalHeaderUnderline + nameWithType: TableStyle.ShowHorizontalHeaderUnderline +- uid: Terminal.Gui.TableStyle.ShowVerticalCellLines + name: ShowVerticalCellLines + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowVerticalCellLines + commentId: P:Terminal.Gui.TableStyle.ShowVerticalCellLines + fullName: Terminal.Gui.TableStyle.ShowVerticalCellLines + nameWithType: TableStyle.ShowVerticalCellLines +- uid: Terminal.Gui.TableStyle.ShowVerticalCellLines* + name: ShowVerticalCellLines + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowVerticalCellLines_ + commentId: Overload:Terminal.Gui.TableStyle.ShowVerticalCellLines + isSpec: "True" + fullName: Terminal.Gui.TableStyle.ShowVerticalCellLines + nameWithType: TableStyle.ShowVerticalCellLines +- uid: Terminal.Gui.TableStyle.ShowVerticalHeaderLines + name: ShowVerticalHeaderLines + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowVerticalHeaderLines + commentId: P:Terminal.Gui.TableStyle.ShowVerticalHeaderLines + fullName: Terminal.Gui.TableStyle.ShowVerticalHeaderLines + nameWithType: TableStyle.ShowVerticalHeaderLines +- uid: Terminal.Gui.TableStyle.ShowVerticalHeaderLines* + name: ShowVerticalHeaderLines + href: api/Terminal.Gui/Terminal.Gui.TableStyle.html#Terminal_Gui_TableStyle_ShowVerticalHeaderLines_ + commentId: Overload:Terminal.Gui.TableStyle.ShowVerticalHeaderLines + isSpec: "True" + fullName: Terminal.Gui.TableStyle.ShowVerticalHeaderLines + nameWithType: TableStyle.ShowVerticalHeaderLines +- uid: Terminal.Gui.TableView + name: TableView + href: api/Terminal.Gui/Terminal.Gui.TableView.html + commentId: T:Terminal.Gui.TableView + fullName: Terminal.Gui.TableView + nameWithType: TableView +- uid: Terminal.Gui.TableView.#ctor + name: TableView() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView__ctor + commentId: M:Terminal.Gui.TableView.#ctor + fullName: Terminal.Gui.TableView.TableView() + nameWithType: TableView.TableView() +- uid: Terminal.Gui.TableView.#ctor(System.Data.DataTable) + name: TableView(DataTable) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView__ctor_System_Data_DataTable_ + commentId: M:Terminal.Gui.TableView.#ctor(System.Data.DataTable) + fullName: Terminal.Gui.TableView.TableView(System.Data.DataTable) + nameWithType: TableView.TableView(DataTable) +- uid: Terminal.Gui.TableView.#ctor* + name: TableView + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView__ctor_ + commentId: Overload:Terminal.Gui.TableView.#ctor + isSpec: "True" + fullName: Terminal.Gui.TableView.TableView + nameWithType: TableView.TableView +- uid: Terminal.Gui.TableView.CellActivated + name: CellActivated + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_CellActivated + commentId: E:Terminal.Gui.TableView.CellActivated + fullName: Terminal.Gui.TableView.CellActivated + nameWithType: TableView.CellActivated +- uid: Terminal.Gui.TableView.CellActivationKey + name: CellActivationKey + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_CellActivationKey + commentId: P:Terminal.Gui.TableView.CellActivationKey + fullName: Terminal.Gui.TableView.CellActivationKey + nameWithType: TableView.CellActivationKey +- uid: Terminal.Gui.TableView.CellActivationKey* + name: CellActivationKey + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_CellActivationKey_ + commentId: Overload:Terminal.Gui.TableView.CellActivationKey + isSpec: "True" + fullName: Terminal.Gui.TableView.CellActivationKey + nameWithType: TableView.CellActivationKey +- uid: Terminal.Gui.TableView.CellToScreen(System.Int32,System.Int32) + name: CellToScreen(Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_CellToScreen_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.TableView.CellToScreen(System.Int32,System.Int32) + fullName: Terminal.Gui.TableView.CellToScreen(System.Int32, System.Int32) + nameWithType: TableView.CellToScreen(Int32, Int32) +- uid: Terminal.Gui.TableView.CellToScreen* + name: CellToScreen + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_CellToScreen_ + commentId: Overload:Terminal.Gui.TableView.CellToScreen + isSpec: "True" + fullName: Terminal.Gui.TableView.CellToScreen + nameWithType: TableView.CellToScreen +- uid: Terminal.Gui.TableView.ChangeSelectionByOffset(System.Int32,System.Int32,System.Boolean) + name: ChangeSelectionByOffset(Int32, Int32, Boolean) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ChangeSelectionByOffset_System_Int32_System_Int32_System_Boolean_ + commentId: M:Terminal.Gui.TableView.ChangeSelectionByOffset(System.Int32,System.Int32,System.Boolean) + fullName: Terminal.Gui.TableView.ChangeSelectionByOffset(System.Int32, System.Int32, System.Boolean) + nameWithType: TableView.ChangeSelectionByOffset(Int32, Int32, Boolean) +- uid: Terminal.Gui.TableView.ChangeSelectionByOffset* + name: ChangeSelectionByOffset + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ChangeSelectionByOffset_ + commentId: Overload:Terminal.Gui.TableView.ChangeSelectionByOffset + isSpec: "True" + fullName: Terminal.Gui.TableView.ChangeSelectionByOffset + nameWithType: TableView.ChangeSelectionByOffset +- uid: Terminal.Gui.TableView.ColumnOffset + name: ColumnOffset + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ColumnOffset + commentId: P:Terminal.Gui.TableView.ColumnOffset + fullName: Terminal.Gui.TableView.ColumnOffset + nameWithType: TableView.ColumnOffset +- uid: Terminal.Gui.TableView.ColumnOffset* + name: ColumnOffset + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ColumnOffset_ + commentId: Overload:Terminal.Gui.TableView.ColumnOffset + isSpec: "True" + fullName: Terminal.Gui.TableView.ColumnOffset + nameWithType: TableView.ColumnOffset +- uid: Terminal.Gui.TableView.DefaultMaxCellWidth + name: DefaultMaxCellWidth + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_DefaultMaxCellWidth + commentId: F:Terminal.Gui.TableView.DefaultMaxCellWidth + fullName: Terminal.Gui.TableView.DefaultMaxCellWidth + nameWithType: TableView.DefaultMaxCellWidth +- uid: Terminal.Gui.TableView.EnsureSelectedCellIsVisible + name: EnsureSelectedCellIsVisible() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureSelectedCellIsVisible + commentId: M:Terminal.Gui.TableView.EnsureSelectedCellIsVisible + fullName: Terminal.Gui.TableView.EnsureSelectedCellIsVisible() + nameWithType: TableView.EnsureSelectedCellIsVisible() +- uid: Terminal.Gui.TableView.EnsureSelectedCellIsVisible* + name: EnsureSelectedCellIsVisible + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureSelectedCellIsVisible_ + commentId: Overload:Terminal.Gui.TableView.EnsureSelectedCellIsVisible + isSpec: "True" + fullName: Terminal.Gui.TableView.EnsureSelectedCellIsVisible + nameWithType: TableView.EnsureSelectedCellIsVisible +- uid: Terminal.Gui.TableView.EnsureValidScrollOffsets + name: EnsureValidScrollOffsets() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureValidScrollOffsets + commentId: M:Terminal.Gui.TableView.EnsureValidScrollOffsets + fullName: Terminal.Gui.TableView.EnsureValidScrollOffsets() + nameWithType: TableView.EnsureValidScrollOffsets() +- uid: Terminal.Gui.TableView.EnsureValidScrollOffsets* + name: EnsureValidScrollOffsets + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureValidScrollOffsets_ + commentId: Overload:Terminal.Gui.TableView.EnsureValidScrollOffsets + isSpec: "True" + fullName: Terminal.Gui.TableView.EnsureValidScrollOffsets + nameWithType: TableView.EnsureValidScrollOffsets +- uid: Terminal.Gui.TableView.EnsureValidSelection + name: EnsureValidSelection() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureValidSelection + commentId: M:Terminal.Gui.TableView.EnsureValidSelection + fullName: Terminal.Gui.TableView.EnsureValidSelection() + nameWithType: TableView.EnsureValidSelection() +- uid: Terminal.Gui.TableView.EnsureValidSelection* + name: EnsureValidSelection + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_EnsureValidSelection_ + commentId: Overload:Terminal.Gui.TableView.EnsureValidSelection + isSpec: "True" + fullName: Terminal.Gui.TableView.EnsureValidSelection + nameWithType: TableView.EnsureValidSelection +- uid: Terminal.Gui.TableView.FullRowSelect + name: FullRowSelect + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_FullRowSelect + commentId: P:Terminal.Gui.TableView.FullRowSelect + fullName: Terminal.Gui.TableView.FullRowSelect + nameWithType: TableView.FullRowSelect +- uid: Terminal.Gui.TableView.FullRowSelect* + name: FullRowSelect + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_FullRowSelect_ + commentId: Overload:Terminal.Gui.TableView.FullRowSelect + isSpec: "True" + fullName: Terminal.Gui.TableView.FullRowSelect + nameWithType: TableView.FullRowSelect +- uid: Terminal.Gui.TableView.GetAllSelectedCells + name: GetAllSelectedCells() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_GetAllSelectedCells + commentId: M:Terminal.Gui.TableView.GetAllSelectedCells + fullName: Terminal.Gui.TableView.GetAllSelectedCells() + nameWithType: TableView.GetAllSelectedCells() +- uid: Terminal.Gui.TableView.GetAllSelectedCells* + name: GetAllSelectedCells + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_GetAllSelectedCells_ + commentId: Overload:Terminal.Gui.TableView.GetAllSelectedCells + isSpec: "True" + fullName: Terminal.Gui.TableView.GetAllSelectedCells + nameWithType: TableView.GetAllSelectedCells +- uid: Terminal.Gui.TableView.IsSelected(System.Int32,System.Int32) + name: IsSelected(Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_IsSelected_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.TableView.IsSelected(System.Int32,System.Int32) + fullName: Terminal.Gui.TableView.IsSelected(System.Int32, System.Int32) + nameWithType: TableView.IsSelected(Int32, Int32) +- uid: Terminal.Gui.TableView.IsSelected* + name: IsSelected + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_IsSelected_ + commentId: Overload:Terminal.Gui.TableView.IsSelected + isSpec: "True" + fullName: Terminal.Gui.TableView.IsSelected + nameWithType: TableView.IsSelected +- uid: Terminal.Gui.TableView.MaxCellWidth + name: MaxCellWidth + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth + commentId: P:Terminal.Gui.TableView.MaxCellWidth + fullName: Terminal.Gui.TableView.MaxCellWidth + nameWithType: TableView.MaxCellWidth +- uid: Terminal.Gui.TableView.MaxCellWidth* + name: MaxCellWidth + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MaxCellWidth_ + commentId: Overload:Terminal.Gui.TableView.MaxCellWidth + isSpec: "True" + fullName: Terminal.Gui.TableView.MaxCellWidth + nameWithType: TableView.MaxCellWidth +- uid: Terminal.Gui.TableView.MouseEvent(Terminal.Gui.MouseEvent) + name: MouseEvent(MouseEvent) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MouseEvent_Terminal_Gui_MouseEvent_ + commentId: M:Terminal.Gui.TableView.MouseEvent(Terminal.Gui.MouseEvent) + fullName: Terminal.Gui.TableView.MouseEvent(Terminal.Gui.MouseEvent) + nameWithType: TableView.MouseEvent(MouseEvent) +- uid: Terminal.Gui.TableView.MouseEvent* + name: MouseEvent + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MouseEvent_ + commentId: Overload:Terminal.Gui.TableView.MouseEvent + isSpec: "True" + fullName: Terminal.Gui.TableView.MouseEvent + nameWithType: TableView.MouseEvent +- uid: Terminal.Gui.TableView.MultiSelect + name: MultiSelect + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MultiSelect + commentId: P:Terminal.Gui.TableView.MultiSelect + fullName: Terminal.Gui.TableView.MultiSelect + nameWithType: TableView.MultiSelect +- uid: Terminal.Gui.TableView.MultiSelect* + name: MultiSelect + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MultiSelect_ + commentId: Overload:Terminal.Gui.TableView.MultiSelect + isSpec: "True" + fullName: Terminal.Gui.TableView.MultiSelect + nameWithType: TableView.MultiSelect +- uid: Terminal.Gui.TableView.MultiSelectedRegions + name: MultiSelectedRegions + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MultiSelectedRegions + commentId: P:Terminal.Gui.TableView.MultiSelectedRegions + fullName: Terminal.Gui.TableView.MultiSelectedRegions + nameWithType: TableView.MultiSelectedRegions +- uid: Terminal.Gui.TableView.MultiSelectedRegions* + name: MultiSelectedRegions + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_MultiSelectedRegions_ + commentId: Overload:Terminal.Gui.TableView.MultiSelectedRegions + isSpec: "True" + fullName: Terminal.Gui.TableView.MultiSelectedRegions + nameWithType: TableView.MultiSelectedRegions +- uid: Terminal.Gui.TableView.NullSymbol + name: NullSymbol + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_NullSymbol + commentId: P:Terminal.Gui.TableView.NullSymbol + fullName: Terminal.Gui.TableView.NullSymbol + nameWithType: TableView.NullSymbol +- uid: Terminal.Gui.TableView.NullSymbol* + name: NullSymbol + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_NullSymbol_ + commentId: Overload:Terminal.Gui.TableView.NullSymbol + isSpec: "True" + fullName: Terminal.Gui.TableView.NullSymbol + nameWithType: TableView.NullSymbol +- uid: Terminal.Gui.TableView.OnCellActivated(Terminal.Gui.CellActivatedEventArgs) + name: OnCellActivated(CellActivatedEventArgs) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_OnCellActivated_Terminal_Gui_CellActivatedEventArgs_ + commentId: M:Terminal.Gui.TableView.OnCellActivated(Terminal.Gui.CellActivatedEventArgs) + fullName: Terminal.Gui.TableView.OnCellActivated(Terminal.Gui.CellActivatedEventArgs) + nameWithType: TableView.OnCellActivated(CellActivatedEventArgs) +- uid: Terminal.Gui.TableView.OnCellActivated* + name: OnCellActivated + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_OnCellActivated_ + commentId: Overload:Terminal.Gui.TableView.OnCellActivated + isSpec: "True" + fullName: Terminal.Gui.TableView.OnCellActivated + nameWithType: TableView.OnCellActivated +- uid: Terminal.Gui.TableView.OnSelectedCellChanged(Terminal.Gui.SelectedCellChangedEventArgs) + name: OnSelectedCellChanged(SelectedCellChangedEventArgs) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_OnSelectedCellChanged_Terminal_Gui_SelectedCellChangedEventArgs_ + commentId: M:Terminal.Gui.TableView.OnSelectedCellChanged(Terminal.Gui.SelectedCellChangedEventArgs) + fullName: Terminal.Gui.TableView.OnSelectedCellChanged(Terminal.Gui.SelectedCellChangedEventArgs) + nameWithType: TableView.OnSelectedCellChanged(SelectedCellChangedEventArgs) +- uid: Terminal.Gui.TableView.OnSelectedCellChanged* + name: OnSelectedCellChanged + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_OnSelectedCellChanged_ + commentId: Overload:Terminal.Gui.TableView.OnSelectedCellChanged + isSpec: "True" + fullName: Terminal.Gui.TableView.OnSelectedCellChanged + nameWithType: TableView.OnSelectedCellChanged +- uid: Terminal.Gui.TableView.PositionCursor + name: PositionCursor() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_PositionCursor + commentId: M:Terminal.Gui.TableView.PositionCursor + fullName: Terminal.Gui.TableView.PositionCursor() + nameWithType: TableView.PositionCursor() +- uid: Terminal.Gui.TableView.PositionCursor* + name: PositionCursor + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_PositionCursor_ + commentId: Overload:Terminal.Gui.TableView.PositionCursor + isSpec: "True" + fullName: Terminal.Gui.TableView.PositionCursor + nameWithType: TableView.PositionCursor +- uid: Terminal.Gui.TableView.ProcessKey(Terminal.Gui.KeyEvent) + name: ProcessKey(KeyEvent) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ProcessKey_Terminal_Gui_KeyEvent_ + commentId: M:Terminal.Gui.TableView.ProcessKey(Terminal.Gui.KeyEvent) + fullName: Terminal.Gui.TableView.ProcessKey(Terminal.Gui.KeyEvent) + nameWithType: TableView.ProcessKey(KeyEvent) +- uid: Terminal.Gui.TableView.ProcessKey* + name: ProcessKey + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ProcessKey_ + commentId: Overload:Terminal.Gui.TableView.ProcessKey + isSpec: "True" + fullName: Terminal.Gui.TableView.ProcessKey + nameWithType: TableView.ProcessKey +- uid: Terminal.Gui.TableView.Redraw(Terminal.Gui.Rect) + name: Redraw(Rect) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Redraw_Terminal_Gui_Rect_ + commentId: M:Terminal.Gui.TableView.Redraw(Terminal.Gui.Rect) + fullName: Terminal.Gui.TableView.Redraw(Terminal.Gui.Rect) + nameWithType: TableView.Redraw(Rect) +- uid: Terminal.Gui.TableView.Redraw* + name: Redraw + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Redraw_ + commentId: Overload:Terminal.Gui.TableView.Redraw + isSpec: "True" + fullName: Terminal.Gui.TableView.Redraw + nameWithType: TableView.Redraw +- uid: Terminal.Gui.TableView.RowOffset + name: RowOffset + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_RowOffset + commentId: P:Terminal.Gui.TableView.RowOffset + fullName: Terminal.Gui.TableView.RowOffset + nameWithType: TableView.RowOffset +- uid: Terminal.Gui.TableView.RowOffset* + name: RowOffset + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_RowOffset_ + commentId: Overload:Terminal.Gui.TableView.RowOffset + isSpec: "True" + fullName: Terminal.Gui.TableView.RowOffset + nameWithType: TableView.RowOffset +- uid: Terminal.Gui.TableView.ScreenToCell(System.Int32,System.Int32) + name: ScreenToCell(Int32, Int32) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ScreenToCell_System_Int32_System_Int32_ + commentId: M:Terminal.Gui.TableView.ScreenToCell(System.Int32,System.Int32) + fullName: Terminal.Gui.TableView.ScreenToCell(System.Int32, System.Int32) + nameWithType: TableView.ScreenToCell(Int32, Int32) +- uid: Terminal.Gui.TableView.ScreenToCell* + name: ScreenToCell + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_ScreenToCell_ + commentId: Overload:Terminal.Gui.TableView.ScreenToCell + isSpec: "True" + fullName: Terminal.Gui.TableView.ScreenToCell + nameWithType: TableView.ScreenToCell +- uid: Terminal.Gui.TableView.SelectAll + name: SelectAll() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectAll + commentId: M:Terminal.Gui.TableView.SelectAll + fullName: Terminal.Gui.TableView.SelectAll() + nameWithType: TableView.SelectAll() +- uid: Terminal.Gui.TableView.SelectAll* + name: SelectAll + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectAll_ + commentId: Overload:Terminal.Gui.TableView.SelectAll + isSpec: "True" + fullName: Terminal.Gui.TableView.SelectAll + nameWithType: TableView.SelectAll +- uid: Terminal.Gui.TableView.SelectedCellChanged + name: SelectedCellChanged + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectedCellChanged + commentId: E:Terminal.Gui.TableView.SelectedCellChanged + fullName: Terminal.Gui.TableView.SelectedCellChanged + nameWithType: TableView.SelectedCellChanged +- uid: Terminal.Gui.TableView.SelectedColumn + name: SelectedColumn + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectedColumn + commentId: P:Terminal.Gui.TableView.SelectedColumn + fullName: Terminal.Gui.TableView.SelectedColumn + nameWithType: TableView.SelectedColumn +- uid: Terminal.Gui.TableView.SelectedColumn* + name: SelectedColumn + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectedColumn_ + commentId: Overload:Terminal.Gui.TableView.SelectedColumn + isSpec: "True" + fullName: Terminal.Gui.TableView.SelectedColumn + nameWithType: TableView.SelectedColumn +- uid: Terminal.Gui.TableView.SelectedRow + name: SelectedRow + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectedRow + commentId: P:Terminal.Gui.TableView.SelectedRow + fullName: Terminal.Gui.TableView.SelectedRow + nameWithType: TableView.SelectedRow +- uid: Terminal.Gui.TableView.SelectedRow* + name: SelectedRow + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SelectedRow_ + commentId: Overload:Terminal.Gui.TableView.SelectedRow + isSpec: "True" + fullName: Terminal.Gui.TableView.SelectedRow + nameWithType: TableView.SelectedRow +- uid: Terminal.Gui.TableView.SeparatorSymbol + name: SeparatorSymbol + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SeparatorSymbol + commentId: P:Terminal.Gui.TableView.SeparatorSymbol + fullName: Terminal.Gui.TableView.SeparatorSymbol + nameWithType: TableView.SeparatorSymbol +- uid: Terminal.Gui.TableView.SeparatorSymbol* + name: SeparatorSymbol + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SeparatorSymbol_ + commentId: Overload:Terminal.Gui.TableView.SeparatorSymbol + isSpec: "True" + fullName: Terminal.Gui.TableView.SeparatorSymbol + nameWithType: TableView.SeparatorSymbol +- uid: Terminal.Gui.TableView.SetSelection(System.Int32,System.Int32,System.Boolean) + name: SetSelection(Int32, Int32, Boolean) + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SetSelection_System_Int32_System_Int32_System_Boolean_ + commentId: M:Terminal.Gui.TableView.SetSelection(System.Int32,System.Int32,System.Boolean) + fullName: Terminal.Gui.TableView.SetSelection(System.Int32, System.Int32, System.Boolean) + nameWithType: TableView.SetSelection(Int32, Int32, Boolean) +- uid: Terminal.Gui.TableView.SetSelection* + name: SetSelection + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_SetSelection_ + commentId: Overload:Terminal.Gui.TableView.SetSelection + isSpec: "True" + fullName: Terminal.Gui.TableView.SetSelection + nameWithType: TableView.SetSelection +- uid: Terminal.Gui.TableView.Style + name: Style + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Style + commentId: P:Terminal.Gui.TableView.Style + fullName: Terminal.Gui.TableView.Style + nameWithType: TableView.Style +- uid: Terminal.Gui.TableView.Style* + name: Style + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Style_ + commentId: Overload:Terminal.Gui.TableView.Style + isSpec: "True" + fullName: Terminal.Gui.TableView.Style + nameWithType: TableView.Style +- uid: Terminal.Gui.TableView.Table + name: Table + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Table + commentId: P:Terminal.Gui.TableView.Table + fullName: Terminal.Gui.TableView.Table + nameWithType: TableView.Table +- uid: Terminal.Gui.TableView.Table* + name: Table + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Table_ + commentId: Overload:Terminal.Gui.TableView.Table + isSpec: "True" + fullName: Terminal.Gui.TableView.Table + nameWithType: TableView.Table +- uid: Terminal.Gui.TableView.Update + name: Update() + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Update + commentId: M:Terminal.Gui.TableView.Update + fullName: Terminal.Gui.TableView.Update() + nameWithType: TableView.Update() +- uid: Terminal.Gui.TableView.Update* + name: Update + href: api/Terminal.Gui/Terminal.Gui.TableView.html#Terminal_Gui_TableView_Update_ + commentId: Overload:Terminal.Gui.TableView.Update + isSpec: "True" + fullName: Terminal.Gui.TableView.Update + nameWithType: TableView.Update - uid: Terminal.Gui.TextAlignment name: TextAlignment href: api/Terminal.Gui/Terminal.Gui.TextAlignment.html @@ -8559,6 +10012,19 @@ references: isSpec: "True" fullName: Terminal.Gui.TextField.Cut nameWithType: TextField.Cut +- uid: Terminal.Gui.TextField.DesiredCursorVisibility + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_DesiredCursorVisibility + commentId: P:Terminal.Gui.TextField.DesiredCursorVisibility + fullName: Terminal.Gui.TextField.DesiredCursorVisibility + nameWithType: TextField.DesiredCursorVisibility +- uid: Terminal.Gui.TextField.DesiredCursorVisibility* + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_DesiredCursorVisibility_ + commentId: Overload:Terminal.Gui.TextField.DesiredCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.TextField.DesiredCursorVisibility + nameWithType: TextField.DesiredCursorVisibility - uid: Terminal.Gui.TextField.Frame name: Frame href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_Frame @@ -8585,6 +10051,19 @@ references: isSpec: "True" fullName: Terminal.Gui.TextField.MouseEvent nameWithType: TextField.MouseEvent +- uid: Terminal.Gui.TextField.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.TextField.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.TextField.OnEnter(Terminal.Gui.View) + nameWithType: TextField.OnEnter(View) +- uid: Terminal.Gui.TextField.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_OnEnter_ + commentId: Overload:Terminal.Gui.TextField.OnEnter + isSpec: "True" + fullName: Terminal.Gui.TextField.OnEnter + nameWithType: TextField.OnEnter - uid: Terminal.Gui.TextField.OnLeave(Terminal.Gui.View) name: OnLeave(View) href: api/Terminal.Gui/Terminal.Gui.TextField.html#Terminal_Gui_TextField_OnLeave_Terminal_Gui_View_ @@ -9125,6 +10604,58 @@ references: isSpec: "True" fullName: Terminal.Gui.TextView.CurrentRow nameWithType: TextView.CurrentRow +- uid: Terminal.Gui.TextView.DesiredCursorVisibility + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_DesiredCursorVisibility + commentId: P:Terminal.Gui.TextView.DesiredCursorVisibility + fullName: Terminal.Gui.TextView.DesiredCursorVisibility + nameWithType: TextView.DesiredCursorVisibility +- uid: Terminal.Gui.TextView.DesiredCursorVisibility* + name: DesiredCursorVisibility + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_DesiredCursorVisibility_ + commentId: Overload:Terminal.Gui.TextView.DesiredCursorVisibility + isSpec: "True" + fullName: Terminal.Gui.TextView.DesiredCursorVisibility + nameWithType: TextView.DesiredCursorVisibility +- uid: Terminal.Gui.TextView.Frame + name: Frame + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Frame + commentId: P:Terminal.Gui.TextView.Frame + fullName: Terminal.Gui.TextView.Frame + nameWithType: TextView.Frame +- uid: Terminal.Gui.TextView.Frame* + name: Frame + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Frame_ + commentId: Overload:Terminal.Gui.TextView.Frame + isSpec: "True" + fullName: Terminal.Gui.TextView.Frame + nameWithType: TextView.Frame +- uid: Terminal.Gui.TextView.LeftColumn + name: LeftColumn + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_LeftColumn + commentId: P:Terminal.Gui.TextView.LeftColumn + fullName: Terminal.Gui.TextView.LeftColumn + nameWithType: TextView.LeftColumn +- uid: Terminal.Gui.TextView.LeftColumn* + name: LeftColumn + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_LeftColumn_ + commentId: Overload:Terminal.Gui.TextView.LeftColumn + isSpec: "True" + fullName: Terminal.Gui.TextView.LeftColumn + nameWithType: TextView.LeftColumn +- uid: Terminal.Gui.TextView.Lines + name: Lines + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Lines + commentId: P:Terminal.Gui.TextView.Lines + fullName: Terminal.Gui.TextView.Lines + nameWithType: TextView.Lines +- uid: Terminal.Gui.TextView.Lines* + name: Lines + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Lines_ + commentId: Overload:Terminal.Gui.TextView.Lines + isSpec: "True" + fullName: Terminal.Gui.TextView.Lines + nameWithType: TextView.Lines - uid: Terminal.Gui.TextView.LoadFile(System.String) name: LoadFile(String) href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_LoadFile_System_String_ @@ -9151,6 +10682,19 @@ references: isSpec: "True" fullName: Terminal.Gui.TextView.LoadStream nameWithType: TextView.LoadStream +- uid: Terminal.Gui.TextView.Maxlength + name: Maxlength + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Maxlength + commentId: P:Terminal.Gui.TextView.Maxlength + fullName: Terminal.Gui.TextView.Maxlength + nameWithType: TextView.Maxlength +- uid: Terminal.Gui.TextView.Maxlength* + name: Maxlength + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_Maxlength_ + commentId: Overload:Terminal.Gui.TextView.Maxlength + isSpec: "True" + fullName: Terminal.Gui.TextView.Maxlength + nameWithType: TextView.Maxlength - uid: Terminal.Gui.TextView.MouseEvent(Terminal.Gui.MouseEvent) name: MouseEvent(MouseEvent) href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_MouseEvent_Terminal_Gui_MouseEvent_ @@ -9190,6 +10734,19 @@ references: isSpec: "True" fullName: Terminal.Gui.TextView.MoveHome nameWithType: TextView.MoveHome +- uid: Terminal.Gui.TextView.OnEnter(Terminal.Gui.View) + name: OnEnter(View) + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_OnEnter_Terminal_Gui_View_ + commentId: M:Terminal.Gui.TextView.OnEnter(Terminal.Gui.View) + fullName: Terminal.Gui.TextView.OnEnter(Terminal.Gui.View) + nameWithType: TextView.OnEnter(View) +- uid: Terminal.Gui.TextView.OnEnter* + name: OnEnter + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_OnEnter_ + commentId: Overload:Terminal.Gui.TextView.OnEnter + isSpec: "True" + fullName: Terminal.Gui.TextView.OnEnter + nameWithType: TextView.OnEnter - uid: Terminal.Gui.TextView.PositionCursor name: PositionCursor() href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_PositionCursor @@ -9242,12 +10799,12 @@ references: isSpec: "True" fullName: Terminal.Gui.TextView.Redraw nameWithType: TextView.Redraw -- uid: Terminal.Gui.TextView.ScrollTo(System.Int32) - name: ScrollTo(Int32) - href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_ScrollTo_System_Int32_ - commentId: M:Terminal.Gui.TextView.ScrollTo(System.Int32) - fullName: Terminal.Gui.TextView.ScrollTo(System.Int32) - nameWithType: TextView.ScrollTo(Int32) +- uid: Terminal.Gui.TextView.ScrollTo(System.Int32,System.Boolean) + name: ScrollTo(Int32, Boolean) + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_ScrollTo_System_Int32_System_Boolean_ + commentId: M:Terminal.Gui.TextView.ScrollTo(System.Int32,System.Boolean) + fullName: Terminal.Gui.TextView.ScrollTo(System.Int32, System.Boolean) + nameWithType: TextView.ScrollTo(Int32, Boolean) - uid: Terminal.Gui.TextView.ScrollTo* name: ScrollTo href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_ScrollTo_ @@ -9274,6 +10831,19 @@ references: commentId: E:Terminal.Gui.TextView.TextChanged fullName: Terminal.Gui.TextView.TextChanged nameWithType: TextView.TextChanged +- uid: Terminal.Gui.TextView.TopRow + name: TopRow + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_TopRow + commentId: P:Terminal.Gui.TextView.TopRow + fullName: Terminal.Gui.TextView.TopRow + nameWithType: TextView.TopRow +- uid: Terminal.Gui.TextView.TopRow* + name: TopRow + href: api/Terminal.Gui/Terminal.Gui.TextView.html#Terminal_Gui_TextView_TopRow_ + commentId: Overload:Terminal.Gui.TextView.TopRow + isSpec: "True" + fullName: Terminal.Gui.TextView.TopRow + nameWithType: TextView.TopRow - uid: Terminal.Gui.TimeField name: TimeField href: api/Terminal.Gui/Terminal.Gui.TimeField.html @@ -9779,19 +11349,6 @@ references: isSpec: "True" fullName: Terminal.Gui.View.CanFocus nameWithType: View.CanFocus -- uid: Terminal.Gui.View.ChildNeedsDisplay - name: ChildNeedsDisplay() - href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_ChildNeedsDisplay - commentId: M:Terminal.Gui.View.ChildNeedsDisplay - fullName: Terminal.Gui.View.ChildNeedsDisplay() - nameWithType: View.ChildNeedsDisplay() -- uid: Terminal.Gui.View.ChildNeedsDisplay* - name: ChildNeedsDisplay - href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_ChildNeedsDisplay_ - commentId: Overload:Terminal.Gui.View.ChildNeedsDisplay - isSpec: "True" - fullName: Terminal.Gui.View.ChildNeedsDisplay - nameWithType: View.ChildNeedsDisplay - uid: Terminal.Gui.View.Clear name: Clear() href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_Clear @@ -9811,6 +11368,19 @@ references: isSpec: "True" fullName: Terminal.Gui.View.Clear nameWithType: View.Clear +- uid: Terminal.Gui.View.ClearLayoutNeeded + name: ClearLayoutNeeded() + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_ClearLayoutNeeded + commentId: M:Terminal.Gui.View.ClearLayoutNeeded + fullName: Terminal.Gui.View.ClearLayoutNeeded() + nameWithType: View.ClearLayoutNeeded() +- uid: Terminal.Gui.View.ClearLayoutNeeded* + name: ClearLayoutNeeded + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_ClearLayoutNeeded_ + commentId: Overload:Terminal.Gui.View.ClearLayoutNeeded + isSpec: "True" + fullName: Terminal.Gui.View.ClearLayoutNeeded + nameWithType: View.ClearLayoutNeeded - uid: Terminal.Gui.View.ClearNeedsDisplay name: ClearNeedsDisplay() href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_ClearNeedsDisplay @@ -10673,6 +12243,19 @@ references: isSpec: "True" fullName: Terminal.Gui.View.SendSubviewToBack nameWithType: View.SendSubviewToBack +- uid: Terminal.Gui.View.SetChildNeedsDisplay + name: SetChildNeedsDisplay() + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetChildNeedsDisplay + commentId: M:Terminal.Gui.View.SetChildNeedsDisplay + fullName: Terminal.Gui.View.SetChildNeedsDisplay() + nameWithType: View.SetChildNeedsDisplay() +- uid: Terminal.Gui.View.SetChildNeedsDisplay* + name: SetChildNeedsDisplay + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetChildNeedsDisplay_ + commentId: Overload:Terminal.Gui.View.SetChildNeedsDisplay + isSpec: "True" + fullName: Terminal.Gui.View.SetChildNeedsDisplay + nameWithType: View.SetChildNeedsDisplay - uid: Terminal.Gui.View.SetClip(Terminal.Gui.Rect) name: SetClip(Rect) href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetClip_Terminal_Gui_Rect_ @@ -10699,6 +12282,22 @@ references: isSpec: "True" fullName: Terminal.Gui.View.SetFocus nameWithType: View.SetFocus +- uid: Terminal.Gui.View.SetHeight(System.Int32,System.Int32@) + name: SetHeight(Int32, out Int32) + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetHeight_System_Int32_System_Int32__ + commentId: M:Terminal.Gui.View.SetHeight(System.Int32,System.Int32@) + name.vb: SetHeight(Int32, ByRef Int32) + fullName: Terminal.Gui.View.SetHeight(System.Int32, out System.Int32) + fullName.vb: Terminal.Gui.View.SetHeight(System.Int32, ByRef System.Int32) + nameWithType: View.SetHeight(Int32, out Int32) + nameWithType.vb: View.SetHeight(Int32, ByRef Int32) +- uid: Terminal.Gui.View.SetHeight* + name: SetHeight + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetHeight_ + commentId: Overload:Terminal.Gui.View.SetHeight + isSpec: "True" + fullName: Terminal.Gui.View.SetHeight + nameWithType: View.SetHeight - uid: Terminal.Gui.View.SetNeedsDisplay name: SetNeedsDisplay() href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetNeedsDisplay @@ -10718,6 +12317,22 @@ references: isSpec: "True" fullName: Terminal.Gui.View.SetNeedsDisplay nameWithType: View.SetNeedsDisplay +- uid: Terminal.Gui.View.SetWidth(System.Int32,System.Int32@) + name: SetWidth(Int32, out Int32) + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetWidth_System_Int32_System_Int32__ + commentId: M:Terminal.Gui.View.SetWidth(System.Int32,System.Int32@) + name.vb: SetWidth(Int32, ByRef Int32) + fullName: Terminal.Gui.View.SetWidth(System.Int32, out System.Int32) + fullName.vb: Terminal.Gui.View.SetWidth(System.Int32, ByRef System.Int32) + nameWithType: View.SetWidth(Int32, out Int32) + nameWithType.vb: View.SetWidth(Int32, ByRef Int32) +- uid: Terminal.Gui.View.SetWidth* + name: SetWidth + href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_SetWidth_ + commentId: Overload:Terminal.Gui.View.SetWidth + isSpec: "True" + fullName: Terminal.Gui.View.SetWidth + nameWithType: View.SetWidth - uid: Terminal.Gui.View.Shortcut name: Shortcut href: api/Terminal.Gui/Terminal.Gui.View.html#Terminal_Gui_View_Shortcut @@ -11907,6 +13522,76 @@ references: isSpec: "True" fullName: UICatalog.Scenario.Win nameWithType: Scenario.Win +- uid: UICatalog.Scenarios + name: UICatalog.Scenarios + href: api/UICatalog/UICatalog.Scenarios.html + commentId: N:UICatalog.Scenarios + fullName: UICatalog.Scenarios + nameWithType: UICatalog.Scenarios +- uid: UICatalog.Scenarios.CsvEditor + name: CsvEditor + href: api/UICatalog/UICatalog.Scenarios.CsvEditor.html + commentId: T:UICatalog.Scenarios.CsvEditor + fullName: UICatalog.Scenarios.CsvEditor + nameWithType: CsvEditor +- uid: UICatalog.Scenarios.CsvEditor.Setup + name: Setup() + href: api/UICatalog/UICatalog.Scenarios.CsvEditor.html#UICatalog_Scenarios_CsvEditor_Setup + commentId: M:UICatalog.Scenarios.CsvEditor.Setup + fullName: UICatalog.Scenarios.CsvEditor.Setup() + nameWithType: CsvEditor.Setup() +- uid: UICatalog.Scenarios.CsvEditor.Setup* + name: Setup + href: api/UICatalog/UICatalog.Scenarios.CsvEditor.html#UICatalog_Scenarios_CsvEditor_Setup_ + commentId: Overload:UICatalog.Scenarios.CsvEditor.Setup + isSpec: "True" + fullName: UICatalog.Scenarios.CsvEditor.Setup + nameWithType: CsvEditor.Setup +- uid: UICatalog.Scenarios.TableEditor + name: TableEditor + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html + commentId: T:UICatalog.Scenarios.TableEditor + fullName: UICatalog.Scenarios.TableEditor + nameWithType: TableEditor +- uid: UICatalog.Scenarios.TableEditor.BuildDemoDataTable(System.Int32,System.Int32) + name: BuildDemoDataTable(Int32, Int32) + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_BuildDemoDataTable_System_Int32_System_Int32_ + commentId: M:UICatalog.Scenarios.TableEditor.BuildDemoDataTable(System.Int32,System.Int32) + fullName: UICatalog.Scenarios.TableEditor.BuildDemoDataTable(System.Int32, System.Int32) + nameWithType: TableEditor.BuildDemoDataTable(Int32, Int32) +- uid: UICatalog.Scenarios.TableEditor.BuildDemoDataTable* + name: BuildDemoDataTable + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_BuildDemoDataTable_ + commentId: Overload:UICatalog.Scenarios.TableEditor.BuildDemoDataTable + isSpec: "True" + fullName: UICatalog.Scenarios.TableEditor.BuildDemoDataTable + nameWithType: TableEditor.BuildDemoDataTable +- uid: UICatalog.Scenarios.TableEditor.BuildSimpleDataTable(System.Int32,System.Int32) + name: BuildSimpleDataTable(Int32, Int32) + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_BuildSimpleDataTable_System_Int32_System_Int32_ + commentId: M:UICatalog.Scenarios.TableEditor.BuildSimpleDataTable(System.Int32,System.Int32) + fullName: UICatalog.Scenarios.TableEditor.BuildSimpleDataTable(System.Int32, System.Int32) + nameWithType: TableEditor.BuildSimpleDataTable(Int32, Int32) +- uid: UICatalog.Scenarios.TableEditor.BuildSimpleDataTable* + name: BuildSimpleDataTable + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_BuildSimpleDataTable_ + commentId: Overload:UICatalog.Scenarios.TableEditor.BuildSimpleDataTable + isSpec: "True" + fullName: UICatalog.Scenarios.TableEditor.BuildSimpleDataTable + nameWithType: TableEditor.BuildSimpleDataTable +- uid: UICatalog.Scenarios.TableEditor.Setup + name: Setup() + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_Setup + commentId: M:UICatalog.Scenarios.TableEditor.Setup + fullName: UICatalog.Scenarios.TableEditor.Setup() + nameWithType: TableEditor.Setup() +- uid: UICatalog.Scenarios.TableEditor.Setup* + name: Setup + href: api/UICatalog/UICatalog.Scenarios.TableEditor.html#UICatalog_Scenarios_TableEditor_Setup_ + commentId: Overload:UICatalog.Scenarios.TableEditor.Setup + isSpec: "True" + fullName: UICatalog.Scenarios.TableEditor.Setup + nameWithType: TableEditor.Setup - uid: UICatalog.UICatalogApp name: UICatalogApp href: api/UICatalog/UICatalog.UICatalogApp.html @@ -12488,6 +14173,19 @@ references: commentId: F:Unix.Terminal.Curses.CtrlKeyUp fullName: Unix.Terminal.Curses.CtrlKeyUp nameWithType: Curses.CtrlKeyUp +- uid: Unix.Terminal.Curses.curs_set(System.Int32) + name: curs_set(Int32) + href: api/Terminal.Gui/Unix.Terminal.Curses.html#Unix_Terminal_Curses_curs_set_System_Int32_ + commentId: M:Unix.Terminal.Curses.curs_set(System.Int32) + fullName: Unix.Terminal.Curses.curs_set(System.Int32) + nameWithType: Curses.curs_set(Int32) +- uid: Unix.Terminal.Curses.curs_set* + name: curs_set + href: api/Terminal.Gui/Unix.Terminal.Curses.html#Unix_Terminal_Curses_curs_set_ + commentId: Overload:Unix.Terminal.Curses.curs_set + isSpec: "True" + fullName: Unix.Terminal.Curses.curs_set + nameWithType: Curses.curs_set - uid: Unix.Terminal.Curses.doupdate name: doupdate() href: api/Terminal.Gui/Unix.Terminal.Curses.html#Unix_Terminal_Curses_doupdate