<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Helen&#039;s Dev Blog &#187; Visual C#</title>
	<atom:link href="http://dev.cafegirl.org/tag/visual-c/feed/" rel="self" type="application/rss+xml" />
	<link>http://dev.cafegirl.org</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 04 Feb 2010 21:02:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<meta xmlns="http://www.w3.org/1999/xhtml" name="robots" content="noindex,follow" />
		<item>
		<title>DavisTUI: Progress Report 5</title>
		<link>http://dev.cafegirl.org/2009/12/davistui-progress-report-5/</link>
		<comments>http://dev.cafegirl.org/2009/12/davistui-progress-report-5/#comments</comments>
		<pubDate>Sun, 13 Dec 2009 04:46:03 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CS349]]></category>
		<category><![CDATA[DavisTUI]]></category>
		<category><![CDATA[Microsoft Surface]]></category>
		<category><![CDATA[museum learning]]></category>
		<category><![CDATA[TUI]]></category>
		<category><![CDATA[Visual C#]]></category>

		<guid isPermaLink="false">http://dev.cafegirl.org/?p=108</guid>
		<description><![CDATA[While running the newest version of our prototype, I ran into some unexpected difficulties. Whenever I touched a Word object to see the associated artwork thumbnails, the application would halt with an Operation Exception. After some investigation, I realized that the thumbnail images in each grid were previously assigned as logical children of the grid [...]]]></description>
			<content:encoded><![CDATA[<p>While running the newest version of our prototype, I ran into some unexpected difficulties. Whenever I touched a <em>Word</em> object to see the associated artwork thumbnails, the application would halt with an Operation Exception. After some investigation, I realized that the thumbnail images in each grid were previously assigned as logical children of the grid generated from previous contact with the same <em>Word</em> object.</p>
<p>I had designed the <em>Word</em> class to generate, remove, and regenerate a grid for each contact up and contact down event on a <em>Word</em> object. I couldn&#8217;t find a simple way to logically disconnect the thumbnail images from each grid after each Contact Up.</p>
<p>I later realized that the getImage() function in our <em>Art</em> class simply returned the <em>image</em> instance variable generated with the <em>Art</em> object. So, I revised the getImage() function to return a new Image object generated from the thumbnail image file.</p>
<p>The new method:</p>
<blockquote><p><code> public Image getImage()<br />
{<br />
Image image = new Image();<br />
String path = "Resources\\" + imgFile;<br />
image.Source = new BitmapImage(new Uri(path, UriKind.Relative));<br />
return image;<br />
}</code></p></blockquote>
<p>Afterwards, I:</p>
<ul>
<li>Continued to finesse the look and feel of the grids populated form the Word objects,</li>
<li>Removed canned data and got the surface to display working results for my parsing of the Artworks.xml file,</li>
<li>Wrote event handlers that would display the associated for the &#8220;Movement&#8221; and &#8220;Medium&#8221; tags,</li>
<li>Got screen to display working results for tag event handlers from my parsing of my Collections.xml file.</li>
</ul>
<p>I still had some problems to solve regarding each token&#8217;s tag event handlers. Previously, when a &#8220;Movement&#8221; or &#8220;Medium&#8221; token was placed on the surface, all of the items were cleared from the screen, including any <em>Art</em> and <em>Panel</em> objects that were generated. In the intended version of our application, only the <em>Word</em> objects populated on the native screen would be replaced by the Word objects associated with &#8220;Movement&#8221; or &#8220;Medium&#8221;.</p>
<p>The solution was a RemoveWord() function that removed each Word object&#8217;s ScatterViewItem from the main ScatterView, which was kept track of in a List structure of ScatterViewItems.</p>
<blockquote><p><code>private void RemoveWords()<br />
{<br />
foreach (ScatterViewItem svi in sviList) {scatter.Items.Remove(svi);}<br />
}</code></p></blockquote>
<p>Given the high volume of programming that had to be done in 3 weeks, Lia and I can both agree that this project provided a valuable opportunity to practice our programming logic and modularize the problems at hand. Although we often worked on separate tasks, we found it necessary to communicate with each other about our programming problems and put our minds together to solve them.</p>
<p>Our desire to enhance the way people see and interact with the world, aided by our tenacity to make it happen, has allowed us to produce this final functional prototype of DavisTUI:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/T4tpO0KavLs" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/T4tpO0KavLs"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://dev.cafegirl.org/2009/12/davistui-progress-report-5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DavisTUI: Progress Report 4</title>
		<link>http://dev.cafegirl.org/2009/12/davistui-progress-report-4/</link>
		<comments>http://dev.cafegirl.org/2009/12/davistui-progress-report-4/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 04:44:47 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CS349]]></category>
		<category><![CDATA[DavisTUI]]></category>
		<category><![CDATA[museum learning]]></category>
		<category><![CDATA[Surface simulator]]></category>
		<category><![CDATA[TUI]]></category>
		<category><![CDATA[Visual C#]]></category>

		<guid isPermaLink="false">http://dev.cafegirl.org/?p=124</guid>
		<description><![CDATA[Towards improved information architecture by redefining the hierarchy of our classes, I moved the generation of each Word object&#8217;s ScatterViewItem and associated event handlers from the Surface Window1 class to the Word class. Further, for our input and output functions, I created two XML files containing input data for dynamically generating Word and Art objects [...]]]></description>
			<content:encoded><![CDATA[<p>Towards improved information architecture by redefining the hierarchy of our classes, I moved the generation of each Word object&#8217;s ScatterViewItem and associated event handlers from the Surface Window1 class to the Word class. Further, for our input and output functions, I created two XML files containing input data for dynamically generating Word and Art objects on the Scatter View:</p>
<ul>
<li>Collections.xml, which contains the words to be displayed on the screen as well as the ID&#8217;s of the artwork associated with each word, and</li>
<li>Artwork.xml, which contains the ID and tombstone information (i.e. metadata) for each artwork.</li>
</ul>
<p>I wrote methods to parse the XML files and got the application to display dynamic results from Collections.xml.</p>
<div class="wp-caption alignright" style="width: 260px"><img title="Panels" src="http://cs.wellesley.edu/~davistui/images/screenshot4.png" alt="At the cost of a GUI-like appearance, we are temporarily using TextFields and Buttons to test our I/O functions." width="250" /><p class="wp-caption-text">At the cost of a GUI-like appearance, we are temporarily using TextFields and Buttons to test our I/O functions.</p></div>
<p>After this work session, I met up with Lia to touch base and resolve some other issues we had with the event handlers for Panel objects, which receives and displays user responses to the artwork. Comparing her event handlers for populating ScatterViewItems to mine, we found no syntax errors and no difference in our logic. Still, her event handlers were not functioning as expected.</p>
<p>We later discovered that the solution was simply to open the Surface Simulator application before debugging on Microsoft Visual C#. This was an unfortunate oversight that cost us about an hour of time. It is our firm belief that this frustration could have been avoided had Microsoft designed Visual C# with better application of user experience principles.</p>
<p>After the fact, Lia and I worked briefly to create the tag event handlers for the &#8220;Movements&#8221; (previous referred to as &#8220;Time Periods&#8221;) token.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.cafegirl.org/2009/12/davistui-progress-report-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DavisTUI: Progress Report 2</title>
		<link>http://dev.cafegirl.org/2009/11/davistui-progress-report-2/</link>
		<comments>http://dev.cafegirl.org/2009/11/davistui-progress-report-2/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 04:42:20 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[CS349]]></category>
		<category><![CDATA[DavisTUI]]></category>
		<category><![CDATA[Microsoft Surface]]></category>
		<category><![CDATA[museum learning]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[TUI]]></category>
		<category><![CDATA[Visual C#]]></category>

		<guid isPermaLink="false">http://dev.cafegirl.org/?p=115</guid>
		<description><![CDATA[As I set back to work on the SurfaceWindow1 file, I debated whether I should use Labels or SurfaceButtons to display the content of each Word object. I decided to use SurfaceButtons, because I knew I could rely on there being built-in the Contact Down, Changed, and Up events.
I also contemplated what the best way [...]]]></description>
			<content:encoded><![CDATA[<p>As I set back to work on the SurfaceWindow1 file, I debated whether I should use Labels or SurfaceButtons to display the content of each Word object. I decided to use SurfaceButtons, because I knew I could rely on there being built-in the Contact Down, Changed, and Up events.</p>
<p>I also contemplated what the best way to populate thumbnails around each Word would be. Playing around with each of the built-in Microsoft Surface applications, I finally discovered Element Menus, which had a sleek and sexy look and feel. Unfortunately, I wasn&#8217;t able to figure out how customize each menu in a way that was helpful to our project, so I instead decided to use Grid objects to display the appropriate artwork thumbnails surrounding each word.</p>
<p>I had some difficulty making the Grid object appear. I ran many tests on the Grid generating function, as well as the event handler for Contact Down. At some point, I could make the cell dividers from inside the Grids appear independently. But I eventually realized that the issue was with updating the width and height of the ScatterViewItem containing the Grid to those of the Grid itself.</p>
]]></content:encoded>
			<wfw:commentRss>http://dev.cafegirl.org/2009/11/davistui-progress-report-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
