변환 구성에 대한 사용자 정의 페이지를
작성할 수 있습니다. 변환에 추가하는 특성에 대한 값을
변환 사용자들이 지정할 수 있도록 이 페이지를 작성할 수도 있습니다.
변환 사용자가 변환 구성을 작성할 때 새 페이지가
변환 구성 편집기 또는 마법사에 표시됩니다.
시작하기 전에
변환 작성자는 변환 서비스에 변환을
등록해야 합니다. 변환은 새 구성 탭과 연관되는 특성을
정의해야 합니다.
사용자 정의 변환 구성 페이지의
작성자로서, 이 사용자 인터페이스 아티팩트가 포함된 작업공간에서 프로젝트를
식별해야 합니다. 새 페이지를 구현하는 Java™ 코드가 포함된
프로젝트를 작성하거나, 변환이 포함된 기존 프로젝트에서
페이지를 정의할 수 있습니다.
주: 이 주제에 있는 예제에서는
변환의 다른 플러그인에서 사용자 정의 페이지를 정의한다고 가정합니다.
이 주제에 나열된 사용자 인터페이스 클래스에 대한
자세한 정보는
Rational® Transformation
Developer Guide의
"변환 UI" 섹션을 참조하십시오.
주: Eclipse 문서 또는 개발자 안내서에 대한 링크와 같은 일부 정보는 제품 도움말의 주제에서만 사용 가능합니다.
이 태스크 정보
변환 구성에 페이지를 추가하려면 다음을 수행하십시오.
- 사용자 정의 페이지를 포함하도록 식별한
프로젝트에서 다음 Java 클래스를 작성하십시오.
- com.ibm.xtools.transform.ui.AbstractTransformGUI 클래스를 확장하는
클래스
- 변환 구성에 컨트리뷰션하는 페이지마다 com.ibm.xtools.transform.ui.AbstractTransformConfigTab
클래스를 확장하는 클래스
- Java Perspective로 전환하십시오.
를 클릭하십시오.
- 패키지 탐색기 보기에서 1 단계에서
작성한 Java 클래스를 두 번 클릭하십시오. 그러면
com.ibm.xtools.transform.ui.AbstractTransformGUI 클래스가 확장됩니다.
- Java 파일 편집기에서
getConfigurationTabs(ITransformationDescriptor
descriptor) 메소드를 대체할
Java 코드를 지정하십시오.
이 메소드는 변환 구성 편집기나 마법사에서
표시할 페이지의 목록을 리턴합니다.
다음 코드 단편을 예제로 사용할 수 있습니다.
public AbstractTransformConfigTab[] getConfigurationTabs(
ITransformationDescriptor descriptor) {
AbstractTransformConfigTab[] superTabs =
super.getConfigurationTabs(descriptor);
AbstractTransformConfigTab[] myTabs =
new AbstractTransformConfigTab[superTabs.length + 1];
for (int i = 0; i < superTabs.length; i++) {
myTabs[i] = superTabs[i];
}
myTabs[myTabs.length - 1] = new MyTab(descriptor, "My tab ID", "My tab label");
return myTabs;
}
- com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab 클래스를
확장하는 1 단계에서 작성한
각 클래스에 대해 다음 예제와 같이 populateContext, populateTab 및
createContents 메소드를 구현하십시오.
public Control createContents(Composite parent) {
Composite contents = new Composite(parent, SWT.None);
contents.setLayout(new GridLayout());
text = new Text(contents, SWT.None);
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
setDirty();
}
});
return contents;
}
public void populateContext(ITransformContext context) {
context.setPropertyValue("MyPropertyId", text.getText());
}
public void populateTab(ITransformContext context) {
String newText = (String) context.getPropertyValue("MyPropertyId");
if (newText == null) {
newText = "";
}
text.setText(newText);
}
- 을 클릭한 후 프로젝트를 다시 빌드하십시오.
- 플러그인 개발 Perspective를 여십시오.
을 클릭하십시오.
- 패키지 탐색기 보기에서
사용자 정의 페이지를 작성 중인 변환이 있는 프로젝트의
이름을 펼치십시오.
- 변환 프로젝트의 META-INF 폴더에서
MANIFEST.MF 파일을 두 번 클릭하십시오.
- 확장 페이지의 모든 확장 섹션에서
사용자 정의 페이지를 추가할 Transformation 요소를 클릭하십시오.
- 확장 요소 세부사항 섹션의
transformGUI 필드에서 1 단계에서 작성한
Java 패키지 및 클래스의
이름과 플러그인 ID를 지정하십시오. getConfigurationTabs(ITransformationDescriptor
descriptor) 메소드가 대체됩니다. com.ibm.xtools.transform.ui.AbstractTransformGUI
클래스를 확장하는 클래스가 변환과 동일한 플러그인에 있는 경우에는
플러그인 ID를 지정하지 마십시오. 다음 예제와 같이 transformGUI 매개변수가
MANIFEST.MF 파일에 추가됩니다.
<Transformation
groupPath="myTrans"
id="myTrans.transformation"
name="Transformation"
sourceModelType="resource"
targetModelType="resource"
transformGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"</Transformation>
</Transformation>
- 을 클릭하십시오.
결과
사용자 정의 페이지를 테스트하려면 런타임 Workbench를 시작하고
변환에 대한 변환 구성을 작성하십시오.
변환 구성 편집기 및
마법사는 getConfigurationTabs 메소드가 리턴하는 목록에 있는
페이지를 표시합니다.