Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/xwt.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs')
-rw-r--r--Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs34
1 files changed, 1 insertions, 33 deletions
diff --git a/Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs b/Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs
index aad70347..d2b9b65d 100644
--- a/Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs
+++ b/Xwt.XamMac/Xwt.Mac/ListBoxBackend.cs
@@ -32,7 +32,7 @@ namespace Xwt.Mac
{
public class ListBoxBackend: ListViewBackend, IListBoxBackend
{
- ListViewColumn column = new ListViewColumn ();
+ readonly ListViewColumn column = new ListViewColumn { Expands = true };
NSTableColumn columnHandle;
public ListBoxBackend ()
@@ -64,38 +64,6 @@ namespace Xwt.Mac
column.Views.Add (v);
UpdateColumn (column, columnHandle, ListViewColumnChange.Cells);
}
-
- public override void SetSource (IListDataSource source, IBackend sourceBackend)
- {
- base.SetSource (source, sourceBackend);
-
- source.RowInserted += HandleColumnSizeChanged;
- source.RowDeleted += HandleColumnSizeChanged;
- source.RowChanged += HandleColumnSizeChanged;
- ResetColumnSize (source);
- }
-
- void HandleColumnSizeChanged (object sender, ListRowEventArgs e)
- {
- var source = (IListDataSource)sender;
- ResetColumnSize (source);
- }
-
- void ResetColumnSize (IListDataSource source)
- {
- // Calculate size of column
- // This is how Apple implements it; unfortunately, they don't expose this functionality in the API.
- // https://developer.apple.com/library/mac/documentation/Cocoa/Reference/NSTableViewDelegate_Protocol/index.html#//apple_ref/occ/intfm/NSTableViewDelegate/tableView:sizeToFitWidthOfColumn:
- nfloat w = 0;
- for (var row = 0; row < source.RowCount; row++) {
- using (var cell = Table.GetCell (0, row)) {
- var size = cell.CellSize;
- w = (nfloat)Math.Max (w, size.Width);
- }
- }
- columnHandle.MinWidth = (nfloat)Math.Ceiling (w);
- columnHandle.Width = (nfloat)Math.Ceiling (w);
- }
}
}