Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
developers:tutorial:createmodel [2019/02/17 00:06] vasya |
developers:tutorial:createmodel [2022/03/15 19:14] (текущий) proxor |
||
---|---|---|---|
Строка 21: | Строка 21: | ||
<note> | <note> | ||
Большая часть методов интерфейса [[developers:references:topomatic.foundationclasses.istatecontroller|IStateController]] реализована в классе [[developers:references:topomatic.foundationclasses.statecontrollerobject|StateControllerObject]]. | Большая часть методов интерфейса [[developers:references:topomatic.foundationclasses.istatecontroller|IStateController]] реализована в классе [[developers:references:topomatic.foundationclasses.statecontrollerobject|StateControllerObject]]. | ||
- | Редактор модели на видовом экране окна план и других системных окон нужно наследовать от [[developers:references:topomatic.applicationplatform.core.documentmodeleditor|PlanModelEditor]]. | + | Редактор модели на видовом экране окна план и других системных окон нужно наследовать от [[developers:references:topomatic.applicationplatform.core.planmodeleditor|PlanModelEditor]]. |
Редактор модели в отдельном окне нужно наследовать от [[developers:references:topomatic.applicationplatform.core.documentmodeleditor|DocumentModelEditor]] | Редактор модели в отдельном окне нужно наследовать от [[developers:references:topomatic.applicationplatform.core.documentmodeleditor|DocumentModelEditor]] | ||
</note> | </note> | ||
Строка 142: | Строка 142: | ||
class Editor : ModelEditor | class Editor : ModelEditor | ||
{ | { | ||
- | //Ссылки на другие модели в структуре | ||
- | public override ModelReference[] GetReferences(object model) | ||
- | { | ||
- | //В нашем случае никаких ссылок нет | ||
- | return null; | ||
- | } | ||
- | |||
//Реализация загрузки модели по указанному пути, должна вернуть реализацию класса нашей модели | //Реализация загрузки модели по указанному пути, должна вернуть реализацию класса нашей модели | ||
public override object LoadFromFile(string fullpath) | public override object LoadFromFile(string fullpath) | ||
Строка 387: | Строка 380: | ||
</code> | </code> | ||
Обратите внимание на секцию [[developers:references:core.plugin:contexts|contexts]]. Для добавления возможности создать нашу тестовую модель из контекстного меню каталога проекта, мы добавляем функцию создания нашей модели в системное меню "ctx_mkitem". | Обратите внимание на секцию [[developers:references:core.plugin:contexts|contexts]]. Для добавления возможности создать нашу тестовую модель из контекстного меню каталога проекта, мы добавляем функцию создания нашей модели в системное меню "ctx_mkitem". | ||
+ | |||
+ | В результате мы получим возможность добавлять в проект наши тестовые модели и редактировать их содержимое по команде "Редактировать" в контекстном меню модели. | ||
+ | {{ :developers:tutorial:createmodel:contexmenu.png?direct&600 |}} | ||
+ | |||
+ | <note>[[developers:tutorial:tutorialcode|Исходный код]] примера расположен в проекте **"tutorial6"**.</note> |