Модули интерфейса APIOpenTools
Интерфейс API Open Tools состоит из четырнадцати модулей, каждый из которых содержит один или несколько объектов, обеспечивающих взаимодействие со многими средствами интегрированной среды разработки. С помощью этих интерфейсов можно создавать собственные мастера Delphi, диспетчеры управления версиями, а также компоненты и редакторы свойств.
За исключением интерфейсов, разработанных для компонентов и редакторов свойств, объекты интерфейса Open Tools обеспечивают полностью виртуальный интерфейс с внешним миром. Это означает, что можно использовать лишь виртуальные функции таких объектов. Ни к полям данных подобного объекта, ни к его свойствам или статическим функциям нельзя получить доступ, поскольку объекты интерфейса Open Tools создаются на основе стандарта COM. После небольшой доработки эти интерфейсы могут использоваться с любым языком программирования, поддерживающим технологию COM.
Примечание. Термин интерфейсв данном случае не означает встроенный в Delphi тип interface. Поскольку API Open Tools обеспечивает поддержку интерфейсов Delphi, в качестве замены “настоящих” интерфейсов он использует обычные классы Delphi с виртуальными абстрактными методами. Использование стандартных интерфейсов в API Open Tools Delphi в каждой новой версии увеличивалось, и текущая версия основывается практически только на них.
В таблице 2 приведены модули, которые, в сущности, и составляют интерфейс API Open Tools. Модули таблицы 3 сохранены лишь для обеспечения совместимости с предыдущими версиями Delphi.
Таблица 2. Модули интерфейса API Open Tools.
Имя модуля | Назначение |
ToolsAPI | Содержит новейшие элементы интерфейса API Open Tools. Этот модуль, по существу, заместил абстрактные классы, применяемые в предыдущих версиях Delphi для управления дополнениями меню, системы уведомления, файловой системы, редактора и мастеров. В нем содержатся также новые интерфейсы для управления отладчиком, комбинациями клавиш интегрированной среды разработки, проектами, группами проектов, пакетами и списком To Do. |
VCSIntf | Определяет класс TIVCSClient, обеспечивающий взаимодействие Delphi с программным обеспечением управления версиями. |
DesignConst | Содержит строки, используемые API Open Tools. |
DesignEditors | Обеспечивает поддержку редактора свойств. |
DesignIntf | Заменяет модуль DsgnIntf предыдущих версий и обеспечивает базовую поддержку интерфейсов IDE времени разработки. IDE использует интерфейс IProperty для редактирования свойств. Интерфейс IDesignerSelections применяется для манипулирования объектами, выбранными в списке конструктора форм (заменяет TDesignerSelectionList, использовавшийся в предыдущих версиях Delphi). IDesigner - это один из первичных интерфейсов, который применяется мастерами для общих служб IDE. IDesignNotification поддерживает такие уведомления событий конструктора, как вставка, удаление и модификация элементов. Интерфейс IComponentEditor реализуется редакторами компонентов для обеспечения редактирования компонента во время разработки, а ISelectionEditor обеспечивает те же возможности для группы выбранных компонентов. Класс TbaseComponentEditor является базовым классом для всех редакторов компонентов. Интерфейс ICustomModule и класс TBaseCustomModule обеспечивают возможность установки модулей, которые могут быть отредактированы в конструкторе форм IDE. |
DesignMenus | Содержит интерфейсы IMenuItems, IMenuItem, а также другие подобные интерфейсы, предназначенные для манипулирования меню IDE во время разработки. |
DesignWindows | Содержит объявление класса TDesignWindow, являющегося базовым классом для всех новых окон проекта, которые добавляются в IDE. |
PropertyCategories | Содержит классы, обеспечивающие категоризацию свойств специальных компонентов. Используется инспектором объектов для представления свойств по категориям. |
TreeIntf | Поддерживает класс TSprig и связанные с ним классы, а также интерфейсы, обеспечивающие узлы и ветвления в объекте TreeView IDE. |
VCLSprigs | Содержит реализацию ветвления компонентов VCL. |
VCLEditors | Содержит объявления базовых интерфейсов ICustomPropertyDrawing и ICustomPropertyListDrawing, обеспечивающих специальное представление свойств и списков свойств в инспекторе объектов IDE. Содержит также объявления специальных объектов для представления свойств VCL. |
ClxDesignWindows | Содержит объявление класса TClxDesignWindow, являющегося эквивалентом CLX-класса TDesignWindow. |
ClxEditors | Эквивалент CLX-модуля VCLEditors, содержащего редакторы свойств для компонентов CLX. |
ClxSprigs | Реализация ветвления для компонентов CLX. |
Таблица 3. Устаревшие модули API Open Tools.
Имя модуля | Назначение |
FileIntf | Определяет класс TIVirtualFileSystem, используемый IDE Delphi для работы с файлами. Мастера, диспетчеры управления версиями, а также редакторы свойств и компоненты могут использовать этот интерфейс для выполнения в Delphi специальных файловых операций. |
EditIntf | Определяет классы, необходимые для управления редактором кода и конструктором форм. Класс TIEditReader предоставляет доступ к буферу редактора “для чтения”, а класс TIEditWriter - предоставляет доступ к буферу редактора “для записи”. Класс TIEditView предоставляет возможность просмотра буфера редактирования. Класс TIEditInterface - это базовый интерфейс редактора, который может использоваться для доступа к уже упоминавшимся интерфейсам. Класс TIComponentInterface - это интерфейс с отдельным компонентом, помещенным в форму или модуль в режиме разработки. Класс TIFormInterface - основной интерфейс с формой или модулем данных в режиме разработки, позволяет создавать компоненты или искать их в отдельной форме или модуле. Класс TIResourceEntry обеспечивает взаимодействие с данными в файле ресурсов (*.res) проекта. Класс TIResourceFile определяет высокоуровневый интерфейс с файлом ресурсов проекта, позволяет создавать, удалять или отыскивать ресурсы в файле ресурсов проекта. Класс TIModuleNotifier определяет сообщения, используемые при появлении в конкретном модуле различных событий. Класс TIModuleInterface обеспечивает взаимодействие с любым файлом или модулем, открытым в интегрированной среде разработки. |
ExptIntf | Определяет абстрактный класс TIExpert, от которого происходят все мастера. |
VirtIntf | Определяет базовый класс TInterface, от которого происходят другие интерфейсы. В этом модуле определен также класс TIStream, который инкапсулирует класс VCL TStream. |
IStreams | Определяет классы TIMemoryStream, TIFileStream и TIVirtualStream, которые являются потомками класса TIStream. Эти интерфейсы могут использоваться для включения в IDE своего собственного механизма работы с потоками. |
ToolIntf | Определяет классы TIMenuItemIntf и TIMainMenuIntf, которые позволяют разработчику создавать и модифицировать меню IDE Delphi, управлять атрибутами пунктов меню и отслеживать событие OnClick пункта меню. В данном модуле определен также класс TIAddInNotifier, кото рый позволяет создаваемым инструментам дополнениям получать уведомления о возникновении в среде разработки определенных событий. В этом модуле имеется класс TIToolServices, который обеспечивает взаимодействие между различными элементами IDE Delphi (такими как редактор, библиотека компонентов, редактор кода, конструктор форм и файловая система). |
Дата добавления: 2015-09-07; просмотров: 1302;