├── .gitignore ├── .nuget ├── NuGet.Config └── NuGet.targets ├── COPYING ├── Demo ├── AnimatedDecoration.cs ├── AnimatedGifs │ ├── 3dlink1.gif │ ├── cd1.gif │ ├── circum.gif │ ├── cool3.gif │ ├── enter3.gif │ ├── envelope.gif │ ├── exclame.gif │ ├── eye2.gif │ ├── net2.gif │ └── new5.gif ├── AssemblyInfo.cs ├── BusinessCardOverlay.cs ├── BusinessCardRenderer.cs ├── ColumnSelectionForm.Designer.cs ├── ColumnSelectionForm.cs ├── ColumnSelectionForm.resx ├── Data │ ├── FamilyTree.xml │ └── Persons.xml ├── FamilyTree.xml ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── Models │ ├── MaritalStatus.cs │ ├── MyFileSystemInfo.cs │ └── Person.cs ├── MyFileSystemInfo.cs ├── OLVDemoCoordinator.cs ├── ObjectListViewDemo2005.csproj ├── ObjectListViewDemo2008.csproj ├── ObjectListViewDemo2010.csproj ├── ObjectListViewDemo2010.ncrunchproject ├── ObjectListViewDemo2012.csproj ├── ObjectListViewDemo2012.ncrunchproject ├── ObjectListViewDemo2012.v2.ncrunchproject ├── ObjectListViewDemo2022.csproj ├── ObjectListViewDemo2022.ncrunchproject ├── ObjectListViewDemo2022.v2.ncrunchproject ├── OlvDemoTab.cs ├── Person.cs ├── Persons.xml ├── Photos │ ├── ak.png │ ├── cp.png │ ├── cr.png │ ├── es.png │ ├── gab.png │ ├── gp.png │ ├── jp.png │ ├── jr.png │ ├── mb.png │ ├── np.png │ ├── ns.png │ ├── sj.png │ └── sp.png ├── Properties │ ├── AssemblyInfo.cs │ ├── Resource1.Designer.cs │ ├── Resource1.resx │ ├── Resources.Designer.cs │ └── Resources.resx ├── Resource1.Designer.cs ├── Resource1.resx ├── Resources │ ├── Espresso Maker.ico │ ├── coffee.jpg │ ├── down16.png │ ├── fav32.png │ ├── folder16.png │ ├── goldstar3.png │ ├── goldstart-32.png │ ├── limeleaf.png │ ├── movie16.png │ ├── music16.png │ ├── redback1.png │ ├── redbull.png │ ├── star16.png │ └── tick16.png ├── ShellUtilities.cs ├── TabComplexExample.Designer.cs ├── TabComplexExample.cs ├── TabComplexExample.resx ├── TabDataSet.Designer.cs ├── TabDataSet.cs ├── TabDataSet.resx ├── TabDataTreeListView.Designer.cs ├── TabDataTreeListView.cs ├── TabDataTreeListView.resx ├── TabDescribedTask.Designer.cs ├── TabDescribedTask.cs ├── TabDescribedTask.resx ├── TabDragAndDrop.Designer.cs ├── TabDragAndDrop.cs ├── TabDragAndDrop.resx ├── TabFastList.Designer.cs ├── TabFastList.cs ├── TabFastList.resx ├── TabFileExplorer.Designer.cs ├── TabFileExplorer.cs ├── TabFileExplorer.resx ├── TabPrinting.Designer.cs ├── TabPrinting.cs ├── TabPrinting.resx ├── TabSimpleExample.Designer.cs ├── TabSimpleExample.cs ├── TabSimpleExample.resx ├── TabTreeListView.Designer.cs ├── TabTreeListView.cs ├── TabTreeListView.resx └── app.config ├── ListViewPrinter ├── BrushForm.Designer.cs ├── BrushForm.cs ├── BrushForm.resx ├── BrushPen.DesignTime.cs ├── BrushPenData.cs ├── ListViewPrinter.cs ├── ListViewPrinter2005.csproj ├── ListViewPrinter2008.csproj ├── ListViewPrinter2010.csproj ├── ListViewPrinter2010.ncrunchproject ├── ListViewPrinter2012.csproj ├── ListViewPrinter2012.ncrunchproject ├── ListViewPrinter2012.v2.ncrunchproject ├── ListViewPrinter2022.csproj ├── ListViewPrinter2022.ncrunchproject ├── ListViewPrinter2022.v2.ncrunchproject ├── Properties │ └── AssemblyInfo.cs └── lvp-keyfile.snk ├── ListViewPrinterDemo ├── Form1.Designer.cs ├── Form1.cs ├── Form1.resx ├── ListViewPrinterDemo2005.csproj ├── ListViewPrinterDemo2008.csproj ├── ListViewPrinterDemo2010.csproj ├── ListViewPrinterDemo2010.ncrunchproject ├── ListViewPrinterDemo2012.csproj ├── ListViewPrinterDemo2012.ncrunchproject ├── ListViewPrinterDemo2012.v2.ncrunchproject ├── ListViewPrinterDemo2022.csproj ├── ListViewPrinterDemo2022.ncrunchproject ├── ListViewPrinterDemo2022.v2.ncrunchproject ├── Persons.xml ├── Program.cs ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ ├── Resources.resx │ ├── Settings.Designer.cs │ └── Settings.settings ├── Resources │ └── compass16.png └── app.config ├── ObjectListView.shfb ├── ObjectListView ├── CellEditing │ ├── CellEditKeyEngine.cs │ ├── CellEditors.cs │ └── EditorRegistry.cs ├── CustomDictionary.xml ├── DataListView.cs ├── DataTreeListView.cs ├── DragDrop │ ├── DragSource.cs │ ├── DropSink.cs │ └── OLVDataObject.cs ├── FastDataListView.cs ├── FastObjectListView.cs ├── Filtering │ ├── Cluster.cs │ ├── ClusteringStrategy.cs │ ├── ClustersFromGroupsStrategy.cs │ ├── DateTimeClusteringStrategy.cs │ ├── FilterMenuBuilder.cs │ ├── Filters.cs │ ├── FlagClusteringStrategy.cs │ ├── ICluster.cs │ ├── IClusteringStrategy.cs │ └── TextMatchFilter.cs ├── FullClassDiagram.cd ├── Implementation │ ├── Attributes.cs │ ├── Comparers.cs │ ├── DataSourceAdapter.cs │ ├── Delegates.cs │ ├── DragSource.cs │ ├── DropSink.cs │ ├── Enums.cs │ ├── Events.cs │ ├── GroupingParameters.cs │ ├── Groups.cs │ ├── Munger.cs │ ├── NativeMethods.cs │ ├── NullableDictionary.cs │ ├── OLVListItem.cs │ ├── OLVListSubItem.cs │ ├── OlvListViewHitTestInfo.cs │ ├── TreeDataSourceAdapter.cs │ ├── VirtualGroups.cs │ └── VirtualListDataSource.cs ├── OLVColumn.cs ├── ObjectListView.DesignTime.cs ├── ObjectListView.FxCop ├── ObjectListView.cs ├── ObjectListView.shfb ├── ObjectListView2005.csproj ├── ObjectListView2008.csproj ├── ObjectListView2008.ncrunchproject ├── ObjectListView2010.csproj ├── ObjectListView2010.ncrunchproject ├── ObjectListView2012.csproj ├── ObjectListView2012.ncrunchproject ├── ObjectListView2012.nuspec ├── ObjectListView2012.sln.DotSettings ├── ObjectListView2012.v2.ncrunchproject ├── ObjectListView2022.csproj ├── ObjectListView2022.ncrunchproject ├── ObjectListView2022.nuspec ├── ObjectListView2022.sln.DotSettings ├── ObjectListView2022.v2.ncrunchproject ├── Properties │ ├── AssemblyInfo.cs │ ├── Resources.Designer.cs │ └── Resources.resx ├── Rendering │ ├── Adornments.cs │ ├── Decorations.cs │ ├── Overlays.cs │ ├── Renderers.cs │ ├── Styles.cs │ └── TreeRenderer.cs ├── Resources │ ├── clear-filter.png │ ├── coffee.jpg │ ├── filter-icons3.png │ ├── filter.png │ ├── sort-ascending.png │ └── sort-descending.png ├── SubControls │ ├── GlassPanelForm.cs │ ├── HeaderControl.cs │ ├── ToolStripCheckedListBox.cs │ └── ToolTipControl.cs ├── TreeListView.cs ├── Utilities │ ├── ColumnSelectionForm.Designer.cs │ ├── ColumnSelectionForm.cs │ ├── ColumnSelectionForm.resx │ ├── Generator.cs │ ├── OLVExporter.cs │ └── TypedObjectListView.cs ├── VirtualObjectListView.cs └── olv-keyfile.snk ├── ObjectListView2005.sln ├── ObjectListView2008.sln ├── ObjectListView2010.ncrunchsolution ├── ObjectListView2010.sln ├── ObjectListView2010.sln.DotSettings ├── ObjectListView2012.ncrunchsolution ├── ObjectListView2012.sln ├── ObjectListView2012.sln.DotSettings ├── ObjectListView2012.v2.ncrunchsolution ├── ObjectListView2022.DotSettings ├── ObjectListView2022.sln ├── ObjectListView2022.v2.ncrunchsolution ├── ObjectListView2022.v3.ncrunchsolution.user ├── SparkleLibrary ├── Adapters │ └── AnimationAdapter.cs ├── Animation │ ├── Animateable.cs │ ├── Animation.cs │ └── Events.cs ├── Effects │ ├── Effect.cs │ └── Effects.cs ├── Locators │ ├── Locators.cs │ ├── PointLocator.cs │ └── RectangleLocator.cs ├── Properties │ └── AssemblyInfo.cs ├── SparkleLibrary.csproj ├── SparkleLibrary2010.csproj ├── SparkleLibrary2010.ncrunchproject ├── SparkleLibrary2012.csproj ├── SparkleLibrary2012.ncrunchproject ├── SparkleLibrary2012.v2.ncrunchproject ├── SparkleLibrary2022.csproj ├── SparkleLibrary2022.ncrunchproject ├── SparkleLibrary2022.v2.ncrunchproject ├── Sprites │ ├── Audio.cs │ ├── ISprite.cs │ ├── ImageSprite.cs │ ├── ShapeSprite.cs │ ├── Sprite.cs │ └── TextSprite.cs ├── keyfile.pfx └── sparkle-keyfile.snk ├── Tests ├── AssemblyInfo.cs ├── MainForm.Designer.cs ├── MainForm.cs ├── MainForm.resx ├── NUnit.2.6.2 │ ├── lib │ │ ├── nunit.framework.dll │ │ └── nunit.framework.xml │ └── license.txt ├── OLVTests.nunit ├── Person.cs ├── Program.cs ├── SetupTestSuite.cs ├── TestAdornments.cs ├── TestBasics.cs ├── TestCheckBoxes.cs ├── TestColumn.cs ├── TestDateClusteringStrategy.cs ├── TestExport.cs ├── TestFilters.cs ├── TestFlagClusteringStrategy.cs ├── TestFormatting.cs ├── TestGenerator.cs ├── TestMunger.cs ├── TestNotifications.cs ├── TestSelection.cs ├── TestSorting.cs ├── TestTreeView.cs ├── TestTypedListView.cs ├── Tests2005.csproj ├── Tests2008.csproj ├── Tests2010.csproj ├── Tests2010.ncrunchproject ├── Tests2012.csproj ├── Tests2012.ncrunchproject ├── Tests2012.v2.ncrunchproject ├── Tests2022.csproj ├── Tests2022.ncrunchproject ├── Tests2022.v2.ncrunchproject └── packages.config ├── docs ├── .static │ ├── Thumbs.db │ ├── animations-icon.png │ ├── blog-icon.png │ ├── blog1-icon.png │ ├── blog2-icon.png │ ├── blog3-icon.png │ ├── blog4-icon.png │ ├── blog5-icon.png │ ├── blog6-icon.png │ ├── blog7-icon.png │ ├── blog8-icon.png │ ├── cellEditing-icon.png │ ├── changelog-icon.png │ ├── dark-blue-800x1600.png │ ├── dialog.css │ ├── dialog2-blue-800x1600.png │ ├── download-icon.png │ ├── dragdrop-icon.png │ ├── expressInstall.swf │ ├── faq-icon.png │ ├── features-icon.png │ ├── filtering-icon.png │ ├── flicker-gone.swf │ ├── flicker.swf │ ├── gettingStarted-icon.png │ ├── global.css │ ├── groupListView-icon.png │ ├── icon.ico │ ├── index-icon.png │ ├── initial.css │ ├── light-blue-800x1600.png │ ├── listCtrlPrinter-icon.png │ ├── majorClasses-icon.png │ ├── master.css │ ├── objectListView-animation.swf │ ├── objectListView-simple-animation.swf │ ├── objectlistview-animations.html │ ├── objectlistview32.png │ ├── orange-800x1600.png │ ├── overlays-icon.png │ ├── ownerDraw-icon.png │ ├── recipes-icon.png │ ├── reset.css │ ├── samples-icon.png │ ├── search-icon.png │ ├── sparkle-animations.html │ ├── sparkle-garish-example.swf │ ├── sparkle-simple-example.swf │ ├── structure.css │ ├── swfobject_modified.js │ └── whatsnew-icon.png ├── .templates │ └── layout.html ├── ClassDiagram-VirtualList.dia ├── ClassDiagram.dia ├── Help │ └── ObjectListView-Documentation.chm ├── Sitemap.xml ├── animations.rst ├── blog.rst ├── blog1.rst ├── blog2.rst ├── blog3.rst ├── blog4.rst ├── blog5.rst ├── blog6.rst ├── blog7.rst ├── blog8.rst ├── cellEditing.rst ├── changelog.rst ├── conf.py ├── doc8.ini ├── download.rst ├── dragdrop.rst ├── faq.rst ├── features.rst ├── filtering.rst ├── gettingStarted.rst ├── images │ ├── ClassDiagram-VirtualList.png │ ├── ClassDiagram.png │ ├── ModelToScreenProcess.png │ ├── ObjectListView.jpg │ ├── ReportModernExample.jpg │ ├── bar-renderer.png │ ├── blog-badscroll.png │ ├── blog-overlayimage.png │ ├── blog-setbkimage.png │ ├── blog2-balloon1.png │ ├── blog2-balloon2.png │ ├── blog3-listview1.png │ ├── blog3-listview1a.png │ ├── blog3-listview2.png │ ├── blog3-listview3.png │ ├── blog3-listview4.png │ ├── blog4-basicform.png │ ├── blog4-dropbetween.png │ ├── blog4-emptyform.png │ ├── blog4-infomessage.png │ ├── blog4-nodrop.png │ ├── blog8-allgrey.png │ ├── blog8-funnyformatting.png │ ├── blog8-greytext-colourimages.png │ ├── button-states.png │ ├── buttons-1.png │ ├── buttons-hot.png │ ├── buttons-pressed.png │ ├── cell-editing-border.png │ ├── chili-smoothie.jpg │ ├── chili-smoothie2.jpg │ ├── coffee.jpg │ ├── column-edge-decoration-1.png │ ├── column-headercheckbox-1.png │ ├── column-selection-inline.png │ ├── column-selection-modaldialog.png │ ├── column-selection-submenu.png │ ├── dark-blue-800x1600.png │ ├── decorations-example.png │ ├── described-task-2.png │ ├── described-task-row.png │ ├── described-task1-without-border.png │ ├── described-task1.png │ ├── dialog2-blue-800x1600.png │ ├── dialog2-blue.gif │ ├── dragdrop-dropbackground.png │ ├── dragdrop-dropbetween.png │ ├── dragdrop-dropsubitem.png │ ├── dragdrop-example1.png │ ├── dragdrop-feedbackcolor.png │ ├── dragdrop-infomsg.png │ ├── dragdrop-tlv-small.png │ ├── dragdrop-tlv.png │ ├── dtlv-hierarchy.png │ ├── dtlv-table.png │ ├── emptylistmsg-example.png │ ├── excel-filtering.png │ ├── fancy-screenshot.png │ ├── fancy-screenshot2.png │ ├── fancy-screenshot3.png │ ├── flags-renderer.png │ ├── foobar-lookalike-small.png │ ├── foobar-lookalike.png │ ├── generator-better.png │ ├── generator-boring.png │ ├── gettingstarted-example1.png │ ├── gettingstarted-example2.png │ ├── gettingstarted-example3.png │ ├── gettingstarted-example4.png │ ├── gettingstarted-example5.png │ ├── gettingstarted-example6.png │ ├── group-formatting.png │ ├── header-formatting.png │ ├── header-with-image.png │ ├── hierarchical-checkboxes-1.png │ ├── hyperlinks.png │ ├── icecream3.jpg │ ├── image-renderer.png │ ├── images-renderer.png │ ├── light-blue-800x1600.png │ ├── limeleaf.jpg │ ├── mappedimage-renderer.png │ ├── multiimage-renderer.png │ ├── orange-800x1600.png │ ├── overlay.png │ ├── ownerdrawn-example1.png │ ├── printpreview.png │ ├── redbull.jpg │ ├── right-arrow.gif │ ├── right-arrow.png │ ├── setbkimage.png │ ├── setbkimage2.png │ ├── smoothie2.jpg │ ├── task-list-small.png │ ├── task-list.png │ ├── text-filter-highlighting.png │ ├── tileview-example.png │ ├── tileview-ownerdrawn.png │ ├── treelistview.png │ └── vertical-header.png ├── index.rst ├── listCtrlPrinter.rst ├── majorClasses.rst ├── olv-sandcastle.shfbproj ├── overlays.rst ├── ownerDraw.rst ├── recipes.rst ├── samples.rst └── whatsnew.rst └── packages ├── NUnit.2.6.2 ├── NUnit.2.6.2.nupkg ├── NUnit.2.6.2.nuspec ├── lib │ ├── nunit.framework.dll │ └── nunit.framework.xml └── license.txt ├── NUnit.2.6.4 ├── NUnit.2.6.4.nupkg ├── lib │ ├── nunit.framework.dll │ └── nunit.framework.xml └── license.txt └── repositories.config /.gitignore: -------------------------------------------------------------------------------- 1 | ################################################################################ 2 | # This .gitignore file was automatically created by Microsoft(R) Visual Studio. 3 | ################################################################################ 4 | 5 | /.vs 6 | /Demo/bin/Debug 7 | /Demo/obj/Debug 8 | /ListViewPrinter/bin/Debug 9 | /ListViewPrinter/obj/Debug 10 | /ListViewPrinterDemo/obj/Debug 11 | /ObjectListView/bin/Debug 12 | /ObjectListView/obj/Debug 13 | /SparkleLibrary/bin/Debug 14 | /SparkleLibrary/obj/Debug 15 | /Tests/obj/Debug 16 | /ListViewPrinterDemo/bin/Debug 17 | /Tests/bin/Debug 18 | -------------------------------------------------------------------------------- /.nuget/NuGet.Config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /Demo/AnimatedGifs/3dlink1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/3dlink1.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/cd1.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/cd1.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/circum.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/circum.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/cool3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/cool3.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/enter3.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/enter3.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/envelope.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/envelope.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/exclame.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/exclame.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/eye2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/eye2.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/net2.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/net2.gif -------------------------------------------------------------------------------- /Demo/AnimatedGifs/new5.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/AnimatedGifs/new5.gif -------------------------------------------------------------------------------- /Demo/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Information about this assembly is defined by the following 6 | // attributes. 7 | // 8 | // change them to the information which is associated with the assembly 9 | // you compile. 10 | 11 | [assembly: AssemblyTitle("ObjectListViewDemo")] 12 | [assembly: AssemblyDescription("A demonstration of how easy an ObjectListView is to use (and how powerful).")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("Bright Ideas Software")] 15 | [assembly: AssemblyProduct("ObjectListViewDemo")] 16 | [assembly: AssemblyCopyright("Copyright 2006-2014 All Rights Reserved")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // This sets the default COM visibility of types in the assembly to invisible. 21 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The assembly version has following format : 25 | // 26 | // Major.Minor.Build.Revision 27 | // 28 | // You can specify all values by your own or you can build default build and revision 29 | // numbers with the '*' character (the default): 30 | 31 | [assembly: AssemblyVersion("2.8.1.*")] 32 | [assembly: AssemblyFileVersionAttribute("2.8.1")] 33 | [assembly: System.CLSCompliant(true)] 34 | -------------------------------------------------------------------------------- /Demo/BusinessCardOverlay.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | using System.Windows.Forms; 3 | using BrightIdeasSoftware; 4 | 5 | namespace ObjectListViewDemo { 6 | /// 7 | /// This simple class just shows how an overlay can be drawn when the hot item changes. 8 | /// 9 | internal class BusinessCardOverlay : AbstractOverlay 10 | { 11 | public BusinessCardOverlay() 12 | { 13 | this.businessCardRenderer.HeaderBackBrush = Brushes.DarkBlue; 14 | this.businessCardRenderer.BorderPen = new Pen(Color.DarkBlue, 2); 15 | this.Transparency = 255; 16 | } 17 | #region IOverlay Members 18 | 19 | public override void Draw(ObjectListView olv, Graphics g, Rectangle r) 20 | { 21 | if (olv.HotRowIndex < 0) 22 | return; 23 | 24 | if (olv.View == View.Tile) 25 | return; 26 | 27 | OLVListItem item = olv.GetItem(olv.HotRowIndex); 28 | if (item == null) 29 | return; 30 | 31 | Size cardSize = new Size(250, 120); 32 | Rectangle cardBounds = new Rectangle( 33 | r.Right - cardSize.Width - 8, r.Bottom - cardSize.Height - 8, cardSize.Width, cardSize.Height); 34 | this.businessCardRenderer.DrawBusinessCard(g, cardBounds, item.RowObject, olv, item); 35 | } 36 | 37 | #endregion 38 | 39 | private readonly BusinessCardRenderer businessCardRenderer = new BusinessCardRenderer(); 40 | } 41 | } -------------------------------------------------------------------------------- /Demo/MainForm.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ObjectListViewDemo - A simple demo to show the ObjectListView control 3 | * 4 | * User: Phillip Piper 5 | * Date: 15/10/2006 11:15 AM 6 | * 7 | * Change log: 8 | * 2015-06-12 JPP COMPLETE REWRITE. Goal of rewrite is to make the code much easier to follow 9 | * 10 | * 2009-07-04 JPP Added ExampleVirtualDataSource for virtual list demo 11 | * [lots of stuff] 12 | * 2006-10-20 JPP Added DataSet tab page 13 | * 2006-10-15 JPP Initial version 14 | */ 15 | 16 | using System; 17 | using System.Drawing; 18 | using System.Windows.Forms; 19 | using BrightIdeasSoftware; 20 | 21 | namespace ObjectListViewDemo { 22 | 23 | public partial class MainForm { 24 | 25 | [STAThread] 26 | public static void Main(string[] args) { 27 | Application.EnableVisualStyles(); 28 | Application.SetCompatibleTextRenderingDefault(false); 29 | Application.Run(new MainForm()); 30 | } 31 | 32 | /// 33 | /// 34 | /// 35 | public MainForm() { 36 | // 37 | // The InitializeComponent() call is required for Windows Forms designer support. 38 | // 39 | InitializeComponent(); 40 | InitializeExamples(); 41 | } 42 | 43 | void InitializeExamples() { 44 | // Use different font under Vista 45 | if (ObjectListView.IsVistaOrLater) 46 | this.Font = new Font("Segoe UI", 9); 47 | 48 | OLVDemoCoordinator coordinator = new OLVDemoCoordinator(this); 49 | 50 | this.tabSimple.Coordinator = coordinator; 51 | this.tabComplex.Coordinator = coordinator; 52 | this.tabDataSet.Coordinator = coordinator; 53 | this.tabFileExplorer1.Coordinator = coordinator; 54 | this.tabFastList1.Coordinator = coordinator; 55 | this.tabTreeListView1.Coordinator = coordinator; 56 | this.tabDataTreeListView1.Coordinator = coordinator; 57 | this.tabDragAndDrop1.Coordinator = coordinator; 58 | this.tabDescribedTask1.Coordinator = coordinator; 59 | 60 | // Printing tab is slightly different, since it needs to know about the ObjectListViews from the other tabs 61 | this.tabPrinting1.SimpleView = this.tabSimple.ListView; 62 | this.tabPrinting1.ComplexView = this.tabComplex.ListView; 63 | this.tabPrinting1.DataListView = this.tabDataSet.ListView; 64 | this.tabPrinting1.FileExplorerView = this.tabFileExplorer1.ListView; 65 | this.tabPrinting1.TreeListView = this.tabTreeListView1.ListView; 66 | this.tabPrinting1.Coordinator = coordinator; 67 | 68 | //this.tabControl1.SelectTab(this.tabDescribedTasks); 69 | } 70 | 71 | private void tabControl1_Selected(object sender, TabControlEventArgs e) 72 | { 73 | if (tabControl1.TabPages[e.TabPageIndex].Name == "tabPagePrinting") 74 | this.tabPrinting1.UpdatePrintPreview(); 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /Demo/Models/MaritalStatus.cs: -------------------------------------------------------------------------------- 1 | namespace ObjectListViewDemo.Models { 2 | public enum MaritalStatus 3 | { 4 | Single, 5 | Married, 6 | Divorced, 7 | Partnered 8 | } 9 | } -------------------------------------------------------------------------------- /Demo/Models/MyFileSystemInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.IO; 4 | 5 | namespace ObjectListViewDemo.Models { 6 | /// 7 | /// Standard .NET FileSystemInfos are always not equal to each other. 8 | /// When we try to refresh a directory, our controls can't match up new 9 | /// files with existing files. They are also sealed so we can't just subclass them. 10 | /// This class is a wrapper around a FileSystemInfo that simply provides 11 | /// equality. 12 | /// 13 | public class MyFileSystemInfo : IEquatable 14 | { 15 | public MyFileSystemInfo(FileSystemInfo fileSystemInfo) { 16 | if (fileSystemInfo == null) throw new ArgumentNullException("fileSystemInfo"); 17 | this.info = fileSystemInfo; 18 | } 19 | 20 | public bool IsDirectory { get { return this.AsDirectory != null; } } 21 | 22 | public DirectoryInfo AsDirectory { get { return this.info as DirectoryInfo; } } 23 | public FileInfo AsFile{ get { return this.info as FileInfo; } } 24 | 25 | public FileSystemInfo Info { 26 | get { return this.info; } 27 | } 28 | private readonly FileSystemInfo info; 29 | 30 | public string Name { 31 | get { return this.info.Name; } 32 | } 33 | 34 | public string Extension { 35 | get { return this.info.Extension; } 36 | } 37 | 38 | public DateTime CreationTime { 39 | get { return this.info.CreationTime; } 40 | } 41 | 42 | public DateTime LastWriteTime { 43 | get { return this.info.LastWriteTime; } 44 | } 45 | 46 | public string FullName { 47 | get { return this.info.FullName; } 48 | } 49 | 50 | public FileAttributes Attributes { 51 | get { return this.info.Attributes; } 52 | } 53 | 54 | public long Length { 55 | get { return this.AsFile.Length; } 56 | } 57 | 58 | public IEnumerable GetFileSystemInfos() { 59 | ArrayList children = new ArrayList(); 60 | if (this.IsDirectory) { 61 | foreach (FileSystemInfo x in this.AsDirectory.GetFileSystemInfos()) 62 | children.Add(new MyFileSystemInfo(x)); 63 | } 64 | return children; 65 | } 66 | 67 | // Two file system objects are equal if they point to the same file system path 68 | 69 | public bool Equals(MyFileSystemInfo other) { 70 | if (ReferenceEquals(null, other)) return false; 71 | if (ReferenceEquals(this, other)) return true; 72 | return Equals(other.info.FullName, this.info.FullName); 73 | } 74 | public override bool Equals(object obj) { 75 | if (ReferenceEquals(null, obj)) return false; 76 | if (ReferenceEquals(this, obj)) return true; 77 | if (obj.GetType() != typeof(MyFileSystemInfo)) return false; 78 | return Equals((MyFileSystemInfo)obj); 79 | } 80 | public override int GetHashCode() { 81 | return (this.info != null ? this.info.FullName.GetHashCode() : 0); 82 | } 83 | public static bool operator ==(MyFileSystemInfo left, MyFileSystemInfo right) { 84 | return Equals(left, right); 85 | } 86 | public static bool operator !=(MyFileSystemInfo left, MyFileSystemInfo right) { 87 | return !Equals(left, right); 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /Demo/MyFileSystemInfo.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections; 3 | using System.IO; 4 | 5 | namespace ObjectListViewDemo { 6 | /// 7 | /// Standard .NET FileSystemInfos are always not equal to each other. 8 | /// When we try to refresh a directory, our controls can't match up new 9 | /// files with existing files. They are also sealed so we can't just subclass them. 10 | /// This class is a wrapper around a FileSystemInfo that simply provides 11 | /// equality. 12 | /// 13 | public class MyFileSystemInfo : IEquatable 14 | { 15 | public MyFileSystemInfo(FileSystemInfo fileSystemInfo) { 16 | if (fileSystemInfo == null) throw new ArgumentNullException("fileSystemInfo"); 17 | this.info = fileSystemInfo; 18 | } 19 | 20 | public bool IsDirectory { get { return this.AsDirectory != null; } } 21 | 22 | public DirectoryInfo AsDirectory { get { return info as DirectoryInfo; } } 23 | public FileInfo AsFile{ get { return info as FileInfo; } } 24 | 25 | public FileSystemInfo Info { 26 | get { return this.info; } 27 | } 28 | private readonly FileSystemInfo info; 29 | 30 | public string Name { 31 | get { return info.Name; } 32 | } 33 | 34 | public string Extension { 35 | get { return info.Extension; } 36 | } 37 | 38 | public DateTime CreationTime { 39 | get { return info.CreationTime; } 40 | } 41 | 42 | public DateTime LastWriteTime { 43 | get { return info.LastWriteTime; } 44 | } 45 | 46 | public string FullName { 47 | get { return info.FullName; } 48 | } 49 | 50 | public FileAttributes Attributes { 51 | get { return info.Attributes; } 52 | } 53 | 54 | public long Length { 55 | get { return this.AsFile.Length; } 56 | } 57 | 58 | public IEnumerable GetFileSystemInfos() { 59 | ArrayList children = new ArrayList(); 60 | if (this.IsDirectory) { 61 | foreach (FileSystemInfo x in this.AsDirectory.GetFileSystemInfos()) 62 | children.Add(new MyFileSystemInfo(x)); 63 | } 64 | return children; 65 | } 66 | 67 | // Two file system objects are equal if they point to the same file system path 68 | 69 | public bool Equals(MyFileSystemInfo other) { 70 | if (ReferenceEquals(null, other)) return false; 71 | if (ReferenceEquals(this, other)) return true; 72 | return Equals(other.info.FullName, this.info.FullName); 73 | } 74 | public override bool Equals(object obj) { 75 | if (ReferenceEquals(null, obj)) return false; 76 | if (ReferenceEquals(this, obj)) return true; 77 | if (obj.GetType() != typeof(MyFileSystemInfo)) return false; 78 | return Equals((MyFileSystemInfo)obj); 79 | } 80 | public override int GetHashCode() { 81 | return (this.info != null ? this.info.FullName.GetHashCode() : 0); 82 | } 83 | public static bool operator ==(MyFileSystemInfo left, MyFileSystemInfo right) { 84 | return Equals(left, right); 85 | } 86 | public static bool operator !=(MyFileSystemInfo left, MyFileSystemInfo right) { 87 | return !Equals(left, right); 88 | } 89 | } 90 | } -------------------------------------------------------------------------------- /Demo/ObjectListViewDemo2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | 23 | 24 | .* 25 | 26 | 27 | -------------------------------------------------------------------------------- /Demo/ObjectListViewDemo2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /Demo/ObjectListViewDemo2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /Demo/ObjectListViewDemo2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /Demo/ObjectListViewDemo2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /Demo/OlvDemoTab.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.ComponentModel; 3 | using System.Windows.Forms; 4 | using BrightIdeasSoftware; 5 | 6 | namespace ObjectListViewDemo { 7 | public class OlvDemoTab : UserControl { 8 | 9 | [Browsable(false), 10 | DesignerSerializationVisibility(DesignerSerializationVisibility.Hidden)] 11 | public OLVDemoCoordinator Coordinator 12 | { 13 | get { return coordinator; } 14 | set 15 | { 16 | coordinator = value; 17 | if (value != null) { 18 | this.InitializeTab(); 19 | this.SetupGeneralListViewEvents(); 20 | } 21 | } 22 | } 23 | private OLVDemoCoordinator coordinator; 24 | private ObjectListView listView; 25 | 26 | protected virtual void InitializeTab() { } 27 | 28 | public ObjectListView ListView { 29 | get { return this.listView; } 30 | protected set { this.listView = value; } 31 | } 32 | 33 | private void SetupGeneralListViewEvents() { 34 | if (this.ListView == null || this.Coordinator == null) 35 | return; 36 | 37 | this.ListView.SelectionChanged += delegate(object sender, EventArgs args) { 38 | this.Coordinator.HandleSelectionChanged(this.ListView); 39 | }; 40 | 41 | this.ListView.HotItemChanged += delegate(object sender, HotItemChangedEventArgs args) { 42 | this.Coordinator.HandleHotItemChanged(sender, args); 43 | }; 44 | 45 | this.ListView.GroupTaskClicked += delegate(object sender, GroupTaskClickedEventArgs args) { 46 | Coordinator.ShowMessage("Clicked on group task: " + args.Group.Name); 47 | }; 48 | 49 | this.ListView.GroupStateChanged += delegate(object sender, GroupStateChangedEventArgs e) { 50 | System.Diagnostics.Debug.WriteLine(String.Format("Group '{0}' was {1}{2}{3}{4}{5}{6}", 51 | e.Group.Header, 52 | e.Selected ? "Selected" : "", 53 | e.Focused ? "Focused" : "", 54 | e.Collapsed ? "Collapsed" : "", 55 | e.Unselected ? "Unselected" : "", 56 | e.Unfocused ? "Unfocused" : "", 57 | e.Uncollapsed ? "Uncollapsed" : "")); 58 | }; 59 | } 60 | } 61 | } -------------------------------------------------------------------------------- /Demo/Photos/ak.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/ak.png -------------------------------------------------------------------------------- /Demo/Photos/cp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/cp.png -------------------------------------------------------------------------------- /Demo/Photos/cr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/cr.png -------------------------------------------------------------------------------- /Demo/Photos/es.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/es.png -------------------------------------------------------------------------------- /Demo/Photos/gab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/gab.png -------------------------------------------------------------------------------- /Demo/Photos/gp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/gp.png -------------------------------------------------------------------------------- /Demo/Photos/jp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/jp.png -------------------------------------------------------------------------------- /Demo/Photos/jr.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/jr.png -------------------------------------------------------------------------------- /Demo/Photos/mb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/mb.png -------------------------------------------------------------------------------- /Demo/Photos/np.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/np.png -------------------------------------------------------------------------------- /Demo/Photos/ns.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/ns.png -------------------------------------------------------------------------------- /Demo/Photos/sj.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/sj.png -------------------------------------------------------------------------------- /Demo/Photos/sp.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Photos/sp.png -------------------------------------------------------------------------------- /Demo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // Information about this assembly is defined by the following 6 | // attributes. 7 | // 8 | // change them to the information which is associated with the assembly 9 | // you compile. 10 | 11 | [assembly: AssemblyTitle("ObjectListViewDemo")] 12 | [assembly: AssemblyDescription("A demonstration of how easy an ObjectListView is to use (and how powerful).")] 13 | [assembly: AssemblyConfiguration("")] 14 | [assembly: AssemblyCompany("Bright Ideas Software")] 15 | [assembly: AssemblyProduct("ObjectListViewDemo")] 16 | [assembly: AssemblyCopyright("Copyright 2006-2015 All Rights Reserved")] 17 | [assembly: AssemblyTrademark("")] 18 | [assembly: AssemblyCulture("")] 19 | 20 | // This sets the default COM visibility of types in the assembly to invisible. 21 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 22 | [assembly: ComVisible(false)] 23 | 24 | // The assembly version has following format : 25 | // 26 | // Major.Minor.Build.Revision 27 | // 28 | // You can specify all values by your own or you can build default build and revision 29 | // numbers with the '*' character (the default): 30 | 31 | [assembly: AssemblyVersion("2.9.0.*")] 32 | [assembly: AssemblyFileVersionAttribute("2.9.0")] 33 | [assembly: System.CLSCompliant(true)] 34 | -------------------------------------------------------------------------------- /Demo/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ObjectListViewDemo.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ObjectListViewDemo.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | 63 | /// 64 | /// Looks up a localized resource of type System.Drawing.Bitmap. 65 | /// 66 | internal static System.Drawing.Bitmap limeleaf { 67 | get { 68 | object obj = ResourceManager.GetObject("limeleaf", resourceCulture); 69 | return ((System.Drawing.Bitmap)(obj)); 70 | } 71 | } 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /Demo/Resources/Espresso Maker.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/Espresso Maker.ico -------------------------------------------------------------------------------- /Demo/Resources/coffee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/coffee.jpg -------------------------------------------------------------------------------- /Demo/Resources/down16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/down16.png -------------------------------------------------------------------------------- /Demo/Resources/fav32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/fav32.png -------------------------------------------------------------------------------- /Demo/Resources/folder16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/folder16.png -------------------------------------------------------------------------------- /Demo/Resources/goldstar3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/goldstar3.png -------------------------------------------------------------------------------- /Demo/Resources/goldstart-32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/goldstart-32.png -------------------------------------------------------------------------------- /Demo/Resources/limeleaf.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/limeleaf.png -------------------------------------------------------------------------------- /Demo/Resources/movie16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/movie16.png -------------------------------------------------------------------------------- /Demo/Resources/music16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/music16.png -------------------------------------------------------------------------------- /Demo/Resources/redback1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/redback1.png -------------------------------------------------------------------------------- /Demo/Resources/redbull.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/redbull.png -------------------------------------------------------------------------------- /Demo/Resources/star16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/star16.png -------------------------------------------------------------------------------- /Demo/Resources/tick16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Demo/Resources/tick16.png -------------------------------------------------------------------------------- /Demo/TabDataTreeListView.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Data; 3 | using System.Windows.Forms; 4 | using BrightIdeasSoftware; 5 | 6 | namespace ObjectListViewDemo 7 | { 8 | public partial class TabDataTreeListView : OlvDemoTab { 9 | 10 | public TabDataTreeListView() 11 | { 12 | InitializeComponent(); 13 | this.ListView = this.olvDataTree; 14 | } 15 | 16 | protected override void InitializeTab() { 17 | 18 | // The whole point of a DataTreeListView is to write no code. So there is very little code here. 19 | 20 | // Put some images against each row 21 | this.olvColumn41.ImageGetter = delegate(object row) { return "user"; }; 22 | 23 | // The DataTreeListView needs to know the key that identifies root level objects. 24 | // DataTreeListView can handle that key being any data type, but the Designer only deals in strings. 25 | // Since we want a non-string value to identify keys, we have to set it explicitly here. 26 | this.olvDataTree.RootKeyValue = 0u; 27 | 28 | // Finally load the data into the UI 29 | LoadXmlIntoTreeDataListView(); 30 | 31 | // This does a better job of auto sizing the columns 32 | this.olvDataTree.AutoResizeColumns(); 33 | } 34 | 35 | private void LoadXmlIntoTreeDataListView() { 36 | DataSet ds = Coordinator.LoadDatasetFromXml(@"Data\FamilyTree.xml"); 37 | 38 | if (ds.Tables.Count <= 0) { 39 | Coordinator.ShowMessage(@"Failed to load data set from Data\FamilyTree.xml"); 40 | return; 41 | } 42 | 43 | this.dataGridView2.DataSource = ds; 44 | this.dataGridView2.DataMember = "Person"; 45 | 46 | // Like DataListView, the DataTreeListView can handle binding to a variety of sources 47 | // And again, you could create a BindingSource in the designer, and assign that BindingSource 48 | // to DataSource, removing the need to even write these few lines of code. 49 | 50 | //this.olvDataTree.DataSource = new BindingSource(ds, "Person"); 51 | //this.olvDataTree.DataSource = ds.Tables["Person"]; 52 | //this.olvDataTree.DataSource = new DataView(ds.Tables["Person"]); 53 | //this.olvDataTree.DataMember = "Person"; this.olvDataTree.DataSource = ds; 54 | this.olvDataTree.DataMember = "Person"; 55 | this.olvDataTree.DataSource = new DataViewManager(ds); 56 | } 57 | 58 | #region UI event handlers 59 | 60 | private void filterTextBox_TextChanged(object sender, EventArgs e) 61 | { 62 | Coordinator.TimedFilter(this.ListView, ((TextBox)sender).Text); 63 | } 64 | 65 | private void buttonResetData_Click(object sender, EventArgs e) 66 | { 67 | LoadXmlIntoTreeDataListView(); 68 | } 69 | 70 | #endregion 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /Demo/TabDragAndDrop.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Windows.Forms; 3 | using BrightIdeasSoftware; 4 | using ObjectListViewDemo.Properties; 5 | 6 | namespace ObjectListViewDemo 7 | { 8 | public partial class TabDragAndDrop : OlvDemoTab 9 | { 10 | public TabDragAndDrop() 11 | { 12 | InitializeComponent(); 13 | } 14 | 15 | protected override void InitializeTab() { 16 | 17 | SetupColumns(); 18 | SetupDragAndDrop(); 19 | 20 | this.comboBoxGeeksAndTweebsView.SelectedIndex = 4; 21 | this.comboBoxCoolFroodsView.SelectedIndex = 4; 22 | 23 | this.olvGeeks.SetObjects(Coordinator.PersonList); 24 | } 25 | 26 | private void SetupColumns() { 27 | this.olvGeeks.GetColumn(0).ImageGetter = delegate(object x) { return "user"; }; 28 | this.olvFroods.GetColumn(0).ImageGetter = delegate(object x) { return "user"; }; 29 | 30 | this.olvGeeks.GetColumn(2).Renderer = new MultiImageRenderer(Resource1.star16, 5, 0, 40); 31 | this.olvFroods.GetColumn(2).Renderer = new MultiImageRenderer(Resource1.star16, 5, 0, 40); 32 | } 33 | 34 | private void SetupDragAndDrop() { 35 | 36 | // Make each listview capable of dragging rows out 37 | this.olvGeeks.DragSource = new SimpleDragSource(); 38 | this.olvFroods.DragSource = new SimpleDragSource(); 39 | 40 | // Make each listview capable of accepting drops. 41 | // More than that, make it so it's items can be rearranged 42 | this.olvGeeks.DropSink = new RearrangingDropSink(true); 43 | this.olvFroods.DropSink = new RearrangingDropSink(true); 44 | 45 | // For a normal drag and drop situation, you will need to create a SimpleDropSink 46 | // and then listen for ModelCanDrop and ModelDropped events 47 | } 48 | 49 | #region UI event handlers 50 | 51 | private void comboBoxGeeksAndTweebsView_SelectedIndexChanged(object sender, EventArgs e) 52 | { 53 | Coordinator.ChangeView(this.olvGeeks, (ComboBox)sender); 54 | } 55 | 56 | private void comboBoxCoolFroodsView_SelectedIndexChanged(object sender, EventArgs e) 57 | { 58 | Coordinator.ChangeView(this.olvFroods, (ComboBox)sender); 59 | } 60 | 61 | #endregion 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /Demo/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2005.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | Debug 4 | AnyCPU 5 | 8.0.50727 6 | 2.0 7 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631} 8 | Library 9 | Properties 10 | BrightIdeasSoftware 11 | ListViewPrinter 12 | 13 | 14 | true 15 | full 16 | false 17 | bin\Debug\ 18 | DEBUG;TRACE 19 | prompt 20 | 4 21 | 22 | 23 | pdbonly 24 | true 25 | bin\Release\ 26 | TRACE 27 | prompt 28 | 4 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | Form 41 | 42 | 43 | BrushForm.cs 44 | 45 | 46 | 47 | 48 | 49 | Component 50 | 51 | 52 | 53 | 54 | 55 | BrushForm.cs 56 | Designer 57 | 58 | 59 | 60 | 61 | {18FEDA0C-D147-4286-B39A-01204808106A} 62 | ObjectListView 63 | 64 | 65 | 66 | 73 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | 23 | 24 | .* 25 | 26 | 27 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinter/ListViewPrinter2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinter/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ListViewPrinter")] 9 | [assembly: AssemblyDescription("A class to take a ListView or ObjectListView and make it into a beautiful report")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Bright Ideas Software")] 12 | [assembly: AssemblyProduct("ListViewPrinter")] 13 | [assembly: AssemblyCopyright("Copyright © 2008-2011")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("213c7c43-b654-47cb-b817-fc602282c9df")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Revision and Build Numbers 33 | // by using the '*' as shown below: 34 | [assembly: AssemblyVersion("2.5.0.*")] 35 | [assembly: AssemblyFileVersion("2.5.0.0")] 36 | -------------------------------------------------------------------------------- /ListViewPrinter/lvp-keyfile.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ListViewPrinter/lvp-keyfile.snk -------------------------------------------------------------------------------- /ListViewPrinterDemo/ListViewPrinterDemo2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | 23 | 24 | .* 25 | 26 | 27 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/ListViewPrinterDemo2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/ListViewPrinterDemo2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/ListViewPrinterDemo2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/ListViewPrinterDemo2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/Program.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Windows.Forms; 4 | 5 | namespace ListViewPrinterDemo 6 | { 7 | static class Program 8 | { 9 | /// 10 | /// The main entry point for the application. 11 | /// 12 | [STAThread] 13 | static void Main() 14 | { 15 | Application.EnableVisualStyles(); 16 | Application.SetCompatibleTextRenderingDefault(false); 17 | Application.Run(new Form1()); 18 | } 19 | } 20 | } -------------------------------------------------------------------------------- /ListViewPrinterDemo/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("ListViewPrinterDemo")] 9 | [assembly: AssemblyDescription("")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("")] 12 | [assembly: AssemblyProduct("ListViewPrinterDemo")] 13 | [assembly: AssemblyCopyright("Copyright © 2007-15")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("201c17f3-3fe1-432f-b705-7fa1b622d709")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | [assembly: AssemblyVersion("1.0.0.0")] 33 | [assembly: AssemblyFileVersion("1.0.0.0")] 34 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/Properties/Resources.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ListViewPrinterDemo.Properties { 12 | using System; 13 | 14 | 15 | /// 16 | /// A strongly-typed resource class, for looking up localized strings, etc. 17 | /// 18 | // This class was auto-generated by the StronglyTypedResourceBuilder 19 | // class via a tool like ResGen or Visual Studio. 20 | // To add or remove a member, edit your .ResX file then rerun ResGen 21 | // with the /str option, or rebuild your VS project. 22 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] 23 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] 24 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 25 | internal class Resources { 26 | 27 | private static global::System.Resources.ResourceManager resourceMan; 28 | 29 | private static global::System.Globalization.CultureInfo resourceCulture; 30 | 31 | [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] 32 | internal Resources() { 33 | } 34 | 35 | /// 36 | /// Returns the cached ResourceManager instance used by this class. 37 | /// 38 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 39 | internal static global::System.Resources.ResourceManager ResourceManager { 40 | get { 41 | if (object.ReferenceEquals(resourceMan, null)) { 42 | global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("ListViewPrinterDemo.Properties.Resources", typeof(Resources).Assembly); 43 | resourceMan = temp; 44 | } 45 | return resourceMan; 46 | } 47 | } 48 | 49 | /// 50 | /// Overrides the current thread's CurrentUICulture property for all 51 | /// resource lookups using this strongly typed resource class. 52 | /// 53 | [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] 54 | internal static global::System.Globalization.CultureInfo Culture { 55 | get { 56 | return resourceCulture; 57 | } 58 | set { 59 | resourceCulture = value; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/Properties/Settings.Designer.cs: -------------------------------------------------------------------------------- 1 | //------------------------------------------------------------------------------ 2 | // 3 | // This code was generated by a tool. 4 | // Runtime Version:4.0.30319.42000 5 | // 6 | // Changes to this file may cause incorrect behavior and will be lost if 7 | // the code is regenerated. 8 | // 9 | //------------------------------------------------------------------------------ 10 | 11 | namespace ListViewPrinterDemo.Properties { 12 | 13 | 14 | [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] 15 | [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "17.5.0.0")] 16 | internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { 17 | 18 | private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); 19 | 20 | public static Settings Default { 21 | get { 22 | return defaultInstance; 23 | } 24 | } 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/Properties/Settings.settings: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /ListViewPrinterDemo/Resources/compass16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ListViewPrinterDemo/Resources/compass16.png -------------------------------------------------------------------------------- /ListViewPrinterDemo/app.config: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /ObjectListView.shfb: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | All ObjectListView appears in this namespace 8 | 9 | 10 | ObjectListViewDemo demonstrates helpful techniques when using an ObjectListView 11 | Summary, Parameter, Returns, AutoDocumentCtors, Namespace 12 | InheritedMembers, Protected, SealedProtected 13 | 14 | 15 | .\Help\ 16 | 17 | 18 | True 19 | True 20 | HtmlHelp1x 21 | True 22 | False 23 | 2.0.50727 24 | True 25 | False 26 | True 27 | False 28 | 29 | ObjectListView Reference 30 | Documentation 31 | en-US 32 | 33 | (c) Copyright 2006-2008 Phillip Piper All Rights Reserved 34 | phillip_piper@bigfoot.com 35 | 36 | 37 | Local 38 | Msdn 39 | Blank 40 | Prototype 41 | Guid 42 | CSharp 43 | False 44 | AboveNamespaces 45 | 46 | 47 | -------------------------------------------------------------------------------- /ObjectListView/CustomDictionary.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | br 6 | Canceled 7 | Center 8 | Color 9 | Colors 10 | f 11 | fmt 12 | g 13 | gdi 14 | hti 15 | i 16 | lightbox 17 | lv 18 | lvi 19 | lvsi 20 | m 21 | multi 22 | Munger 23 | n 24 | olv 25 | olvi 26 | p 27 | parms 28 | r 29 | Renderer 30 | s 31 | SubItem 32 | Unapply 33 | Unpause 34 | x 35 | y 36 | 37 | 38 | ComPlus 39 | 40 | 41 | 42 | 43 | OLV 44 | 45 | 46 | 47 | -------------------------------------------------------------------------------- /ObjectListView/Filtering/ClustersFromGroupsStrategy.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ClusteringStrategy - Implements a simple clustering strategy 3 | * 4 | * Author: Phillip Piper 5 | * Date: 1-April-2011 8:12am 6 | * 7 | * Change log: 8 | * 2011-04-01 JPP - First version 9 | * 10 | * Copyright (C) 2011-2014 Phillip Piper 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 3 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with this program. If not, see . 24 | * 25 | * If you wish to use this code in a closed source application, please contact phillip.piper@gmail.com. 26 | */ 27 | 28 | using System; 29 | using System.Collections.Generic; 30 | using System.Text; 31 | 32 | namespace BrightIdeasSoftware { 33 | 34 | /// 35 | /// This class calculates clusters from the groups that the column uses. 36 | /// 37 | /// 38 | /// 39 | /// This is the default strategy for all non-date, filterable columns. 40 | /// 41 | /// 42 | /// This class does not strictly mimic the groups created by the given column. 43 | /// In particular, if the programmer changes the default grouping technique 44 | /// by listening for grouping events, this class will not mimic that behaviour. 45 | /// 46 | /// 47 | public class ClustersFromGroupsStrategy : ClusteringStrategy { 48 | 49 | /// 50 | /// Get the cluster key by which the given model will be partitioned by this strategy 51 | /// 52 | /// 53 | /// 54 | public override object GetClusterKey(object model) { 55 | return this.Column.GetGroupKey(model); 56 | } 57 | 58 | /// 59 | /// Gets the display label that the given cluster should use 60 | /// 61 | /// 62 | /// 63 | public override string GetClusterDisplayLabel(ICluster cluster) { 64 | string s = this.Column.ConvertGroupKeyToTitle(cluster.ClusterKey); 65 | if (String.IsNullOrEmpty(s)) 66 | s = EMPTY_LABEL; 67 | return this.ApplyDisplayFormat(cluster, s); 68 | } 69 | } 70 | } 71 | -------------------------------------------------------------------------------- /ObjectListView/Filtering/ICluster.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * ICluster - A cluster is a group of objects that can be included or excluded as a whole 3 | * 4 | * Author: Phillip Piper 5 | * Date: 4-March-2011 11:59 pm 6 | * 7 | * Change log: 8 | * 2011-03-04 JPP - First version 9 | * 10 | * Copyright (C) 2011-2014 Phillip Piper 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 3 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with this program. If not, see . 24 | * 25 | * If you wish to use this code in a closed source application, please contact phillip.piper@gmail.com. 26 | */ 27 | 28 | using System; 29 | using System.Collections.Generic; 30 | using System.Text; 31 | 32 | namespace BrightIdeasSoftware { 33 | 34 | /// 35 | /// A cluster is a like collection of objects that can be usefully filtered 36 | /// as whole using the filtering UI provided by the ObjectListView. 37 | /// 38 | public interface ICluster : IComparable { 39 | /// 40 | /// Gets or sets how many items belong to this cluster 41 | /// 42 | int Count { get; set; } 43 | 44 | /// 45 | /// Gets or sets the label that will be shown to the user to represent 46 | /// this cluster 47 | /// 48 | string DisplayLabel { get; set; } 49 | 50 | /// 51 | /// Gets or sets the actual data object that all members of this cluster 52 | /// have commonly returned. 53 | /// 54 | object ClusterKey { get; set; } 55 | } 56 | } 57 | -------------------------------------------------------------------------------- /ObjectListView/Filtering/IClusteringStrategy.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * IClusterStrategy - Encapsulates the ability to create a list of clusters from an ObjectListView 3 | * 4 | * Author: Phillip Piper 5 | * Date: 4-March-2011 11:59 pm 6 | * 7 | * Change log: 8 | * 2012-05-23 JPP - Added CreateFilter() method to interface to allow the strategy 9 | * to control the actual model filter that is created. 10 | * v2.5 11 | * 2011-03-04 JPP - First version 12 | * 13 | * Copyright (C) 2011-2014 Phillip Piper 14 | * 15 | * This program is free software: you can redistribute it and/or modify 16 | * it under the terms of the GNU General Public License as published by 17 | * the Free Software Foundation, either version 3 of the License, or 18 | * (at your option) any later version. 19 | * 20 | * This program is distributed in the hope that it will be useful, 21 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 22 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 | * GNU General Public License for more details. 24 | * 25 | * You should have received a copy of the GNU General Public License 26 | * along with this program. If not, see . 27 | * 28 | * If you wish to use this code in a closed source application, please contact phillip.piper@gmail.com. 29 | */ 30 | 31 | using System; 32 | using System.Collections; 33 | using System.Collections.Generic; 34 | using System.Text; 35 | 36 | namespace BrightIdeasSoftware{ 37 | 38 | /// 39 | /// Implementation of this interface control the selecting of cluster keys 40 | /// and how those clusters will be presented to the user 41 | /// 42 | public interface IClusteringStrategy { 43 | 44 | /// 45 | /// Gets or sets the column upon which this strategy will operate 46 | /// 47 | OLVColumn Column { get; set; } 48 | 49 | /// 50 | /// Get the cluster key by which the given model will be partitioned by this strategy 51 | /// 52 | /// If the returned value is an IEnumerable, the given model is considered 53 | /// to belong to multiple clusters 54 | /// 55 | /// 56 | object GetClusterKey(object model); 57 | 58 | /// 59 | /// Create a cluster to hold the given cluster key 60 | /// 61 | /// 62 | /// 63 | ICluster CreateCluster(object clusterKey); 64 | 65 | /// 66 | /// Gets the display label that the given cluster should use 67 | /// 68 | /// 69 | /// 70 | string GetClusterDisplayLabel(ICluster cluster); 71 | 72 | /// 73 | /// Create a filter that will include only model objects that 74 | /// match one or more of the given values. 75 | /// 76 | /// 77 | /// 78 | IModelFilter CreateFilter(IList valuesChosenForFiltering); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /ObjectListView/Implementation/NullableDictionary.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * NullableDictionary - A simple Dictionary that can handle null as a key 3 | * 4 | * Author: Phillip Piper 5 | * Date: 31-March-2011 5:53 pm 6 | * 7 | * Change log: 8 | * 2011-03-31 JPP - Split into its own file 9 | * 10 | * Copyright (C) 2011-2017 Phillip Piper 11 | * 12 | * This program is free software: you can redistribute it and/or modify 13 | * it under the terms of the GNU General Public License as published by 14 | * the Free Software Foundation, either version 3 of the License, or 15 | * (at your option) any later version. 16 | * 17 | * This program is distributed in the hope that it will be useful, 18 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 19 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 20 | * GNU General Public License for more details. 21 | * 22 | * You should have received a copy of the GNU General Public License 23 | * along with this program. If not, see . 24 | * 25 | * If you wish to use this code in a closed source application, please contact phillip.piper@gmail.com. 26 | */ 27 | 28 | using System; 29 | using System.Collections.Generic; 30 | using System.Text; 31 | using System.Collections; 32 | 33 | namespace BrightIdeasSoftware { 34 | 35 | /// 36 | /// A simple-minded implementation of a Dictionary that can handle null as a key. 37 | /// 38 | /// The type of the dictionary key 39 | /// The type of the values to be stored 40 | /// This is not a full implementation and is only meant to handle 41 | /// collecting groups by their keys, since groups can have null as a key value. 42 | internal class NullableDictionary : Dictionary { 43 | private bool hasNullKey; 44 | private TValue nullValue; 45 | 46 | new public TValue this[TKey key] { 47 | get { 48 | if (key != null) 49 | return base[key]; 50 | 51 | if (this.hasNullKey) 52 | return this.nullValue; 53 | 54 | throw new KeyNotFoundException(); 55 | } 56 | set { 57 | if (key == null) { 58 | this.hasNullKey = true; 59 | this.nullValue = value; 60 | } else 61 | base[key] = value; 62 | } 63 | } 64 | 65 | new public bool ContainsKey(TKey key) { 66 | return key == null ? this.hasNullKey : base.ContainsKey(key); 67 | } 68 | 69 | new public IList Keys { 70 | get { 71 | ArrayList list = new ArrayList(base.Keys); 72 | if (this.hasNullKey) 73 | list.Add(null); 74 | return list; 75 | } 76 | } 77 | 78 | new public IList Values { 79 | get { 80 | List list = new List(base.Values); 81 | if (this.hasNullKey) 82 | list.Add(this.nullValue); 83 | return list; 84 | } 85 | } 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/ObjectListView.cs -------------------------------------------------------------------------------- /ObjectListView/ObjectListView.shfb: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | All ObjectListView appears in this namespace 8 | 9 | 10 | ObjectListViewDemo demonstrates helpful techniques when using an ObjectListView 11 | Summary, Parameter, Returns, AutoDocumentCtors, Namespace 12 | InheritedMembers, Protected, SealedProtected 13 | 14 | 15 | .\Help\ 16 | 17 | 18 | True 19 | True 20 | HtmlHelp1x 21 | True 22 | False 23 | 2.0.50727 24 | True 25 | False 26 | True 27 | False 28 | 29 | ObjectListView Reference 30 | Documentation 31 | en-US 32 | 33 | (c) Copyright 2006-2008 Phillip Piper All Rights Reserved 34 | phillip.piper@gmail.com 35 | 36 | 37 | Local 38 | Msdn 39 | Blank 40 | Prototype 41 | Guid 42 | CSharp 43 | False 44 | AboveNamespaces 45 | 46 | 47 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2008.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | false 6 | false 7 | true 8 | true 9 | false 10 | true 11 | true 12 | 60000 13 | 14 | 15 | AutoDetect 16 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | 23 | 24 | .* 25 | 26 | 27 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2012.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ObjectListView.Official 5 | ObjectListView (Official) 6 | 2.9.2-alpha2 7 | Phillip Piper 8 | Phillip Piper 9 | http://www.gnu.org/licenses/gpl.html 10 | http://objectlistview.sourceforge.net 11 | http://objectlistview.sourceforge.net/cs/_static/index-icon.png 12 | true 13 | ObjectListView is a .NET ListView wired on caffeine, guarana and steroids. 14 | ObjectListView is a .NET ListView wired on caffeine, guarana and steroids. 15 | More calmly, it is a C# wrapper around a .NET ListView, which makes the ListView much easier to use and teaches it lots of neat new tricks. 16 | v2.9.2 Fixed cell edit bounds problem in TreeListView, plus other small issues. 17 | v2.9.1 Added CellRendererGetter to allow each cell to have a different renderer, plus fixes a few small bugs. 18 | v2.9 adds buttons to cells, fixed some formatting bugs, and completely rewrote the demo to be much easier to understand. 19 | Copyright 2006-2016 Bright Ideas Software 20 | .Net WinForms Net20 Net40 ListView Controls 21 | 22 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2012.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | DO_NOT_SHOW 3 | DO_NOT_SHOW 4 | DO_NOT_SHOW 5 | DO_NOT_SHOW 6 | DO_NOT_SHOW 7 | <Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb"><ExtraRule Prefix="" Suffix="" Style="aaBb" /></Policy> -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2022.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ObjectListView.Official 5 | ObjectListView (Official) 6 | 2.9.2-alpha2 7 | Phillip Piper 8 | Phillip Piper 9 | http://www.gnu.org/licenses/gpl.html 10 | http://objectlistview.sourceforge.net 11 | http://objectlistview.sourceforge.net/cs/_static/index-icon.png 12 | true 13 | ObjectListView is a .NET ListView wired on caffeine, guarana and steroids. 14 | ObjectListView is a .NET ListView wired on caffeine, guarana and steroids. 15 | More calmly, it is a C# wrapper around a .NET ListView, which makes the ListView much easier to use and teaches it lots of neat new tricks. 16 | v2.9.2 Fixed cell edit bounds problem in TreeListView, plus other small issues. 17 | v2.9.1 Added CellRendererGetter to allow each cell to have a different renderer, plus fixes a few small bugs. 18 | v2.9 adds buttons to cells, fixed some formatting bugs, and completely rewrote the demo to be much easier to understand. 19 | Copyright 2006-2016 Bright Ideas Software 20 | .Net WinForms Net20 Net40 ListView Controls 21 | 22 | -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2022.sln.DotSettings: -------------------------------------------------------------------------------- 1 |  2 | DO_NOT_SHOW 3 | DO_NOT_SHOW 4 | DO_NOT_SHOW 5 | DO_NOT_SHOW 6 | DO_NOT_SHOW 7 | <Policy Inspect="True" Prefix="_" Suffix="" Style="aaBb"><ExtraRule Prefix="" Suffix="" Style="aaBb" /></Policy> -------------------------------------------------------------------------------- /ObjectListView/ObjectListView2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /ObjectListView/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("ObjectListView")] 8 | [assembly: AssemblyDescription("A much easier to use ListView and friends")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("Bright Ideas Software")] 11 | [assembly: AssemblyProduct("ObjectListView")] 12 | [assembly: AssemblyCopyright("Copyright © 2006-2016")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("ef28c7a8-77ae-442d-abc3-bb023fa31e57")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Revision and Build Numbers 32 | // by using the '*' as shown below: 33 | [assembly: AssemblyVersion("2.9.1.*")] 34 | [assembly: AssemblyFileVersion("2.9.1.0")] 35 | [assembly: AssemblyInformationalVersion("2.9.1")] 36 | [assembly: System.CLSCompliant(true)] 37 | -------------------------------------------------------------------------------- /ObjectListView/Resources/clear-filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/clear-filter.png -------------------------------------------------------------------------------- /ObjectListView/Resources/coffee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/coffee.jpg -------------------------------------------------------------------------------- /ObjectListView/Resources/filter-icons3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/filter-icons3.png -------------------------------------------------------------------------------- /ObjectListView/Resources/filter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/filter.png -------------------------------------------------------------------------------- /ObjectListView/Resources/sort-ascending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/sort-ascending.png -------------------------------------------------------------------------------- /ObjectListView/Resources/sort-descending.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/Resources/sort-descending.png -------------------------------------------------------------------------------- /ObjectListView/TreeListView.cs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/TreeListView.cs -------------------------------------------------------------------------------- /ObjectListView/olv-keyfile.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView/olv-keyfile.snk -------------------------------------------------------------------------------- /ObjectListView2005.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 9.00 3 | # Visual C# Express 2005 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListView", "ObjectListView\ObjectListView2005.csproj", "{18FEDA0C-D147-4286-B39A-01204808106A}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListViewDemo", "Demo\ObjectListViewDemo2005.csproj", "{C5332EAB-17B3-48B9-948E-33934B341AB0}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinter", "ListViewPrinter\ListViewPrinter2005.csproj", "{E73A10BD-2B5A-4BAC-897F-3A58CFC07631}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinterDemo", "ListViewPrinterDemo\ListViewPrinterDemo2005.csproj", "{40719365-FC03-46B8-8B6E-5FD1454712B6}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests", "Tests\Tests2005.csproj", "{8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}" 13 | EndProject 14 | Global 15 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 16 | Debug|Any CPU = Debug|Any CPU 17 | Release|Any CPU = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 20 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 21 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.Build.0 = Debug|Any CPU 22 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.ActiveCfg = Release|Any CPU 23 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.Build.0 = Release|Any CPU 24 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 25 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.Build.0 = Debug|Any CPU 26 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.ActiveCfg = Release|Any CPU 27 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.Build.0 = Release|Any CPU 28 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 29 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.Build.0 = Debug|Any CPU 30 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.ActiveCfg = Release|Any CPU 31 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.Build.0 = Release|Any CPU 32 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.Build.0 = Release|Any CPU 36 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 37 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.Build.0 = Debug|Any CPU 38 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.ActiveCfg = Release|Any CPU 39 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.Build.0 = Release|Any CPU 40 | EndGlobalSection 41 | GlobalSection(SolutionProperties) = preSolution 42 | HideSolutionNode = FALSE 43 | EndGlobalSection 44 | EndGlobal 45 | -------------------------------------------------------------------------------- /ObjectListView2008.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 10.00 3 | # Visual C# Express 2008 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListView2008", "ObjectListView\ObjectListView2008.csproj", "{18FEDA0C-D147-4286-B39A-01204808106A}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListViewDemo2008", "Demo\ObjectListViewDemo2008.csproj", "{C5332EAB-17B3-48B9-948E-33934B341AB0}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinter2008", "ListViewPrinter\ListViewPrinter2008.csproj", "{E73A10BD-2B5A-4BAC-897F-3A58CFC07631}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinterDemo2008", "ListViewPrinterDemo\ListViewPrinterDemo2008.csproj", "{40719365-FC03-46B8-8B6E-5FD1454712B6}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLibrary", "SparkleLibrary\SparkleLibrary.csproj", "{D63F9786-B608-4085-AF08-D909448B0426}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests2008", "Tests\Tests2008.csproj", "{8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}" 15 | EndProject 16 | Global 17 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 18 | Debug|Any CPU = Debug|Any CPU 19 | Release|Any CPU = Release|Any CPU 20 | EndGlobalSection 21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 22 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.Build.0 = Release|Any CPU 30 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 31 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.Build.0 = Debug|Any CPU 32 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.ActiveCfg = Release|Any CPU 33 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.Build.0 = Release|Any CPU 34 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 35 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.Build.0 = Debug|Any CPU 36 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.ActiveCfg = Release|Any CPU 37 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.Build.0 = Release|Any CPU 38 | {D63F9786-B608-4085-AF08-D909448B0426}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 39 | {D63F9786-B608-4085-AF08-D909448B0426}.Debug|Any CPU.Build.0 = Debug|Any CPU 40 | {D63F9786-B608-4085-AF08-D909448B0426}.Release|Any CPU.ActiveCfg = Release|Any CPU 41 | {D63F9786-B608-4085-AF08-D909448B0426}.Release|Any CPU.Build.0 = Release|Any CPU 42 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 43 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.Build.0 = Debug|Any CPU 44 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.ActiveCfg = Release|Any CPU 45 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.Build.0 = Release|Any CPU 46 | EndGlobalSection 47 | GlobalSection(SolutionProperties) = preSolution 48 | HideSolutionNode = FALSE 49 | EndGlobalSection 50 | EndGlobal 51 | -------------------------------------------------------------------------------- /ObjectListView2010.ncrunchsolution: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | False 4 | true 5 | UseDynamicAnalysis 6 | UseStaticAnalysis 7 | UseStaticAnalysis 8 | UseStaticAnalysis 9 | Run all tests automatically:BFRydWU=;Run all tests manually:BUZhbHNl;Run impacted tests automatically, others manually (experimental!):CklzSW1wYWN0ZWQ=;Run pinned tests automatically, others manually:CElzUGlubmVk 10 | 11 | 12 | -------------------------------------------------------------------------------- /ObjectListView2010.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 11.00 3 | # Visual Studio 2010 4 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListView2010", "ObjectListView\ObjectListView2010.csproj", "{18FEDA0C-D147-4286-B39A-01204808106A}" 5 | EndProject 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ObjectListViewDemo2010", "Demo\ObjectListViewDemo2010.csproj", "{C5332EAB-17B3-48B9-948E-33934B341AB0}" 7 | EndProject 8 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinter2010", "ListViewPrinter\ListViewPrinter2010.csproj", "{E73A10BD-2B5A-4BAC-897F-3A58CFC07631}" 9 | EndProject 10 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ListViewPrinterDemo2010", "ListViewPrinterDemo\ListViewPrinterDemo2010.csproj", "{40719365-FC03-46B8-8B6E-5FD1454712B6}" 11 | EndProject 12 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SparkleLibrary2010", "SparkleLibrary\SparkleLibrary2010.csproj", "{D63F9786-B608-4085-AF08-D909448B0426}" 13 | EndProject 14 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Tests2010", "Tests\Tests2010.csproj", "{8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}" 15 | EndProject 16 | Global 17 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 18 | Debug|Any CPU = Debug|Any CPU 19 | Release|Any CPU = Release|Any CPU 20 | EndGlobalSection 21 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 22 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 23 | {18FEDA0C-D147-4286-B39A-01204808106A}.Debug|Any CPU.Build.0 = Debug|Any CPU 24 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.ActiveCfg = Release|Any CPU 25 | {18FEDA0C-D147-4286-B39A-01204808106A}.Release|Any CPU.Build.0 = Release|Any CPU 26 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 27 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Debug|Any CPU.Build.0 = Debug|Any CPU 28 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.ActiveCfg = Release|Any CPU 29 | {C5332EAB-17B3-48B9-948E-33934B341AB0}.Release|Any CPU.Build.0 = Release|Any CPU 30 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 31 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Debug|Any CPU.Build.0 = Debug|Any CPU 32 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.ActiveCfg = Release|Any CPU 33 | {E73A10BD-2B5A-4BAC-897F-3A58CFC07631}.Release|Any CPU.Build.0 = Release|Any CPU 34 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 35 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Debug|Any CPU.Build.0 = Debug|Any CPU 36 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.ActiveCfg = Release|Any CPU 37 | {40719365-FC03-46B8-8B6E-5FD1454712B6}.Release|Any CPU.Build.0 = Release|Any CPU 38 | {D63F9786-B608-4085-AF08-D909448B0426}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 39 | {D63F9786-B608-4085-AF08-D909448B0426}.Debug|Any CPU.Build.0 = Debug|Any CPU 40 | {D63F9786-B608-4085-AF08-D909448B0426}.Release|Any CPU.ActiveCfg = Release|Any CPU 41 | {D63F9786-B608-4085-AF08-D909448B0426}.Release|Any CPU.Build.0 = Release|Any CPU 42 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 43 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Debug|Any CPU.Build.0 = Debug|Any CPU 44 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.ActiveCfg = Release|Any CPU 45 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9}.Release|Any CPU.Build.0 = Release|Any CPU 46 | EndGlobalSection 47 | GlobalSection(SolutionProperties) = preSolution 48 | HideSolutionNode = FALSE 49 | EndGlobalSection 50 | EndGlobal 51 | -------------------------------------------------------------------------------- /ObjectListView2012.ncrunchsolution: -------------------------------------------------------------------------------- 1 | 2 | 1 3 | True 4 | false 5 | true 6 | UseDynamicAnalysis 7 | UseStaticAnalysis 8 | UseStaticAnalysis 9 | UseStaticAnalysis 10 | Run all tests automatically:BFRydWU=;Run all tests manually:BUZhbHNl;Run impacted tests automatically, others manually (experimental!):CklzSW1wYWN0ZWQ=;Run pinned tests automatically, others manually:CElzUGlubmVk 11 | 12 | 13 | -------------------------------------------------------------------------------- /ObjectListView2012.v2.ncrunchsolution: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView2012.v2.ncrunchsolution -------------------------------------------------------------------------------- /ObjectListView2022.v2.ncrunchsolution: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/ObjectListView2022.v2.ncrunchsolution -------------------------------------------------------------------------------- /ObjectListView2022.v3.ncrunchsolution.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | Run all tests automatically [Global] 4 | 5 | -------------------------------------------------------------------------------- /SparkleLibrary/Animation/Events.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * Events - All events triggerable by an animation 3 | * 4 | * Author: Phillip Piper 5 | * Date: 8/02/2010 17:35 6 | * 7 | * Change log: 8 | * 2010-02-08 JPP - Initial version 9 | * 10 | * To do: 11 | * 12 | * Copyright (C) 2010 Phillip Piper 13 | * 14 | * This program is free software: you can redistribute it and/or modify 15 | * it under the terms of the GNU General Public License as published by 16 | * the Free Software Foundation, either version 3 of the License, or 17 | * (at your option) any later version. 18 | * 19 | * This program is distributed in the hope that it will be useful, 20 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 21 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 | * GNU General Public License for more details. 23 | * 24 | * You should have received a copy of the GNU General Public License 25 | * along with this program. If not, see . 26 | * 27 | * If you wish to use this code in a closed source application, please contact phillip.piper@gmail.com. 28 | */ 29 | 30 | using System; 31 | using System.Collections.Generic; 32 | using System.Drawing; 33 | using System.ComponentModel; 34 | using System.Windows.Forms; 35 | 36 | namespace BrightIdeasSoftware 37 | { 38 | public class StartAnimationEventArgs : EventArgs 39 | { 40 | } 41 | 42 | public class TickEventArgs : EventArgs 43 | { 44 | /// 45 | /// Gets or sets if the tick event was completely handled 46 | /// 47 | public bool Handled; 48 | } 49 | 50 | public class RedrawEventArgs : EventArgs 51 | { 52 | public RedrawEventArgs() { 53 | this.Damage = new Rectangle(-100000, -100000, 200000, 200000); 54 | } 55 | 56 | public RedrawEventArgs(Rectangle r) { 57 | this.Damage = r; 58 | } 59 | 60 | /// 61 | /// Gets the area of the animation that was damaged 62 | /// 63 | public Rectangle Damage; 64 | } 65 | 66 | public class StopAnimationEventArgs : EventArgs 67 | { 68 | } 69 | } 70 | -------------------------------------------------------------------------------- /SparkleLibrary/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.CompilerServices; 3 | using System.Runtime.InteropServices; 4 | 5 | // General Information about an assembly is controlled through the following 6 | // set of attributes. Change these attribute values to modify the information 7 | // associated with an assembly. 8 | [assembly: AssemblyTitle("Sparkle Library")] 9 | [assembly: AssemblyDescription("An animation library to add some sparkly eye candy to an application")] 10 | [assembly: AssemblyConfiguration("")] 11 | [assembly: AssemblyCompany("Bright Ideas Software")] 12 | [assembly: AssemblyProduct("SparkleLibrary")] 13 | [assembly: AssemblyCopyright("Copyright © 2010")] 14 | [assembly: AssemblyTrademark("")] 15 | [assembly: AssemblyCulture("")] 16 | 17 | // Setting ComVisible to false makes the types in this assembly not visible 18 | // to COM components. If you need to access a type in this assembly from 19 | // COM, set the ComVisible attribute to true on that type. 20 | [assembly: ComVisible(false)] 21 | 22 | // The following GUID is for the ID of the typelib if this project is exposed to COM 23 | [assembly: Guid("6bc11313-3880-41ce-94af-39b60ab4ef33")] 24 | 25 | // Version information for an assembly consists of the following four values: 26 | // 27 | // Major Version 28 | // Minor Version 29 | // Build Number 30 | // Revision 31 | // 32 | // You can specify all the values or you can default the Build and Revision Numbers 33 | // by using the '*' as shown below: 34 | // [assembly: AssemblyVersion("1.0.*")] 35 | [assembly: AssemblyVersion("1.0.0.0")] 36 | [assembly: AssemblyFileVersion("1.0.0.0")] 37 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.30729 7 | 2.0 8 | {D63F9786-B608-4085-AF08-D909448B0426} 9 | Library 10 | Properties 11 | SparkleLibrary 12 | SparkleLibrary 13 | v3.5 14 | 512 15 | true 16 | sparkle-keyfile.snk 17 | 18 | 19 | true 20 | full 21 | false 22 | bin\Debug\ 23 | DEBUG;TRACE 24 | prompt 25 | 4 26 | 27 | 28 | pdbonly 29 | true 30 | bin\Release\ 31 | TRACE 32 | prompt 33 | 4 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2010.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.30729 7 | 2.0 8 | {D63F9786-B608-4085-AF08-D909448B0426} 9 | Library 10 | Properties 11 | SparkleLibrary 12 | SparkleLibrary 13 | v4.0 14 | 512 15 | 16 | 17 | 18 | 19 | 3.5 20 | 21 | 22 | true 23 | full 24 | false 25 | bin\Debug\ 26 | DEBUG;TRACE 27 | prompt 28 | 4 29 | 30 | 31 | pdbonly 32 | true 33 | bin\Release\ 34 | TRACE 35 | prompt 36 | 4 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 71 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | 23 | 24 | .* 25 | 26 | 27 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2012.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.30729 7 | 2.0 8 | {D63F9786-B608-4085-AF08-D909448B0426} 9 | Library 10 | Properties 11 | SparkleLibrary 12 | SparkleLibrary 13 | v4.0 14 | 512 15 | 16 | 17 | 18 | 19 | 3.5 20 | SAK 21 | SAK 22 | SAK 23 | SAK 24 | 25 | 26 | true 27 | full 28 | false 29 | bin\Debug\ 30 | DEBUG;TRACE 31 | prompt 32 | 4 33 | 34 | 35 | pdbonly 36 | true 37 | bin\Release\ 38 | TRACE 39 | prompt 40 | 4 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 75 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2022.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | Debug 5 | AnyCPU 6 | 9.0.30729 7 | 2.0 8 | {D63F9786-B608-4085-AF08-D909448B0426} 9 | Library 10 | Properties 11 | SparkleLibrary 12 | SparkleLibrary 13 | v4.8 14 | 512 15 | 16 | 17 | 18 | 19 | 3.5 20 | SAK 21 | SAK 22 | SAK 23 | SAK 24 | 25 | 26 | 27 | true 28 | full 29 | false 30 | bin\Debug\ 31 | DEBUG;TRACE 32 | prompt 33 | 4 34 | false 35 | 36 | 37 | pdbonly 38 | true 39 | bin\Release\ 40 | TRACE 41 | prompt 42 | 4 43 | false 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 78 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /SparkleLibrary/SparkleLibrary2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | -------------------------------------------------------------------------------- /SparkleLibrary/keyfile.pfx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/SparkleLibrary/keyfile.pfx -------------------------------------------------------------------------------- /SparkleLibrary/sparkle-keyfile.snk: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/SparkleLibrary/sparkle-keyfile.snk -------------------------------------------------------------------------------- /Tests/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | #region Using directives 2 | 3 | using System.Reflection; 4 | using System.Runtime.CompilerServices; 5 | using System.Runtime.InteropServices; 6 | 7 | #endregion 8 | 9 | // General Information about an assembly is controlled through the following 10 | // set of attributes. Change these attribute values to modify the information 11 | // associated with an assembly. 12 | [assembly: AssemblyTitle("Tests")] 13 | [assembly: AssemblyDescription("")] 14 | [assembly: AssemblyConfiguration("")] 15 | [assembly: AssemblyCompany("")] 16 | [assembly: AssemblyProduct("Tests")] 17 | [assembly: AssemblyCopyright("")] 18 | [assembly: AssemblyTrademark("")] 19 | [assembly: AssemblyCulture("")] 20 | 21 | // This sets the default COM visibility of types in the assembly to invisible. 22 | // If you need to expose a type to COM, use [ComVisible(true)] on that type. 23 | [assembly: ComVisible(false)] 24 | 25 | // The assembly version has following format : 26 | // 27 | // Major.Minor.Build.Revision 28 | // 29 | // You can specify all the values or you can use the default the Revision and 30 | // Build Numbers by using the '*' as shown below: 31 | [assembly: AssemblyVersion("1.0.*")] 32 | -------------------------------------------------------------------------------- /Tests/MainForm.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * [File purpose] 3 | * Author: Phillip Piper 4 | * Date: 10/21/2008 11:01 PM 5 | * 6 | * CHANGE LOG: 7 | * when who what 8 | * 10/21/2008 JPP Initial Version 9 | */ 10 | 11 | using System.Windows.Forms; 12 | 13 | 14 | namespace BrightIdeasSoftware.Tests 15 | { 16 | /// 17 | /// Description of MainForm. 18 | /// 19 | public partial class MainForm : Form 20 | { 21 | public MainForm() 22 | { 23 | // 24 | // The InitializeComponent() call is required for Windows Forms designer support. 25 | // 26 | InitializeComponent(); 27 | 28 | // 29 | // TODO: Add constructor code after the InitializeComponent() call. 30 | // 31 | } 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /Tests/NUnit.2.6.2/lib/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Tests/NUnit.2.6.2/lib/nunit.framework.dll -------------------------------------------------------------------------------- /Tests/NUnit.2.6.2/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/Tests/NUnit.2.6.2/license.txt -------------------------------------------------------------------------------- /Tests/OLVTests.nunit: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /Tests/SetupTestSuite.cs: -------------------------------------------------------------------------------- 1 | /* 2 | * [File purpose] 3 | * Author: Phillip Piper 4 | * Date: 10/25/2008 10:31 PM 5 | * 6 | * CHANGE LOG: 7 | * when who what 8 | * 10/25/2008 JPP Initial Version 9 | */ 10 | 11 | using System; 12 | using System.Drawing; 13 | using NUnit.Framework; 14 | 15 | namespace BrightIdeasSoftware.Tests 16 | { 17 | [SetUpFixture] 18 | public class MyGlobals 19 | { 20 | [SetUp] 21 | public void RunBeforeAnyTests() 22 | { 23 | MyGlobals.mainForm = new MainForm(); 24 | MyGlobals.mainForm.Size = new Size(); 25 | MyGlobals.mainForm.Show(); 26 | } 27 | public static MainForm mainForm; 28 | 29 | [TearDown] 30 | public void RunAfterAnyTests() 31 | { 32 | MyGlobals.mainForm.Close(); 33 | } 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /Tests/TestAdornments.cs: -------------------------------------------------------------------------------- 1 | using System.Drawing; 2 | using NUnit.Framework; 3 | 4 | namespace BrightIdeasSoftware.Tests 5 | { 6 | 7 | [TestFixture] 8 | public class TestAdornments 9 | { 10 | [Test] 11 | public void TestCalculateAlignedPosition() { 12 | GraphicAdornment ga = new GraphicAdornment(); 13 | Rectangle r = new Rectangle(10, 20, 30, 40); 14 | Point pt = new Point(100, 200); 15 | Size sz = new Size(50, 60); 16 | Assert.AreEqual(pt, ga.CalculateAlignedPosition(pt, sz, ContentAlignment.TopLeft)); 17 | Assert.AreEqual(pt - sz, ga.CalculateAlignedPosition(pt, sz, ContentAlignment.BottomRight)); 18 | Assert.AreEqual(new Point(75, 170), ga.CalculateAlignedPosition(pt, sz, ContentAlignment.MiddleCenter)); 19 | } 20 | 21 | [Test] 22 | public void TestCalculateCorner() { 23 | GraphicAdornment ga = new GraphicAdornment(); 24 | Rectangle r = new Rectangle(10, 20, 30, 40); 25 | Assert.AreEqual(r.Location, ga.CalculateCorner(r, ContentAlignment.TopLeft)); 26 | Assert.AreEqual(new Point(40, 20), ga.CalculateCorner(r, ContentAlignment.TopRight)); 27 | Assert.AreEqual(new Point(25, 40), ga.CalculateCorner(r, ContentAlignment.MiddleCenter)); 28 | Assert.AreEqual(new Point(10, 60), ga.CalculateCorner(r, ContentAlignment.BottomLeft)); 29 | Assert.AreEqual(r.Location + r.Size, ga.CalculateCorner(r, ContentAlignment.BottomRight)); 30 | } 31 | 32 | [Test] 33 | public void TestCreateAlignedRectangle() { 34 | GraphicAdornment ga = new GraphicAdornment(); 35 | Rectangle r = new Rectangle(10, 20, 30, 40); 36 | Size sz = new Size(50, 60); 37 | Size offset = new Size(1, 1); 38 | Assert.AreEqual(new Rectangle(r.Location + offset, sz), 39 | ga.CreateAlignedRectangle(r, sz, ContentAlignment.TopLeft, ContentAlignment.TopLeft, offset)); 40 | } 41 | } 42 | } 43 | -------------------------------------------------------------------------------- /Tests/TestTypedListView.cs: -------------------------------------------------------------------------------- 1 | using System.Collections.Generic; 2 | using NUnit.Framework; 3 | 4 | namespace BrightIdeasSoftware.Tests { 5 | [TestFixture] 6 | public class TestTypedListView { 7 | [Test] 8 | public void Test_Objects_All() { 9 | this.tolv.Objects = PersonDb.All; 10 | Assert.AreEqual(PersonDb.All.Count, this.tolv.Objects.Count); 11 | } 12 | 13 | [Test] 14 | public void Test_GenerateAspectGetters_ExtractsData() { 15 | this.tolv.GenerateAspectGetters(); 16 | this.tolv.Objects = PersonDb.All; 17 | Person p = this.tolv.ListView.GetItem(0).RowObject as Person; 18 | Assert.AreEqual(p.Name, this.tolv.ListView.Items[0].SubItems[0].Text); 19 | } 20 | 21 | [Test] 22 | public void Test_GenerateAspectGetters_NullDataObject() { 23 | this.tolv.GenerateAspectGetters(); 24 | List list = new List(); 25 | list.Add(null); 26 | this.tolv.Objects = list; 27 | Assert.AreEqual(list.Count, this.tolv.Objects.Count); 28 | } 29 | 30 | [Test] 31 | public void Test_GenerateAspectGetters_ClearObjects() { 32 | this.tolv.GenerateAspectGetters(); 33 | this.tolv.Objects = PersonDb.All; 34 | this.tolv.ListView.ClearObjects(); 35 | Assert.AreEqual(0, this.tolv.Objects.Count); 36 | this.tolv.Objects = PersonDb.All; 37 | Assert.AreEqual(PersonDb.All.Count, this.tolv.Objects.Count); 38 | } 39 | 40 | [TearDown] 41 | public void TestTearDown() { 42 | // Clear any aspect getters that were generated 43 | for (int i = 0; i < this.tolv.ListView.Columns.Count; i++) 44 | this.tolv.ListView.GetColumn(i).AspectGetter = null; 45 | } 46 | 47 | [TestFixtureSetUp] 48 | public void Init() { 49 | this.tolv = new TypedObjectListView(MyGlobals.mainForm.objectListView1); 50 | } 51 | 52 | protected TypedObjectListView tolv; 53 | } 54 | } -------------------------------------------------------------------------------- /Tests/Tests2005.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | {8BB7445D-3428-40CC-AE38-14F6BC6C1BF9} 4 | Debug 5 | AnyCPU 6 | WinExe 7 | Tests 8 | Tests 9 | 10 | 11 | bin\Debug\ 12 | True 13 | Full 14 | False 15 | True 16 | DEBUG;TRACE 17 | 18 | 19 | bin\Debug\ 20 | true 21 | full 22 | True 23 | true 24 | DEBUG;TRACE 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | Form 39 | 40 | 41 | MainForm.cs 42 | 43 | 44 | 45 | 46 | 47 | 48 | Code 49 | 50 | 51 | 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | {18FEDA0C-D147-4286-B39A-01204808106A} 67 | ObjectListView 68 | 69 | 70 | 71 | 72 | MainForm.cs 73 | Designer 74 | 75 | 76 | -------------------------------------------------------------------------------- /Tests/Tests2010.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | LongTestTimesWithoutParallelExecution 23 | -------------------------------------------------------------------------------- /Tests/Tests2012.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | LongTestTimesWithoutParallelExecution 23 | -------------------------------------------------------------------------------- /Tests/Tests2012.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | LongTestTimesWithoutParallelExecution 23 | -------------------------------------------------------------------------------- /Tests/Tests2022.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | LongTestTimesWithoutParallelExecution 23 | -------------------------------------------------------------------------------- /Tests/Tests2022.v2.ncrunchproject: -------------------------------------------------------------------------------- 1 | 2 | false 3 | false 4 | false 5 | true 6 | false 7 | false 8 | false 9 | false 10 | true 11 | true 12 | false 13 | true 14 | true 15 | 60000 16 | 17 | 18 | 19 | AutoDetect 20 | STA 21 | x86 22 | LongTestTimesWithoutParallelExecution 23 | -------------------------------------------------------------------------------- /Tests/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/.static/Thumbs.db: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/Thumbs.db -------------------------------------------------------------------------------- /docs/.static/animations-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/animations-icon.png -------------------------------------------------------------------------------- /docs/.static/blog-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog-icon.png -------------------------------------------------------------------------------- /docs/.static/blog1-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog1-icon.png -------------------------------------------------------------------------------- /docs/.static/blog2-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog2-icon.png -------------------------------------------------------------------------------- /docs/.static/blog3-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog3-icon.png -------------------------------------------------------------------------------- /docs/.static/blog4-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog4-icon.png -------------------------------------------------------------------------------- /docs/.static/blog5-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog5-icon.png -------------------------------------------------------------------------------- /docs/.static/blog6-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog6-icon.png -------------------------------------------------------------------------------- /docs/.static/blog7-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog7-icon.png -------------------------------------------------------------------------------- /docs/.static/blog8-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/blog8-icon.png -------------------------------------------------------------------------------- /docs/.static/cellEditing-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/cellEditing-icon.png -------------------------------------------------------------------------------- /docs/.static/changelog-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/changelog-icon.png -------------------------------------------------------------------------------- /docs/.static/dark-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/dark-blue-800x1600.png -------------------------------------------------------------------------------- /docs/.static/dialog.css: -------------------------------------------------------------------------------- 1 | /* 2 | -- Even more rounded corners with CSS: Base stylesheet -- 3 | */ 4 | 5 | .dialog { 6 | position:relative; 7 | margin:0px auto; 8 | min-width:8em; 9 | max-width:860px; /* based on image dimensions - not quite consistent with drip styles yet */ 10 | color:#fff; 11 | z-index:1; 12 | margin-left:24px; /* default, width of left corner */ 13 | margin-bottom:0.5em; /* spacing under dialog */ 14 | } 15 | 16 | .dialog .content, 17 | .dialog .t, 18 | .dialog .b, 19 | .dialog .b div { 20 | background:transparent url(dark-blue-800x1600.png) no-repeat top right; 21 | /* _background-image:url(../images/dark-blue-800x1600.png) no-repeat top right;*/ 22 | } 23 | 24 | .dialog .content { 25 | position:relative; 26 | zoom:1; 27 | _overflow-y:hidden; 28 | padding:0px 24px 0px 0px; 29 | } 30 | 31 | .dialog .t { 32 | /* top+left vertical slice */ 33 | position:absolute; 34 | left:0px; 35 | top:0px; 36 | width:24px; /* top slice width */ 37 | margin-left:-24px; 38 | height:100%; 39 | _height:1600px; /* arbitrary long height, IE 6 */ 40 | background-position:top left; 41 | } 42 | 43 | .dialog .b { 44 | /* bottom */ 45 | position:relative; 46 | width:100%; 47 | } 48 | 49 | .dialog .b, 50 | .dialog .b div { 51 | height:30px; /* height of bottom cap/shade */ 52 | font-size:1px; 53 | 54 | } 55 | 56 | .dialog .b { 57 | background-position:bottom right; 58 | } 59 | 60 | .dialog .b div { 61 | position:relative; 62 | width:24px; /* bottom corner width */ 63 | margin-left:-24px; 64 | background-position:bottom left; 65 | } 66 | 67 | .dialog .hd, 68 | .dialog .bd, 69 | .dialog .ft { 70 | position:relative; 71 | } 72 | -------------------------------------------------------------------------------- /docs/.static/dialog2-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/dialog2-blue-800x1600.png -------------------------------------------------------------------------------- /docs/.static/download-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/download-icon.png -------------------------------------------------------------------------------- /docs/.static/dragdrop-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/dragdrop-icon.png -------------------------------------------------------------------------------- /docs/.static/expressInstall.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/expressInstall.swf -------------------------------------------------------------------------------- /docs/.static/faq-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/faq-icon.png -------------------------------------------------------------------------------- /docs/.static/features-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/features-icon.png -------------------------------------------------------------------------------- /docs/.static/filtering-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/filtering-icon.png -------------------------------------------------------------------------------- /docs/.static/flicker-gone.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/flicker-gone.swf -------------------------------------------------------------------------------- /docs/.static/flicker.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/flicker.swf -------------------------------------------------------------------------------- /docs/.static/gettingStarted-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/gettingStarted-icon.png -------------------------------------------------------------------------------- /docs/.static/global.css: -------------------------------------------------------------------------------- 1 | 2 | /***********************************************/ 3 | /* HTML tag styles */ 4 | /***********************************************/ 5 | 6 | ul{ 7 | list-style-type: square; 8 | } 9 | 10 | ul ul{ 11 | list-style-type: disc; 12 | } 13 | 14 | ol{ 15 | list-style-type:decimal; 16 | } 17 | 18 | ol ul{ 19 | list-style-type: disc; 20 | padding-bottom: 0px; 21 | } 22 | 23 | hr { 24 | height:0px; 25 | border:0px; 26 | border-top:1px solid #ff1493; 27 | } 28 | 29 | code { 30 | color: #990000; 31 | font-family: "Courier New", Courier, mono; 32 | } 33 | 34 | pre { 35 | margin: 0px 0px 16px 0px; 36 | padding: 8px; 37 | font-size: 0.9em; 38 | background-color: #FBEDBB; 39 | } 40 | 41 | .dialog.type2 .content, 42 | .dialog.type2 .t, 43 | .dialog.type2 .b, 44 | .dialog.type2 .b div { 45 | background-image:url(light-blue-800x1600.png); 46 | } 47 | 48 | .dialog.sidebar .content, 49 | .dialog.sidebar .t, 50 | .dialog.sidebar .b, 51 | .dialog.sidebar .b div { 52 | background-image:url(orange-800x1600.png); 53 | } 54 | 55 | #separator { 56 | clear: both; 57 | padding: 0; 58 | margin: 0; 59 | height: 1px; 60 | } 61 | -------------------------------------------------------------------------------- /docs/.static/groupListView-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/groupListView-icon.png -------------------------------------------------------------------------------- /docs/.static/icon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/icon.ico -------------------------------------------------------------------------------- /docs/.static/index-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/index-icon.png -------------------------------------------------------------------------------- /docs/.static/light-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/light-blue-800x1600.png -------------------------------------------------------------------------------- /docs/.static/listCtrlPrinter-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/listCtrlPrinter-icon.png -------------------------------------------------------------------------------- /docs/.static/majorClasses-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/majorClasses-icon.png -------------------------------------------------------------------------------- /docs/.static/master.css: -------------------------------------------------------------------------------- 1 | /***** Master CSS include *****/ 2 | 3 | @import url("reset.css"); 4 | @import url("initial.css"); 5 | /* @import url("default.css"); */ 6 | @import url("dialog.css"); 7 | @import url("global.css"); 8 | @import url("structure.css"); 9 | -------------------------------------------------------------------------------- /docs/.static/objectListView-animation.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/objectListView-animation.swf -------------------------------------------------------------------------------- /docs/.static/objectListView-simple-animation.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/objectListView-simple-animation.swf -------------------------------------------------------------------------------- /docs/.static/objectlistview32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/objectlistview32.png -------------------------------------------------------------------------------- /docs/.static/orange-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/orange-800x1600.png -------------------------------------------------------------------------------- /docs/.static/overlays-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/overlays-icon.png -------------------------------------------------------------------------------- /docs/.static/ownerDraw-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/ownerDraw-icon.png -------------------------------------------------------------------------------- /docs/.static/recipes-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/recipes-icon.png -------------------------------------------------------------------------------- /docs/.static/samples-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/samples-icon.png -------------------------------------------------------------------------------- /docs/.static/search-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/search-icon.png -------------------------------------------------------------------------------- /docs/.static/sparkle-garish-example.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/sparkle-garish-example.swf -------------------------------------------------------------------------------- /docs/.static/sparkle-simple-example.swf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/sparkle-simple-example.swf -------------------------------------------------------------------------------- /docs/.static/whatsnew-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/.static/whatsnew-icon.png -------------------------------------------------------------------------------- /docs/ClassDiagram-VirtualList.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/ClassDiagram-VirtualList.dia -------------------------------------------------------------------------------- /docs/ClassDiagram.dia: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/ClassDiagram.dia -------------------------------------------------------------------------------- /docs/Help/ObjectListView-Documentation.chm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/Help/ObjectListView-Documentation.chm -------------------------------------------------------------------------------- /docs/blog.rst: -------------------------------------------------------------------------------- 1 | .. -*- coding: UTF-8 -*- 2 | 3 | :Subtitle: Learning from the difficulties of loving .NET ListView 4 | 5 | .. _blog: 6 | 7 | Technical Blog 8 | ============== 9 | 10 | These articles document some of the difficulties that were encountered while writing 11 | `ObjectListView` and how they were (more or less) solved. 12 | 13 | If you are looking for how to actually use an `ObjectListView`, you want to look 14 | at the :ref:`Cookbook`. 15 | 16 | * :ref:`Enabling disabling (20 May 2014)` 17 | * :ref:`Creating hierarchical checkboxes (26 February 2014)` 18 | * :ref:`Flickering on virtual lists and the .NET bug that causes it (5 May 2012)` 19 | * :ref:`Lifting up the downtrodden ListViewGroup (20 April 2012)` 20 | * :ref:`Making a rearrangeable TreeListView (9 May 2011, updated April 2012)` 21 | * :ref:`The story of a little bug (1 August 2009)` 22 | * :ref:`What's wrong with .NET's ToolTip? (27 May 2009)` 23 | * :ref:`Developing overlays (1 May 2009)` 24 | -------------------------------------------------------------------------------- /docs/doc8.ini: -------------------------------------------------------------------------------- 1 | [doc8] 2 | 3 | ignore=D002 -------------------------------------------------------------------------------- /docs/download.rst: -------------------------------------------------------------------------------- 1 | .. -*- coding: UTF-8 -*- 2 | 3 | :Subtitle: Show me the code! 4 | 5 | .. _downloads: 6 | 7 | Downloads 8 | ========= 9 | 10 | OK. Now that you're interested, how do you actually get the code? 11 | 12 | NuGet Package 13 | ------------- 14 | 15 | You can load ObjectListView via NuGet_. The package is named `ObjectListView.Official`. 16 | 17 | .. _NuGet: http://www.nuget.org 18 | 19 | This includes just `ObjectListView.dll`, not the demo, tests or other projects. For those addition resources, you should 20 | download the SourceForge package below. 21 | 22 | There are a couple of other ObjectListView packages but they are not managed by me. 23 | 24 | Stable releases 25 | --------------- 26 | 27 | v2.9.1 released in May 2016 is the most recent stable release. 28 | 29 | `Click here to download the full package`_, which includes the ObjectListView control, demos, documentation and unit tests (3.3 MB). 30 | 31 | .. _Click here to download the full package: http://sourceforge.net/projects/objectlistview/files/objectlistview/2.9.1/ObjectListViewFull-2.9.1.zip/download 32 | 33 | `Click here`_ to download just the source code of the ObjectListView project (740 KB). 34 | 35 | .. _Click here: http://sourceforge.net/projects/objectlistview/files/objectlistview/2.9.1/ObjectListView-2.9.1.zip/download 36 | 37 | `Click here to download a CHM`_ documentation file built from the source code (4.6 MB). This is a reference only and not particularly readable. 38 | 39 | .. _Click here to download a CHM: http://sourceforge.net/projects/objectlistview/files/objectlistview/2.9.1/ObjectListView-Documentation.chm/download 40 | 41 | `Click here to see all releases`_. 42 | 43 | .. _Click here to see all releases: https://sourceforge.net/projects/objectlistview/files/objectlistview/ 44 | 45 | Not-so-stable releases 46 | ---------------------- 47 | 48 | There are currently no not-so-stable releases. 49 | 50 | Bleeding-edge source 51 | -------------------- 52 | 53 | If you are a very keen developer, you can access the SVN repository directly for this 54 | project. The following SVN command will fetch the most recent version from the repository:: 55 | 56 | svn checkout svn://svn.code.sf.net/p/objectlistview/code/cs/trunk objectlistview-trunk 57 | 58 | There are details on `how to use Subversion here `_ on SourceForge. 59 | 60 | Please remember that code within the SVN is bleeding edge. It has not been well-tested and 61 | is almost certainly full of bugs. If you just want to play with the ObjectListView, it's 62 | better to stay with the official releases, where the bugs are (hopefully) less obvious. 63 | -------------------------------------------------------------------------------- /docs/images/ClassDiagram-VirtualList.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ClassDiagram-VirtualList.png -------------------------------------------------------------------------------- /docs/images/ClassDiagram.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ClassDiagram.png -------------------------------------------------------------------------------- /docs/images/ModelToScreenProcess.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ModelToScreenProcess.png -------------------------------------------------------------------------------- /docs/images/ObjectListView.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ObjectListView.jpg -------------------------------------------------------------------------------- /docs/images/ReportModernExample.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ReportModernExample.jpg -------------------------------------------------------------------------------- /docs/images/bar-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/bar-renderer.png -------------------------------------------------------------------------------- /docs/images/blog-badscroll.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog-badscroll.png -------------------------------------------------------------------------------- /docs/images/blog-overlayimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog-overlayimage.png -------------------------------------------------------------------------------- /docs/images/blog-setbkimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog-setbkimage.png -------------------------------------------------------------------------------- /docs/images/blog2-balloon1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog2-balloon1.png -------------------------------------------------------------------------------- /docs/images/blog2-balloon2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog2-balloon2.png -------------------------------------------------------------------------------- /docs/images/blog3-listview1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog3-listview1.png -------------------------------------------------------------------------------- /docs/images/blog3-listview1a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog3-listview1a.png -------------------------------------------------------------------------------- /docs/images/blog3-listview2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog3-listview2.png -------------------------------------------------------------------------------- /docs/images/blog3-listview3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog3-listview3.png -------------------------------------------------------------------------------- /docs/images/blog3-listview4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog3-listview4.png -------------------------------------------------------------------------------- /docs/images/blog4-basicform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog4-basicform.png -------------------------------------------------------------------------------- /docs/images/blog4-dropbetween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog4-dropbetween.png -------------------------------------------------------------------------------- /docs/images/blog4-emptyform.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog4-emptyform.png -------------------------------------------------------------------------------- /docs/images/blog4-infomessage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog4-infomessage.png -------------------------------------------------------------------------------- /docs/images/blog4-nodrop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog4-nodrop.png -------------------------------------------------------------------------------- /docs/images/blog8-allgrey.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog8-allgrey.png -------------------------------------------------------------------------------- /docs/images/blog8-funnyformatting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog8-funnyformatting.png -------------------------------------------------------------------------------- /docs/images/blog8-greytext-colourimages.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/blog8-greytext-colourimages.png -------------------------------------------------------------------------------- /docs/images/button-states.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/button-states.png -------------------------------------------------------------------------------- /docs/images/buttons-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/buttons-1.png -------------------------------------------------------------------------------- /docs/images/buttons-hot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/buttons-hot.png -------------------------------------------------------------------------------- /docs/images/buttons-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/buttons-pressed.png -------------------------------------------------------------------------------- /docs/images/cell-editing-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/cell-editing-border.png -------------------------------------------------------------------------------- /docs/images/chili-smoothie.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/chili-smoothie.jpg -------------------------------------------------------------------------------- /docs/images/chili-smoothie2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/chili-smoothie2.jpg -------------------------------------------------------------------------------- /docs/images/coffee.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/coffee.jpg -------------------------------------------------------------------------------- /docs/images/column-edge-decoration-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/column-edge-decoration-1.png -------------------------------------------------------------------------------- /docs/images/column-headercheckbox-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/column-headercheckbox-1.png -------------------------------------------------------------------------------- /docs/images/column-selection-inline.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/column-selection-inline.png -------------------------------------------------------------------------------- /docs/images/column-selection-modaldialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/column-selection-modaldialog.png -------------------------------------------------------------------------------- /docs/images/column-selection-submenu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/column-selection-submenu.png -------------------------------------------------------------------------------- /docs/images/dark-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dark-blue-800x1600.png -------------------------------------------------------------------------------- /docs/images/decorations-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/decorations-example.png -------------------------------------------------------------------------------- /docs/images/described-task-2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/described-task-2.png -------------------------------------------------------------------------------- /docs/images/described-task-row.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/described-task-row.png -------------------------------------------------------------------------------- /docs/images/described-task1-without-border.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/described-task1-without-border.png -------------------------------------------------------------------------------- /docs/images/described-task1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/described-task1.png -------------------------------------------------------------------------------- /docs/images/dialog2-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dialog2-blue-800x1600.png -------------------------------------------------------------------------------- /docs/images/dialog2-blue.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dialog2-blue.gif -------------------------------------------------------------------------------- /docs/images/dragdrop-dropbackground.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-dropbackground.png -------------------------------------------------------------------------------- /docs/images/dragdrop-dropbetween.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-dropbetween.png -------------------------------------------------------------------------------- /docs/images/dragdrop-dropsubitem.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-dropsubitem.png -------------------------------------------------------------------------------- /docs/images/dragdrop-example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-example1.png -------------------------------------------------------------------------------- /docs/images/dragdrop-feedbackcolor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-feedbackcolor.png -------------------------------------------------------------------------------- /docs/images/dragdrop-infomsg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-infomsg.png -------------------------------------------------------------------------------- /docs/images/dragdrop-tlv-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-tlv-small.png -------------------------------------------------------------------------------- /docs/images/dragdrop-tlv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dragdrop-tlv.png -------------------------------------------------------------------------------- /docs/images/dtlv-hierarchy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dtlv-hierarchy.png -------------------------------------------------------------------------------- /docs/images/dtlv-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/dtlv-table.png -------------------------------------------------------------------------------- /docs/images/emptylistmsg-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/emptylistmsg-example.png -------------------------------------------------------------------------------- /docs/images/excel-filtering.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/excel-filtering.png -------------------------------------------------------------------------------- /docs/images/fancy-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/fancy-screenshot.png -------------------------------------------------------------------------------- /docs/images/fancy-screenshot2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/fancy-screenshot2.png -------------------------------------------------------------------------------- /docs/images/fancy-screenshot3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/fancy-screenshot3.png -------------------------------------------------------------------------------- /docs/images/flags-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/flags-renderer.png -------------------------------------------------------------------------------- /docs/images/foobar-lookalike-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/foobar-lookalike-small.png -------------------------------------------------------------------------------- /docs/images/foobar-lookalike.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/foobar-lookalike.png -------------------------------------------------------------------------------- /docs/images/generator-better.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/generator-better.png -------------------------------------------------------------------------------- /docs/images/generator-boring.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/generator-boring.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example1.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example2.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example3.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example4.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example5.png -------------------------------------------------------------------------------- /docs/images/gettingstarted-example6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/gettingstarted-example6.png -------------------------------------------------------------------------------- /docs/images/group-formatting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/group-formatting.png -------------------------------------------------------------------------------- /docs/images/header-formatting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/header-formatting.png -------------------------------------------------------------------------------- /docs/images/header-with-image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/header-with-image.png -------------------------------------------------------------------------------- /docs/images/hierarchical-checkboxes-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/hierarchical-checkboxes-1.png -------------------------------------------------------------------------------- /docs/images/hyperlinks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/hyperlinks.png -------------------------------------------------------------------------------- /docs/images/icecream3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/icecream3.jpg -------------------------------------------------------------------------------- /docs/images/image-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/image-renderer.png -------------------------------------------------------------------------------- /docs/images/images-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/images-renderer.png -------------------------------------------------------------------------------- /docs/images/light-blue-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/light-blue-800x1600.png -------------------------------------------------------------------------------- /docs/images/limeleaf.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/limeleaf.jpg -------------------------------------------------------------------------------- /docs/images/mappedimage-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/mappedimage-renderer.png -------------------------------------------------------------------------------- /docs/images/multiimage-renderer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/multiimage-renderer.png -------------------------------------------------------------------------------- /docs/images/orange-800x1600.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/orange-800x1600.png -------------------------------------------------------------------------------- /docs/images/overlay.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/overlay.png -------------------------------------------------------------------------------- /docs/images/ownerdrawn-example1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/ownerdrawn-example1.png -------------------------------------------------------------------------------- /docs/images/printpreview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/printpreview.png -------------------------------------------------------------------------------- /docs/images/redbull.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/redbull.jpg -------------------------------------------------------------------------------- /docs/images/right-arrow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/right-arrow.gif -------------------------------------------------------------------------------- /docs/images/right-arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/right-arrow.png -------------------------------------------------------------------------------- /docs/images/setbkimage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/setbkimage.png -------------------------------------------------------------------------------- /docs/images/setbkimage2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/setbkimage2.png -------------------------------------------------------------------------------- /docs/images/smoothie2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/smoothie2.jpg -------------------------------------------------------------------------------- /docs/images/task-list-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/task-list-small.png -------------------------------------------------------------------------------- /docs/images/task-list.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/task-list.png -------------------------------------------------------------------------------- /docs/images/text-filter-highlighting.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/text-filter-highlighting.png -------------------------------------------------------------------------------- /docs/images/tileview-example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/tileview-example.png -------------------------------------------------------------------------------- /docs/images/tileview-ownerdrawn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/tileview-ownerdrawn.png -------------------------------------------------------------------------------- /docs/images/treelistview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/treelistview.png -------------------------------------------------------------------------------- /docs/images/vertical-header.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/docs/images/vertical-header.png -------------------------------------------------------------------------------- /docs/majorClasses.rst: -------------------------------------------------------------------------------- 1 | .. -*- coding: UTF-8 -*- 2 | 3 | :Subtitle: First steps in learning to love ListView 4 | 5 | Major Classes Reference 6 | ======================= 7 | -------------------------------------------------------------------------------- /packages/NUnit.2.6.2/NUnit.2.6.2.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.2/NUnit.2.6.2.nupkg -------------------------------------------------------------------------------- /packages/NUnit.2.6.2/NUnit.2.6.2.nuspec: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | NUnit 5 | 2.6.2 6 | NUnit 7 | Charlie Poole 8 | Charlie Poole 9 | http://nunit.org/nuget/license.html 10 | http://nunit.org/ 11 | http://nunit.org/nuget/nunit_32x32.png 12 | false 13 | NUnit features a fluent assert syntax, parameterized, generic and theory tests and is user-extensible. A number of runners, both from the NUnit project and by third parties, are able to execute NUnit tests. 14 | 15 | Version 2.6 is the seventh major release of this well-known and well-tested programming tool. 16 | 17 | This package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner. 18 | NUnit is a unit-testing framework for all .Net languages with a strong TDD focus. 19 | Version 2.6 is the seventh major release of NUnit. 20 | 21 | Unlike earlier versions, this package includes only the framework assembly. You will need to install the NUnit.Runners package unless you are using a third-party runner. 22 | 23 | The nunit.mocks assembly is now provided by the NUnit.Mocks package. The pnunit.framework assembly is provided by the pNUnit package. 24 | en-US 25 | test testing tdd framework fluent assert theory plugin addin 26 | 27 | -------------------------------------------------------------------------------- /packages/NUnit.2.6.2/lib/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.2/lib/nunit.framework.dll -------------------------------------------------------------------------------- /packages/NUnit.2.6.2/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.2/license.txt -------------------------------------------------------------------------------- /packages/NUnit.2.6.4/NUnit.2.6.4.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.4/NUnit.2.6.4.nupkg -------------------------------------------------------------------------------- /packages/NUnit.2.6.4/lib/nunit.framework.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.4/lib/nunit.framework.dll -------------------------------------------------------------------------------- /packages/NUnit.2.6.4/license.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/geomatics-io/ObjectListView/a50494118f65c9e9cade984ddcd5d480965cf1e3/packages/NUnit.2.6.4/license.txt -------------------------------------------------------------------------------- /packages/repositories.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | --------------------------------------------------------------------------------