2014-06-18 73 views
0

我有一個Eclipse RCP應用程序。從一個角度來看,有四個視圖,我想在每次點擊時突出顯示相應的視圖。可以做到嗎? 我曾嘗試下面的代碼:如何保存在rcp應用程序中突出顯示的選定視圖?

private void addFocusBackgroundOnSelectingView() { 
    viewer.getControl().addListener(SWT.MouseEnter, new Listener() { 

     @Override 
     public void handleEvent(Event event) { 
      viewer.getControl().setBackground(
        PlatformUI.getWorkbench().getDisplay() 
          .getSystemColor(SWT.COLOR_GRAY)); 

     } 
    }); 
    viewer.getControl().addListener(SWT.MouseExit, new Listener() { 

     @Override 
     public void handleEvent(Event event) { 
      viewer.getControl().setBackground(
        PlatformUI.getWorkbench().getDisplay() 
          .getSystemColor(SWT.COLOR_WHITE)); 

     } 
    }); 

} 

我要救的選擇,即使我的鼠標懸停出來,如果這種觀點已經被選中了。

+0

你是什麼意思_「突出各自的意見」_?亮點如何? – Baz

+0

用戶將如何知道某個時間哪個視圖處於活動狀態?假設在我點擊了一個視圖的四個視圖中,我想將其顯示爲選定視圖,剩餘的視圖處於空閒狀態。希望你能找到我。 – Anuja

+0

不是Eclipse自動突出顯示的「活動」視圖嗎? – Baz

回答

0

Eclipse PartService會跟蹤哪部分(編輯器,視圖等)當前處於活動狀態。您可以通過PlatfomUI類的監聽器添加到服務:

IPartListener partListener = ...; 
IPartService partService = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getPartService(); 
partService.addPartListener(listener); 

的IPartListener接口有partActivatedpartDeactivated方法,在那裏你可以做你的高亮。

+0

謝謝尼克威爾遜! – Anuja

+0

當它處於活動狀態時,我們可以更改視圖標題顏色嗎? – Anuja

相關問題