Можно ли расширить функциональность графических объектов путем наследования? - PullRequest
11 голосов
/ 17 мая 2011

Я расширил функциональность строкового объекта, используя класс, который принимает дескриптор строки в качестве входного аргумента своего конструктора. Затем этот класс создает прослушиватель WindowMouseMotion для обнаружения мыши над строкой, которая выделяет линию и отображает панель, содержащую элементы управления для установки некоторых свойств линии / данных. Это работает хорошо.

Сейчас я пытаюсь заставить этот класс обнаруживать и реагировать на удаляемую строку, прослушивая событие ObjectBeingDestroyed строки. Мой вопрос заключается в том, является ли связывание этого класса с объектом строки путем хранения дескриптора строки лучшим решением или . Можно ли расширить класс строки, унаследовав его? Я просмотрел документацию по MATLAB и провел поиск в Интернете, но не могу найти точную информацию о наследовании от графических классов.

Ответы [ 2 ]

2 голосов
/ 23 марта 2012

Возможно создать подкласс для встроенных графических классов дескриптора. Есть пример на http://undocumentedmatlab.com/blog/udd-properties/. Он использует специально недокументированный механизм UDD. MathWorks неоднократно заявлял, что UDD предназначена только для внутренней разработки и используется только без поддержки. Тем не менее, стоит отметить, что в M-коде есть множество примеров UDD-подклассов, которые предоставляет MathWorks. Кроме того, ЕСЛИ они чувствуют, что есть определенная причина хранить что-то в UDD в тайне, оно встроено или закодировано. Поэтому я чувствую, что если вы найдете примеры того, как сделать что-то в исходном коде, предоставленном The MathWorks, вы можете свободно использовать их.

1 голос
/ 30 мая 2011

Получен этот ответ на MATLAB Central. Ответы : "Не существует документированного способа наследования от (/ подкласса) обработки графических объектов. Я предполагаю, что правило заключается в том, что если вы не можете найти его документация не поддерживается. "

Существует предположение, что возможно расширить новые классы HG2 здесь , но это не официальная информация Mathworks.

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