PacktLib: Ext GWT 2.0: Beginner's Guide

Ext GWT 2.0 Beginner's Guide

Credits

About the Author

About the Reviewers

Preface

Getting Started with Ext GWT

What is GWT missing?

What does Ext GWT offer?

How is Ext GWT licensed?

Alternatives to Ext GWT

Ext GWT or GXT?

Working with GXT: A different type of web development

How GXT fits into GWT

Downloading what you need

Eclipse setup

GWT setup

Time for action – setting up GWT

GXT setup

Time for action – setting up GXT

GWT project creation

Time for action – creating a GWT project

GXT project configuration

Time for action – preparing the project to use GXT

Differences of GXT controls

Time for action – adapting the GWT app to use GXT controls

Summary

The Building Blocks

The Ext GWT Explorer Demo

Essential knowledge

GXT building block 1: Component

GXT building block 2: Container

GXT building block 3: Events

Introducing the example application

Blank project

Time for action – creating a blank project

Viewport

Time for action – adding a Viewport

Layout

BorderLayoutData

Time for action – using BorderLayout

Loading message

Time for action – adding a loading message

Custom components

Time for action – creating custom components

First field components

Button

Creating a Link feed button

Time for action – adding a button

Tooltip

Time for action – adding a tooltip

Popup

Time for action – creating a popup

SelectionListener

Time for action – adding a SelectionListener

Field

TextField

Time for action – adding components to the Link feed popup

Popup positioning and alignment

Time for action – positioning the popup

Summary

Forms and Windows

Change of requirements

FormPanel

Fields

Expanding the example application

Creating a Create feed button

Time for action – adding a Create feed button

Creating a Feed class

Time for action – creating a feed data object

Window

FitLayout

Creating the FeedWindow component

Time for action – creating a Window

Creating FeedForm

Time for action – creating a feed form

Validating fields

Time for action – adding field validation

Using FieldMessages

Time for action – adding FieldMessages to the fields

Submitting a form using HTTP

Alternative to submitting a form using HTTP

Creating a Feed service

Time for action – creating service for feed objects

The Registry

Storing the service in the Registry

Time for action – using the Feed object

Saving a Feed

Time for action – saving an object to the registry

Creating RSS XML

Time for action – saving a Feed

Time for action – adding to the LinkFeedPopup

Summary

Data-backed Components

Working with data

ModelData interface

BeanModel class

Time for action – creating a BeanModelMarker for Feed objects

Stores

Time for action – creating and populating a ListStore

Data-backed ComboBox

Data-backed ListField

Time for action – creating a ListField for feeds

Server-side persistence

Time for action – persisting a link to an existing feed

Time for action – persisting a feed as an XML document

Server-side retrieval

Time for action – loading feeds

Using remote data

LoadConfig

How they fit together

Time for action – using remote data with a ListField

Grid

ColumnConfig

Grid Example

Time for action – creating the ItemGrid

GridCellRenderer

Time for action – using a GridCellRenderer

Summary

More Components

Trees

Time for action – creating a BaseTreeModel

Time for action – providing categorized items

Time for action – using an ImageBundle

Time for action – replacing the Feed List with a Feed Tree

Advanced grid features

Time for action – providing paged data

Time for action – creating a paging grid

Menus and toolbars

Time for action – adding a toolbar

TabPanel class

TabItem class

Time for action – adding a Status component

Summary

Templates

Time for action – adding to the Feed and Item

Template class

Time for action – creating the ItemPanel

Time for action – using a Template with a ListField

XTemplate class

The RowExpander class

Time for action – using a RowExpander

The ListView class

Time for action – creating a Feed overview ListView

The ModelProcessor class

Time for action – pre-processing model data

Item selectors

Time for action – making ListView items selectable

CheckBoxListView

Summary

Model View Controller

The need for good application structure

The classic Model View Controller pattern

The GXT Model View Controller

The AppEvent class

The EventType class

Time for action – defining application events

Controller class

Time for action – creating a controller

Time for action – handling events

The View class

Time for action – creating a View

Dispatcher

Incorporating MVC

Time for action – registering a Controller with the Dispatcher

Time for action – refactoring UI setup

Time for action – creating the navigation Controller and View

Time for action – creating the FeedPanel Controller and View

Allowing viewing of multiple feeds

Time for action – adding tabs

Wiring it together

Time for action – responding to selections

Keeping things in sync

Time for action – responding to a Feed being added

Time for action – creating a status toolbar Controller and View

Summary

Portal and Drag-and-Drop

Portlet class

The Portal class

ToolButton

Time for action – creating a Portal Controller and a Portlet View

Time for action – creating the Navigation Portlet

Time for action – creating more portlets

Drag-and-drop

Using drag-and-drop

Time for action – dragging and dropping of feeds

Time for action – dragging and dropping items

Summary

Charts

Time for action – including the chart module

Time for action – including the chart resources

Time for action – loading the chart JavaScript library

Chart class

Time for action – creating a chart Portlet

ChartModel class

ChartConfig class

BarChart class

PieChart class

PieChart.Slice class

LineChart class

AreaChart class

ScatterChart class

StackedBarChart class

Using a PieChart

Time for action – creating PieChart data

Summary

Putting It All Together

Using Google App Engine

Time for action – registering a Google App Engine application

Time for action – getting the application ready for GAE

Time for action – using the Google App Engine data store

Time for action – publishing the example application

Google Chrome

Time for action – creating a Google Chrome application shortcut

Gears

Mobile applications

The future for GXT

Getting more information

Summary

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Pop Quiz Answers

Index