341 lines
24 KiB
HTML
341 lines
24 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||
|
||
<head profile="http://gmpg.org/xfn/11">
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
|
||
<meta name="blogcatalog" content="9BC9953358" />
|
||
<title>How to Store Better ListView Content in a String (User Request) « Owl's Blog on .NET development</title>
|
||
|
||
<link rel="stylesheet" href="wp-content/themes/componentowl/style.css" type="text/css" media="screen" />
|
||
<link rel="pingback" href="xmlrpc.php.html" />
|
||
|
||
|
||
<link rel='dns-prefetch' href='http://s.w.org/' />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » Feed" href="feed/index.html" />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » Comments Feed" href="comments/feed/index.html" />
|
||
<link rel="alternate" type="application/rss+xml" title="Owl's Blog on .NET development » How to Store Better ListView Content in a String (User Request) Comments Feed" href="how-to-store-better-listview-content-in-a-string-user-request/feed/index.html" />
|
||
<script type="text/javascript">
|
||
window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/11\/svg\/","svgExt":".svg","source":{"concatemoji":"http:\/\/www.componentowl.com\/blog\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.8"}};
|
||
!function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56760,9792,65039],[55358,56760,8203,9792,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings);
|
||
</script>
|
||
<style type="text/css">
|
||
img.wp-smiley,
|
||
img.emoji {
|
||
display: inline !important;
|
||
border: none !important;
|
||
box-shadow: none !important;
|
||
height: 1em !important;
|
||
width: 1em !important;
|
||
margin: 0 .07em !important;
|
||
vertical-align: -0.1em !important;
|
||
background: none !important;
|
||
padding: 0 !important;
|
||
}
|
||
</style>
|
||
<script type='text/javascript' src='wp-includes/js/jquery/jquery.js%3Fver=1.12.4'></script>
|
||
<script type='text/javascript' src='wp-includes/js/jquery/jquery-migrate.min.js%3Fver=1.4.1'></script>
|
||
<link rel='https://api.w.org/' href='wp-json/index.html' />
|
||
<link rel="EditURI" type="application/rsd+xml" title="RSD" href="xmlrpc.php%3Frsd" />
|
||
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="wp-includes/wlwmanifest.xml" />
|
||
<link rel='prev' title='Right-aligned Images in Better ListView' href='index.html%3Fp=780.html' />
|
||
<link rel='next' title='Hiding Column Headers in Better ListView' href='index.html%3Fp=803.html' />
|
||
<meta name="generator" content="WordPress 4.9.8" />
|
||
<link rel="canonical" href="index.html%3Fp=796.html" />
|
||
<link rel='shortlink' href='index.html%3Fp=796.html' />
|
||
<link rel="alternate" type="application/json+oembed" href="wp-json/oembed/1.0/embed%3Furl=http:%252F%252Fwww.componentowl.com%252Fblog%252Fhow-to-store-better-listview-content-in-a-string-user-request%252F.html" />
|
||
<link rel="alternate" type="text/xml+oembed" href="wp-json/oembed/1.0/embed%3Furl=http:%252F%252Fwww.componentowl.com%252Fblog%252Fhow-to-store-better-listview-content-in-a-string-user-request%252F&format=xml.html" />
|
||
<script type="text/javascript" src="../javascripts/plugins/jquery.validation.js"></script>
|
||
<script type="text/javascript" src="../javascripts/dextronet.js"></script>
|
||
<script type="text/javascript" src="wp-content/themes/componentowl/javascripts/theme.js"></script>
|
||
<!--[if IE 6]>
|
||
<style type="text/css">
|
||
#d-menu .dropdown .outer { background-image: none; }
|
||
#d-menu .dropdown .shadowbox { background-image: none; }
|
||
</style>
|
||
<![endif]-->
|
||
</head>
|
||
<body class="post-template-default single single-post postid-796 single-format-standard">
|
||
|
||
<div class="d-page">
|
||
<div class="d-placing">
|
||
<div class="d-content-wrap">
|
||
|
||
<div class="d-main">
|
||
|
||
<h1 class="blog-name"><a href="../blog.html">Owl's Blog on .NET development</a></h1>
|
||
|
||
<div class="blog-description">Component Owl codes Better ListView control all night so you don't have to.</div>
|
||
|
||
|
||
|
||
|
||
<div class="post-796 post type-post status-publish format-standard hentry category-better-listview category-components category-tutorials tag-better-listview-2 tag-content tag-items tag-load tag-save tag-serialization tag-serialize tag-store" id="post-796">
|
||
<h2>How to Store Better ListView Content in a String (User Request)</h2>
|
||
|
||
<p class="postmetadata">
|
||
Blog Post by Libor Tinka published on Saturday, 04 August 2012 in <a href="category/better-listview/index.html" rel="category tag">Better ListView</a>, <a href="category/components/index.html" rel="category tag">Components</a>, <a href="category/tutorials/index.html" rel="category tag">Tutorials</a> </p>
|
||
|
||
<div class="entry">
|
||
<p>Is it possible to store entire Better ListView content (items with hierarchy and sub-items, columns and groups) in a single string?</p>
|
||
<p>Better ListView already supports saving and loading its content using <strong>SaveContent</strong> and <strong>LoadContent</strong> methods. These methods support either XML or binary format.</p>
|
||
<p>I chose binary format for storing data in string because it is more compact than XML. Binary representation (basically an array of bytes) can be converted to Base64 string. Loading the content from string work similarly, the steps are performed in opposite direction:</p>
|
||
<p><strong>C#</strong></p>
|
||
<p>[csharp gutter=”false” toolbar=”false”]<br />
|
||
// SAVE<br />
|
||
// create MemoryStream to hold binary data<br />
|
||
MemoryStream stream = new MemoryStream();<br />
|
||
// store Better ListView content in memory stream<br />
|
||
this.listView.SaveContentBinary(stream);<br />
|
||
// copy content of MemoryStream to byte array<br />
|
||
byte[] contentBinary = new byte[stream.Length];<br />
|
||
stream.Seek(0, SeekOrigin.Begin);<br />
|
||
// convert byte array to Base64 string<br />
|
||
stream.Read(contentBinary, 0, (int)stream.Length); // move to beginning of the stream<br />
|
||
string contentStringBase64 = Convert.ToBase64String(contentBinary);<br />
|
||
// close stream<br />
|
||
stream.Close();<br />
|
||
stream.Dispose();</p>
|
||
<p>// CLEAR<br />
|
||
this.listView.Clear();</p>
|
||
<p>// LOAD<br />
|
||
// create MemoryStream to hold binary data<br />
|
||
stream = new MemoryStream();<br />
|
||
// convert Base64 string to byte array<br />
|
||
contentBinary = Convert.FromBase64String(contentStringBase64);<br />
|
||
// write byte array to stream<br />
|
||
stream.Write(contentBinary, 0, contentBinary.Length);<br />
|
||
stream.Seek(0, SeekOrigin.Begin); // move to beginning of the stream<br />
|
||
// load content of Better ListView from memory stream<br />
|
||
this.listView.LoadContentBinary(stream);<br />
|
||
[/csharp]</p>
|
||
<p><strong>Visual Basic</strong></p>
|
||
<p>[vb gutter=”false” toolbar=”false”]<br />
|
||
‘ SAVE<br />
|
||
‘ create MemoryStream to hold binary data<br />
|
||
Dim stream As New MemoryStream()<br />
|
||
‘ store Better ListView content in memory stream<br />
|
||
Me.listView.SaveContentBinary(stream)<br />
|
||
‘ copy content of MemoryStream to byte array<br />
|
||
Dim contentBinary As Byte() = New Byte(stream.Length – 1) {}<br />
|
||
stream.Seek(0, SeekOrigin.Begin)<br />
|
||
‘ convert byte array to Base64 string<br />
|
||
stream.Read(contentBinary, 0, CInt(stream.Length))<br />
|
||
‘ move to beginning of the stream<br />
|
||
Dim contentStringBase64 As String = Convert.ToBase64String(contentBinary)<br />
|
||
‘ close stream<br />
|
||
stream.Close()<br />
|
||
stream.Dispose()</p>
|
||
<p>‘ CLEAR<br />
|
||
Me.listView.Clear()</p>
|
||
<p>‘ LOAD<br />
|
||
‘ create MemoryStream to hold binary data<br />
|
||
stream = New MemoryStream()<br />
|
||
‘ convert Base64 string to byte array<br />
|
||
contentBinary = Convert.FromBase64String(contentStringBase64)<br />
|
||
‘ write byte array to stream<br />
|
||
stream.Write(contentBinary, 0, contentBinary.Length)<br />
|
||
stream.Seek(0, SeekOrigin.Begin)<br />
|
||
‘ move to beginning of the stream<br />
|
||
‘ load content of Better ListView from memory stream<br />
|
||
Me.listView.LoadContentBinary(stream)<br />
|
||
[/vb]</p>
|
||
<p> </p>
|
||
<p>Although saving and loading data this way is convenient, please consider the following drawback:</p>
|
||
<ul>
|
||
<li>Standard serialization mechanism of .NET is used for converting <em>classes</em> and <em>structures</em> to XML or binary representation – hence the serialized data may not be possible to deserialize on different version of Better ListView if any public members of the serialized class have been changed.</li>
|
||
<li>The generated string is very long (few kilobytes for just two items).</li>
|
||
<li>Lots of data are stored which are not related to content itself (e.g. item colors).</li>
|
||
<li>The serialized representation is considered read-only – any changes can cause problems with deserialization; if you really want flexible way of storing ListView content, <strong>consider building a model or data layer that supports storing the data you need the way you need</strong>.</li>
|
||
</ul>
|
||
<p>On the other hand, using this way may be convenient when you want to <strong>transfer or copy ListView content between controls on even across application domain</strong> (Better ListView itself uses this mechanism to allow Drag and Drop between two applications – this “tour de force” kind of Drag and Drop is not avaiable in regular .NET ListView).</p>
|
||
|
||
</div>
|
||
|
||
|
||
<div class="postinfobar">
|
||
<span class="tags">Tags: <a href="tag/better-listview-2/index.html" rel="tag">better listview</a>, <a href="tag/content/index.html" rel="tag">content</a>, <a href="tag/items/index.html" rel="tag">items</a>, <a href="tag/load/index.html" rel="tag">load</a>, <a href="tag/save/index.html" rel="tag">save</a>, <a href="tag/serialization/index.html" rel="tag">serialization</a>, <a href="tag/serialize/index.html" rel="tag">serialize</a>, <a href="tag/store/index.html" rel="tag">store</a> </span>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
<!-- You can start editing here. -->
|
||
|
||
|
||
<!-- If comments are open, but there are no comments. -->
|
||
|
||
|
||
|
||
|
||
<div id="respond">
|
||
|
||
<h3>Leave a Reply</h3>
|
||
|
||
<div class="cancel-comment-reply">
|
||
<small><a rel="nofollow" id="cancel-comment-reply-link" href="index.html%3Fp=796.html#respond" style="display:none;">Click here to cancel reply.</a></small>
|
||
</div>
|
||
|
||
|
||
<form action="http://www.componentowl.com/blog/wp-comments-post.php" method="post" id="commentform">
|
||
|
||
|
||
<p><input type="text" name="author" id="author" value="" size="22" tabindex="1" aria-required='true' />
|
||
<label for="author"><small>Name (required)</small></label></p>
|
||
|
||
<p><input type="text" name="email" id="email" value="" size="22" tabindex="2" aria-required='true' />
|
||
<label for="email"><small>Mail (will not be published) (required)</small></label></p>
|
||
|
||
<p><input type="text" name="url" id="url" value="" size="22" tabindex="3" />
|
||
<label for="url"><small>Website</small></label></p>
|
||
|
||
|
||
<!--<p><small><strong>XHTML:</strong> You can use these tags: <code><a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> </code></small></p>-->
|
||
|
||
<p><textarea name="comment" id="comment" cols="58" rows="10" tabindex="4"></textarea></p>
|
||
|
||
<p><input name="submit" type="submit" id="submit" tabindex="5" value="Submit Comment" />
|
||
<input type='hidden' name='comment_post_ID' value='796' id='comment_post_ID' />
|
||
<input type='hidden' name='comment_parent' id='comment_parent' value='0' />
|
||
</p>
|
||
<p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="ed2bcaa455" /></p><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="66"/></p>
|
||
</form>
|
||
|
||
</div>
|
||
|
||
|
||
|
||
</div>
|
||
|
||
<div class="d-sidebar">
|
||
|
||
<div class="dextronet-feeds">
|
||
<ul class="links">
|
||
<li><a href="feed/index.html" class="rss">Subscribe to our RSS</a></li>
|
||
<li><a href="http://twitter.com/ComponentOwl" class="twitter">Follow us on twitter</a></li>
|
||
<li><a href="http://facebook.com/ComponentOwl" class="facebook">Follow us on Facebook</a></li>
|
||
</ul>
|
||
</div>
|
||
|
||
<form role="search" method="get" id="searchform-sidebar" action="../blog.html" >
|
||
<div><label class="screen-reader-text" for="s-sidebar">Search for:</label>
|
||
<input type="text" value="Search..." name="s" id="s-sidebar" class="search inline-label" />
|
||
<input type="image" id="searchsubmit-sidebar" src="wp-content/themes/componentowl/images/search.gif" value="Search" />
|
||
</div>
|
||
</form>
|
||
|
||
<div id="sidebar" role="complementary">
|
||
<ul>
|
||
<li id="categories-3" class="widget widget_categories"><h2 class="widgettitle">Categories</h2> <ul>
|
||
<li class="cat-item cat-item-3"><a href="category/announcements/index.html" >Announcements</a> (8)
|
||
</li>
|
||
<li class="cat-item cat-item-21"><a href="category/better-listview/index.html" >Better ListView</a> (44)
|
||
</li>
|
||
<li class="cat-item cat-item-4"><a href="category/components/index.html" >Components</a> (9)
|
||
</li>
|
||
<li class="cat-item cat-item-222"><a href="category/programming/index.html" >Programming</a> (2)
|
||
</li>
|
||
<li class="cat-item cat-item-13"><a href="category/tutorials/index.html" >Tutorials</a> (19)
|
||
</li>
|
||
</ul>
|
||
</li><li id="archives-3" class="widget widget_archive"><h2 class="widgettitle">Archives</h2> <ul>
|
||
<li><a href='2017/03/index.html'>March 2017</a></li>
|
||
<li><a href='2017/02/index.html'>February 2017</a></li>
|
||
<li><a href='2016/11/index.html'>November 2016</a></li>
|
||
<li><a href='2014/08/index.html'>August 2014</a></li>
|
||
<li><a href='2014/07/index.html'>July 2014</a></li>
|
||
<li><a href='2014/04/index.html'>April 2014</a></li>
|
||
<li><a href='2014/02/index.html'>February 2014</a></li>
|
||
<li><a href='2013/03/index.html'>March 2013</a></li>
|
||
<li><a href='2013/02/index.html'>February 2013</a></li>
|
||
<li><a href='2013/01/index.html'>January 2013</a></li>
|
||
<li><a href='2012/12/index.html'>December 2012</a></li>
|
||
<li><a href='2012/09/index.html'>September 2012</a></li>
|
||
<li><a href='2012/08/index.html'>August 2012</a></li>
|
||
<li><a href='2012/04/index.html'>April 2012</a></li>
|
||
<li><a href='2012/03/index.html'>March 2012</a></li>
|
||
<li><a href='2012/02/index.html'>February 2012</a></li>
|
||
<li><a href='2012/01/index.html'>January 2012</a></li>
|
||
<li><a href='2011/12/index.html'>December 2011</a></li>
|
||
<li><a href='2011/11/index.html'>November 2011</a></li>
|
||
<li><a href='2011/10/index.html'>October 2011</a></li>
|
||
<li><a href='2011/09/index.html'>September 2011</a></li>
|
||
<li><a href='2011/08/index.html'>August 2011</a></li>
|
||
<li><a href='2011/07/index.html'>July 2011</a></li>
|
||
<li><a href='2011/06/index.html'>June 2011</a></li>
|
||
<li><a href='2011/05/index.html'>May 2011</a></li>
|
||
<li><a href='2011/03/index.html'>March 2011</a></li>
|
||
<li><a href='2011/02/index.html'>February 2011</a></li>
|
||
<li><a href='2011/01/index.html'>January 2011</a></li>
|
||
</ul>
|
||
</li><li id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widgettitle">Tags</h2><div class="tagcloud"><a href="tag/align/index.html" class="tag-cloud-link tag-link-256 tag-link-position-1" style="font-size: 8pt;" aria-label="align (2 items)">align</a>
|
||
<a href="tag/better/index.html" class="tag-cloud-link tag-link-71 tag-link-position-2" style="font-size: 14.326923076923pt;" aria-label="better (8 items)">better</a>
|
||
<a href="tag/better-listview-2/index.html" class="tag-cloud-link tag-link-31 tag-link-position-3" style="font-size: 22pt;" aria-label="better listview (32 items)">better listview</a>
|
||
<a href="tag/bound/index.html" class="tag-cloud-link tag-link-85 tag-link-position-4" style="font-size: 8pt;" aria-label="bound (2 items)">bound</a>
|
||
<a href="tag/child-items-in-listview/index.html" class="tag-cloud-link tag-link-57 tag-link-position-5" style="font-size: 8pt;" aria-label="child items in listview (2 items)">child items in listview</a>
|
||
<a href="tag/column/index.html" class="tag-cloud-link tag-link-89 tag-link-position-6" style="font-size: 10.961538461538pt;" aria-label="column (4 items)">column</a>
|
||
<a href="tag/coming-soon/index.html" class="tag-cloud-link tag-link-52 tag-link-position-7" style="font-size: 8pt;" aria-label="coming soon (2 items)">coming soon</a>
|
||
<a href="tag/custom/index.html" class="tag-cloud-link tag-link-12 tag-link-position-8" style="font-size: 15pt;" aria-label="custom (9 items)">custom</a>
|
||
<a href="tag/data/index.html" class="tag-cloud-link tag-link-84 tag-link-position-9" style="font-size: 8pt;" aria-label="data (2 items)">data</a>
|
||
<a href="tag/databinding/index.html" class="tag-cloud-link tag-link-83 tag-link-position-10" style="font-size: 8pt;" aria-label="databinding (2 items)">databinding</a>
|
||
<a href="tag/drawing/index.html" class="tag-cloud-link tag-link-161 tag-link-position-11" style="font-size: 10.961538461538pt;" aria-label="drawing (4 items)">drawing</a>
|
||
<a href="tag/drawn/index.html" class="tag-cloud-link tag-link-270 tag-link-position-12" style="font-size: 9.6153846153846pt;" aria-label="drawn (3 items)">drawn</a>
|
||
<a href="tag/explorer/index.html" class="tag-cloud-link tag-link-30 tag-link-position-13" style="font-size: 9.6153846153846pt;" aria-label="explorer (3 items)">explorer</a>
|
||
<a href="tag/groups/index.html" class="tag-cloud-link tag-link-22 tag-link-position-14" style="font-size: 10.961538461538pt;" aria-label="groups (4 items)">groups</a>
|
||
<a href="tag/header/index.html" class="tag-cloud-link tag-link-134 tag-link-position-15" style="font-size: 9.6153846153846pt;" aria-label="header (3 items)">header</a>
|
||
<a href="tag/hide/index.html" class="tag-cloud-link tag-link-88 tag-link-position-16" style="font-size: 10.961538461538pt;" aria-label="hide (4 items)">hide</a>
|
||
<a href="tag/hiding/index.html" class="tag-cloud-link tag-link-90 tag-link-position-17" style="font-size: 9.6153846153846pt;" aria-label="hiding (3 items)">hiding</a>
|
||
<a href="tag/hierarchy/index.html" class="tag-cloud-link tag-link-24 tag-link-position-18" style="font-size: 8pt;" aria-label="hierarchy (2 items)">hierarchy</a>
|
||
<a href="tag/hot/index.html" class="tag-cloud-link tag-link-106 tag-link-position-19" style="font-size: 9.6153846153846pt;" aria-label="hot (3 items)">hot</a>
|
||
<a href="tag/image/index.html" class="tag-cloud-link tag-link-277 tag-link-position-20" style="font-size: 8pt;" aria-label="image (2 items)">image</a>
|
||
<a href="tag/images/index.html" class="tag-cloud-link tag-link-7 tag-link-position-21" style="font-size: 9.6153846153846pt;" aria-label="images (3 items)">images</a>
|
||
<a href="tag/item/index.html" class="tag-cloud-link tag-link-23 tag-link-position-22" style="font-size: 10.961538461538pt;" aria-label="item (4 items)">item</a>
|
||
<a href="tag/item-hierarchy/index.html" class="tag-cloud-link tag-link-55 tag-link-position-23" style="font-size: 8pt;" aria-label="item hierarchy (2 items)">item hierarchy</a>
|
||
<a href="tag/items/index.html" class="tag-cloud-link tag-link-107 tag-link-position-24" style="font-size: 17.423076923077pt;" aria-label="items (14 items)">items</a>
|
||
<a href="tag/listview/index.html" class="tag-cloud-link tag-link-5 tag-link-position-25" style="font-size: 16.076923076923pt;" aria-label="listview (11 items)">listview</a>
|
||
<a href="tag/load/index.html" class="tag-cloud-link tag-link-261 tag-link-position-26" style="font-size: 8pt;" aria-label="load (2 items)">load</a>
|
||
<a href="tag/mouse/index.html" class="tag-cloud-link tag-link-41 tag-link-position-27" style="font-size: 8pt;" aria-label="mouse (2 items)">mouse</a>
|
||
<a href="tag/multi-line/index.html" class="tag-cloud-link tag-link-82 tag-link-position-28" style="font-size: 8pt;" aria-label="multi-line (2 items)">multi-line</a>
|
||
<a href="tag/multiline/index.html" class="tag-cloud-link tag-link-81 tag-link-position-29" style="font-size: 9.6153846153846pt;" aria-label="multiline (3 items)">multiline</a>
|
||
<a href="tag/owner/index.html" class="tag-cloud-link tag-link-104 tag-link-position-30" style="font-size: 12.038461538462pt;" aria-label="owner (5 items)">owner</a>
|
||
<a href="tag/ownerdrawn/index.html" class="tag-cloud-link tag-link-273 tag-link-position-31" style="font-size: 8pt;" aria-label="ownerdrawn (2 items)">ownerdrawn</a>
|
||
<a href="tag/padding/index.html" class="tag-cloud-link tag-link-19 tag-link-position-32" style="font-size: 8pt;" aria-label="padding (2 items)">padding</a>
|
||
<a href="tag/progress/index.html" class="tag-cloud-link tag-link-37 tag-link-position-33" style="font-size: 8pt;" aria-label="progress (2 items)">progress</a>
|
||
<a href="tag/space/index.html" class="tag-cloud-link tag-link-240 tag-link-position-34" style="font-size: 9.6153846153846pt;" aria-label="space (3 items)">space</a>
|
||
<a href="tag/spacing/index.html" class="tag-cloud-link tag-link-20 tag-link-position-35" style="font-size: 8pt;" aria-label="spacing (2 items)">spacing</a>
|
||
<a href="tag/sub-item/index.html" class="tag-cloud-link tag-link-113 tag-link-position-36" style="font-size: 10.961538461538pt;" aria-label="sub-item (4 items)">sub-item</a>
|
||
<a href="tag/sub-items/index.html" class="tag-cloud-link tag-link-265 tag-link-position-37" style="font-size: 8pt;" aria-label="sub-items (2 items)">sub-items</a>
|
||
<a href="tag/subitem/index.html" class="tag-cloud-link tag-link-258 tag-link-position-38" style="font-size: 9.6153846153846pt;" aria-label="subitem (3 items)">subitem</a>
|
||
<a href="tag/subitems/index.html" class="tag-cloud-link tag-link-266 tag-link-position-39" style="font-size: 9.6153846153846pt;" aria-label="subitems (3 items)">subitems</a>
|
||
<a href="tag/thumbnails/index.html" class="tag-cloud-link tag-link-6 tag-link-position-40" style="font-size: 8pt;" aria-label="thumbnails (2 items)">thumbnails</a>
|
||
<a href="tag/tree/index.html" class="tag-cloud-link tag-link-80 tag-link-position-41" style="font-size: 8pt;" aria-label="tree (2 items)">tree</a>
|
||
<a href="tag/update/index.html" class="tag-cloud-link tag-link-36 tag-link-position-42" style="font-size: 8pt;" aria-label="update (2 items)">update</a>
|
||
<a href="tag/whats-new/index.html" class="tag-cloud-link tag-link-32 tag-link-position-43" style="font-size: 8pt;" aria-label="what's new (2 items)">what's new</a>
|
||
<a href="tag/working-on/index.html" class="tag-cloud-link tag-link-38 tag-link-position-44" style="font-size: 8pt;" aria-label="working on (2 items)">working on</a>
|
||
<a href="tag/xp/index.html" class="tag-cloud-link tag-link-29 tag-link-position-45" style="font-size: 8pt;" aria-label="xp (2 items)">xp</a></div>
|
||
</li> </ul>
|
||
</div>
|
||
|
||
</div>
|
||
|
||
</div>
|
||
</div>
|
||
|
||
<script type='text/javascript' src='wp-includes/js/comment-reply.min.js%3Fver=4.9.8'></script>
|
||
<script type='text/javascript' src='wp-includes/js/wp-embed.min.js%3Fver=4.9.8'></script>
|
||
<script async="async" type='text/javascript' src='wp-content/plugins/akismet/_inc/form.js%3Fver=4.0.8'></script>
|
||
|
||
</div>
|
||
|
||
|
||
</body>
|
||
</html>
|
||
|
||
<!--
|
||
Performance optimized by W3 Total Cache. Learn more: https://www.w3-edge.com/products/
|
||
|
||
Content Delivery Network via Amazon Web Services: S3: www.componentowl.com
|
||
|
||
Served from: www.componentowl.com @ 2018-09-08 11:39:22 by W3 Total Cache
|
||
--> |