mirror of
https://github.com/ShareX/ShareX.git
synced 2024-09-30 01:07:21 +13:00
ObjectListView refactoring
This commit is contained in:
parent
1b00fb0538
commit
d61123b8c4
4 changed files with 24 additions and 19 deletions
|
@ -28,19 +28,22 @@ protected override void Dispose(bool disposing)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
private void InitializeComponent()
|
private void InitializeComponent()
|
||||||
{
|
{
|
||||||
|
this.components = new System.ComponentModel.Container();
|
||||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HistoryItemInfoForm));
|
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(HistoryItemInfoForm));
|
||||||
this.olvMain = new ShareX.HistoryLib.ObjectListView();
|
this.olvMain = new ShareX.HistoryLib.ObjectListView();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// olvMain
|
// olvMain
|
||||||
//
|
//
|
||||||
|
this.olvMain.AutoFillColumn = true;
|
||||||
|
this.olvMain.BorderStyle = System.Windows.Forms.BorderStyle.None;
|
||||||
resources.ApplyResources(this.olvMain, "olvMain");
|
resources.ApplyResources(this.olvMain, "olvMain");
|
||||||
this.olvMain.FullRowSelect = true;
|
this.olvMain.FullRowSelect = true;
|
||||||
this.olvMain.GridLines = true;
|
this.olvMain.GridLines = true;
|
||||||
this.olvMain.HideSelection = false;
|
this.olvMain.HideSelection = false;
|
||||||
this.olvMain.MultiSelect = false;
|
this.olvMain.MultiSelect = false;
|
||||||
this.olvMain.Name = "olvMain";
|
this.olvMain.Name = "olvMain";
|
||||||
this.olvMain.SetObjectType = ShareX.HistoryLib.ObjectListView.ObjectType.Properties;
|
this.olvMain.SelectedObject = null;
|
||||||
this.olvMain.UseCompatibleStateImageBehavior = false;
|
this.olvMain.UseCompatibleStateImageBehavior = false;
|
||||||
this.olvMain.View = System.Windows.Forms.View.Details;
|
this.olvMain.View = System.Windows.Forms.View.Details;
|
||||||
//
|
//
|
||||||
|
@ -49,8 +52,6 @@ private void InitializeComponent()
|
||||||
resources.ApplyResources(this, "$this");
|
resources.ApplyResources(this, "$this");
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.Controls.Add(this.olvMain);
|
this.Controls.Add(this.olvMain);
|
||||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
|
|
||||||
this.MaximizeBox = false;
|
|
||||||
this.Name = "HistoryItemInfoForm";
|
this.Name = "HistoryItemInfoForm";
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ public HistoryItemInfoForm(object hi)
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
ShareXResources.ApplyTheme(this);
|
ShareXResources.ApplyTheme(this);
|
||||||
|
|
||||||
olvMain.SelectObject(hi);
|
olvMain.SelectedObject = hi;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -136,7 +136,7 @@
|
||||||
<value>olvMain</value>
|
<value>olvMain</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>olvMain.Type" xml:space="preserve">
|
<data name=">>olvMain.Type" xml:space="preserve">
|
||||||
<value>ShareX.HistoryLib.CustomControls.ObjectListView, ShareX.HistoryLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null</value>
|
<value>ShareX.HistoryLib.ObjectListView, ShareX.HistoryLib, Version=13.0.2.0, Culture=neutral, PublicKeyToken=null</value>
|
||||||
</data>
|
</data>
|
||||||
<data name=">>olvMain.Parent" xml:space="preserve">
|
<data name=">>olvMain.Parent" xml:space="preserve">
|
||||||
<value>$this</value>
|
<value>$this</value>
|
||||||
|
|
|
@ -26,6 +26,7 @@ You should have received a copy of the GNU General Public License
|
||||||
using ShareX.HelpersLib;
|
using ShareX.HelpersLib;
|
||||||
using ShareX.HistoryLib.Properties;
|
using ShareX.HistoryLib.Properties;
|
||||||
using System;
|
using System;
|
||||||
|
using System.ComponentModel;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
|
|
||||||
|
@ -39,13 +40,22 @@ public enum ObjectType
|
||||||
Properties
|
Properties
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[DefaultValue(ObjectType.Properties)]
|
||||||
public ObjectType SetObjectType { get; set; }
|
public ObjectType SetObjectType { get; set; }
|
||||||
|
|
||||||
|
private object selectedObject;
|
||||||
|
|
||||||
public object SelectedObject
|
public object SelectedObject
|
||||||
{
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return selectedObject;
|
||||||
|
}
|
||||||
set
|
set
|
||||||
{
|
{
|
||||||
SelectObject(value);
|
selectedObject = value;
|
||||||
|
|
||||||
|
SelectObject(selectedObject);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -55,6 +65,7 @@ public ObjectListView()
|
||||||
MultiSelect = false;
|
MultiSelect = false;
|
||||||
Columns.Add(Resources.ObjectListView_ObjectListView_Name, 125);
|
Columns.Add(Resources.ObjectListView_ObjectListView_Name, 125);
|
||||||
Columns.Add(Resources.ObjectListView_ObjectListView_Value, 300);
|
Columns.Add(Resources.ObjectListView_ObjectListView_Value, 300);
|
||||||
|
|
||||||
ContextMenuStrip cms = new ContextMenuStrip();
|
ContextMenuStrip cms = new ContextMenuStrip();
|
||||||
cms.ShowImageMargin = false;
|
cms.ShowImageMargin = false;
|
||||||
cms.Items.Add(Resources.ObjectListView_ObjectListView_Copy_name).Click += PropertyListView_Click_Name;
|
cms.Items.Add(Resources.ObjectListView_ObjectListView_Copy_name).Click += PropertyListView_Click_Name;
|
||||||
|
@ -77,7 +88,7 @@ private void PropertyListView_Click_Name(object sender, EventArgs e)
|
||||||
|
|
||||||
private void PropertyListView_Click_Value(object sender, EventArgs e)
|
private void PropertyListView_Click_Value(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
if (SelectedItems.Count > 0)
|
if (SelectedItems.Count > 0 && SelectedItems[0].SubItems.Count > 1)
|
||||||
{
|
{
|
||||||
string text = SelectedItems[0].SubItems[1].Text;
|
string text = SelectedItems[0].SubItems[1].Text;
|
||||||
|
|
||||||
|
@ -88,7 +99,7 @@ private void PropertyListView_Click_Value(object sender, EventArgs e)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SelectObject(object obj)
|
private void SelectObject(object obj)
|
||||||
{
|
{
|
||||||
Items.Clear();
|
Items.Clear();
|
||||||
|
|
||||||
|
@ -98,9 +109,9 @@ public void SelectObject(object obj)
|
||||||
|
|
||||||
if (SetObjectType == ObjectType.Fields)
|
if (SetObjectType == ObjectType.Fields)
|
||||||
{
|
{
|
||||||
foreach (FieldInfo property in type.GetFields())
|
foreach (FieldInfo field in type.GetFields())
|
||||||
{
|
{
|
||||||
AddObject(property.GetValue(obj), property.Name);
|
AddObject(field.GetValue(obj), field.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (SetObjectType == ObjectType.Properties)
|
else if (SetObjectType == ObjectType.Properties)
|
||||||
|
@ -110,23 +121,16 @@ public void SelectObject(object obj)
|
||||||
AddObject(property.GetValue(obj, null), property.Name);
|
AddObject(property.GetValue(obj, null), property.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
FillLastColumn();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddObject(object obj, string name)
|
private void AddObject(object obj, string name)
|
||||||
{
|
{
|
||||||
if (obj is HistoryItem)
|
|
||||||
{
|
|
||||||
SelectObject(obj);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
ListViewItem lvi = new ListViewItem(name);
|
ListViewItem lvi = new ListViewItem(name);
|
||||||
lvi.Tag = obj;
|
|
||||||
if (obj != null)
|
if (obj != null)
|
||||||
{
|
{
|
||||||
|
lvi.Tag = obj;
|
||||||
lvi.SubItems.Add(obj.ToString());
|
lvi.SubItems.Add(obj.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue