2009-03-26 7 views
5

이클립스 RCP와 전체 퍼스펙티브/뷰/에디터 디자인에 대한 질문 - 다중 모니터에 여러 개의 윈도우를 표시하는 애플리케이션을 만드는 가장 좋은 방법은 무엇입니까? 자습서 및 책 나는 항상 하나의 응용 프로그램 창 내에서 관점 내에서 RCP/SWT 디자인을보기로 포장했습니다.이클립스 RCP 어플리케이션 - 멀티 모니터를위한 멀티 윈도우 디자인

하나의 창에서 다른 모든 규칙을 적용해야합니까? 아니면 모두 동일해야합니까? 마지막으로 하나만 닫으면 응용 프로그램을 종료해야합니까? 전망과 견해를 어떻게 다루는가? 우리가 알아야 할 다른 것이 있습니까?

환경 : Eclipse Ganymede, Windows XP.

답변

7

단일 Eclipse Workbench는 여러 개의 창을 작성할 수 있습니다. 각 창은 원근법을 사용하여 배치되므로 다른 창을 다른 원근법 또는 동일한 원근감으로 설정할 수 있으며 다른 창과는 별도로 각 창에서 원근법을 전환 할 수 있습니다.

각 창에 입력을 설정할 수도 있습니다. 이 기능은 각 창에서 다른 데이터로 작업하는 경우 유용합니다 (예 : 각 창을 다른 서버에 연결하거나 스키마가 동일하지만 데이터가 다른 여러 데이터베이스의 데이터를 표시 할 수 있음).

다른 모니터에서 동일한 데이터의 다른 시각을 볼 수 있도록 창만 사용하고있을 수 있습니다. 이 경우 프로그램 적으로 창을 작성할 필요는 없지만 워크 벤치에서 제공하는 조치 만 추가하면됩니다.

필드 선언에 추가 : 이것은 당신의 ActionBarAdvisor 클래스를 수정하여 수행 할 수 있습니다

newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window); 
    register(newWindowAction); 
:

private IWorkbenchAction newWindowAction; 

하면 (일반적으로 방법이라고 makeActions) 행동을 코드에 추가

코드를 추가하면 메뉴를 만들 수 있습니다.

menu.add(newWindowAction); 

메뉴는 typica입니다 창 메뉴에서만 사용할 수 있습니다. 응용 프로그램에서 이미 창 메뉴가없는 하나를 작성하려는 경우, 다음 줄은 작동합니다

MenuManager menu = new MenuManager(
     "&Window", 
     IWorkbenchActionConstants.M_WINDOW); 

이 당신에게 같은 방법으로 새 ​​창을 생성하는 메뉴 항목을 줄 것이다 Eclipse IDE의 Window-> New Window 메뉴 항목으로 변경하십시오.

반면에 각 창에 다른 데이터를 표시하려면 새 창을 프로그래밍 방식으로 열어야합니다. 이렇게하면 각 창마다 다른 입력을 설정할 수 있습니다.

IWorkbenchPage newPage = window.openPage(inputObject); 

여기서 inputObject에는 창에 표시된 데이터를 식별하는 정보가 들어 있습니다. 초기 관점을 설정하려면 페이지에서 setPerspective를 호출하여 수행 할 수 있습니다.

당신은 각 창에서 제목을 설정하는 것이 좋습니다

: WINDOWTITLE 창에 입력을 설명하는 문자열입니다

newPage.getWorkbenchWindow().getShell().setText(windowTitle); 

합니다.다음과 같이

당신은 윈도우에 대한 입력을 가져올 수 :

window.getActivePage().getInput() 

당신은 당신이 당신의 창에 입력으로 사용하는 어떤 클래스에이 캐스팅 할 수 있습니다.

+0

위대한 시작 stackoverflow, 감사합니다! – tomash

+0

이것은 RCP3입니다, 맞습니까? – Weltraumschaf

관련 문제