get {
return focused_item;
}
+#if NET_2_0
+ set {
+ throw new NotImplementedException ();
+ }
+#endif
}
public override Color ForeColor {
}
}
- [LocalizableAttribute(true)]
+ [LocalizableAttribute (true)]
+ [MergableProperty (false)]
+ [DesignerSerializationVisibility (DesignerSerializationVisibility.Content)]
public ListViewGroupCollection Groups {
get { return groups; }
}
}
#if NET_2_0
+ [Browsable (true)]
public Size TileSize {
get {
return tile_size;
return null;
}
}
+#if NET_2_0
+ set {
+ throw new NotImplementedException ();
+ }
+#endif
}
#if NET_2_0
- [MonoTODO("Implement")]
+ [EditorBrowsable (EditorBrowsableState.Advanced)]
+ [DefaultValue (true)]
+ [Browsable (false)]
+ [MonoInternalNote ("Stub, not implemented")]
public bool UseCompatibleStateImageBehavior {
get {
return false;
}
-
set {
}
}
Refresh ();
}
- const int text_padding = 5;
+ const int text_padding = 15;
internal Size GetChildColumnSize (int index)
{
ThemeEngine.Current.DrawListViewItems (pe.Graphics, pe.ClipRectangle, owner);
}
- internal override void OnGotFocusInternal (EventArgs e)
- {
- owner.Select (false, true);
- }
-
- internal override void OnLostFocusInternal (EventArgs e)
+ protected override void WndProc (ref Message m)
{
- owner.Select (false, true);
+ switch ((Msg)m.Msg) {
+ case Msg.WM_KILLFOCUS:
+ owner.Select (false, true);
+ break;
+ case Msg.WM_SETFOCUS:
+ owner.Select (false, true);
+ break;
+ default:
+ break;
+ }
+ base.WndProc (ref m);
}
}
}
}
+#if NET_2_0
+ public void AutoResizeColumn (int columnIndex, ColumnHeaderAutoResizeStyle headerAutoResize)
+ {
+ if (columnIndex < 0 || columnIndex >= columns.Count)
+ throw new ArgumentOutOfRangeException ("columnIndex");
+
+ columns [columnIndex].AutoResize (headerAutoResize);
+ }
+
+ public void AutoResizeColumns (ColumnHeaderAutoResizeStyle headerAutoResize)
+ {
+ BeginUpdate ();
+ foreach (ColumnHeader col in columns)
+ col.AutoResize (headerAutoResize);
+ EndUpdate ();
+ }
+#endif
+
public void BeginUpdate ()
{
// flag to avoid painting
else if (bounds.Bottom > view_rect.Bottom)
v_scroll.Value += (bounds.Bottom - view_rect.Bottom);
}
+
+#if NET_2_0
+ public ListViewItem FindItemWithText (string text)
+ {
+ if (items.Count == 0)
+ return null;
+
+ return FindItemWithText (text, true, 0, true);
+ }
+
+ public ListViewItem FindItemWithText (string text, bool includeSubItems, int startIndex)
+ {
+ return FindItemWithText (text, includeSubItems, startIndex, true);
+ }
+
+ public ListViewItem FindItemWithText (string text, bool includeSubItems, int startIndex, bool prefixSearch)
+ {
+ if (startIndex < 0 || startIndex >= items.Count)
+ throw new ArgumentOutOfRangeException ("startIndex");
+
+ if (text == null)
+ throw new ArgumentNullException ("text");
+
+ for (int i = startIndex; i < items.Count; i++) {
+ ListViewItem lvi = items [i];
+
+ if ((prefixSearch && lvi.Text.StartsWith (text, true, CultureInfo.CurrentCulture)) // prefix search
+ || String.Compare (lvi.Text, text, true) == 0) // match
+ return lvi;
+ }
+
+ if (includeSubItems) {
+ for (int i = startIndex; i < items.Count; i++) {
+ ListViewItem lvi = items [i];
+ foreach (ListViewItem.ListViewSubItem sub_item in lvi.SubItems)
+ if ((prefixSearch && sub_item.Text.StartsWith (text, true, CultureInfo.CurrentCulture))
+ || String.Compare (sub_item.Text, text, true) == 0)
+ return lvi;
+ }
+ }
+
+ return null;
+ }
+#endif
public ListViewItem GetItemAt (int x, int y)
{