Слайд 2Некоторые популярные системы
CVS (RCS,CSSC,SCCS)
Subversion
Microsoft Visual SourceSafe
Rational ClearCase (IBM)
Perforce
…
GWare TrackWare
GeorgeJames VC/m
Beeline /// teamdev
![Некоторые популярные системы CVS (RCS,CSSC,SCCS) Subversion Microsoft Visual SourceSafe Rational ClearCase (IBM)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-1.jpg)
Слайд 3Популярные системы к.в.
CVS
Эффективна, как в версионном контроле, так и в групповой разработке
Flexible
Основана
![Популярные системы к.в. CVS Эффективна, как в версионном контроле, так и в](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-2.jpg)
на работе с командной
строкой
Сторонние GUI
Бесплатна
Слайд 4Популярные системы к.в.
Subversion
Позиционируется как «беспроигрышная замена CVS»
Использует БД для организации репозитория
В
![Популярные системы к.в. Subversion Позиционируется как «беспроигрышная замена CVS» Использует БД для](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-3.jpg)
среднем, более производительна, нежели CVS
Существуют GUI-оболочки
Бесплатна
Слайд 5Популярные системы к.в.
Microsoft Visual SourceSafe
Относительно проста
в использовании
Встроенный GUI
API в виде COM
Более
![Популярные системы к.в. Microsoft Visual SourceSafe Относительно проста в использовании Встроенный GUI](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-4.jpg)
средство
коллективной работы, чем версионного контроля
Коммерческий продукт
Слайд 6Популярные системы к.в.
IBM Rational ClearCase
Взаимодействует с Rational ClearQuest
Масштабируема
Коммерческий продукт
![Популярные системы к.в. IBM Rational ClearCase Взаимодействует с Rational ClearQuest Масштабируема Коммерческий продукт](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-5.jpg)
Слайд 7Популярные системы к.в.
Perforce
Powerful in both areas
Есть GUI / Web-интерфейс/ Командная строка
Коммерческий
![Популярные системы к.в. Perforce Powerful in both areas Есть GUI / Web-интерфейс/ Командная строка Коммерческий продукт](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-6.jpg)
продукт
Слайд 8Иерархия классов
%Studio.Extension.Base
%Studio.SourceControl.Base
![Иерархия классов %Studio.Extension.Base %Studio.SourceControl.Base](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-7.jpg)
Слайд 10%Studio.Extension.Base
Базовый класс расширяющий функциональность Studio
Callback-методы (Before/After)
Настраивание меню (XData Menu)
![%Studio.Extension.Base Базовый класс расширяющий функциональность Studio Callback-методы (Before/After) Настраивание меню (XData Menu)](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-9.jpg)
Слайд 11Call-back события элемента проекта
Импорт/Экспорт
Компиляция
Удаление
Log in/Log out
Получение TimeStamp’а.
![Call-back события элемента проекта Импорт/Экспорт Компиляция Удаление Log in/Log out Получение TimeStamp’а.](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-10.jpg)
Слайд 12Другие методы - UserAction
Type – выбрано ли пользовательское меню
Name – рассмотрим далее
InternalName
![Другие методы - UserAction Type – выбрано ли пользовательское меню Name –](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-11.jpg)
– имя элемента проекта
Action – действие, которое должна предпринять Studio (рассмотрим далее)
Reload – признак необходимости перегрузить документ
Слайд 13Значения атрибута Name
Имя выбранного элемента меню (‘MainMenu,SubMenu’)
0 – пользователь изменяет заблокированный элемент
1
![Значения атрибута Name Имя выбранного элемента меню (‘MainMenu,SubMenu’) 0 – пользователь изменяет](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-12.jpg)
– создан новый документ
2 – документ удален
3 – пользователь открыл документ
4 – документ был закрыт
Слайд 14Значения атрибута Action
0 - ничего не делать
1 – вывести окно Yes/No/Cancel (текст
![Значения атрибута Action 0 - ничего не делать 1 – вывести окно](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-13.jpg)
– в атрибуте Target)
2 – запустить шаблон (Target – URL страницы шаблона)
3 – выполнить приложение (Target – путь)
4 – вставить текст из Target на текущую позицию курсора
5 – Studio откроет перечисленные в Target документы
Слайд 15Значения атрибута Action
6 – показать окно с текстовым сообщением (Target)
7 – окно
![Значения атрибута Action 6 – показать окно с текстовым сообщением (Target) 7](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-14.jpg)
ввода текстового значения и кнопками Yes/No/Cancel. Текст сообщения – Target, значение по умолчанию - Msg
Слайд 16Метод AfterUserAction
Параметры – почти те же, что и в UserAction
Answer (0-No,1-Yes,2-Cancel)
Введенный текст
![Метод AfterUserAction Параметры – почти те же, что и в UserAction Answer](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-15.jpg)
- Msg
Предназначен для обработки пользовательского ввода после UserAction
Слайд 17Метод GetStatus
Определяемые флаги (параметры по ссылке)
IsInSourceControl
Editable
IsCheckedOut
UserCheckedOut
![Метод GetStatus Определяемые флаги (параметры по ссылке) IsInSourceControl Editable IsCheckedOut UserCheckedOut](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-16.jpg)
Слайд 18Запросы
MainMenus
перечисление меню верхнего уровня
MenuItems
элементы конкретного меню
![Запросы MainMenus перечисление меню верхнего уровня MenuItems элементы конкретного меню](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-17.jpg)
Слайд 19%Studio.SourceContol.Base
Базовое меню
Базовые события
Соответствующие обработчики
Check In/Check Out
Get Latest
Undo Check Out
Add to/Remove from Source
![%Studio.SourceContol.Base Базовое меню Базовые события Соответствующие обработчики Check In/Check Out Get Latest](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-18.jpg)
Control
Слайд 21Дополнительно
Только одно расширение в момент времени
Особенности отладки
%Studio.AbstractDocument
Проверка TimeStamp
Примеры –
%ZEN.StudioDocument.ZENAppEditorDocument
Studio.ExampleDocument (SAMPLES)
Ens.BPL.UI.BPLDocument /
![Дополнительно Только одно расширение в момент времени Особенности отладки %Studio.AbstractDocument Проверка TimeStamp](/_ipx/f_webp&q_80&fit_contain&s_1440x1080/imagesDir/jpg/396719/slide-20.jpg)
CSPX.EnsBPLEditor.cls
Toolbars