<?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>IANP.ORG &#187; Eclipse</title>
	<atom:link href="http://ianp.org/tag/eclipse/feed/" rel="self" type="application/rss+xml" />
	<link>http://ianp.org</link>
	<description>random thought and mutterings</description>
	<lastBuildDate>Thu, 25 Mar 2010 09:41:49 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Setting up a Flash Development Environment</title>
		<link>http://ianp.org/2009/05/setting-up-a-flash-development-environment/</link>
		<comments>http://ianp.org/2009/05/setting-up-a-flash-development-environment/#comments</comments>
		<pubDate>Sun, 24 May 2009 22:04:57 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Games]]></category>
		<category><![CDATA[AXDT]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[FDT]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=104</guid>
		<description><![CDATA[I&#8217;ve been playing around with PushButtonEngine and Flash over the last couple of days, and though it may be useful to document how I&#8217;ve hooked this up to my existing Eclipse&#160;install.

I&#8217;ve started off with a fairly vanilla Eclipse Java installation, v3.4.2, with the subversion plug-ins and Oxygen XML for eclipse. The 2 options that I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with <a href="http://pushbuttonengine.com/">PushButtonEngine</a> and Flash over the last couple of days, and though it may be useful to document how I&#8217;ve hooked this up to my existing Eclipse&nbsp;install.</p>

<p>I&#8217;ve started off with a fairly vanilla Eclipse Java installation, v3.4.2, with the subversion plug-ins and Oxygen XML for eclipse. The 2 options that I&#8217;ve looked at for Flash development&nbsp;are</p>

<ul>
<li><p><a href="http://www.axdt.org/">AXDT</a> - an open source plug-in;&nbsp;and</p></li>
<li><p><a href="http://fdt.powerflasher.com/">FDT</a> - a commercial offering from a company in&nbsp;Germany.</p></li>
</ul>

<p>I&#8217;m going with FDT at the moment as it seems much more feature complete, it comes with a 30-day trial period so I guess I&#8217;ll have to decide if it&#8217;s worth the money after that, the biggest problems it has are a lack of documentation and poor support from the parent company, on the upside there seems to be a vibrant and helpful community of users. It&#8217;s also <em>massively</em> overpriced, but that seems to be par for the course with small German software vendors (EJ Technologies, I&#8217;m looking at&nbsp;you&#8230;).</p>

<p>I&#8217;m using the the build files described <a href="http://ianp.org/2009/05/ant-build-files-for-pushbuttonengine">in a previous post</a>, and have set up <a href="http://ianp.org/2009/05/level-dtd-for-pushbuttonengine">a custom schema</a> for editing PBE level&nbsp;files.</p>

<p>The other neat tool that I&#8217;ve found is the <a href="http://www.monsterdebugger.com/">Monster Debugger</a>, which has a nice logging UI and the ability to inspect objects at run-time, it can also dynamically invoke methods, to a fairly limited extent (Flash IDE&#8217;s are about 30 years behind Lisp in this respect, even the JVM can do limited hot code&nbsp;replacement).</p>

<p>I should probably do a round up of useful links as well, as the Flash community in general seems to be really helpful and there&#8217;s loads of good stuff out&nbsp;there.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2009/05/setting-up-a-flash-development-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Christmas Gift: PMD 3.9</title>
		<link>http://ianp.org/2006/12/christmas-gift-pmd-39/</link>
		<comments>http://ianp.org/2006/12/christmas-gift-pmd-39/#comments</comments>
		<pubDate>Wed, 20 Dec 2006 14:19:10 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[PMD]]></category>
		<category><![CDATA[Project Automation]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=80</guid>
		<description><![CDATA[Just in time for Christmas, Tom Copeland has announced a new
release of PMD with some notable speed increases. Hopefully this will make it fast enough to use the Eclipse plug-in in regular development, rather than having a separate &#8216;analysis&#8217; phase to clean up any warts before each&#160;release.
]]></description>
			<content:encoded><![CDATA[<p>Just in time for Christmas, <a href="http://tomcopeland.blogs.com/juniordeveloper">Tom Copeland</a> has <a href="http://tomcopeland.blogs.com/juniordeveloper/2006/12/pmd_39_three_ti.html">announced</a> a new
release of <a href="http://pmd.sourceforge.net/">PMD</a> with some notable speed increases. Hopefully this will make it fast enough to use the <a href="http://pmd.sourceforge.net/integrations.html#eclipse">Eclipse plug-in</a> in regular development, rather than having a separate &lsquo;analysis&rsquo; phase to clean up any warts before each&nbsp;release.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2006/12/christmas-gift-pmd-39/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using JUnit in Eclipse Ant Builds</title>
		<link>http://ianp.org/2004/11/using-junit-in-eclipse-ant-builds/</link>
		<comments>http://ianp.org/2004/11/using-junit-in-eclipse-ant-builds/#comments</comments>
		<pubDate>Thu, 18 Nov 2004 18:11:41 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ant]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[JUnit]]></category>
		<category><![CDATA[Project Automation]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=49</guid>
		<description><![CDATA[Just a quick note so that it gets into the Google help engine. By default the copy of Ant that is included with Eclipse does not reference it&#8217;s own internal copy of JUnit on it&#8217;s class path, to change this open up the preferences window (hit command-comma if you&#8217;re on a Mac) and open the [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note so that it gets into the <a href="http://www.google.com">Google</a> help engine. By default the copy of <a href="http://ant.apache.org">Ant</a> that is included with <a href="http://www.eclipse.org">Eclipse</a> does not reference it&#8217;s own internal copy of <a href="http://www.junit.org">JUnit</a> on it&#8217;s class path, to change this open up the preferences window (hit command-comma if you&#8217;re on a Mac) and open the Ant/Runtime node then add the JUnit location to the global path. If you&#8217;re doing full-source editing (which is highly recommended for all Eclipse users!) then you can just add a workspace reference and it will work&nbsp;fine.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2004/11/using-junit-in-eclipse-ant-builds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic Classpaths in Eclipse</title>
		<link>http://ianp.org/2004/10/dynamic-classpaths-in-eclipse/</link>
		<comments>http://ianp.org/2004/10/dynamic-classpaths-in-eclipse/#comments</comments>
		<pubDate>Sun, 03 Oct 2004 05:10:58 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=46</guid>
		<description><![CDATA[In Eclipse your plug-ins normally have their classpath&#8217;s based upon their dependencies. I&#8217;m playing around with an RCP based application that will need to reference external libraries to avoid onerous licensing requirements. Here&#8217;s the somewhat convoluted code required to do&#160;this:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Context getContext&#40;&#41; &#123;
	if &#40;context != null&#41; &#123; return context; &#125;
	final Properties props = new Properties&#40;&#41;;
	props.put&#40;Context.INITIAL_CONTEXT_FACTORY, getInitialContextFactory&#40;&#41;&#41;;
	props.put&#40;Context.PROVIDER_URL, [...]]]></description>
			<content:encoded><![CDATA[<p>In Eclipse your plug-ins normally have their classpath&rsquo;s based upon their dependencies. I&#8217;m playing around with an <abbr title="Rich Client Platform">RCP</abbr> based application that will need to reference external libraries to avoid onerous licensing requirements. Here&#8217;s the somewhat convoluted code required to do&nbsp;this:</p>


<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
</pre></td><td class="code"><pre class="java" style="font-family:monospace;"><span style="color: #003399;">Context</span> getContext<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>context <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span> <span style="color: #000000; font-weight: bold;">return</span> context<span style="color: #339933;">;</span> <span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">final</span> <span style="color: #003399;">Properties</span> props <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">Properties</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	props.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span>.<span style="color: #006633;">INITIAL_CONTEXT_FACTORY</span>, getInitialContextFactory<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	props.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span>.<span style="color: #006633;">PROVIDER_URL</span>, getProviderURL<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	props.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span>.<span style="color: #006633;">SECURITY_PRINCIPAL</span>, getDirectoryPrincipal<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	props.<span style="color: #006633;">put</span><span style="color: #009900;">&#40;</span><span style="color: #003399;">Context</span>.<span style="color: #006633;">SECURITY_CREDENTIALS</span>, getDirectoryCredentials<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">URL</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> classpath <span style="color: #339933;">=</span> <span style="color: #000066; font-weight: bold;">null</span><span style="color: #339933;">;</span>
	Plugin plugin <span style="color: #339933;">=</span> JmsPlugin.<span style="color: #006633;">getPlugin</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> stringList <span style="color: #339933;">=</span> plugin.<span style="color: #006633;">getPluginPreferences</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getString</span><span style="color: #009900;">&#40;</span>PreferencesInitializer.<span style="color: #006633;">CLASS_PATH</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">StringTokenizer</span> st <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">StringTokenizer</span><span style="color: #009900;">&#40;</span>stringList, <span style="color: #003399;">File</span>.<span style="color: #006633;">pathSeparator</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003399;">ArrayList</span> v <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">ArrayList</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">while</span> <span style="color: #009900;">&#40;</span>st.<span style="color: #006633;">hasMoreElements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
			v.<span style="color: #006633;">add</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;file://&quot;</span> <span style="color: #339933;">+</span> st.<span style="color: #006633;">nextElement</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
		classpath <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">URL</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span> v.<span style="color: #006633;">toArray</span><span style="color: #009900;">&#40;</span><span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URL</span><span style="color: #009900;">&#91;</span>v.<span style="color: #006633;">size</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">MalformedURLException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> msg <span style="color: #339933;">=</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Debug.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span>plugin, <span style="color: #cc66cc;">0</span>, msg <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">?</span> msg <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #003399;">ClassLoader</span> oldClassLoader <span style="color: #339933;">=</span> <span style="color: #003399;">Thread</span>.<span style="color: #006633;">currentThread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getContextClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #003399;">ClassLoader</span> newClassLoader <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">URLClassLoader</span><span style="color: #009900;">&#40;</span>classpath, getClass<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getClassLoader</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000000; font-weight: bold;">try</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">Thread</span>.<span style="color: #006633;">currentThread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setContextClassLoader</span><span style="color: #009900;">&#40;</span>newClassLoader<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		context <span style="color: #339933;">=</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">InitialDirContext</span><span style="color: #009900;">&#40;</span>props<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">catch</span> <span style="color: #009900;">&#40;</span><span style="color: #003399;">NamingException</span> e<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">String</span> msg <span style="color: #339933;">=</span> e.<span style="color: #006633;">getMessage</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		Debug.<span style="color: #006633;">error</span><span style="color: #009900;">&#40;</span>plugin, <span style="color: #cc66cc;">0</span>, msg <span style="color: #339933;">!=</span> <span style="color: #000066; font-weight: bold;">null</span> <span style="color: #339933;">?</span> msg <span style="color: #339933;">:</span> <span style="color: #0000ff;">&quot;&quot;</span>, e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000000; font-weight: bold;">throw</span> <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #003399;">RuntimeException</span><span style="color: #009900;">&#40;</span>e<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span> <span style="color: #000000; font-weight: bold;">finally</span> <span style="color: #009900;">&#123;</span>
		<span style="color: #003399;">Thread</span>.<span style="color: #006633;">currentThread</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">setContextClassLoader</span><span style="color: #009900;">&#40;</span>oldClassLoader<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #000000; font-weight: bold;">return</span> context<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>


<p>The relevant code is in the first <code>try... catch</code> block. Then I can have this plug-in rely on a second plug in which includes the <abbr title="Java Message Service">JMS</abbr> interfaces only, and have a preference page which allows the user to select a third party <abbr>JMS</abbr> provider by <abbr title="Uniform Resource Locator">URL</abbr>. At the moment it won&#8217;t handle <abbr>JMS</abbr> providers that reply on native methods, but that could be fixed the same way if needed. The <code>Debug.error(...)</code> is just a utility class to log an Eclipse <code>IStatus.ERROR</code> message.
As an added benefit of this approach, because I use the latest <abbr>API</abbr> version in my <abbr>JMS</abbr> plugin, I can check for a <abbr>JMS</abbr> version at runtime using the metadata returned by <code>Connection.getMetaData()</code> and then only call <abbr>JMS</abbr> 1.1 supplied methods when they are&nbsp;available.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2004/10/dynamic-classpaths-in-eclipse/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interactive Programming</title>
		<link>http://ianp.org/2004/09/interactive-programming/</link>
		<comments>http://ianp.org/2004/09/interactive-programming/#comments</comments>
		<pubDate>Fri, 24 Sep 2004 07:09:45 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=45</guid>
		<description><![CDATA[After playing around with Lisp for a few days I&#8217;ve diverted myself back to a small Java project. Almost immediately I&#8217;m missing the Lisp environment! To be sure there are some things that I prefer about my Java environment, which is Eclipse, but I just miss having an interactive top-level so much! It&#8217;s just amazingly [...]]]></description>
			<content:encoded><![CDATA[<p>After playing around with Lisp for a few days I&#8217;ve diverted myself back to a small Java project. Almost immediately I&#8217;m missing the Lisp environment! To be sure there are some things that I prefer about my Java environment, which is <a href="http://www.eclipse.org">Eclipse</a>, but I just miss having an interactive top-level so much! It&#8217;s just amazingly convenient to be able to try sunning a fragment of code, and the ability to tweak it and try again if you hit any problems is such a productvity&nbsp;boost.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2004/09/interactive-programming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SWT Look &amp; Feel</title>
		<link>http://ianp.org/2004/04/swt-look-feel/</link>
		<comments>http://ianp.org/2004/04/swt-look-feel/#comments</comments>
		<pubDate>Sun, 11 Apr 2004 07:04:14 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=39</guid>
		<description><![CDATA[

Recently in the Eclipse news group there&#8217;s been a lot of complaints about the new widget style that is now the default in mlilestone 8. Many people are saying that the new widgets are bad because they are emulated in Java, and not real native widgets at all. This seems really odd to me in [...]]]></description>
			<content:encoded><![CDATA[<p><img src="/images/2004/04/emulated-vs-native.png" alt="New Eclipse Widgets" /></p>

<p>Recently in the <a href="news://news.eclipse.org/eclipse.platform">Eclipse news group</a> there&#8217;s been a lot of complaints about the new widget style that is now the default in mlilestone 8. Many people are saying that the new widgets are bad because they are emulated in Java, and not real native widgets at all. This seems really odd to me in some ways, since the widgets have always been emulated in Java, it&#8217;s not llike this is some new thing that&#8217;s been sprung upon us by the&nbsp;developers.</p>

<p>But then in other ways I&#8217;m not surprised, because for all Eclipse&#8217;s touted native look and feel it&#8217;s always really been a Windows application. Compare the new Eclipse widgets with those of a native Gnome application (GEdit in this case) and you&#8217;ll see at once that they look out of place. But this has always been the case. The real solution surely, is to use genuine native widgets here. The only reason the Windows crowd are screaming now is that Eclipse is becoming more cross platform in it&#8217;s look and feel, not&nbsp;less.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2004/04/swt-look-feel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse 3 Milestone 8</title>
		<link>http://ianp.org/2004/03/eclipse-3-milestone-8/</link>
		<comments>http://ianp.org/2004/03/eclipse-3-milestone-8/#comments</comments>
		<pubDate>Sun, 28 Mar 2004 08:03:14 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=37</guid>
		<description><![CDATA[Has been released, get it from the usual place. Initial impressions are that the new look and feel has been cleaned up and much improved. I found the last release a little buggy (under Linux GTK) so hopefully this will be more&#160;stable.
]]></description>
			<content:encoded><![CDATA[<p>Has been released, get it from the usual place. Initial impressions are that the new look and feel has been cleaned up and much improved. I found the last release a little buggy (under Linux <abbr>GTK</abbr>) so hopefully this will be more&nbsp;stable.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2004/03/eclipse-3-milestone-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse &amp; Netbeans</title>
		<link>http://ianp.org/2003/12/eclipse-netbeans/</link>
		<comments>http://ianp.org/2003/12/eclipse-netbeans/#comments</comments>
		<pubDate>Thu, 18 Dec 2003 13:12:50 +0000</pubDate>
		<dc:creator>Ian Phillips</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[NetBeans]]></category>

		<guid isPermaLink="false">http://ianp.org/?p=24</guid>
		<description><![CDATA[Talk of merging Eclipse and NetBeans is off then, according to this recent post. I can&#8217;t say that I&#8217;m surprised, since many of the differences between the two &#8216;platforms&#8217; have become religious&#160;issues.

What I&#8217;d like to see, however, is soome commonality and code sharing between the two where it makes sense. For example in the resource [...]]]></description>
			<content:encoded><![CDATA[<p>Talk of merging <a href="http://www.eclipse.org">Eclipse</a> and <a href="http://www.netbeans.org">NetBeans</a> is off then, according to <a href="http://weblogs.java.net/pub/wlg/751" title="Partial Eclipse">this</a> recent post. I can&#8217;t say that I&#8217;m surprised, since many of the differences between the two &#8216;platforms&#8217; have become religious&nbsp;issues.</p>

<p>What I&#8217;d like to see, however, is soome commonality and code sharing between the two where it makes sense. For example in the resource management / virtual file system <abbr>API</abbr>s, or their action <abbr>API</abbr>. This kind of thing would make writing plugins that work with multiple <abbr title="Integrated development Environment">IDE</abbr>s much easier, and would avoid duplication of effort, allowing the developers to enhance the two products in new&nbsp;ways.</p>
]]></content:encoded>
			<wfw:commentRss>http://ianp.org/2003/12/eclipse-netbeans/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
