class_name Signaller extends Node

## Обмен сигналами между узлами. Здесь объявлены сигналы, которые используют
## два и более узла, из разных файлов. Должен быть помещён в автозагрузку.

## Подключает обработчик к событию по его определению
func conn(sgnl: Signal, clbl: Callable): connect(sgnl.get_name(), clbl)


## Вызывает сигнал по его определению
func emmit(sgnl: Signal): emit_signal(sgnl.get_name())


## Вызывается при обнаружение ошибки последовательного порта
signal serial_error()


## Вызывается при переходе в режим [b]Работа[/b].
signal режим_работа()


## Вызывается при переходе в режим [b]Контроль[/b].
signal режим_контроль()


## Вызывается при переходе в режим [b]Журнал[/b].
signal режим_журнал()


## Вызывается при переходе в режим [b]ЭМС[/b].
signal режим_эмс()

## Вызывается при переходе в режим [b]ЭМС ТГ[/b].
signal режим_эмс2()

## Вызывается при переходе в режим [b]Настройка[/b].
signal режим_настройки()

## Вызывается при включении/отключении режима [b]Тренаж[/b].[br]
## [param val] - [b]true[/b] тренаж включён.
signal режим_тренаж(val: bool)


## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели и помехи[/b].
signal full_auto()


## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора цели[/b].
signal threat_auto()


## Вызывается, когда оператор переводит программу в режим [b]Автомат выбора помехи[/b].
signal interfer_auto()


## Вызывается, когда оператор переводит программу в режим [b]Ручной[/b].
signal manual_control()


## Вызывается, когда оператор выбирает цель в таблице.[br]
## [param threats] - Словарь. Ключ - идентификатор (номер) цели. Значение - цель.[br]
## [param th] - Выбранная цель.[br]
signal threat_selected(threats: Dictionary, th)


## Вызывается, когда оператор снимает выбор цели.[br]
## [param threats] - Словарь. Ключ - идентификатор (номер) цели. Значение - цель.[br]
## [param th] - Ранее выбранная цель.[br]
signal threat_unselected(threats: Dictionary, th)


## Вызывается, когда пользователь переключает режим окна программы полный экран - оконный.[br]
## [param id] - Идентификатор окна. Присваевается вручную.
signal full_screen(id: int)


## Вызывается, когда пользователь выбирает цель.[br]
## [param th_id] - Отметка цели на экране.
signal rto_threat_sel(th_id: int)


## Вызывается, когда пользователь нажимает на значёк цели.[br]
## [param th_id] - Отметка цели на экране.
signal bip_pressed(th_id: int)


## Вызывается, когда пользователь снимает выделение с цели.[br]
## [param th_id] - Отметка цели на экране.
signal rto_threat_unsel(th_id: int)


## Вызывается, когда пользователь снимает выделение со всех целей.
signal rto_threat_unsel_all()


## Вызывается, когда пользователь выбирает помеху.[br]
## [param btn] - Нажатая кнопка помехи.
signal interfer_init(interfer_name: String, fs_arr: Array, power: float)


## Вызывается, когда выбраны цели для постановки помех.[br]
## [param btn] - Нажатая кнопка помехи.[br]
## [param sel_threats] - Cписок целей.
signal interfer_create(interfer_name: String, sel_threats: Array, fs_arr: Array, power: float)


## Вызывается, когда создалась новая помеха.[br]
## [param ecm] - Новая помеха.[br]
signal interfer_new(ecm: interfer.Interfer)


## Вызывается, когда отключается действующая помеха.[br]
## [param ecm] - Новая помеха.[br]
## [param ecms] - словарь помех.[br]
## [param thrs] - словарь id помех и связанных с ними целей.[br]
signal interfer_off(ecm: interfer.Interfer)


## Вызывается при нажатии отключить.
signal interfer_off_all()


## Вызывается при нажатии паника.
signal interfer_prinuditelno(interfer_sectors: Dictionary)


## Вызывается при получении внешнего целеуказания.
## [param interfer_params] - Параметры полученной помехи от 5П-28.[br]
signal interfer_rcv(interfer_params: Array)


## Вызывается, когда отключается действующая помеха.[br]
## [param ecm] - Выбранная помеха.
signal interfer_selected(ecm: interfer.Interfer)


## Вызывается, когда отключается выбираем помеху по сектору в таблице.[br]
## [param ecm] - Выбранная помеха.
signal fs_selected(ecm: interfer.Interfer)


## Вызывается при смещении карты пользователем.[br]
## [param lan], [param lat] - Вновь установленные координаты.
signal map_user_panning()


## Вызывается при изменении режима центрирования карты.[br]
## [param is_centered] - Карта центрирована по текущим координатам ([b]true[/b]
## - да, [b]false[/b] - нет)
signal map_centered(is_centered: bool)


## Вызывается при изменении размера изображения для отображения карты.[br]
## [param mode] - Вновь установленный режим/
signal map_mode_changed(mode: int)


## Вызывается при обновлении позиции(угла) цели.[br]
signal th_aoa_update(threats: Dictionary)


## <...>[br]
## [param ecms] - <...>
signal fs_update_color(ecms: Dictionary)


## Вызывается при получении информации о состоянии модулей ФС от КАПС РПБ.[br]
## [param ecms] - <...>
signal fs_update_state(fs_dict: Dictionary)


signal socket_error(error: String)


## Вызывается при нажатии на кнопку экранной клавиатуры
## [param state] - состояние нажатого переключателя виртуальной клавиатуры астры
signal kb_pressed(state)


## Вызывается при нажатии на кнопку экранной клавиатуры
## [param state] - состояние скрытия кнопки ЭМС2
signal ems2_hide_pressed(state)


## Вызывается при нажатии на кнопку экранной клавиатуры
## [param state] - состояние скрытия кнопки ЭМС2
signal emit_changed(state)


## Вызывается при изменении детализации карты.[br]
## [param new_scale] - обновленное значение масштаба ([b]true[/b]
signal update_scale_map(new_scale)


## Вызывается при изменении текущих координат.[br]
## [param new_coordinates] - обновленное значение координат ([b]true[/b]
signal update_coordinates_map(new_coordinates)


## Вызывается при изменении исправности прибора УФ.[br]
## [param  uf_serviceaability] - обновленное значение состояния исправности ([b]true[/b]
signal update_uf_serviceability(uf_serviceaability: bool)


signal tool_tip(new_ctrl_pos)


## Вызывается при изменении секторов запрета.[br]
## [param  fs_closed] - обновленное секторов запрета ([b]true[/b]
signal update_fs_closed(fs_closed: Dictionary)


signal sector_klaster (new_sector_data)


signal clear_klaster ()


## Вызывается при программном отключении помехи.[br]
## [param  ecm] - выключаемая помеха ([b]true[/b]
signal on_prog_ecm_off(ecm: interfer.Interfer)
