Пользовательский нтерфейс программы ScriptEdit

Окна программы ScriptEdit

Среда разработки Lks ScriptEdit состоит из четырех основных окон: главного окна (1), редактора (3), инспектора объектов (4) и инспектора свойств (2). Главное окно расположено в верхней части экрана. Оно всегда отображается на экране и через пункт Окна его главного меню (5) можно управлять видимостью остальных окон.



В главном окне расположена палитра компонент (7), с которой можно переносить компоненты на форму и карту, открытые в окне редактора. Палитра компонентов автоматически меняется в зависимости от того, какая вкладка активна в редакторе. Если в редакторе активна вкладка Форма, то доступна палитра компонентов формы, состоящая из двух вкладок: Стандартные и ActiveX



На вкладке Стандартные расположены распространенные для построения диалоговых окон компоненты, такие как кнопки,метки, поля ввода, списки и т.д. На вкладку ActiveX можно через настройки редактора добавить любой зарегистрированные в системе компонент ActiveX. Для переноса компонента с палитры на форму, нужно выбрать необходимый компонент и кликнуть мышью в нужном месте формы.

Если в редакторе активна вкладка Карта, то становится доступна палитра картографических компонентов.



Инспектор объектов расположен по умолчанию в правой части экрана. Он отображает на соответствующих вкладках объекты приложения (меню, формы, функции).
Редактор расположен в центральной части экрана. Он состоит из вкладок Карта (редактор карты), Код (редактор кода функций), Форма (дизайнер форм).
Инспектор свойств расположен по умолчанию в левой части экрана. Его вид, так же как и вид палитры компонент, зависит от того, какая вкладка активна в окне редактора. Если в редакторе активна вкладка Карта, то в инспекторе свойств отображаются свойства выбранного объекта карты, а также список слоев и уровней коммуникаций активной страницы карты. Если в редакторе активна вкладка Форма, то в инспекторе свойств отображаются свойства выбранного элемента формы. Если активна вкладка Код, то в инспекторе свойств отображается дерево доступных в текущей исполняющей среде объектов. При выборе элемента дереве в нижней части инспектора появляется его описание.

Главное меню программы ScriptEdit

Пункт главного меню Файл содержит команды работы с файлом карты. Он включает следующие подпункты:
Файл - Новый - Проект - Создание нового проекта. После выбора этого пункта открывается окно выбора типа нового проекта, в котором перечислены все зарегистрированные в системе типы проектов.
Выбрать нужный тип проекта можно двойным кликом мыши по соответствующей пиктограмме. Файл - Открыть - Открытие файла карты для редактирования. При открытии файла автоматически определяется его тип и загружаются соответствующие настройки редактора. Если открытая карта неопределенного типа (например она была создана в редакторе карт Lks MapEdit), то открывается окно выбора типа проекта.
Файл - Сохранить - Сохранение файла карты на диск с выполненными изменениями.
Файл - Сохранить как - Сохранение файла карты в новый файл.
Файл - Печать - Распечатка всей карты или выделенного фрагмента на принтере.
Файл - Экспорт в растр - Экспорт выделенного фрагмента карты в растровый формат (bmp, jpeg, png).
Файл - Выход - Выход из редактора.

Пункт главного меню Правка содержит команды редактирования. Он включает следующие подпункты:
Правка - Копировать - Копирует выделенный в окне редактора элемент в буфер обмена.
Правка - Вырезать - Вырезает выделенный в окне редактора элемент в буфер обмена.
Правка - Вставить - Вставляет содержимое буфера обмена.
Правка - Удалить - Удаляет выделенный в окне редактора элемент.
Правка - Поиск - Открывает окно диалога поска по карте или коду (в зависимости от того, какая вкладка активно в редакторе).
Правка - Поиск и замена - Открывает диалоговое окно поиска и замены текста для редактора кода и редактора HTML форм.

Пункт главного меню Карта доступен, когда в редакторе активна вкладка Карта и содержит команды по работе с картой. Он включает следующие подпункты:
Карта - Текущая страница - Выбор страницы карты для редактирования.
Карта - Добавить страницу - Добавляет новую страницу к открытой карте.
Карта - Удалить страницу - Удаляет текущую страницу карты.
Карта - Цвет фона - Открывает диалог выбора цвета текущей страницы карты.
Карта - Начало координат - Устанавливает угловые координаты (широта, долгота) для точки с линейными координатами 0,0.
Карта - Коммуникационные значки - Открывает редактор коллекции коммуникационных значков открытой карты.
Карта - Картографические значки - Открывает редактор коллекции картографических значков открытой карты.

Пункт главного меню Проект содержит команды работы с проектом. Он включает следующие подпункты:
Проект - Компилировать exe файл - Запускает процесс создания автономного исполняемого файла из файла карты.
Проект - Язык - Выбор языка, на котором пишется скрипт. В текущей версии доступны языки JavaScript и VBScript.
Проект - Сохранить с защитой - Открытие диалога сохранение файла карты с защитой от редактирования.. Доступны варианты: только просмотр (в сохраненной карте будет запрещено выполнение скрипта в исполняющей среде и редактирование данных карты и скрипта), просмотр и выполнение скрипта (будет доступен просмотр карты и выполнение имеющегося в ней скрипта в исполняющей среде, редактирование данных карты и скрипта будет недоступно). Сохранение карты с защитой всегда нужно выполнять в другой файл, т.к. любой вариант защиты исключает возможность дальнейшего редактирования.
Проект - Загрузить скрипт из файла - Загружает из выбранного файла *.lsm в текущий файл все функции, меню и формы. Если в выбранном файле встречается объект уже существующий в открытом файле, то запрашивается подтверждение на его замену.

Через пункт главного меню Настройки доступны настройки среды разработки . Он включает следующие подпункты:
Настройки - Редактор кода - Открывает диалог настроек редактора кода.
Настройки - Палитра компонент - Открывает окно редактирования палитр компонент (картографических и форм).
Настройки - Редактор rfhns - Открывает диалог настроек редактора карты.

Пункт главного меню Окна - управляет видимостью окон среды разработки.
Пункт главного меню Помощь - вызывает окно с информацией о программе и предоставляет справочную информацию.

Редактор меню

Список меню карты отображается на вкладке Меню инспектора объектов в виде дерева. Любое меню может быть главным, контекстным или панелью инструментов, в зависимости от функции, которой оно будет выбрано в коде программы. При выборе методом SetMainMenu объекта Menus, меню с указанным именем назначается в качестве главного меню программы и автоматически появляется в окне программы. При выборе методом SetPopUpMenu, меню с указанным именем назначается в качестве текущего контекстного меню программы и отображается при вызове метода PopUp объекта Menus. При выборе методом SetTollBar, меню с указанным именем добавляется на панель инструментов, при етом пункты меню на первом уровне иерархии становятся кнопками панели инструментов с соответствующими пиктограммами. Если у пункта есть подпункт, то у кнопки появляется сбоку дополнительныя узкая кнопка со стрелкой, при нажатии которой раскрывается вложенной меню.
При запуске программы на выполнение по умолчанию, если не использовать явно функцию SetMainMenu, в качестве главного будет использоваться первое меню из списка (если оно не пустое).



Для добавления нового меню нужно в контекстном меню выбрать пункт Добавить меню. В появившемся окне нужно указать имя создаваемого меню. Имя должно состоять из символов, допустимых для имен переменных и быть уникальным.
Для удаления меню нужно выделить его и в контекстном меню выбрать пункт Удалить меню. После подтверждения удаления меню будет удалено.
Для добавления к меню нового пункта нужно выделить его и в контекстном меню выбрать пункт Добавить пункт. В появившемся окне нужно задать имя пункта и его заголовок. Чтобы добавить подпункт в существующем пункте, нужно вышеуказанные действия выполнить для соответствующего пункта.
Для удаления пункта меню нужно выделить его и в контекстном меню выбрать пункт Удалить пункт. После подтверждения удаления пункт меню будет удален.



Для добавления пиктограммы для пункта меню нужно выделить его и в контекстном меню выбрать пункт Загрузить пиктограмму. В открывшемся диалоге нужно выбрать файл с пиктограммой. Пиктограмма должна быть в виде bmp файла с размером изображения 16х16 точек.
Для изменения свойств пункта меню нужно выделить его и в контекстном меню выбрать пункт Свойства. В открывшемся окне можно задать новое имя и заголовок меню, а также функцию обработки. Функция обработки выбирается из списка существующих функций, или при отсутствии нужной функции создается новыя. Для создания новой функции нужно установить флажок Новый и задать имя для новой функции обработки. Если для пункта не требуется обработчик, то нужно в списке выбрать пустую строку и снять флажок Новый.

Редактор форм

Список форм карты отображается на вкладке Формы инспектора объектов. Формы могут быть двух типов: HTML-форма (ее вид задается HTML разметкой) и Обычная форма (она проектируется в дизайнере форм).
Для добавления новой формы нужно в контекстном меню выбрать пункт Новая форма и в открывшемся окне задать имя, заголовок, тип и размеры формы по умолчанию. Имя формы используется для управления формой из кода скрипта. Созданная форма появится в списке форм инспектора объектов.
Для удаления формы нужно выделить форму в списке и в контекстном меню выбрать пункт Удалить форму. После подтверждения удаления форма будет удалена.
Для редактирования формы нужно выполнить двойной щелчок мыши по нужной форме в инспекторе объектов, после чего выбранная форма откроется в редакторе на странице Форма. Вид редактора зависит от типа формы. Для HTML формы ее код открывается в текстовом редакторе, где можно изменять ее как HTML страницу. Для обычной формы открывается дизайнер форм. В дизайнере форм происходит визуальное проектирование формы путем перенесения нужных элементов с палитры компонент.
Для добавления к форме визуального элемента пользовательского интерфейса нужно выбрать его на палитре компонент в главном окне и щелкнуть мышью в нужном месте формы. После этого компонент можно перемещать по форме, изменять его размеры и свойства.
Для перемещения компонента внутри формы нужно нажать на нем левую кнопку мыши и не отпуская ее переместить компонент в нужное место.
Для изменения размеров компонента нужно нажать левую кнопку мыши на нижней или правой границе компонента, когда указатель мыши принимает вид и, удерживая ее, переместить границу компонента.
Для удаления компонента нужно щелкнуть на нем левой кнопкой мыши и нажать кнопку на панели инструментов главного окна.
Для предварительного просмотра формынужно нажать кнопку на панели инструментов дизайнера форм. Форма будет показана в том виде, в котором она будет при выполнении программы в исполняющей среде.
Для сохранения сделанных на форме изменений нужно нажать на панели инструментов дизайнера форм кнопку . При этом изменения будут примененыы к документу. Сохранение измененной карты в файл происходит выбором пункта главного меню Файл - Сохранить. Сохранение HTML форм происходит аналогично в два этапа.

Для редактирования свойств визуального компонента формы нужно выделить его щелчком левой кнопки мыши. Компонент будет отмечен по периметру красной рамкой, при этом в инспекторе свойств отобразятся свойства компонента и их значения. Значения свойств можно изменять путем непосредственного ввода (для текстовых и числовых свойств), выбирать из выпадающего списка (для свойств, имеющих набор фиксированных значений) или редактировать через специализированные редакторы (для объектных свойств). Применение изменений свойства происходит при нажатии на клавиатуре клавиши Enter или при переходе к редактированию другого свойства.
Чтобы задать для компонента формы обработчики событий нужно перейти на вкладку События в инспекторе свойств и нажать кнопку в поле значения для нужного события. Откроется редактор события, в котором для выбранного события нужно задать функцию обработки из выпадающего списка или, при ее отсутствии, создать новую, задав ее имя и установив флажок Создать новую. Если для компонента не требуется обработчик, то в выпадающем списке нужно выбрать пустую строку и снять флажок Создать новую.

Все формы доступны из кода программы через свойство Forms объекта window. Компоненты формы и их свойства, отображаемые в инспекторе свойств при проектировании, доступны из кода программы через свойство Objects объекта формы. Например, если переменная forma является объектом формы, то код:

 forma.Elements("Button1");

вернет объект компонента формы с именем Button1, а код:

 forma.Elements("Button1").Width=100;

задаст ширину компонента с именем Button1 равную 100.

Редактор функций

Список функций карты отображается на вкладке Функции инспектора объектов. Некоторые функции являются встроенными и добавляются автоматически при открытии карты в редакторе скриптов. Эти функции выделены в списке красным цветом. Встроенные функции как правило являются обработчиками событий исполняющей среды. Их как и любые другие функции можно удалить, но при следующем открытии карты в редакторе они снова будут добавлены.


Набор встроенных функция зависит от исполняющей среды. В исполняющей среде Lks CityMap к встроенным функциям относятся:
Main - вызывается исполняющей средой однократно при запуске программы. В этой функции можно выполнять инициализацию переменных и другие настроечные действия. Эта функция имеется практически во всех исполняющих средах.
Map_Click - вызывается при щелчке мыши по карте. В эту функцию передается структура EvensInfo (сведения о нажатых кнопках мыши и клавиатуры), а также положение указателя мыши X,Y в линейных координатах карты. В структуре EvensInfo доступны следующие поля:

СвойствоОписаниеТип
ShiftСостояние клавиши Shiftboolean
AltСостояние клавиши Altboolean
CtrlСостояние клавиши Ctrlboolean
mLeftСостояние левой кнопки мышиboolean
mRightСостояние правой кнопки мышиboolean
mMiddleСостояние средней кнопки мышиboolean

MapObject_Select - вызывается при выделении картографического объекта. В эту функцию передается выделенный картографический объект MapObject и структура EventsInfo.
CommObject_Select - вызывается при выделении коммуникационного объекта. В эту функцию передается выделенный коммуникационный объект CommObject и структура EventsInfo.
Для добавления новой функции нужно в контекстном меню выбрать пункт Добавить функцию и в появившемся окне задать имя новой функции и список ее параметров, разделенных запятыми. Имена функций и параметров должны состоять из символов, допустимых для имен функций и переменных языка, на котором пишется скрипт.
Для удаления функции нужно выделить ее в списке и в контекствном меню выбрать пункт Удалить функцию. После подтверждения удаления функция будет удалена.
Для редактирования кода функции нужно выполнить двойной щелчок мышью по ее названию в списке, после чего она откроется в редакторе на вкладке Код.



Для применения изменений, сделанных в редакторе функций нужно нажать кнопку на панели инструментов редактора кода. При этом изменения будут применены. Сохранение в файл карты происходит выбором пункта главного меню Файл - Сохранить.
Код функции можно сохранить в текстовый файл или загрузить из текстового файла при помощи кнопок .


lkssupport@bk.ru