При переключении на Windows классическая тема комбо вклад Ширнкс - PullRequest
1 голос
/ 11 июня 2009

У меня проблема с IToolbarManager. Я добавил комбинированную и вращающуюся панель инструментов вида, подобного этому

IToolbarManager mgr = getViewSite().getActionBars().getToolBarManager();
mgr.add(spinnerCntrAction);

spinnerCntrAction = new ControContribution(){

 public Control createControl(){
        //Creates composite
        //Create a spinner and add that to composite
        //return composite
 }


};

В темах Windows XP / Vista этот счетчик отображается правильно. Но когда программа запускается под классической темой Windows, счетчик сокращается и отображается неправильно.

Это известная проблема? Знаете ли вы какие-либо обходные пути / патч для этого?

Спасибо Jijoy

1 Ответ

0 голосов
/ 10 декабря 2009

Это ошибка в SWT. Смотри http://dev.eclipse.org/newslists/news.eclipse.platform.swt/msg44671.html

Вот обходной путь:

mgr.add(new DummyAction());

private static class DummyAction extends Action {
   DummyAction() {
      setEnabled(false);
      setText("     ");
   }
}
...
mgr.add(spinnerCntrAction);

Это приведет к тому, что менеджер панели инструментов сделает все элементы управления одинаковыми по размеру с действием, поэтому отрегулируйте количество пробелов в тексте действия, чтобы получить желаемый результат.

...