/*******************************************************************************
* Copyright (c) 2002-2006 Innoopract Informationssysteme GmbH.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Innoopract Informationssysteme GmbH - initial API and implementation
******************************************************************************/
package com.w4t.ajax;
import com.w4t.*;
import com.w4t.dhtml.TreeNode;
import com.w4t.dhtml.TreeView;
import com.w4t.event.*;
public class TreeForm extends WebForm {
protected TreeView treeView;
protected WebButton webButton1;
protected WebButton webButton2;
protected WebButton webButton3;
protected void setWebComponents() throws Exception {
instanceWebComponents();
initialiseForm();
initialiseTreeView();
initialiseWebButton1();
initialiseWebButton2();
initialiseWebButton3();
initialiseEventListeners();
}
protected void initialiseForm() throws Exception {
this.setName( "TreeForm" );
WebBorderLayout TreeFormWebBorderLayout = new WebBorderLayout();
this.setWebLayout( TreeFormWebBorderLayout );
}
protected void instanceWebComponents() throws Exception {
treeView = new TreeView();
webButton1 = new WebButton();
webButton2 = new WebButton();
webButton3 = new WebButton();
}
private void initialiseTreeView() throws Exception {
this.add( treeView, WebBorderLayout.WEST );
treeView.setName( "treeView" );
TreeNode node1 = new TreeNode();
node1.setLabel( "node1" );
treeView.addItem( node1 );
}
private void initialiseWebButton1() throws Exception {
this.add( webButton1, WebBorderLayout.EAST );
webButton1.setLabel( "new tree node" );
webButton1.setName( "webButton1" );
}
private void initialiseWebButton2() throws Exception {
this.add( webButton2, WebBorderLayout.EAST );
webButton2.setLabel( "remove and add new tree node" );
webButton2.setName( "webButton2" );
}
private void initialiseWebButton3() throws Exception {
this.add( webButton3, WebBorderLayout.EAST );
webButton3.setLabel( "add sub-node" );
webButton3.setName( "webButton3" );
}
//$userdefined_start
private AjaxStatusAdapterFactory ajaxStatusAdapterFactory
= new AjaxStatusAdapterFactory();
//$userdefined_start
//$userdefinedEventListener_start
private void doTreeFormAfterRender( WebRenderEvent e ) {
AjaxStatus status = ( AjaxStatus )this.getAdapter( AjaxStatus.class );
status.updateStatus( false );
}
private void doTreeFormBeforeRender( WebRenderEvent e ) {
W4TContext.getAdapterManager().registerAdapters( ajaxStatusAdapterFactory,
WebComponent.class );
AjaxStatusUtil.preRender( this );
}
private void doWebButton1WebActionPerformed( WebActionEvent e ) {
// add new
TreeNode treeNode = new TreeNode();
treeNode.setLabel( "new node " + System.currentTimeMillis() );
treeView.addItem( treeNode );
}
private void doWebButton2WebActionPerformed( WebActionEvent e ) {
// remove first node and add new
treeView.removeItem( treeView.getItem( 0 ) );
TreeNode treeNode = new TreeNode();
treeNode.setLabel( "node replacement " + System.currentTimeMillis() );
treeView.addItem( treeNode );
}
private void doWebButton3WebActionPerformed( WebActionEvent e ) {
// remove first sub-node (if any) add sub-node to first node
TreeNode parentNode = ( TreeNode )treeView.getItem( 0 );
if( parentNode.getChildCount() > 0 ) {
parentNode.removeItem( parentNode.getItem( 0 ) );
}
TreeNode treeNode = new TreeNode();
treeNode.setLabel( "sub-node" + System.currentTimeMillis() );
parentNode.addItem( treeNode );
}
//$userdefinedEventListener_end
private void initialiseEventListeners() throws Exception {
this.addWebRenderListener( new WebRenderListener() {
public void afterRender( WebRenderEvent e ) {
doTreeFormAfterRender( e );
}
public void beforeRender( WebRenderEvent e ) {
doTreeFormBeforeRender( e );
}
} );
webButton1.addWebActionListener( new WebActionListener() {
public void webActionPerformed( WebActionEvent e ) {
doWebButton1WebActionPerformed( e );
}
} );
webButton2.addWebActionListener( new WebActionListener() {
public void webActionPerformed( WebActionEvent e ) {
doWebButton2WebActionPerformed( e );
}
} );
webButton3.addWebActionListener( new WebActionListener() {
public void webActionPerformed( WebActionEvent e ) {
doWebButton3WebActionPerformed( e );
}
} );
}
}