May 9th, 2012

Checkbox in cell table/ data grid header

Here is a simple column header that selects/ de-selects all rows in a table. When all rows are checked, the header becomes checked automatically. Clicking o the checkbox in the header causes either to select or de-select all rows.

I am using the selection model and the data list provider to do the selection magic.

May not work for everyone….

And here is my custom header:

public final class CheckboxHeader extends Header {
 
	private final MultiSelectionModel selectionModel;
	private final ListDataProvider provider;
 
	public CheckboxHeader(MultiSelectionModel selectionModel,
			ListDataProvider provider) {
		super(new CheckboxCell());
		this.selectionModel = selectionModel;
		this.provider = provider;
	}
 
	@Override
	public Boolean getValue() {
		boolean allItemsSelected = selectionModel.getSelectedSet().size() == provider
				.getList().size();
		return allItemsSelected;
	}
 
	@Override
	public void onBrowserEvent(Context context, Element elem, NativeEvent event) {
		InputElement input = elem.getFirstChild().cast();
		Boolean isChecked = input.isChecked();
		for (TYPE element : provider.getList()) {
			selectionModel.setSelected(element, isChecked);
		}
	}
 
}
May 4th, 2012

Studie und GWT Referenzliste

Ich möchte kurz auf zwei Dinge aufmerksam machen, die mich in letzter Zeit beschäftigt haben…

Entstanden sind zwei Instrumente, die für uns GWT-Interessierte relevant sein könnten: zum einen geht es um eine Studie, die im kleinen Kreis den Einsatz von GWT in deutschen Unternehmen dokumentiert, zum anderen geht es tatsächlich um eine Liste mit Unternehmen, die GWT einsetzen.

OIO Kompass : Java Web-Frameworks

 

Im letzten Jahr habe ich in Zusammenarbeit mit der Firma Orientaion in Objects, Mannheim, im kleinen Kreis eine Umfrage zu den Hintergründen der Auswahl von Java Web-Frameworks im deutschsprachigen Raum durchgeführt.

Die Studie, die wir kürzlich veröffentlicht haben, beruhte auf 50 Entscheidungen. Von diesen Entscheidungen waren ca. 250 Entwickler und 200 Projekte betroffen. Genug, um eine erste Studie zu veröffentlichen. Die Studie kann auch als PDF geladen werden.

Unter dem reisserischem Titel Java-Frameworks: Zweikampf zwischen JSF und GWT hatte unsere kleine Studie einen kleinen Auftritt in den Medien.

 

 

Und somit ist auch die zweite Runde eingeleitet: mit einem überarbeiteten Fragebogen wollen wir die Studie nochmal im großen Kreis durchführen.


Hier geht es direkt zur aktuellen Umfrage.

Für die Beantwortung der Fragen veranschlagen wir rund 10 bis 15 Minuten:

 

 

GWT Referenzliste

In den letzten Jahren wurde ich unzählige Male danach gefragt, welche Unternehmen GWT einsetzen würden. In diesem Kontext ist eine kleine GWT Anwendung entstanden, in der sich Unternehmen anmelden können, die GWT im Einsatz haben.

Inzwischen sind 80+ Unternehmen eingetragen, darunter 20++ aus Deutschland und 20++ aus den USA.

Die Liste ist öffentlich zugänglich, die Kontaktdaten werden nicht veröffentlicht (dienen nur für Rückfragen und Verifizierung). Optional können ein paar Angaben zum Kontext gemacht werden, daraus entstehen die netten Statistiken, die ebenfalls öffentlich zugänglich sind.

Mit ein bisschen Hilfe können wir sicherlich die Anzahl der deutschen Unternehmen in der Liste deutlich erhöhen. Für die Registrierung werden keine 5 Minuten veranschlagt…

 

March 29th, 2012

Titelthema Javascript & Eclipse im Eclipse Magazin 2.12

Zeiten des Wandels

Als Java-Entwickler ist man nicht selten Webentwickler. Über einen ungewöhnlich langen Zeitraum haben sich die Technologien um einen herum kaum geändert: Das W3C hat sich in Bezug auf HTML lange seitwärts, insgesamt im Kreis, aber praktisch kaum bewegt, der Browserkrieg schien gewonnen und mit den Java-Webframeworks waren wir im Großen und Ganzen recht zufrieden.

The Web 2.0 Toolkit

Das Google Web Toolkit ist eine Sammlung von Werkzeugen und Bibliotheken für die Entwicklung von JavaScript-Anwendungen. Das Toolkit wird sowohl intern von Google als auch weltweit in vielen Projekten eingesetzt. Das Besondere an GWT ist die Vorgehensweise: Ein Compiler liest Java-Quellen ein und generiert JavaScript. Somit können Java-Entwickler auf bestehendes Wissen, Erfahrungen und Werkzeuge aufsetzen. Allerdings hat GWT nicht den Versuch unternommen, das gesamte JDK und Swing im Browser zu unterstützen. Die JDK-Unterstützung ist fragmentarisch (nicht alle Klassen können verwendet werden), und GWT liefert ein eigenes, an HTML orientiertes
UI-Komponentenmodell.


Der komplette Artikel von Benjamin Bart (Orientation in Objects GmbH) und Papick G. Taboada (pgt technology scouting GmbH)  kann im PDF nachgelesen werden und stammt aus der Ausgabe 2.12 des Eclipse Magazins.

March 21st, 2012

How to cancel backspace key from navigating back…

Don’t ask me who had the insane idea that one can navigate back when pressing the back space.

In GWT we did something like that to cancel the backspace back navigation:

Event.addNativePreviewHandler(new NativePreviewHandler() {
    @Override
    public void onPreviewNativeEvent(NativePreviewEvent event) {
        if (event.getNativeEvent().getKeyCode() == KeyCodes.KEY_BACKSPACE) {
            if (event.getNativeEvent().getEventTarget() != null) {
                Element as = Element.as(event.getNativeEvent().getEventTarget());
                if (as == RootPanel.getBodyElement()) {
                    event.getNativeEvent().stopPropagation();
                    event.getNativeEvent().preventDefault();
                }
            }
 
        }
    }
});
March 15th, 2012

Companies using Google Web Toolkit

Every now and than I get asked for a reference list of companies using GWT.

First, there is Google:

„AdWords, AdSense, Flights, Hotel Finder, Offers, Wallet, The New Blogger, Chrome Webstore, Product Search, Public Data, New Google Groups, Orkut, Google Takeout, Google Pagespeed, Google WebFonts, Google Tables, Google Health (discontinued), Google Wave (discontinued), PlayN (basis of Angry Birds)“

And now, online, there is a public reference list of companies using GWT:

http://gwtreferencelist.appspot.com/

There you will find the company list, some fancy charts and the “register company” form. Using GWT and not on the list? Please register!