Как я могу добавить гиперссылку на актера ClutterText? - PullRequest
2 голосов
/ 28 июля 2011

У меня есть объект ClutterText, который я хотел бы сделать отображаемой гиперссылкой, на которую можно кликнуть. ClutterText имеет возможность использовать разметку Pango, но, очевидно, не способ пометить гиперссылку.

Есть ли простой способ сделать это?

1 Ответ

3 голосов
/ 28 июля 2011

пользовательский интерфейс MeeGo Netbook имел подкласс ClutterText, позволяющий выделять и щелкать URL-адреса:

https://github.com/meego-netbook-ux/meego-panel-myzone/blob/master/penge/penge-clickable-label.c

. Основы:

  • обнаружениеграницы URL-адреса внутри текста (обычно с использованием регулярного выражения);
  • используйте атрибуты PangoAttributes для изменения стиля (подчеркивание + цвет);
  • используйте сигнал события отпускания кнопки,или событие перехваченного события, если вы хотите разрешить другое поведение, чтобы определить, где пользователь щелкнул внутри PangoLayout из ClutterText;
  • , если координаты события кнопки находятся в границах ссылки, то успех: подайте сигнал или вызовите функцию для обработки URL.

не забудьте сделать реактивный субъект ClutterText реактивным, если вы хотите, чтобы он обрабатывал события.: -)

...