📄 swtwidgethelper.java
字号:
}
//
//
//
public static void generateConstructCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
if ( iWidget.containsProperty(SWT_PARENT_VAR) )
{
if ( iWidget.containsProperty(SWT_NAME) )
{
generateConstructAttributeCode(
iUIDefinition,
iWidget,
iClassDefinition);
}
else
{
generateConstructLocalCode(
iUIDefinition,
iWidget,
iClassDefinition);
}
}
else
{
generateConstructClassCode(
iUIDefinition,
iWidget,
iClassDefinition);
}
}
public static void generateConstructClassCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String widgetName = iWidget.getProperty(SWT_NAME);
String className = iWidget.getProperty(SWT_CLASS);
String packageName = iWidget.getStringProperty(SWT_PACKAGE, "org.eclipse.swt.widgets");
iClassDefinition
.addImport("org.eclipse.swt.SWT")
.addImport("org.eclipse.swt.widgets.Composite")
.addImport(packageName+'.'+className)
.setName(widgetName)
.setSuperName(className)
.getConstructor()
.setParameters("Composite iParent, int iStyle")
.addStatement("super(iParent, iStyle);");
}
public static void generateConstructAttributeCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String widgetName = iWidget.getProperty(SWT_NAME);
String widgetVar = iWidget.getProperty(SWT_VAR);
String parentVar = iWidget.getProperty(SWT_PARENT_VAR);
String className = iWidget.getProperty(SWT_CLASS);
String packageName = iWidget.getStringProperty(SWT_PACKAGE, "org.eclipse.swt.widgets");
String style = iWidget.getStringProperty(SWT_STYLE, "SWT.NONE");
iClassDefinition
.addImport("org.eclipse.swt.SWT")
.addImport(packageName+'.'+className)
.addAttribute("public", className, widgetName)
.getConstructor()
.addVariableInstantiation2(widgetVar, className, parentVar, style);
}
public static void generateConstructLocalCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String className = iWidget.getProperty(SWT_CLASS);
String widgetVar = getCountedLocalVariableName(className);
String parentVar = iWidget.getProperty(SWT_PARENT_VAR);
String packageName = iWidget.getStringProperty(SWT_PACKAGE, "org.eclipse.swt.widgets");
String style = iWidget.getStringProperty(SWT_STYLE, "SWT.NONE");
iWidget.setProperty(SWT_VAR, widgetVar);
iClassDefinition
.addImport("org.eclipse.swt.SWT")
.addImport(packageName+'.'+className)
.getConstructor()
.addLocalVariable(className, widgetVar)
.addVariableInstantiation2(
widgetVar, className, parentVar, style);
}
public static void generateConstructAnonymousCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String parentVar = iWidget.getProperty(SWT_PARENT_VAR);
String className = iWidget.getProperty(SWT_CLASS);
String packageName = iWidget.getStringProperty(SWT_PACKAGE, "org.eclipse.swt.widgets");
String style = iWidget.getStringProperty(SWT_STYLE, "SWT.NONE");
iClassDefinition
.addImport("org.eclipse.swt.SWT")
.addImport(packageName+'.'+className)
.getConstructor()
.addVariableInstantiation2(
null, className, parentVar, style);
}
//
//
//
public static void generateSetEnabledCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
if ( iWidget.containsProperty(UI_ENABLED) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
boolean enabled = iWidget.getBoolProperty(UI_ENABLED, true);
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setEnabled", enabled);
}
}
public static void generateSetSizeCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
if ( iWidget.containsProperty(UI_GEOMETRY_WIDTH) )
{
int width = iWidget.getIntProperty(UI_GEOMETRY_WIDTH, 0);
int height = iWidget.getIntProperty(UI_GEOMETRY_HEIGHT, 0);
iClassDefinition.getConstructor()
.addMethodCall2(widgetVar, "setSize", width, height);
}
}
public static void generateSetToolTipCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
if ( iWidget.containsProperty(UI_TOOL_TIP) )
{
String toolTip = iWidget.getTextProperty(UI_TOOL_TIP, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setToolTipText", toolTip);
}
}
public static void generateSetTitleCode(
UIDefinition iUIDefinition,
Widget iWidget,
ClassDefinition iClassDefinition )
{
switch (iUIDefinition.getVersion())
{
case UIDefinition.VERSION_2:
if ( iWidget.containsProperty(UI_WINDOW_TITLE_2) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WINDOW_TITLE_2, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
else if ( iWidget.containsProperty(UI_WIDGET_TITLE) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WIDGET_TITLE, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
break;
case UIDefinition.VERSION_3:
if ( iWidget.containsProperty(UI_WINDOW_TITLE_3) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WINDOW_TITLE_3, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
else if ( iWidget.containsProperty(UI_WIDGET_TITLE) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WIDGET_TITLE, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
break;
case UIDefinition.VERSION_4:
if ( iWidget.containsProperty(UI_WINDOW_TITLE_4) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WINDOW_TITLE_4, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
else if ( iWidget.containsProperty(UI_WIDGET_TITLE) )
{
String widgetVar = iWidget.getProperty(SWT_VAR);
String title = iWidget.getTextProperty(UI_WIDGET_TITLE, "");
iClassDefinition.getConstructor()
.addMethodCall1(widgetVar, "setText", title);
}
break;
}
}
public static void translateChildren(
Translator iTranslator,
UIDefinition iUIDefinition,
Widget iWidget,
Widget[] iChildren,
ClassDefinition iClassDefinition )
{
for ( int i = 0; i < iChildren.length; i++ )
{
iTranslator.translateWidget(iUIDefinition, iChildren[i], iClassDefinition);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -