GWT4NB:Introduction to the Google Web Toolkit Framework

GWT4NB is the GWT plugin for Netbeans. Check the article here to get started.It looks neat and really help full for the starters. If you are Eclipse user, like me, you can check, Cypal Studio and GWT Designer. GWT Designer is commercial and it got graphical editor, have features like previews, drag and drop (Both features are very useful for prototyping, can not rely on it for production) . Try the trail version before going to buy the license. For me, Cypal Studio, is more than enough to get the job done.

Programmatically setting Eclipse ‘intro’ page in standby/sticky mode

If you are contributing custom Intro page in your Eclipse RCP, it is often the case that you will be contributing some of your own actions too. Sometimes after completion of these actions, you may want to put your intro page to standby or sticky mode. Here is the small code snippet, I think, will help you in this scenario,

IIntroPart introPart = PlatformUI.getWorkbench().getIntroManager().getIntro();
PlatformUI.getWorkbench().getIntroManager().setIntroStandby(introPart , true);

Also check ‘IIntroManager’ for other operations.

XHTML support in the Eclipse Welcome Framework

If you are developing a product using Eclipse framework, there will be more chances of having your own welcome page. I did not find any articles on this when I searched. But I found this link, which can help as tutorial for building custom welcome pages.
Follow the examples carefully. Note that all the pages should be strict XHTML 1.0 complaint. Absorb the steps specified in the examples. Violating it may sometimes work but sometimes leads to abnormal behavior . For example,one of the cases I came across, the ‘page’ element specified in introContent.xml(the file you specify in org.eclipse.ui.intro.config extension), like this,

<?xml version=”1.0″ encoding=”utf-8″ ?>
<page id=”root” url=”content/root.xhtml”></page>
This works in some systems. But sometimes it will prompt the user to download or save ‘root.xhtml’ file. In my case the user got this problem as soon as he installed Firefox browser but I am not sure this is the actual cause. To fix this problem, you should use ‘content’ attribute instead of ‘url’ attribute while specifying ‘page’ element,

<?xml version=”1.0″ encoding=”utf-8″ ?>
<page id=”root” content=”content/root.xhtml”></page>

Assessing the Survivors of the Java IDE Wars

Jacek Furmankiewicz evaluated strengths and weaknesses of Java IDEs-Eclipse, Idea and Netbeans, in an  article. A thread is running on Readers passionately poured their comments on why their IDE’s is superior to other.  One of the reader commented that the number one reason people use Eclipse is because it is free. I say, Eclipse is the best Java free IDE available. Netbeans 4 was free but developers started treating it with respect only after Netbeans 5. I have to mention that, they have done amazing job with Netbeans 5.5 and its modules for JEE5. You can create CRUD based JEE 5 app, with Entity Classes, JSF pages, persistent unit without writing single line of code, if you have existing database schema.

I started my Java development with Eclipse and still sticking to it. I feel it is fast and easy to do Java coding. It’s code completion, incremental compiling, support for fixing errors, refactoring and debugging are great. Over the time I became so comfortable with Eclipse, that, when I come across new IDE, I will simply ignore it, unless it increases my productivity massively when compared with Eclipse. Even if I switch to new IDE, it will take sometime to get used to shortcuts and other features.This is the same case with most of the developers. I hardly used IDEA. IDEA users says it is faster than Eclipse and I don’t know about other features in IDEA . But I don’t find anything in Eclipse that is blocking my productivity in the area I am working.

Sometimes the nature of your project and your company’s working environment forces you to choose the IDE. One of the reasons I am slightly inclined towards Eclipse is I am Eclipse plug-in developer. To be productive in this area I need to use Eclipse. But I am not totally biased towards Eclipse. For example, if I have to do Swing development, I will choose Netbeans 5.5 over Eclipse or if I want to write J2EE app that will be deployed on Websphere, I will go for WSAD. If it is pure Java coding, I will stick with Eclipse.

Customizing selection handles of GEF figures

Whenever a figure is selected in the GEF Editor, by default, you will see black,filled rectangle resize handles and a black border outlining the figure. Showing these handles is the job of container editpart of the selected figure’s editpart by defining resizable or non resizable editpolicy for it’s children. For this to happen, you need to install an edit policy which is subclass of ConstrainedLayoutEditPolicy (generally, XYLayoutEditPolicy ) in container figure’s editpart. By default, ‘createChildEditPolicy’ method of ConstrainedLayoutEditPolicy returns instance of ResizableEditPolicy. If you want your child figures not resizable you need to override this method and return instance of NonResizableEditPolicy. If you also want to display your own custom selection handles you need to subclass one of these resize editpolicies and override ‘createSelectionHandles’ method of SelectionHandlesEditPolicy .Both ResizableEditPolicy and NonResizableEditPolicy are sub classes of SelectionHandlesEditPolicy. Both override ‘createSelectionHandles’ in order to provide their own handles. Checkout the overridden method(createSelectionHandles) of these classes, it will give you good idea on how to add or remove handles. The MoveHandle is responsible for providing black line border. ResizeHandle and NonResizableHandle are responsible for black, filled squares. You can simply override these classes and customize for your need. Checkout the methods of these handle classes to get an idea.