LINUX.ORG.RU

snit и замена text на ctext

 , ,


0

2

Доброго! Раньше пользовался text, потом сделал свой виджет clcon_text с помощью snit (см. https://bitbucket.org/budden/clcon/src/default/clcon_text.tcl) . Это, по сути, наследник text с расширенным функционалом. Теперь хочу в нём заменить text на ctext. Но просто вот так вот в лоб не работает. Видимо, причина в том, что ctext - это рамка, а text в ней спрятан. При попытке тупо заменить в clcon_text text на ctext половина функционала ломается.

Хочу попробовать выкинуть ctext из игры, а взять его исходник и засунуть нужный мне функционал в мой clcon_text. Но если раньше у меня было именно наследование (к text добавлены новые методы и опции), то теперь получается агрегирование с делегированием.

Получится ли у меня сделать так, чтобы снаружи для программиста мой clcon_text продолжал выглядеть как text, хотя он на самом деле рамка? Смогу ли я при этом организовать с помощью snit доступ к самой рамке, если она вдруг мне понадобится. И правильно ли вообще так поступать? Может быть, мне нужно наоборот сделать явным, что я работаю с рамкой, а в ней живёт text? Это, правда, потребует глазами пройти весь код приложения и везде поправить пути - заменить text на frame.text . Но если это точно лучше, то я это сделаю.

Вот такой мутноватый вопрос.

★★★★★

Последнее исправление: den73 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.