<?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>sven.buschbeck</title>
	<atom:link href="http://svenbuschbeck.net/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://svenbuschbeck.net/wordpress</link>
	<description>. . . .portfolio.blog. . . .human-computer-interaction. .semantic-web. .computer-science. .communication-design. . . . . . . . . . . . . . . . . . . . . . . . .</description>
	<lastBuildDate>Tue, 31 Jan 2012 09:55:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>&#8220;An invalid or illegal string was specified&#8221; Exception in GWT</title>
		<link>http://svenbuschbeck.net/wordpress/2012/01/exception-in-gwt/</link>
		<comments>http://svenbuschbeck.net/wordpress/2012/01/exception-in-gwt/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 09:53:01 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=1104</guid>
		<description><![CDATA[While working with canvas (drawing stuff on it) in GWT, suddenly and in a seemingly unpredictable manner I got following error message now and then from within the GWT framework code: com.google.gwt.core.client.JavaScriptException: (NS_ERROR_DOM_SYNTAX_ERR): An invalid or illegal string was specified; Again, GWT tricked me into thinking I am writing Java code and made me forget [...]]]></description>
			<content:encoded><![CDATA[<p>While working with canvas (drawing stuff on it) in GWT, suddenly and in a seemingly unpredictable manner I got following error message now and then from within the GWT framework code:</p>
<p><code>com.google.gwt.core.client.JavaScriptException: (NS_ERROR_DOM_SYNTAX_ERR): An invalid or illegal string was specified</code>;</p>
<p>Again, GWT tricked me into thinking I am writing Java code and made me forget about that it is going to be compiled into Javascript. And because of the latter, a division by zero does not throw an DevisionByZeroException, no, it returns NaN even for native data types (there is no differentiation between double and Double in Javascript &#8211; there is only the object-version of double, which can be of value Double.NaN).</p>
<p>But also GWT was not prepared to handle Double.NaN. When calling <code>canvas.getContext().drawImage(image,x,y)</code> and one of x and y or both were Double.NaN I got the error message shown above. If you got the same&#8230; you know what to do: <strong>check all devisions in your code for potential devisions by zero!!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2012/01/exception-in-gwt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sorting lists in GWT</title>
		<link>http://svenbuschbeck.net/wordpress/2012/01/sorting-lists-in-gwt/</link>
		<comments>http://svenbuschbeck.net/wordpress/2012/01/sorting-lists-in-gwt/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 09:50:26 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=1091</guid>
		<description><![CDATA[Quick one: Lists.sort(list, comparator) is not implemented in the GAE JVM. But, as a replacement/alternative, Collections.sort(list, comparator) is.]]></description>
			<content:encoded><![CDATA[<p>Quick one:<br />
<code>Lists.sort(list, comparator)</code> is not implemented in the GAE JVM.<br />
But, as a replacement/alternative, <code>Collections.sort(list, comparator)</code> is.</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2012/01/sorting-lists-in-gwt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Execute Code When the GWT Application Is Going Down</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/how-to-execute-code-when-the-gwt-application-is-going-down/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/how-to-execute-code-when-the-gwt-application-is-going-down/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 22:10:03 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=1051</guid>
		<description><![CDATA[My goal was to store the UI state of my application just before it gets terminated to be able to restore it next time the way the user left it the other day. I tried to add an addAttachHandler to the RootPanel to get informed about the root panel getting detached from the DOM so [...]]]></description>
			<content:encoded><![CDATA[<p>My goal was to store the UI state of my application just before it gets terminated to be able to restore it next time the way the user left it the other day.</p>
<p>I tried to add an <code>addAttachHandler</code> to the <code>RootPanel</code> to get informed about the root panel getting detached from the DOM so that I can finalize my application. Surprisingly, that does not work in Chrome (tested Chrome and Firefox only).</p>
<p>But besides that this sounds like a bug to me, I found the &#8220;proper&#8221; way of doing things before the application ends: </p>
<pre>Window.addWindowClosingHandler(new Window.ClosingHandler() {
	@Override public void onWindowClosing(ClosingEvent event) { ... }
});</pre>
<p>In the end, I think something like <code>Document.addUnloadHandler</code> would be more suggestive&#8230; closing the window or reloading a page is both exiting the application by unloading the DOM &#8211; not closing the window.</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/how-to-execute-code-when-the-gwt-application-is-going-down/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable an Anchor in GWT</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/disable-an-anchor-in-gwt/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/disable-an-anchor-in-gwt/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 12:27:12 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[fix]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=1033</guid>
		<description><![CDATA[Unexpectedly, calling setEnabled(false) does not prevent a link/anchor from being clicked. That means, the click events still get triggered. The reason is more or less a bug in GWT as it updates the list of events that are going to be triggered only at the moment when it gets attached to the DOM (Btw, in [...]]]></description>
			<content:encoded><![CDATA[<p>Unexpectedly, calling <code>setEnabled(false)</code> does not prevent a link/anchor from being clicked. That means, the click events still get triggered.<br />
The reason is more or less a bug in GWT as it updates the list of events that are going to be triggered only at the moment when it gets attached to the DOM (Btw, in GWT, this process is called to sink and to unsink events, where the former enables a specific event to be triggered and the latter disables it).<br />
I found a workaround by creating my own Anchor class and forcing the underlying GWT Anchor to update the list of events to be sunk.</p>
<pre>...
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Event;

public class Anchor extends com.google.gwt.user.client.ui.Anchor {

	@Override public void setEnabled(boolean enabled) {
		super.setEnabled(enabled);
		if (isAttached()) {
			onDetach();
			if (enabled) {
				sinkEvents(Event.ONCLICK);
			} else {
				unsinkEvents(Event.ONCLICK);
			}
			onAttach();
		}
	}

	@Override protected void onLoad() {
		super.onLoad();
		if (isEnabled()) {
			sinkEvents(Event.ONCLICK);
		} else {
			unsinkEvents(Event.ONCLICK);
		}
	}
}</pre>
<p>Note the <code>onLoad</code> method, it sets up the state when the widget gets attached to the DOM the first time. It is required because <code>setEnabled()</code> could have been called before the anchor got attached.</p>
<p>If you encountered the same issue, please vote for this <a href="http://code.google.com/p/google-web-toolkit/issues/detail?id=6045">bug report</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/disable-an-anchor-in-gwt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flickering Screen with ATI Radeon X1400 and Ubuntu</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/flickering-screen-with-ati-radeon-x1400-and-ubuntu/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/flickering-screen-with-ati-radeon-x1400-and-ubuntu/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:48:51 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[uncategorized]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=1022</guid>
		<description><![CDATA[EDIT: ATI Radeon X1400 seems to work fine with Ubuntu 11.04. There is another fix to the &#8220;well known&#8221; issues with the ATI Radeon X1400 and Ubuntu 10.04 to 10.10 besides the one posted about one year ago (see here). The previous fix kept the graphics card working normally but harmed the overall operating system&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>EDIT: ATI Radeon X1400 seems to work fine with Ubuntu 11.04.</p>
<p>There is another fix to the &#8220;well known&#8221; issues with the ATI Radeon X1400 and Ubuntu 10.04 to 10.10 besides the one posted about one year ago (<a href="http://svenbuschbeck.net/wordpress/2010/04/flickering-screen-after-upgrade-to-kubuntu-10-04/">see here</a>).<br />
The previous fix kept the graphics card working normally but harmed the overall operating system&#8217;s stability, so here is another fix based on disabling all 3D features of the device to get rid of the flickering screen.</p>
<p>It&#8217;s up to you to choose what you are able to live without<br />
a) The desktop settings panel and &#8220;Segmentation fault&#8221; errors now and then, or<br />
b) 3D acceleration (does not harm video playback or any other basic OS functionalities)</p>
<p>For solution a) <a href="http://svenbuschbeck.net/wordpress/2010/04/flickering-screen-after-upgrade-to-kubuntu-10-04/">see this</a>.<br />
For b) create this file: <code>/etc/modprobe.d/radeon-kms.conf</code> &#8212; and add following content</p>
<pre>options radeon modeset=0</pre>
<p>Solution found <a href="http://www.ubuntu-forum.de/artikel/53477/monitorflackern-w%C3%A4hrend-und-nach-der-installation.html">here</a> (in German).</p>
<div id="gmBFtt" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; left: 677px ! important; top: 57px ! important; visibility: visible ! important; display: inline ! important; border: 1px solid black ! important; width: auto; height: auto ! important; position: absolute ! important; border-radius: 5px 5px 5px 5px ! important; text-align: left ! important; z-index: 1410065406 ! important; padding: 2px ! important; margin: 0px ! important;">
<div style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; border-bottom: 1px dotted black ! important; padding-bottom: 2px ! important; padding-top: 2px ! important;"><span id="bfconfigButton" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; cursor: pointer ! important; margin: 1px ! important; border: 1px dotted gray ! important; padding: 0px 2px ! important;" title="Choose source- and target- languages">Languages</span><span id="bflangsSpan" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; margin: 1px ! important; border: 1px dotted gray ! important; padding: 0px 2px ! important; cursor: pointer ! important;" title="From English to German (click to switch translation direction)">en&gt;de </span><span id="bfsvcSpan" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; margin: 1px ! important; border: 1px dotted gray ! important; padding: 0px 2px ! important; cursor: pointer ! important;" title="Translation service: Google (toggle service)">Google</span><span id="bfclipboardSpan" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; margin: 1px ! important; border: 1px dotted gray ! important; padding: 0px 2px ! important; cursor: copy ! important;" title="Copy result to clipboard">C</span><span id="bfeditButton" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; cursor: pointer; margin: 1px ! important; border: 1px dotted gray ! important; padding: 0px 2px ! important;" title="Edit selection">E</span><img id="bffishImg" style="border: medium none ! important; float: none ! important; vertical-align: top ! important; margin: 0px ! important; cursor: pointer ! important; display: inline ! important;" title="Auto-detect language and translate!" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAOCAYAAAA8E3wEAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1QUUDyoqJjAqRwAAAN1JREFUOMu1lMkVwyAMBYe0JGpCNUFNVk3k4AUwxPGS+ILxkzX8jyTH/Sfu9nrmJ3cXlnMASyWRPwd2d5XlHCBZn1BthcbRAdxTZQDI8k3mQzg11rhF+QZ9jdNOcQib6GFQYJYgCFucSRf6GsLU6wEY5yubTFqF2yq1vRwr3INXdQUWG+je1pELX4ED1wDyRAR0WfuAA9gloITyvsFMIMgYInYRqF6rO9Sqz9qkO5ilyo0o3YBwJ+6vrdQonxWUQllhXeHcb/wabMPkP2n81ocAIoLZrMqn/4y2RwP8DcQ+d6rT9ATiAAAAAElFTkSuQmCC" alt="" /></div>
<div style="display: none ! important; border-bottom: 1px dotted black ! important;">
<input id="bfeditField" style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; border: 0pt none ! important; margin: 1px ! important;" type="text" /></div>
<div style="background: none repeat scroll 0% 0% #a8ecff ! important; font-family: Arial ! important; font-size: 12px ! important; color: #000000 ! important; line-height: normal ! important; font-weight: normal ! important; vertical-align: middle ! important; width: auto;">die</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/flickering-screen-with-ati-radeon-x1400-and-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logitech Communicator STX Webcam vs. Ubuntu (64bit) &amp; Skype 2.1</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/kubuntu-9-10-skype-2-1-und-logitech-webcam/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/kubuntu-9-10-skype-2-1-und-logitech-webcam/#comments</comments>
		<pubDate>Mon, 14 Feb 2011 20:26:57 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[linux]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Logitech]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=783</guid>
		<description><![CDATA[There are many tutorials out there solving the problem by making Skype use Video for Linux version 1 drivers instead of version 2, as that particular webcam does not seem to get along with the newer version. It boils down to the following lines: Create a file in /usr/local/bin/skype and insert #!/bin/bash LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype Finally, [...]]]></description>
			<content:encoded><![CDATA[<p>There are many tutorials out there solving the problem by making Skype use Video for Linux version 1 drivers instead of version 2, as that particular webcam does not seem to get along with the newer version. It boils down to the following lines:</p>
<p>Create a file in <em>/usr/local/bin/skype </em>and insert</p>
<pre>#!/bin/bash
LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so /usr/bin/skype</pre>
<p>Finally, make it executable by <code>sudo chmod a+x /usr/local/bin/skype</code><br />
Use this file to start Skype from now on. Done.</p>
<p>But not for me. Skype refused to eat it: <code>ERROR: ld.so: object '/usr/lib/libv4l/v4l1compat.so' from LD_PRELOAD cannot be preloaded: ignored.</code><br />
Until I finally found <a title="Go to the original solution provider. Thanks once again to Eoin Murphy! :)" href="http://www.eoinmurphy.org/blog/2009/04/26/logitech-webcam-skype-under-ubuntu" target="_blank">this one here</a>.</p>
<p>Just to cut a long story short, here is why: all the other solutions work for 32bit Linux only &#8212; but hey, I do not have any of my old laptop&#8217;s potential to be wasted &#8212; I am running 64bit Ubuntu (tested with version 9.10 and 10.10 64bit). And with a minor tweak, the fix will work for you, too. <img src='http://svenbuschbeck.net/wordpress/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Install the video4linux libraries:
<pre> sudo apt-get install lib32v4l-0</pre>
<p>And change <em>/usr/local/bin/skype </em>to
<pre>LD_PRELOAD=/usr/lib32/libv4l/v4l1compat.so /usr/bin/skype</pre>
<p>Its just about the &#8220;32&#8243; &#8212; and one good example more of why you should put meaningful error messages in whatever software!</p>
<p>Thanks <a title="Go to the source." href="http://www.eoinmurphy.org" target="_blank">Eoin Murphy</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/kubuntu-9-10-skype-2-1-und-logitech-webcam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Java Cookies from the Future Past</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/java-going-back-to-the-future/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/java-going-back-to-the-future/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 13:58:03 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[pitfall]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=999</guid>
		<description><![CDATA[While working with cookies in Java/GWT and thus—to set the expire date—with Date, I found a doubtful Java behavior. My goal was to set a cookie to expire in about one month from today like this: Date expires = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 30); Cookies.setCookie("myCookie", "myData", expires); [...]]]></description>
			<content:encoded><![CDATA[<p>While working with cookies in Java/GWT and thus—to set the expire date—with <code>Date</code>, I found a doubtful Java behavior.</p>
<p>My goal was to set a cookie to expire in about one month from today like this:</p>
<pre>Date expires = new Date(new Date().getTime() + 1000 * 60 * 60 * 24 * 30);
Cookies.setCookie("myCookie", "myData", expires);</pre>
<p>And kept wondering why the cookie never got stored.</p>
<p>And finally created a simple test case like this:</p>
<pre>Date today = new Date();
Date tomorrow = new Date(today.getTime() + 1000 * 60 * 60 * 24);
Date nextMonth = new Date(today.getTime() + 1000 * 60 * 60 * 24 * 30);</pre>
<p>And got following dates:</p>
<pre>today=Mon Feb 07 14:27:50 CET 2011
tomorrow=Tue Feb 08 14:27:50 CET 2011
nextMonth=Tue Jan 18 21:25:02 CET 2011</pre>
<p>According to Java&#8217;s calculation, the cookie was expired already before even being set. </p>
<p>Took me a bit to understand why:<br />
1000 * 60 * 60 * 24 * 30 = 2,592,000,000 = 0x9A7EC800<br />
Thus, the first bit got set to one&#8230; a classical overflow causing the integer value to become negative &#8211; just try:</p>
<pre>System.out.println(1000 * 60 * 60 * 24 * 30);</pre>
<p>It will print out <code>-1702967296</code>.</p>
<p>Fix: Add a little <code>L</code> will solve the issue by forcing the compiler to calculate using the scope of <code>long</code>:</p>
<pre>Date nextMonthLong = new Date(today.getTime() + 1000L * 60 * 60 * 24 * 30);</pre>
<p>I guess I will fall for that one again sometime as the error is not obvious in my opinion — especially because <code>getTime()</code> returns a <code>long</code> and still, the compiler sticks with an <code>int</code> for the multiplication part. </p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/java-going-back-to-the-future/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable Context Menu in GWT</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/disable-context-menu-in-gwt/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/disable-context-menu-in-gwt/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 21:10:12 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=984</guid>
		<description><![CDATA[To make use of the right mouse button, it is necessary to disable the native browser context menu (the popup menu appearing on right click). This can be achieved like this: RootLayoutPanel.get().addDomHandler(new ContextMenuHandler() { @Override public void onContextMenu(ContextMenuEvent event) { event.preventDefault(); event.stopPropagation(); } }, ContextMenuEvent.getType()); Same should work for RootPanel. After that, it is possible [...]]]></description>
			<content:encoded><![CDATA[<p>To make use of the right mouse button, it is necessary to disable the native browser context menu (the popup menu appearing on right click). This can be achieved like this:</p>
<pre>RootLayoutPanel.get().addDomHandler(new ContextMenuHandler() {

	@Override public void onContextMenu(ContextMenuEvent event) {
		event.preventDefault();
		event.stopPropagation();
	}
}, ContextMenuEvent.getType());</pre>
<p>Same should work for <code>RootPanel</code>.</p>
<p>After that, it is possible to make use of the right mouse button for example like this:</p>
<pre>someWidget.addDomHandler(new MouseMoveHandler() {

	@Override public void onMouseMove(MouseMoveEvent event) {
		if (event.getNativeButton() == NativeEvent.BUTTON_RIGHT) {
		...</pre>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/disable-context-menu-in-gwt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT Error Message &#8220;Asked for attribute parser of no type&#8221;</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/gwt-error-message-asked-for-attribute-parser-of-no-type/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/gwt-error-message-asked-for-attribute-parser-of-no-type/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 22:45:05 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[gwt]]></category>
		<category><![CDATA[jobs]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[fix]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=936</guid>
		<description><![CDATA[Example: public boolean isCollapsed() { return panel.isVisible(); } public void setCollapsed() { panel.setVisible(false); } Seen it? Despite the complicated and cryptic error message, the mistake is rather simple: the setter method is missing a parameter, i.e. &#8220;public void setCollapsed(boolean collapsed) {&#8220;.]]></description>
			<content:encoded><![CDATA[<p>Example:</p>
<pre>public boolean isCollapsed() {
	return panel.isVisible();
}

public void setCollapsed() {
	panel.setVisible(false);
}</pre>
<p>Seen it? Despite the complicated and cryptic error message, the mistake is rather simple: the setter method is missing a parameter, i.e. &#8220;public void setCollapsed(boolean collapsed) {&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/gwt-error-message-asked-for-attribute-parser-of-no-type/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Authentication with FlickrJ</title>
		<link>http://svenbuschbeck.net/wordpress/2011/02/authentication-with-flickrj/</link>
		<comments>http://svenbuschbeck.net/wordpress/2011/02/authentication-with-flickrj/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 22:41:18 +0000</pubDate>
		<dc:creator>Sven Buschbeck</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[projects]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web application]]></category>

		<guid isPermaLink="false">http://svenbuschbeck.net/wordpress/?p=961</guid>
		<description><![CDATA[When you know about username and password logins, the whole Flickr authentication process for web applications seems a little weird on first sight, nevertheless it is logical and necessary after you have done some reading (for example the official Flickr WebApp Auth HowTo). To get started and into coding quickly (using FlickrJ and Java) I [...]]]></description>
			<content:encoded><![CDATA[<p>When you know about username and password logins, the whole Flickr authentication process for web applications seems a little weird on first sight, nevertheless it is logical and necessary after you have done some reading (for example the official <a href="http://www.flickr.com/services/api/auth.howto.web.html">Flickr WebApp Auth HowTo</a>).<br />
To get started and into coding quickly (using <a href="http://flickrj.sourceforge.net/">FlickrJ</a> and Java) I recommend <a href="https://www.phillconrad.org/cisc474/Wiki.jsp?page=Flickr_Authentication">this page</a>. Especially the code example is excellent in my opinion! Thanks Andy Sacher!</p>
]]></content:encoded>
			<wfw:commentRss>http://svenbuschbeck.net/wordpress/2011/02/authentication-with-flickrj/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

