Files
Brainstorm/Foundation TCV SWT Client/src/com/foundation/tcv/swt/client/Link.java

98 lines
3.3 KiB
Java
Raw Normal View History

2014-05-30 10:31:51 -07:00
/*
* Copyright (c) 2005,2007 Declarative Engineering LLC.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Declarative Engineering LLC
* verson 1 which accompanies this distribution, and is available at
* http://declarativeengineering.com/legal/DE_Developer_License_v1.txt
*/
package com.foundation.tcv.swt.client;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.events.SelectionListener;
import com.common.debug.Debug;
import com.foundation.tcv.swt.ILink;
import com.foundation.tcv.view.ViewMessage;
public class Link extends Component implements ILink, SelectionListener {
/**
* Link constructor.
*/
public Link() {
super();
}//Link()//
/**
* Gets the SWT link that represents this link.
* @return The SWT link providing visualization for this link.
*/
public org.eclipse.swt.widgets.Link getSwtLink() {
return (org.eclipse.swt.widgets.Link) getSwtControl();
}//getSwtLink()//
/* (non-Javadoc)
* @see com.foundation.tcv.swt.client.AbstractComponent#internalViewInitialize()
*/
protected void internalViewInitialize() {
getSwtLink().addSelectionListener(this);
super.internalViewInitialize();
}//internalViewInitialize()//
/* (non-Javadoc)
* @see com.foundation.tcv.swt.client.AbstractComponent#internalViewRelease()
*/
protected void internalViewRelease() {
if(getSwtLink() != null && !getSwtLink().isDisposed()) {
getSwtLink().removeSelectionListener(this);
}//if//
super.internalViewRelease();
}//internalViewRelease()//
/* (non-Javadoc)
* @see com.foundation.tcv.swt.client.AbstractComponent#internalProcessMessage(com.foundation.tcv.model.ViewMessage)
*/
public Object internalProcessMessage(ViewMessage viewMessage) {
Object retVal = null;
switch(viewMessage.getMessageNumber()) {
case MESSAGE_INITIALIZE: {
if(getSwtControl() == null) {
int[] data = (int[]) viewMessage.getMessageData();
int style = data[1];
//Link to the parent container.//
setContainer((Container) getComponent(data[0]));
getContainer().addComponent(this);
//Create the SWT widget.//
setSwtWidget(new org.eclipse.swt.widgets.Link(getContainer().getSwtParent(), style));
getSwtWidget().setData(this);
//If the container has already been initialized then force the parent to re-layout so that this component will appear.//
if(getContainer().isInitialized()) {
getContainer().getSwtComposite().layout(true, true);
}//if//
}//if//
break;
}//case//
case MESSAGE_SET_TEXT: {
getSwtLink().setText((String) viewMessage.getMessageData());
break;
}//case//
default: {
retVal = super.internalProcessMessage(viewMessage);
}//default//
}//switch//
return retVal;
}//internalProcessMessage()//
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetDefaultSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetDefaultSelected(SelectionEvent e) {
//TODO: When is this called?//
Debug.log("Default Selected Called <Why?>");
}//widgetDefaultSelected()//
/* (non-Javadoc)
* @see org.eclipse.swt.events.SelectionListener#widgetSelected(org.eclipse.swt.events.SelectionEvent)
*/
public void widgetSelected(SelectionEvent e) {
sendRoundTripMessage(MESSAGE_VIEW_SYNCHRONIZE_SELECTION, null, null);
}//widgetSelected()//
}//Link//