MyNes_src/MyNes/MLV/ManagedListView.cs
2024-07-03 10:36:42 +08:00

1304 lines
37 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace MLV;
public class ManagedListView : UserControl
{
private ManagedListViewViewMode viewMode;
private int wheelScrollSpeed = 20;
protected bool autoSetWheelScrollSpeed;
private bool showSubToolTip = true;
private string currentToolTip;
private int toolTipX;
private int toolTipY;
private int currentItemIndexOfToolTip;
private string currentColumnIDOfToolTip;
private int tooltip_timer;
private int tooltip_timer_reload = 5;
private bool activeToolTip;
private IContainer components;
private HScrollBar hScrollBar1;
private ManagedListViewPanel ManagedListViewPanel1;
private VScrollBar vScrollBar1;
private Panel panel1;
private Panel panel2;
private ToolTip toolTip1;
private Timer timer_tooltip;
[Description("The list view mode")]
[Category("ManagedListView")]
public ManagedListViewViewMode ViewMode
{
get
{
return viewMode;
}
set
{
viewMode = value;
ManagedListViewPanel1.viewMode = value;
ManagedListViewPanel managedListViewPanel = ManagedListViewPanel1;
int hscrollOffset = (hScrollBar1.Value = 0);
managedListViewPanel.HscrollOffset = hscrollOffset;
ManagedListViewPanel managedListViewPanel2 = ManagedListViewPanel1;
hscrollOffset = (vScrollBar1.Value = 0);
managedListViewPanel2.VscrollOffset = hscrollOffset;
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
if (this.ViewModeChanged != null)
{
this.ViewModeChanged(this, new EventArgs());
}
if (value == ManagedListViewViewMode.Thumbnails && this.SwitchToNormalContextMenu != null)
{
this.SwitchToNormalContextMenu(this, new EventArgs());
}
}
}
[Description("The columns collection")]
[Category("ManagedListView")]
public ManagedListViewColumnsCollection Columns
{
get
{
return ManagedListViewPanel1.columns;
}
set
{
ManagedListViewPanel1.columns = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The items collection")]
[Category("ManagedListView")]
public ManagedListViewItemsCollection Items
{
get
{
return ManagedListViewPanel1.items;
}
set
{
ManagedListViewPanel1.items = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("If enabled, the selected items can be dragged and dropped")]
[Category("ManagedListView")]
public bool AllowItemsDragAndDrop
{
get
{
return ManagedListViewPanel1.AllowItemsDragAndDrop;
}
set
{
ManagedListViewPanel1.AllowItemsDragAndDrop = value;
}
}
[Description("Allow columns reorder ? after a column reordered, the index of that column within the columns collection get changed")]
[Category("ManagedListView")]
public bool AllowColumnsReorder
{
get
{
return ManagedListViewPanel1.AllowColumnsReorder;
}
set
{
ManagedListViewPanel1.AllowColumnsReorder = value;
}
}
[Description("If enabled, the sort mode of a column get changed when the user clicks that column")]
[Category("ManagedListView")]
public bool ChangeColumnSortModeWhenClick
{
get
{
return ManagedListViewPanel1.ChangeColumnSortModeWhenClick;
}
set
{
ManagedListViewPanel1.ChangeColumnSortModeWhenClick = value;
}
}
[Description("The thumbnail height. Work only for thumbnails view mode.")]
[Category("ManagedListView")]
public int ThunmbnailsHeight
{
get
{
return ManagedListViewPanel1.ThumbnailsHeight;
}
set
{
ManagedListViewPanel1.ThumbnailsHeight = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The thumbnail width. Work only for thumbnails view mode.")]
[Category("ManagedListView")]
public int ThunmbnailsWidth
{
get
{
return ManagedListViewPanel1.ThumbnailsWidth;
}
set
{
ManagedListViewPanel1.ThumbnailsWidth = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The speed of the scroll when using mouse wheel. Default value is 20.")]
[Category("ManagedListView")]
public int WheelScrollSpeed
{
get
{
return wheelScrollSpeed;
}
set
{
wheelScrollSpeed = value;
}
}
[Description("Auto set the WheelScrollSpeed property depending on items collection change")]
[Category("ManagedListView")]
public bool AutoSetWheelScrollSpeed
{
get
{
return autoSetWheelScrollSpeed;
}
set
{
autoSetWheelScrollSpeed = value;
}
}
[Description("If enabled, the item get highlighted when the mouse over it")]
[Category("ManagedListView")]
public bool DrawHighlight
{
get
{
return ManagedListViewPanel1.DrawHighlight;
}
set
{
ManagedListViewPanel1.DrawHighlight = value;
}
}
[Description("The images list that will be used for draw")]
[Category("ManagedListView")]
public ImageList ImagesList
{
get
{
return ManagedListViewPanel1.ImagesList;
}
set
{
ManagedListViewPanel1.ImagesList = value;
}
}
[Browsable(false)]
public List<ManagedListViewItem> SelectedItems => ManagedListViewPanel1.SelectedItems;
[Description("Indicate if the control accept drop data")]
[Category("ManagedListView")]
public override bool AllowDrop
{
get
{
return base.AllowDrop;
}
set
{
ManagedListViewPanel1.AllowDrop = value;
base.AllowDrop = value;
}
}
[Description("The font of the item texts")]
[Category("ManagedListView")]
public override Font Font
{
get
{
return base.Font;
}
set
{
base.Font = value;
ManagedListViewPanel1.Font = value;
}
}
[Description("The background of the control.")]
[Category("ManagedListView")]
public override Image BackgroundImage
{
get
{
return base.BackgroundImage;
}
set
{
base.BackgroundImage = value;
ManagedListViewPanel1.BackgroundImage = value;
}
}
[Description("Specifies how the background get rendered.")]
[Category("ManagedListView")]
public ManagedListViewBackgroundRenderMode BackgroundRenderMode
{
get
{
return ManagedListViewPanel1.BackgroundRenderMode;
}
set
{
ManagedListViewPanel1.BackgroundRenderMode = value;
ManagedListViewPanel1.CalculateBackgroundBounds();
ManagedListViewPanel1.Invalidate();
}
}
[Description("The background color of the control.")]
[Category("ManagedListView")]
public override Color BackColor
{
get
{
return base.BackColor;
}
set
{
ManagedListViewPanel managedListViewPanel = ManagedListViewPanel1;
Color backColor = (base.BackColor = value);
managedListViewPanel.BackColor = backColor;
}
}
[Description("The highlight color of an item")]
[Category("Colors")]
public Color ItemHighlightColor
{
get
{
return ManagedListViewPanel1.ItemHighlightColor;
}
set
{
ManagedListViewPanel1.ItemHighlightColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The special color of an item that drawn if the item is a special item.")]
[Category("Colors")]
public Color ItemSpecialColor
{
get
{
return ManagedListViewPanel1.ItemSpecialColor;
}
set
{
ManagedListViewPanel1.ItemSpecialColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The color of an item when the mouse cursor get over it.")]
[Category("Colors")]
public Color ItemMouseOverColor
{
get
{
return ManagedListViewPanel1.ItemMouseOverColor;
}
set
{
ManagedListViewPanel1.ItemMouseOverColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The color of the column.")]
[Category("Colors")]
public Color ColumnColor
{
get
{
return ManagedListViewPanel1.ColumnColor;
}
set
{
ManagedListViewPanel1.ColumnColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The highlight color of the column.")]
[Category("Colors")]
public Color ColumnHighlightColor
{
get
{
return ManagedListViewPanel1.ColumnHighlightColor;
}
set
{
ManagedListViewPanel1.ColumnHighlightColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("The color of the column when it get clicked.")]
[Category("Colors")]
public Color ColumnClickColor
{
get
{
return ManagedListViewPanel1.ColumnClickColor;
}
set
{
ManagedListViewPanel1.ColumnClickColor = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("Indicate if the item image will be stretched using ratio stretch to fit thumbnails size. Thumbnails mode only.")]
[Category("ManagedListView")]
public bool StretchThumbnailsToFit
{
get
{
return ManagedListViewPanel1.ThumbnailsKeepImageSize;
}
set
{
ManagedListViewPanel1.ThumbnailsKeepImageSize = value;
ManagedListViewPanel1.Invalidate();
}
}
[Description("Indicate if highlighted subitem can show tool tip when the subitem's text is not fully visible.")]
[Category("ManagedListView")]
public bool ShowSubItemToolTip
{
get
{
return showSubToolTip;
}
set
{
showSubToolTip = value;
}
}
[Description("Get or set if the control should show info of highlighted item when the mouse over it.")]
[Category("ManagedListView")]
public bool ShowItemInfoOnThumbnailMode
{
get
{
return ManagedListViewPanel1.ShowItemInfoOnThumbnailMode;
}
set
{
ManagedListViewPanel1.ShowItemInfoOnThumbnailMode = value;
}
}
[Description("Raised when the control need to draw a column. The column information will be sent along with this event args")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewColumnDrawArgs> DrawColumn;
[Description("Raised when the control need to draw an item. The item information will be sent along with this event args. Please note that this event Raised only with Thumbnails View Mode.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewItemDrawArgs> DrawItem;
[Description("Raised when the control need to draw a sub item. The sub item information will be sent along with this event args. NOTE: Raised only if the sub item draw mode property equal None.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewSubItemDrawArgs> DrawSubItem;
[Description("Raised when the mouse get over a sub item.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewMouseOverSubItemArgs> MouseOverSubItem;
[Description("Raised when the user select/unselect items.")]
[Category("ManagedListView")]
public event EventHandler SelectedIndexChanged;
[Description("Raised when the user click on column.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewColumnClickArgs> ColumnClicked;
[Description("Raised when the user pressed the return key.")]
[Category("ManagedListView")]
public event EventHandler EnterPressed;
[Description("Raised when the user double click on item")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewItemDoubleClickArgs> ItemDoubleClick;
[Description("Raised when the control needs to switch to the columns context menu")]
[Category("ManagedListView")]
public event EventHandler SwitchToColumnsContextMenu;
[Description("Raised when the control needs to switch to the normal context menu")]
[Category("ManagedListView")]
public event EventHandler SwitchToNormalContextMenu;
[Description("Raised when the user finished resizing a column")]
[Category("ManagedListView")]
public event EventHandler AfterColumnResize;
[Description("Raised when the user dragged item(s)")]
[Category("ManagedListView")]
public event EventHandler ItemsDrag;
[Description("Raised when the user changed the view mode")]
[Category("ManagedListView")]
public event EventHandler ViewModeChanged;
[Description("Raised when the user reorder a column")]
[Category("ManagedListView")]
public event EventHandler AfterColumnReorder;
[Description("Raised when the user adds new item to the collection")]
[Category("ManagedListView")]
public event EventHandler ItemAdded;
[Description("Raised when the user removes item from the collection")]
[Category("ManagedListView")]
public event EventHandler ItemRemoved;
[Description("Raised when the items collection get cleared")]
[Category("ManagedListView")]
public event EventHandler ItemsCollectionCleared;
[Description("Raised when the items collection get sorted")]
[Category("ManagedListView")]
public event EventHandler ItemsCollectionSorted;
[Description("Raised when the user adds new column to the collection")]
[Category("ManagedListView")]
public event EventHandler ColumnAdded;
[Description("Raised when the user removes column from the collection")]
[Category("ManagedListView")]
public event EventHandler ColumnRemoved;
[Description("Raised when the columns collection get cleared")]
[Category("ManagedListView")]
public event EventHandler ColumnsCollectionCleared;
[Description("Raised when the columns collection get sorted")]
[Category("ManagedListView")]
public event EventHandler ColumnsCollectionSorted;
[Description("Raised when the control is about to draw an item and subitems needs to fill. Used on Details view mode only.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewItemSelectArgs> FillSubitemsRequest;
[Description("Raised when the control needs to show info of item on thumbnail mode.")]
[Category("ManagedListView")]
public event EventHandler<ManagedListViewShowThumbnailTooltipArgs> ShowThumbnailInfoRequest;
public ManagedListView()
{
InitializeComponent();
wheelScrollSpeed = ManagedListViewPanel1.GetVisibleItemsHeight();
autoSetWheelScrollSpeed = true;
ManagedListViewPanel1.columns = new ManagedListViewColumnsCollection(this);
ManagedListViewPanel1.items = new ManagedListViewItemsCollection(this);
}
public ManagedListViewItem GetItemAtCursorPoint()
{
return ManagedListViewPanel1.items[ManagedListViewPanel1.GetItemIndexAtCursorPoint()];
}
public ManagedListViewItem GetItemAtPoint(Point point)
{
return ManagedListViewPanel1.items[ManagedListViewPanel1.GetItemIndexAtPoint(point)];
}
public int GetItemIndexAtCursorPoint()
{
return ManagedListViewPanel1.GetItemIndexAtCursorPoint();
}
public int GetItemIndexAtPoint(Point point)
{
return ManagedListViewPanel1.GetItemIndexAtPoint(point);
}
public void ScrollToItem(int itemIndex)
{
UpdateScrollBars();
int num = ManagedListViewPanel1.GetVscrollValueForItem(itemIndex);
if (num > vScrollBar1.Maximum)
{
num = vScrollBar1.Maximum;
}
vScrollBar1.Value = num;
ManagedListViewPanel1.VscrollOffset = ManagedListViewPanel1.GetVscrollValueForItem(itemIndex);
}
public void ScrollToItem(ManagedListViewItem item)
{
ScrollToItem(ManagedListViewPanel1.items.IndexOf(item));
}
protected override void OnFontChanged(EventArgs e)
{
base.OnFontChanged(e);
ManagedListViewPanel1.Font = Font;
}
public void UpdateScrollBars()
{
if (ManagedListViewPanel1.viewMode == ManagedListViewViewMode.Details)
{
int buffered_columnsSize = ManagedListViewPanel1.buffered_columnsSize;
if (buffered_columnsSize < base.Width)
{
hScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel = ManagedListViewPanel1;
int hscrollOffset = (hScrollBar1.Value = 0);
managedListViewPanel.HscrollOffset = hscrollOffset;
ManagedListViewPanel1.Invalidate();
panel1.Visible = false;
}
else
{
hScrollBar1.Maximum = buffered_columnsSize - ManagedListViewPanel1.Width + 20;
panel1.Visible = true;
panel1.Enabled = true;
}
buffered_columnsSize = ManagedListViewPanel1.buffered_itemsSize;
if (buffered_columnsSize < base.Height)
{
vScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel2 = ManagedListViewPanel1;
int hscrollOffset = (vScrollBar1.Value = 0);
managedListViewPanel2.VscrollOffset = hscrollOffset;
ManagedListViewPanel1.Invalidate();
Panel panel = this.panel2;
bool visible = (vScrollBar1.Visible = false);
panel.Visible = visible;
}
else
{
vScrollBar1.Maximum = buffered_columnsSize - ManagedListViewPanel1.Height + 40;
Panel panel2 = this.panel2;
bool visible = (vScrollBar1.Visible = true);
panel2.Visible = visible;
vScrollBar1.Enabled = true;
}
}
else
{
Size size = ManagedListViewPanel1.CalculateSizeOfItemsAsThumbnails();
if (size.Height < base.Height)
{
vScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel3 = ManagedListViewPanel1;
int hscrollOffset = (vScrollBar1.Value = 0);
managedListViewPanel3.VscrollOffset = hscrollOffset;
ManagedListViewPanel1.Invalidate();
Panel panel3 = this.panel2;
bool visible = (vScrollBar1.Visible = false);
panel3.Visible = visible;
vScrollBar1.Enabled = true;
}
else
{
vScrollBar1.Maximum = size.Height - ManagedListViewPanel1.Height + 40;
Panel panel4 = this.panel2;
bool visible = (vScrollBar1.Visible = true);
panel4.Visible = visible;
}
if (size.Width < base.Width)
{
hScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel4 = ManagedListViewPanel1;
int hscrollOffset = (hScrollBar1.Value = 0);
managedListViewPanel4.HscrollOffset = hscrollOffset;
ManagedListViewPanel1.Invalidate();
panel1.Visible = false;
}
else
{
hScrollBar1.Maximum = size.Width - ManagedListViewPanel1.Width + 20;
panel1.Visible = true;
panel1.Enabled = true;
}
}
HideTooltip();
}
public void OnItemAdded()
{
ManagedListViewPanel1.buffered_itemsSize = ManagedListViewPanel1.CalculateItemsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ItemAdded != null)
{
this.ItemAdded(this, new EventArgs());
}
}
public void OnItemRemoved()
{
ManagedListViewPanel1.buffered_itemsSize = ManagedListViewPanel1.CalculateItemsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ItemRemoved != null)
{
this.ItemRemoved(this, new EventArgs());
}
}
public void OnItemsCollectionCleared()
{
ManagedListViewPanel1.buffered_itemsSize = ManagedListViewPanel1.CalculateItemsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ItemsCollectionCleared != null)
{
this.ItemsCollectionCleared(this, new EventArgs());
}
}
public void OnItemsCollectionSorted()
{
ManagedListViewPanel1.buffered_itemsSize = ManagedListViewPanel1.CalculateItemsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ItemsCollectionSorted != null)
{
this.ItemsCollectionSorted(this, new EventArgs());
}
}
public void OnColumnAdded()
{
ManagedListViewPanel1.buffered_columnsSize = ManagedListViewPanel1.CalculateColumnsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ColumnAdded != null)
{
this.ColumnAdded(this, new EventArgs());
}
}
public void OnColumnRemoved()
{
ManagedListViewPanel1.buffered_columnsSize = ManagedListViewPanel1.CalculateColumnsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ColumnRemoved != null)
{
this.ColumnRemoved(this, new EventArgs());
}
}
public void OnColumnsCollectionCleared()
{
ManagedListViewPanel1.buffered_columnsSize = ManagedListViewPanel1.CalculateColumnsSize();
ManagedListViewPanel1_ClearScrolls(this, null);
ManagedListViewPanel1.OnColumnsCollectionClear();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ColumnsCollectionCleared != null)
{
this.ColumnsCollectionCleared(this, new EventArgs());
}
}
public void OnColumnsCollectionSorted()
{
ManagedListViewPanel1.buffered_columnsSize = ManagedListViewPanel1.CalculateColumnsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ColumnsCollectionSorted != null)
{
this.ColumnsCollectionSorted(this, new EventArgs());
}
}
public void FixWheelScrollSpeed()
{
if (autoSetWheelScrollSpeed)
{
wheelScrollSpeed = ManagedListViewPanel1.GetVisibleItemsHeight() * 2;
}
}
private void HideTooltip()
{
if (currentToolTip != "")
{
timer_tooltip.Stop();
toolTip1.Hide(this);
currentToolTip = "";
}
}
public void RefreshScrollBarsView()
{
ManagedListViewPanel1.buffered_itemsSize = ManagedListViewPanel1.CalculateItemsSize();
ManagedListViewPanel1_RefreshScrollBars(this, null);
ManagedListViewPanel1.Invalidate();
FixWheelScrollSpeed();
if (this.ItemAdded != null)
{
this.ItemAdded(this, new EventArgs());
}
}
private void ManagedListView_Paint(object sender, PaintEventArgs e)
{
ManagedListViewPanel1.Invalidate();
UpdateScrollBars();
}
private void hScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
ManagedListViewPanel1.HscrollOffset = hScrollBar1.Value;
ManagedListViewPanel1.Invalidate();
}
private void ManagedListViewPanel1_RefreshValues(object sender, EventArgs e)
{
UpdateScrollBars();
}
private void ManagedListView_Resize(object sender, EventArgs e)
{
UpdateScrollBars();
}
private void vScrollBar1_Scroll(object sender, ScrollEventArgs e)
{
ManagedListViewPanel1.VscrollOffset = vScrollBar1.Value;
ManagedListViewPanel1.Invalidate();
}
private void ManagedListViewPanel1_AdvanceVScrollRequest(object sender, EventArgs e)
{
try
{
if (vScrollBar1.Value + wheelScrollSpeed < vScrollBar1.Maximum)
{
vScrollBar1.Value += wheelScrollSpeed;
}
else
{
vScrollBar1.Value = vScrollBar1.Maximum - 1;
}
ManagedListViewPanel1.VscrollOffset = vScrollBar1.Value;
HideTooltip();
}
catch
{
}
}
private void ManagedListViewPanel1_ReverseVScrollRequest(object sender, EventArgs e)
{
try
{
if (vScrollBar1.Value >= wheelScrollSpeed)
{
vScrollBar1.Value -= wheelScrollSpeed;
}
else
{
vScrollBar1.Value = 0;
}
ManagedListViewPanel1.VscrollOffset = vScrollBar1.Value;
HideTooltip();
}
catch
{
}
}
private void ManagedListViewPanel1_RefreshScrollBars(object sender, EventArgs e)
{
UpdateScrollBars();
}
private void ManagedListViewPanel1_DrawColumn(object sender, ManagedListViewColumnDrawArgs e)
{
if (this.DrawColumn != null)
{
this.DrawColumn(this, e);
}
}
private void ManagedListViewPanel1_DrawSubItem(object sender, ManagedListViewSubItemDrawArgs e)
{
if (this.DrawSubItem != null)
{
this.DrawSubItem(this, e);
}
}
private void ManagedListViewPanel1_MouseOverSubItem(object sender, ManagedListViewMouseOverSubItemArgs e)
{
if (this.MouseOverSubItem != null)
{
this.MouseOverSubItem(this, e);
}
if (!showSubToolTip)
{
return;
}
if (!e.IsTextFullyVisible)
{
if (currentItemIndexOfToolTip != e.ItemIndex || currentColumnIDOfToolTip != e.ColumnID)
{
timer_tooltip.Stop();
toolTip1.Hide(this);
toolTipX = e.SubitemRectangle.X;
toolTipY = e.SubitemRectangle.Y + Cursor.Size.Height;
currentToolTip = e.SubitemText;
currentItemIndexOfToolTip = e.ItemIndex;
currentColumnIDOfToolTip = e.ColumnID;
timer_tooltip.Start();
}
}
else if (currentToolTip != "")
{
timer_tooltip.Stop();
toolTip1.Hide(this);
currentToolTip = "";
}
}
private void ManagedListViewPanel1_SelectedIndexChanged(object sender, EventArgs e)
{
if (this.SelectedIndexChanged != null)
{
this.SelectedIndexChanged(this, new EventArgs());
}
}
private void ManagedListViewPanel1_ColumnClicked(object sender, ManagedListViewColumnClickArgs e)
{
if (this.ColumnClicked != null)
{
this.ColumnClicked(this, e);
}
}
private void ManagedListViewPanel1_DrawItem(object sender, ManagedListViewItemDrawArgs e)
{
if (this.DrawItem != null)
{
this.DrawItem(this, e);
}
_ = ManagedListViewPanel1.viewMode;
_ = 1;
}
private void ManagedListViewPanel1_MouseDoubleClick(object sender, MouseEventArgs e)
{
OnMouseDoubleClick(e);
}
private void ManagedListViewPanel1_ClearScrolls(object sender, EventArgs e)
{
hScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel = ManagedListViewPanel1;
int hscrollOffset = (hScrollBar1.Value = 0);
managedListViewPanel.HscrollOffset = hscrollOffset;
panel1.Visible = false;
vScrollBar1.Maximum = 1;
ManagedListViewPanel managedListViewPanel2 = ManagedListViewPanel1;
hscrollOffset = (vScrollBar1.Value = 0);
managedListViewPanel2.VscrollOffset = hscrollOffset;
ManagedListViewPanel1.Invalidate();
}
private void hScrollBar1_KeyDown(object sender, KeyEventArgs e)
{
ManagedListViewPanel1.OnKeyDownRaised(e);
}
private void ManagedListViewPanel1_ItemDoubleClick(object sender, ManagedListViewItemDoubleClickArgs e)
{
if (this.ItemDoubleClick != null)
{
this.ItemDoubleClick(this, e);
}
}
private void ManagedListViewPanel1_EnterPressedOverItem(object sender, EventArgs e)
{
if (this.EnterPressed != null)
{
this.EnterPressed(this, new EventArgs());
}
}
private void ManagedListViewPanel1_SwitchToColumnsContextMenu(object sender, EventArgs e)
{
if (this.SwitchToColumnsContextMenu != null)
{
this.SwitchToColumnsContextMenu(this, new EventArgs());
}
}
private void ManagedListViewPanel1_SwitchToNormalContextMenu(object sender, EventArgs e)
{
if (this.SwitchToNormalContextMenu != null)
{
this.SwitchToNormalContextMenu(this, new EventArgs());
}
}
private void ManagedListViewPanel1_AfterColumnResize(object sender, EventArgs e)
{
if (this.AfterColumnResize != null)
{
this.AfterColumnResize(this, new EventArgs());
}
}
private void ManagedListViewPanel1_ItemsDrag(object sender, EventArgs e)
{
if (this.ItemsDrag != null)
{
this.ItemsDrag(this, new EventArgs());
}
}
private void ManagedListViewPanel1_DragDrop(object sender, DragEventArgs e)
{
OnDragDrop(e);
}
private void ManagedListViewPanel1_DragEnter(object sender, DragEventArgs e)
{
OnDragEnter(e);
}
private void ManagedListViewPanel1_DragLeave(object sender, EventArgs e)
{
OnDragLeave(e);
}
private void ManagedListViewPanel1_DragOver(object sender, DragEventArgs e)
{
OnDragOver(e);
}
private void ManagedListViewPanel1_MouseMove(object sender, MouseEventArgs e)
{
OnMouseMove(e);
}
private void ManagedListView_MouseLeave(object sender, EventArgs e)
{
ManagedListViewPanel1.OnMouseLeaveRise();
if (currentToolTip != "")
{
timer_tooltip.Stop();
toolTip1.Hide(this);
currentToolTip = "";
}
}
private void ManagedListView_MouseEnter(object sender, EventArgs e)
{
UpdateScrollBars();
}
private void ManagedListViewPanel1_KeyDown(object sender, KeyEventArgs e)
{
ManagedListViewPanel1.OnKeyDownRaised(e);
}
private void ManagedListViewPanel1_ScrollToSelectedItemRequest(object sender, ManagedListViewItemSelectArgs e)
{
ScrollToItem(e.ItemIndex);
}
private void ManagedListViewPanel1_AfterColumnReorder(object sender, EventArgs e)
{
if (this.AfterColumnReorder != null)
{
this.AfterColumnReorder(this, null);
}
}
private void ManagedListViewPanel1_Enter(object sender, EventArgs e)
{
OnEnter(e);
}
private void ManagedListViewPanel1_Leave(object sender, EventArgs e)
{
OnLeave(e);
}
private void ManagedListViewPanel1_AdvanceHScrollRequest(object sender, EventArgs e)
{
try
{
if (hScrollBar1.Value + wheelScrollSpeed < hScrollBar1.Maximum)
{
hScrollBar1.Value += wheelScrollSpeed;
}
else
{
hScrollBar1.Value = hScrollBar1.Maximum - 1;
}
ManagedListViewPanel1.HscrollOffset = hScrollBar1.Value;
HideTooltip();
}
catch
{
}
}
private void ManagedListViewPanel1_ReverseHScrollRequest(object sender, EventArgs e)
{
try
{
if (hScrollBar1.Value >= wheelScrollSpeed)
{
hScrollBar1.Value -= wheelScrollSpeed;
}
else
{
hScrollBar1.Value = 0;
}
ManagedListViewPanel1.HscrollOffset = hScrollBar1.Value;
HideTooltip();
}
catch
{
}
}
private void ManagedListView_MouseClick(object sender, MouseEventArgs e)
{
HideTooltip();
}
private void timer_tooltip_Tick(object sender, EventArgs e)
{
if (tooltip_timer > 0)
{
tooltip_timer--;
return;
}
toolTip1.Show(currentToolTip, this, toolTipX, toolTipY, 5000);
timer_tooltip.Stop();
}
private void ManagedListViewPanel1_FillSubitemsRequest(object sender, ManagedListViewItemSelectArgs e)
{
if (this.FillSubitemsRequest != null)
{
this.FillSubitemsRequest(this, e);
}
}
private void ManagedListViewPanel1_ShowThumbnailTooltipRequest(object sender, ManagedListViewShowThumbnailTooltipArgs e)
{
if (showSubToolTip && currentItemIndexOfToolTip != e.ItemsIndex)
{
currentItemIndexOfToolTip = e.ItemsIndex;
toolTipX = e.TextThumbnailRectangle.X;
toolTipY = e.TextThumbnailRectangle.Y;
currentToolTip = e.TextToShow;
currentColumnIDOfToolTip = "";
tooltip_timer = tooltip_timer_reload;
timer_tooltip.Start();
}
}
private void ManagedListViewPanel1_HideThumbnailTooltipRequest(object sender, EventArgs e)
{
if (currentToolTip != "")
{
timer_tooltip.Stop();
toolTip1.Hide(this);
currentToolTip = "";
}
}
private void ManagedListViewPanel1_ShowThumbnailInfoRequest(object sender, ManagedListViewShowThumbnailTooltipArgs e)
{
if (this.ShowThumbnailInfoRequest != null)
{
this.ShowThumbnailInfoRequest(this, e);
}
}
protected override void Dispose(bool disposing)
{
if (disposing && components != null)
{
components.Dispose();
}
base.Dispose(disposing);
}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
this.hScrollBar1 = new System.Windows.Forms.HScrollBar();
this.panel1 = new System.Windows.Forms.Panel();
this.panel2 = new System.Windows.Forms.Panel();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.timer_tooltip = new System.Windows.Forms.Timer(this.components);
this.ManagedListViewPanel1 = new MLV.ManagedListViewPanel();
this.panel1.SuspendLayout();
base.SuspendLayout();
this.vScrollBar1.Dock = System.Windows.Forms.DockStyle.Right;
this.vScrollBar1.Location = new System.Drawing.Point(477, 0);
this.vScrollBar1.Name = "vScrollBar1";
this.vScrollBar1.Size = new System.Drawing.Size(17, 316);
this.vScrollBar1.TabIndex = 2;
this.vScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(vScrollBar1_Scroll);
this.vScrollBar1.KeyDown += new System.Windows.Forms.KeyEventHandler(hScrollBar1_KeyDown);
this.hScrollBar1.Dock = System.Windows.Forms.DockStyle.Fill;
this.hScrollBar1.Location = new System.Drawing.Point(0, 0);
this.hScrollBar1.Name = "hScrollBar1";
this.hScrollBar1.Size = new System.Drawing.Size(477, 17);
this.hScrollBar1.SmallChange = 0;
this.hScrollBar1.TabIndex = 1;
this.hScrollBar1.Scroll += new System.Windows.Forms.ScrollEventHandler(hScrollBar1_Scroll);
this.hScrollBar1.KeyDown += new System.Windows.Forms.KeyEventHandler(hScrollBar1_KeyDown);
this.panel1.Controls.Add(this.hScrollBar1);
this.panel1.Controls.Add(this.panel2);
this.panel1.Dock = System.Windows.Forms.DockStyle.Bottom;
this.panel1.Location = new System.Drawing.Point(0, 316);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(494, 17);
this.panel1.TabIndex = 3;
this.panel2.Dock = System.Windows.Forms.DockStyle.Right;
this.panel2.Location = new System.Drawing.Point(477, 0);
this.panel2.Name = "panel2";
this.panel2.Size = new System.Drawing.Size(17, 17);
this.panel2.TabIndex = 2;
this.timer_tooltip.Interval = 50;
this.timer_tooltip.Tick += new System.EventHandler(timer_tooltip_Tick);
this.ManagedListViewPanel1.AllowDrop = true;
this.ManagedListViewPanel1.BackColor = System.Drawing.Color.White;
this.ManagedListViewPanel1.BackgroundRenderMode = MLV.ManagedListViewBackgroundRenderMode.NormalStretchNoAspectRatio;
this.ManagedListViewPanel1.Dock = System.Windows.Forms.DockStyle.Fill;
this.ManagedListViewPanel1.Location = new System.Drawing.Point(0, 0);
this.ManagedListViewPanel1.Name = "ManagedListViewPanel1";
this.ManagedListViewPanel1.Size = new System.Drawing.Size(477, 316);
this.ManagedListViewPanel1.TabIndex = 0;
this.ManagedListViewPanel1.Text = "ManagedListViewPanel1";
this.ManagedListViewPanel1.AdvanceVScrollRequest += new System.EventHandler(ManagedListViewPanel1_AdvanceVScrollRequest);
this.ManagedListViewPanel1.ReverseVScrollRequest += new System.EventHandler(ManagedListViewPanel1_ReverseVScrollRequest);
this.ManagedListViewPanel1.AdvanceHScrollRequest += new System.EventHandler(ManagedListViewPanel1_AdvanceHScrollRequest);
this.ManagedListViewPanel1.ReverseHScrollRequest += new System.EventHandler(ManagedListViewPanel1_ReverseHScrollRequest);
this.ManagedListViewPanel1.RefreshScrollBars += new System.EventHandler(ManagedListViewPanel1_RefreshScrollBars);
this.ManagedListViewPanel1.SelectedIndexChanged += new System.EventHandler(ManagedListViewPanel1_SelectedIndexChanged);
this.ManagedListViewPanel1.DrawColumn += new System.EventHandler<MLV.ManagedListViewColumnDrawArgs>(ManagedListViewPanel1_DrawColumn);
this.ManagedListViewPanel1.DrawItem += new System.EventHandler<MLV.ManagedListViewItemDrawArgs>(ManagedListViewPanel1_DrawItem);
this.ManagedListViewPanel1.DrawSubItem += new System.EventHandler<MLV.ManagedListViewSubItemDrawArgs>(ManagedListViewPanel1_DrawSubItem);
this.ManagedListViewPanel1.MouseOverSubItem += new System.EventHandler<MLV.ManagedListViewMouseOverSubItemArgs>(ManagedListViewPanel1_MouseOverSubItem);
this.ManagedListViewPanel1.ColumnClicked += new System.EventHandler<MLV.ManagedListViewColumnClickArgs>(ManagedListViewPanel1_ColumnClicked);
this.ManagedListViewPanel1.ItemDoubleClick += new System.EventHandler<MLV.ManagedListViewItemDoubleClickArgs>(ManagedListViewPanel1_ItemDoubleClick);
this.ManagedListViewPanel1.EnterPressedOverItem += new System.EventHandler(ManagedListViewPanel1_EnterPressedOverItem);
this.ManagedListViewPanel1.SwitchToColumnsContextMenu += new System.EventHandler(ManagedListViewPanel1_SwitchToColumnsContextMenu);
this.ManagedListViewPanel1.SwitchToNormalContextMenu += new System.EventHandler(ManagedListViewPanel1_SwitchToNormalContextMenu);
this.ManagedListViewPanel1.AfterColumnResize += new System.EventHandler(ManagedListViewPanel1_AfterColumnResize);
this.ManagedListViewPanel1.AfterColumnReorder += new System.EventHandler(ManagedListViewPanel1_AfterColumnReorder);
this.ManagedListViewPanel1.ItemsDrag += new System.EventHandler(ManagedListViewPanel1_ItemsDrag);
this.ManagedListViewPanel1.ScrollToSelectedItemRequest += new System.EventHandler<MLV.ManagedListViewItemSelectArgs>(ManagedListViewPanel1_ScrollToSelectedItemRequest);
this.ManagedListViewPanel1.FillSubitemsRequest += new System.EventHandler<MLV.ManagedListViewItemSelectArgs>(ManagedListViewPanel1_FillSubitemsRequest);
this.ManagedListViewPanel1.RefreshValues += new System.EventHandler(ManagedListViewPanel1_RefreshValues);
this.ManagedListViewPanel1.ShowThumbnailTooltipRequest += new System.EventHandler<MLV.ManagedListViewShowThumbnailTooltipArgs>(ManagedListViewPanel1_ShowThumbnailTooltipRequest);
this.ManagedListViewPanel1.ShowThumbnailInfoRequest += new System.EventHandler<MLV.ManagedListViewShowThumbnailTooltipArgs>(ManagedListViewPanel1_ShowThumbnailInfoRequest);
this.ManagedListViewPanel1.HideThumbnailTooltipRequest += new System.EventHandler(ManagedListViewPanel1_HideThumbnailTooltipRequest);
this.ManagedListViewPanel1.DragDrop += new System.Windows.Forms.DragEventHandler(ManagedListViewPanel1_DragDrop);
this.ManagedListViewPanel1.DragEnter += new System.Windows.Forms.DragEventHandler(ManagedListViewPanel1_DragEnter);
this.ManagedListViewPanel1.DragOver += new System.Windows.Forms.DragEventHandler(ManagedListViewPanel1_DragOver);
this.ManagedListViewPanel1.DragLeave += new System.EventHandler(ManagedListViewPanel1_DragLeave);
this.ManagedListViewPanel1.Enter += new System.EventHandler(ManagedListViewPanel1_Enter);
this.ManagedListViewPanel1.KeyDown += new System.Windows.Forms.KeyEventHandler(ManagedListViewPanel1_KeyDown);
this.ManagedListViewPanel1.Leave += new System.EventHandler(ManagedListViewPanel1_Leave);
this.ManagedListViewPanel1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(ManagedListViewPanel1_MouseDoubleClick);
this.ManagedListViewPanel1.MouseMove += new System.Windows.Forms.MouseEventHandler(ManagedListViewPanel1_MouseMove);
base.AutoScaleDimensions = new System.Drawing.SizeF(6f, 13f);
base.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
base.Controls.Add(this.ManagedListViewPanel1);
base.Controls.Add(this.vScrollBar1);
base.Controls.Add(this.panel1);
base.Name = "ManagedListView";
base.Size = new System.Drawing.Size(494, 333);
base.Paint += new System.Windows.Forms.PaintEventHandler(ManagedListView_Paint);
base.KeyDown += new System.Windows.Forms.KeyEventHandler(ManagedListViewPanel1_KeyDown);
base.MouseClick += new System.Windows.Forms.MouseEventHandler(ManagedListView_MouseClick);
base.MouseEnter += new System.EventHandler(ManagedListView_MouseEnter);
base.MouseLeave += new System.EventHandler(ManagedListView_MouseLeave);
base.Resize += new System.EventHandler(ManagedListView_Resize);
this.panel1.ResumeLayout(false);
base.ResumeLayout(false);
}
}