2012-10-31 2 views
1

새로운 Eclipse 4 RCP 플랫폼을 배우고 있는데 흥미로운 문제가 발생했습니다.Eclipse 4 RCP 부품 클래스 모범 사례

내 Application.e4xmi에 정의 된 MPart에 대한 부분 클래스를 설계하고있어 가정하자 : 나는 UI를 만들 수 WindowBuilder를 사용하고 있지만 그것은 어떤 behaviorial 코드 없어야 할

public class SomePartView { 
    private Text someText; 
    private Button someButton; 

    @PostConstruct 
    public void createControls(Composite parent) { 
     parent.setLayout(new GridLayout(3, false)); 
     someText = new Text(parent, SWT.BORDER); 
     someButton = new Button(parent, SWT.NONE); 
     someButton.setText("SomeButton"); 
    } 

    @Focus 
    private void setFocus(IEclipseContext context) { 
     someText.setFocus(); 
    } 

    // ... getters 
} 

을 너무 나는이 같은 상호 작용을 처리 어디 클래스를 크레타 :

public class SomePartViewController { 

    @PostConstruct 
    public void addBehavior(SomePartView view) { 
     view.getSomeButton().addSelectionListener(new SelectionAdapter() { 
      @Override 
      public void widgetSelected(SelectionEvent e) { 
       // do something 
      } 
     });  
    } 
} 

이 좋은 방법인가, 아니면 내가 여기에 바퀴를 개혁하고있어 E4는 이미이에 대한 몇 가지 솔루션을? 그렇다면이 클래스들을 어떻게 연결합니까? Eclipse 컨텍스트 외부에서 인스턴스를 작성하지 않으려합니다. 공식 e4 문서가 오히려 희소하기 때문에 만약 누군가가 저에게 답변을 찾을 수있는 철저한 책이나 참고 매뉴얼을 연결시켜 준다면 좋을 것입니다.

답변

0

나는 완전한 본격적인 답을 줄 수 있는지 확실하지 않지만 몇 가지 힌트 나 발언을하겠습니다.

우선, 응용 프로그램 모델에서 참조하는 클래스 만 종속성 주입을 얻습니다. 그래서 SomePartView은 각각 @PostConstruct을 실행하게됩니다. 그러나 응용 프로그램 모델에서 SomePartViewController에 직접 연결되어 있지 않으므로 자동 주입 기능을 사용할 수 없습니다.

실현할 수있는 방법이 있습니다 (예 : 에 설명 된대로 프로세서 확장을 사용하거나 SomePartView에 대한 종속성을 반복하고 거기에서 동작 클래스를 인스턴스화합니다.

귀하의 질문에 대한 답을 얻지 못하면보기와 행동을 나누는 주된 실현 목적을 달성하지 못합니다.

XWT은 실제로 찾고있는 기술입니다. 여기에서 UI는 선언적으로 정의되며 Event Handler는 여전히 Java 클래스로 구현됩니다. XWT가 작동하는 방식은 사용자 인터페이스를 만드는 안드로이드 프로그래밍 스타일과 비교할 수 있으므로 이미 가장 좋은 방법이라고 생각합니다.

+0

e4에 대한 유용한 참조 매뉴얼/책에 대해 알고 있습니까? 공식 문서를 확인했지만 매우 희소합니다. –

+0

현재 시장에 매우 드문 인쇄 된 문서가 있습니다. afaik에는 Lars Vogel (모든 e4 관련 문서에 관한 문서 권한이있는 것 같습니다) http://www.amazon.de/dp/3943747034와 Marc Teufel http://www.amazon.de/Eclipse-4-Marc-Teufel/dp/3868020632 (독일어로 쓰여 있음). 현재 배울 수있는 공식 및 최상의 리소스는 소스 코드 및 예제 응용 프로그램입니다. 그것을 확인하는 방법은 http://www.vogella.com/articles/Eclipse4Source/article.html을 참조하십시오! 여기에 데모와 예제도 있습니다. –