Вверх ↑
Пакеты 
HiAsm4
Windows 
Компоненты 
Проектные - HiPlugs

HiPlugs
Краткое описание
  Как и следует из названия, этот компонент, а точнее проект на основе компонента, служит для написания плагинов для оболочки Конструктора. Эти плагины по своему назначению ни чем не отличаются от любых других - они так же служат для функционального расширения программы, однако они в отличие от себе подобных, пишутся так же без единой строчки кода, и могут быть по прежнему реализованы любым пользователем HiAsm.
Параметры
(не определены)
События
  • onCommand - событие происходит всякий раз при нажатие кнопки или элемента меню панели инструментов и выдает в поток её имя. Еще одним полезным свойством данного события является возможность реагировать на свои собственные кнопки. Для этого вам необходимо всего лишь зарегестрировать свою команду в среде с помощью Редактора команд и затем обрабатывать её в плагине путем проверки возвращаемого событием значения. Как это реализуется на примере можно посмотреть в файле int\plugs\std.sha для комманд upload и rooms.
  • onKeyDown - событие происходит всякий раз после нажатие клавиши в программе. Тут сказать более того, что написано нечего. Ставите на выход события каскады из компонент !KeyMask!(маска клавиш) и реализуете свои действия.
  • onInit - событие происходит один раз при загрузке плагина в память компьютера. После него вы можете размещать схему инициализации вашего плагина( например, загружать параметры из реестра или файла ).
  • onChat - событие извещает плагин(в случае его использования) об изменение состояния чата в виде текстовых команд в формате:
    
     #<Имя команды>:<её параметры>
    В таблице ниже приведен список всех команд, выдаваемых чатом, а так же их параметры:

    Команда Назначение Параметры
    ERROR Любая ошибка, возникшая в чате Текст ошибки
    TEXT Пришло новое сообщение от пользователя чата Текст сообщения с именем отправителя
    MEMO Пользователь нажал клавишу Enter в поле ввода текста Текст введенный пользователем
    LIST Обновился список пользователей Ники всех пользователей через запятую
    JOIN В чат вошел новый пользователь Ник пользователя
    QUIT Пользователь вышел из чата Ник пользователя
    PART Пользователь вышел из канала Ник пользователя
    JOINED Процедура регистрации в чате прошла успешно ---

  • onCmdEnabled - это событие предназначено для управление статусом пользовательских команд. Если данная команда должна быть доступна для выполнения, то плагин должен вызвать парный метод doCmdEnabled с именем команды в потоке. Соответственно этот метод нужно вызвать для каждой команды, которую вы используете и которая раздрешена в данный момент. Если же после этого события для какой-то команды не будет вызван метод doCmdEnabled, то она останется недоступной. Пример обработки этого события так же можно посмотреть в файле int\plugs\std.sha
  • onCmdCompleting - событие аналогично событию onCommand только происходит после выполнения команды
  • onRegPanelEvent - событие происходит всякий раз при изменение состояния элементов формы и выдает в поток данные в следующем формате:
    
    <Имя панели>.<Имя элемента>:<Данные>
    <Имя панели> - это имя, под которым диалог регистрировался методом doRegPanel
    <Имя элемента> - имя элемента(берется из комментария к элементу)
    <Данные> - дополнительные данные о элементе
  • Методы
  • doDebug - выводит текст в поле на вкладке "Отладка". Возможно, вам будет необходимо отлаживать свои плагины, и тогда вы можете воспользоваться этим методом. Хотя конечно обычные способы отладки остаются по прежнему доступны. У данного метода имеется одна зарезервированная команда: CLEAR(большими буквами) - отчищает окно отладки
  • doOpen - команды данного метода полностью аналогичны командам компонента !LinkTip!(гиперссылка)
  • doInterface - Управление интерфейсом программы. Поддерживаемые методом команды:
    Команда Назначение
    proj_man:[bool] управление Каталогом проектов
    tabs:[bool] управление Вкладками
    prop:[bool] управление Панельлью параметров

    здесь [bool] - может принимать значения on, true или 1 для показа панелей и off, false или 0 для их скрытия
  • doChat - отправка команд чату в виде текстовых команд в формате:
    
    #<Имя команды>:<её параметры>
    В таблице ниже приведен список всех команд, а так же их параметры:

    Команда Назначение Параметры
    CLEAR Отчистка области вывода сообщений (нет)
    TEXT Отправка сообщений Текст сообщения
    MEMO Вывод текста в область вывода сообщений Текст
    LIST Обновление списка пользователей (нет)
    EXIT Выход из чата (нет)

  • doCmdEnabled - устанавливает статус пользовательской команды
  • doRegPanel - регистирует и показывает в среде панель по её имени. Имя панели должно совпадать с именем файла без расширения sha, лежащим в папки плагинов(int\plugs). Загрузка и инициализация диалога осуществляется при первом его показе, все последующие вызовы просто отображают форму на экране. Для обработки событий диалога см. onRegPanelEvent
  • Свойства
  • FileName - Содержит полное имя открытого в данный момент проекта
  • Handle - Содержит идентификатор программы благодаря которому можно получить доступ к таким параметрам главной формы как размер, положение, текст заголовка и прочее
  • Desktop - Содержит массив некоторых параметров программы:
    Индекс Параметр
    0 Имя файла текущего проекта
    1 Имя класса выделенного элемента(если выделен только один элемент)
    2 Кол-во выделенных элементов схемы
    3 Идентификатор элемента
    4 Кол-во элементов схемы в текущем модуле
    5 Кол-во элементов схемы во всем проекте
    6 Имя текущего пользователя
    7 Выделенную часть схемы в виде скрипта SHA
    8 Индекс активной в данной момент вкладки
    9 Индекс активного элемента на вкладке

  • Замечания
       Если вы сохраните ваш проект в папке \int\plugs и будете работать в этой директории, то при сборке проекта HiAsm автоматически перезагрузит измененный плагин, и вы тут же получите возможность работать с ним. В противном же случае вам всякий раз после очередной сборки плагина придется выходить из программы и вручную переписывать файл *.dll в папку \int\plugs
    Примеры программ
       примеры плагинов можно посмотреть в папке программы по адресам:
    int\plugs\std.sha
    int\plugs\chat.sha
    BB-code статьи для вставки
    Всего комментариев: 0
    (комментарии к статье еще не добавлены)
    Комментарий
    ...