^1439975596740
@
sname
shell
stext
StyledText
sNO_TRIM
false
sCLOSE
true
sTITLE
true
sMIN
true
sMAX
true
sBORDER
false
sRESIZE
true
sON_TOP
false
sTOOL
false
sNO_FOCUS
false
swidth
640
sheight
480
scenterScreen
true
spack
false
smaximized
false
sfullScreen
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
slabel
StyledText
scapture
false
senabled
true
sredraw
true
svisible
true
sxw_cl_global
false
sdescriptors
xworker.swt.widgets.Shell
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sicon
icons/org/eclipse/swt/custom/SashForm.gif
sth_mark
false
@/@shellFillLayout
sname
shellFillLayout
stype
SWT.HORIZONTAL
sxw_cl_global
false
sdescriptors
xworker.swt.Layouts/@FillLayout
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group
sname
group
stext
StyledText
sstyle
SHADOW_ETCHED_IN
sBORDER
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
slabel
StyledText
scapture
false
senabled
true
sredraw
true
svisible
true
sxw_cl_global
false
sdescriptors
xworker.swt.Widgets/@Group
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@groupFillLayout
sname
groupFillLayout
stype
SWT.VERTICAL
sxw_cl_global
false
sdescriptors
xworker.swt.Layouts/@FillLayout
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText1
sname
styledText1
stext
StyledText
sstyle
SHADOW_ETCHED_IN
sBORDER
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sxw_cl_global
false
sdescriptors
xworker.swt.Widgets/@Group
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText1/@FillLayout
sname
FillLayout
stype
SWT.HORIZONTAL
sxw_cl_global
false
sdescriptors
xworker.swt.Layouts/@FillLayout
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText1/@text1
sname
text1
sstyle
MULTI
sFULL_SELECTION
false
sREAD_ONLY
false
sWRAP
false
sH_SCROLL
true
sV_SCROLL
true
sBORDER
false
salign
LEFT
Stext
#$@text#$@
The quick brown fox jumps over the lazy dog.
One Two Three
#$@text#$@
sxw_cl_global
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.Widgets/@StyledText
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText11
sname
styledText1
stext
StyledText with Colorer
sstyle
SHADOW_ETCHED_IN
sBORDER
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sxw_cl_global
false
sdescriptors
xworker.swt.Widgets/@Group
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText11/@FillLayout
sname
FillLayout
stype
SWT.HORIZONTAL
sxw_cl_global
false
sdescriptors
xworker.swt.Layouts/@FillLayout
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText11/@text1
sname
text1
sstyle
MULTI
sFULL_SELECTION
false
sREAD_ONLY
false
sWRAP
false
sH_SCROLL
true
sV_SCROLL
true
sBORDER
false
salign
LEFT
Stext
#$@text#$@
package xworker.swt.custom;

import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.CLabel;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Composite;
import org.xmeta.ActionContext;
import org.xmeta.Bindings;
import org.xmeta.Thing;
import org.xmeta.util.UtilString;

import xworker.swt.design.Designer;

public class CLabelActions {
	public static CLabel create(ActionContext actionContext){
		Thing self = (Thing) actionContext.get("self");
		
		int style = SWT.NONE;
		String selfStyle = self.getString("style");
		if("WRAP".equals(selfStyle)){
			style |= SWT.WRAP;
		}else if("SEPARATOR".equals(selfStyle)){
			style |= SWT.SEPARATOR;
		}
		
		String selfType = self.getString("type");
		if("HORIZONTAL".equals(selfType)){
			style |= SWT.HORIZONTAL;
		}else if("VERTICAL".equals(selfType)){
			style |= SWT.VERTICAL;
		}
		
		String shadow = self.getString("shadow");
		if("SHADOW_IN".equals(shadow)){
			style |= SWT.SHADOW_IN;
		}else if("SHADOW_OUT".equals(shadow)){
			style |= SWT.SHADOW_OUT;
		}else if("SHADOW_NONE".equals(shadow)){
			style |= SWT.SHADOW_NONE;
		}		
		    
		if(self.getBoolean("BORDER"))
		    style |= SWT.BORDER;
		    
		String alignment = self.getString("alignment");
		if("LEFT".equals(alignment)){
			style |= SWT.LEFT;
		}else if("CENTER".equals(alignment)){
			style |= SWT.CENTER;
		}else if("RIGHT".equals(alignment)){
			style |= SWT.RIGHT;
		}
		
		Composite parent = (Composite) actionContext.get("parent");    
		CLabel label = new CLabel(parent, style);
		
		//父类的初始化方法
		Bindings bindings = actionContext.push(null);
		bindings.put("control", label);
		try{
		    self.doAction("super.init", actionContext);
		}finally{
		    actionContext.pop();
		}
				
		Object image = actionContext.get(self.getString("image"));
		if(image != null && image instanceof Image)
		    label.setImage((Image) image);
		
		label.setText(UtilString.getString(self.getString("text"), actionContext));
		label.setToolTipText(UtilString.getString(self.getString("toolTipText"), actionContext));
		
		//保存变量和创建子事物
		actionContext.getScope(0).put(self.getString("name"), label);
		actionContext.peek().put("parent", label);
		for(Thing child : self.getAllChilds()){
		    child.doAction("create", actionContext);
		}
		actionContext.peek().remove("parent");
		
		Designer.attach(label, self.getMetadata().getPath(), actionContext);
		return label;       
	}
}
#$@text#$@
sxw_cl_global
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.Widgets/@StyledText
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText11/@text1/@Colorer
sname
Colorer
scodeName
java
scodeType
java
sdescriptors
xworker.swt.custom.StyledText/@Colorer
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText12
sname
styledText1
stext
StyledText bind TextEditor Keys
sstyle
SHADOW_ETCHED_IN
sBORDER
false
sH_SCROLL
false
sV_SCROLL
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sxw_cl_global
false
sdescriptors
xworker.swt.Widgets/@Group
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText12/@FillLayout
sname
FillLayout
stype
SWT.HORIZONTAL
sxw_cl_global
false
sdescriptors
xworker.swt.Layouts/@FillLayout
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText12/@text1
sname
text1
sstyle
MULTI
sFULL_SELECTION
false
sREAD_ONLY
false
sWRAP
false
sH_SCROLL
true
sV_SCROLL
true
sBORDER
false
salign
LEFT
Stext
#$@text#$@
The quick brown fox jumps over the lazy dog.
One Two Three

Ctrl + A: Select All
Ctrl + F: Search
#$@text#$@
sxw_cl_global
false
sNO_BACKGROUND
false
sNO_FOCUS
false
sNO_MERGE_PAINTS
false
sNO_REDRAW_RESIZE
false
sNO_RADIO_GROUP
false
sEMBEDDED
false
sDOUBLE_BUFFERED
false
scapture
false
senabled
true
sredraw
true
svisible
true
sdescriptors
xworker.swt.Widgets/@StyledText
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
@/@group/@styledText12/@text1/@TextEditor
sname
TextEditor
sdescriptors
xworker.swt.custom.StyledText/@TextEditor
sinheritDescription
false
sth_createIndex
false
sth_registMyChilds
false
sth_registDisabled
false
sth_mark
false
