Working with GXT: A different type of web development
Time for action - setting up GWT
Time for action - setting up GXT
Time for action - creating a GWT project
Time for action - preparing the project to use GXT
Time for action - adapting the GWT app to use GXT controls
GXT building block 1: Component
GXT building block 2: Container
Introducing the example application
Time for action - creating a blank project
Time for action - adding a Viewport
Time for action - using BorderLayout
Time for action - adding a loading message
Time for action - creating custom components
Time for action - adding a button
Time for action - adding a tooltip
Time for action - creating a popup
Time for action - adding a SelectionListener
Time for action - adding components to the Link feed popup
Popup positioning and alignment
Time for action - positioning the popup
Expanding the example application
Time for action - adding a Create feed button
Time for action - creating a feed data object
Creating the FeedWindow component
Time for action - creating a Window
Time for action - creating a feed form
Time for action - adding field validation
Time for action - adding FieldMessages to the fields
Alternative to submitting a form using HTTP
Time for action - creating service for feed objects
Storing the service in the Registry
Time for action - using the Feed object
Time for action - saving an object to the registry
Time for action - saving a Feed
Time for action - adding to the LinkFeedPopup
Time for action - creating a BeanModelMarker for Feed objects
Time for action - creating and populating a ListStore
Time for action - creating a ListField for feeds
Time for action - persisting a link to an existing feed
Time for action - persisting a feed as an XML document
Time for action - loading feeds
Time for action - using remote data with a ListField
Time for action - creating the ItemGrid
Time for action - using a GridCellRenderer
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
Time for action - providing paged data
Time for action - creating a paging grid
Time for action - adding a toolbar
Time for action - adding a Status component
Time for action - adding to the Feed and Item
Time for action - creating the ItemPanel
Time for action - using a Template with a ListField
Time for action - using a RowExpander
Time for action - creating a Feed overview ListView
Time for action - pre-processing model data
Time for action - making ListView items selectable
The need for good application structure
The classic Model View Controller pattern
Time for action - defining application events
Time for action - creating a controller
Time for action - handling events
Time for action - creating a View
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 - responding to selections
Time for action - responding to a Feed being added
Time for action - creating a status toolbar Controller and View
Time for action - creating a Portal Controller and a Portlet View
Time for action - creating the Navigation Portlet
Time for action - creating more portlets
Time for action - dragging and dropping of feeds
Time for action - dragging and dropping items
Time for action - including the chart module
Time for action - including the chart resources
Time for action - loading the chart JavaScript library
Time for action - creating a chart Portlet
Time for action - creating PieChart data
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
Time for action - creating a Google Chrome application shortcut