<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Another Look at Thinwire</title>
	<atom:link href="http://pathfindersoftware.com/2007/08/another-look-at/feed/" rel="self" type="application/rss+xml" />
	<link>http://pathfindersoftware.com/2007/08/another-look-at/</link>
	<description>The Fastest Way to Launch Successful Software</description>
	<lastBuildDate>Thu, 19 Jan 2012 16:36:03 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Joshua Gertzen</title>
		<link>http://pathfindersoftware.com/2007/08/another-look-at/#comment-6816</link>
		<dc:creator>Joshua Gertzen</dc:creator>
		<pubDate>Thu, 09 Aug 2007 18:02:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.pathf.com/blogs/?p=283#comment-6816</guid>
		<description>&lt;p&gt;Dietrich,&lt;/p&gt;

&lt;p&gt;While I can see what you are saying about having to specify the width/height of a label, its not true if you use TableLayout ina different way. For instance, if you are using a Label to display free flowing text that you want to wrap properly and behave more like a traditional web page, you can set the &#039;wrapText&#039; property on Label to get it to wrap as the size of the label changes (you can also embed some html).  Then you just place the Label into a TableLayout cell that has a column set to a relative width/height:&lt;/p&gt;

&lt;p&gt;-----&lt;br /&gt;
Frame f = Application.current().getFrame();&lt;br /&gt;
//Setup two columns, one at 50% and then one remainder.&lt;br /&gt;
//Also add one row that takes up the whole height of the container&lt;br /&gt;
f.setLayout(new TableLayout(new double[][]{{.5,0},{0}}));&lt;/p&gt;

&lt;p&gt;Label l = new Label(getReallyLongText());&lt;br /&gt;
l.setWrapText(true);&lt;/p&gt;

&lt;p&gt;//Add label to frame, placing it in column 0, row 0.&lt;br /&gt;
//NOTE: No width/height specified.&lt;br /&gt;
f.getChildren().add(l.setLimit(&quot;0,0&quot;));&lt;br /&gt;
------&lt;/p&gt;

&lt;p&gt;If you need more HTMLish capability for static text areas, you can replace the Label with a WebBrowser component and set the border size of the WebBrowser to 0, so it behaves mostly like a Label.  Then just call setContent to set the content:&lt;/p&gt;

&lt;p&gt;------&lt;br /&gt;
WebBrowser l = new WebBrowser();&lt;br /&gt;
l.getStyle().getBorder().setSize(0);&lt;br /&gt;
l.setContent(&quot;...complex html... &quot;);&lt;br /&gt;
------&lt;/p&gt;

&lt;p&gt;In one way or another, you have to address layout in any application you create, ThinWire just approaches things differently.  For lots of well formated read-only content, its a little tricky, so just use a WebBrowser component for those parts.  However, for data entry forms and business UI&#039;s, I think this approach works pretty well and gives you exact control over how the user interface is presented.  This is not to say that we won&#039;t do something more automatic in the future that is built on top of this, but we&#039;ve been mainly focused on getting the foundation solid and working perfectly.  Keep an eye on us! ;)&lt;/p&gt;</description>
		<content:encoded><![CDATA[<p>Dietrich,</p>
<p>While I can see what you are saying about having to specify the width/height of a label, its not true if you use TableLayout ina different way. For instance, if you are using a Label to display free flowing text that you want to wrap properly and behave more like a traditional web page, you can set the &#8216;wrapText&#8217; property on Label to get it to wrap as the size of the label changes (you can also embed some html).  Then you just place the Label into a TableLayout cell that has a column set to a relative width/height:</p>
<p>&#8212;&#8211;<br />
Frame f = Application.current().getFrame();<br />
//Setup two columns, one at 50% and then one remainder.<br />
//Also add one row that takes up the whole height of the container<br />
f.setLayout(new TableLayout(new double[][]{{.5,0},{0}}));</p>
<p>Label l = new Label(getReallyLongText());<br />
l.setWrapText(true);</p>
<p>//Add label to frame, placing it in column 0, row 0.<br />
//NOTE: No width/height specified.<br />
f.getChildren().add(l.setLimit(&#8220;0,0&#8243;));<br />
&#8212;&#8212;</p>
<p>If you need more HTMLish capability for static text areas, you can replace the Label with a WebBrowser component and set the border size of the WebBrowser to 0, so it behaves mostly like a Label.  Then just call setContent to set the content:</p>
<p>&#8212;&#8212;<br />
WebBrowser l = new WebBrowser();<br />
l.getStyle().getBorder().setSize(0);<br />
l.setContent(&#8220;&#8230;complex html&#8230; &#8220;);<br />
&#8212;&#8212;</p>
<p>In one way or another, you have to address layout in any application you create, ThinWire just approaches things differently.  For lots of well formated read-only content, its a little tricky, so just use a WebBrowser component for those parts.  However, for data entry forms and business UI&#8217;s, I think this approach works pretty well and gives you exact control over how the user interface is presented.  This is not to say that we won&#8217;t do something more automatic in the future that is built on top of this, but we&#8217;ve been mainly focused on getting the foundation solid and working perfectly.  Keep an eye on us! <img src='http://pathfindersoftware.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic (User agent is rejected)
Page Caching using memcached (User agent is rejected)

Served from: pathfindersoftware.com @ 2012-02-09 20:55:19 -->
