Как использовать элемент управления SWT для визуализации содержимого таблицы SWT / JFace? - PullRequest
1 голос
/ 12 апреля 2010

У меня есть JFace TableViewer с таблицей SWT, и я хочу настроить отображение содержимого некоторых ячеек. Я хотел бы использовать элемент управления SWT для визуализации содержимого ячейки.

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

Далее, решение ДОЛЖНО быть совместимым с подходом ContentProvider / LabelProvider (я использую EMF). Это означает, что я не могу использовать решение, описанное в Sniplet 126 (http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.swt.snippets).

Далее, я думаю об использовании пользовательского рисунка . Но здесь есть одна загвоздка в том, что я должен отправлять отдельные операции рисования в графический контекст. Я пытался заставить Control отображать содержимое для меня, вызывая redraw () или print (GC) для SWT.PaintItem, но это просто приводило к неконтролируемому мерцанию.

На данный момент мое лучшее предположение - использовать SWT.PaintItem для рисования. Это приведет к дублированию кода, поскольку у меня уже есть элемент управления, который может отображать содержимое так, как мне бы хотелось. Я хотел бы предотвратить эту избыточность.

Любая помощь приветствуется!

1 Ответ

1 голос
/ 19 апреля 2010

Ну, несколько раз ударившись головой о стену, я добился определенного прогресса. В частности, я нашел эту запись в формуле:

http://www.eclipsezone.com/eclipse/forums/t115489.html

Он фактически предлагает два решения: первое решение на самом деле использует виджеты (не рекомендуется из-за производительности, но я знал это раньше) Я попробую это и могу опубликовать здесь, как это происходит.

Второе решение предлагает использовать StyledCellLabelProvider. Я смотрел на это раньше, но это не достаточно мощный для моих целей. По крайней мере, я так думаю прямо сейчас.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...