Как определить предпочтительный размер JFace TreeViewer или SWT Tree?

StackOverflow https://stackoverflow.com/questions/633305

  •  10-07-2019
  •  | 
  •  

Вопрос

Я пишу плагин Eclipse, который имеет элемент управления наведением, который состоит из двух элементов управления, один поверх другого:

Средство просмотра HTML (BrowserInformationControl), для которого я могу легко вычислить подсказку о размере

TreeViewer, содержащий дерево.

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

Это было полезно?

Решение

Согласно API org.eclipse.swt.widgets.Tree , это должно быть сделано с помощью:

public Point computeSize(int wHint,
                     int hHint,
                     boolean changed)
  

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

Аргументы подсказок ширины и подсказки высоты позволяют вызывающей стороне задавать вопросы элемента управления, например " При заданной ширине, насколько высоким должен быть элемент управления, чтобы показать все содержимое? "
  Чтобы указать, что вызывающая сторона не желает ограничивать конкретное измерение, для подсказки передается константа SWT.DEFAULT.

     

Если измененный флаг равен true, это указывает на то, что содержимое получателя изменилось, поэтому любые кэши, которые, возможно, хранил менеджер компоновки, содержащий элемент управления, должны быть сброшены. При изменении размера элемента управления измененный флаг станет ложным, поэтому кэши менеджера компоновки могут быть сохранены.

<Ч>

Обратите внимание, что в Windows поведение computeSize () было ошибочным: см. этот сообщение и это ошибка : исправлено для затмения 3.4M1 и вперед.

Пример использования computeSize () в это сообщение .

Использование getBound () может быть другим интересная альтернатива .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top