Рефакторинг. Табуляцию в пробелы
This commit is contained in:
@@ -9,30 +9,30 @@ var FILES_ROWS_ALIGNMENT = [ HORIZONTAL_ALIGNMENT_LEFT, HORIZONTAL_ALIGNM
|
||||
|
||||
|
||||
func fill_files_table(tbl: Table, folder: String, rows_types: Array):
|
||||
var dir: = DirAccess.open(folder)
|
||||
if dir == null:
|
||||
return
|
||||
var files: = []
|
||||
var exclude_names: = ['.', '..']
|
||||
dir.list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547
|
||||
while true:
|
||||
var file: = dir.get_next()
|
||||
if file == '':
|
||||
break
|
||||
if file in exclude_names:
|
||||
continue
|
||||
var file_name = folder + '/' + file
|
||||
var fd = FileAccess.open(file_name, FileAccess.READ)
|
||||
if not fd:
|
||||
continue
|
||||
var glob_path = ProjectSettings.globalize_path(file_name)
|
||||
var sz = fd.get_length()
|
||||
var ut = fd.get_modified_time(file_name)
|
||||
fd.close()
|
||||
var mt = Time.get_datetime_dict_from_unix_time(ut)
|
||||
var file_row = [file, '%d' % sz, '%d-%02d-%02d %02d:%02d' % [mt.year, mt.month, mt.day, mt.hour, mt.minute]]
|
||||
tbl.add_row(rows_types)
|
||||
var i_row = tbl.get_rows_count() - 1
|
||||
tbl.set_row_text(i_row, file_row)
|
||||
tbl.set_node_meta(0, i_row, 'file_path', glob_path)
|
||||
dir.list_dir_end()
|
||||
var dir: = DirAccess.open(folder)
|
||||
if dir == null:
|
||||
return
|
||||
var files: = []
|
||||
var exclude_names: = ['.', '..']
|
||||
dir.list_dir_begin() # TODOGODOT4 fill missing arguments https://github.com/godotengine/godot/pull/40547
|
||||
while true:
|
||||
var file: = dir.get_next()
|
||||
if file == '':
|
||||
break
|
||||
if file in exclude_names:
|
||||
continue
|
||||
var file_name = folder + '/' + file
|
||||
var fd = FileAccess.open(file_name, FileAccess.READ)
|
||||
if not fd:
|
||||
continue
|
||||
var glob_path = ProjectSettings.globalize_path(file_name)
|
||||
var sz = fd.get_length()
|
||||
var ut = fd.get_modified_time(file_name)
|
||||
fd.close()
|
||||
var mt = Time.get_datetime_dict_from_unix_time(ut)
|
||||
var file_row = [file, '%d' % sz, '%d-%02d-%02d %02d:%02d' % [mt.year, mt.month, mt.day, mt.hour, mt.minute]]
|
||||
tbl.add_row(rows_types)
|
||||
var i_row = tbl.get_rows_count() - 1
|
||||
tbl.set_row_text(i_row, file_row)
|
||||
tbl.set_node_meta(0, i_row, 'file_path', glob_path)
|
||||
dir.list_dir_end()
|
||||
|
||||
@@ -6,28 +6,28 @@ extends PanelContainer
|
||||
|
||||
|
||||
@export var texture_state0: Texture2D = preload('res://data/кнопка-квадрат-0.png'):
|
||||
set(val): $state.set_texture(val)
|
||||
set(val): $state.set_texture(val)
|
||||
|
||||
|
||||
@export var texture_state1: Texture2D = preload('res://data/кнопка-квадрат-1.png'):
|
||||
set(val): $state.set_texture(val)
|
||||
set(val): $state.set_texture(val)
|
||||
|
||||
|
||||
@export var text: String = '':
|
||||
set(val): $button.set_text(val)
|
||||
get: return $button.get_text()
|
||||
set(val): $button.set_text(val)
|
||||
get: return $button.get_text()
|
||||
|
||||
|
||||
@export var pressed: bool = false:
|
||||
set(val): $button.set_pressed(val)
|
||||
get: return $button.is_pressed()
|
||||
set(val): $button.set_pressed(val)
|
||||
get: return $button.is_pressed()
|
||||
|
||||
|
||||
@export var toggle_mode: bool = false:
|
||||
set(val):
|
||||
if is_inside_tree():
|
||||
$button.set_toggle_mode(val)
|
||||
get: return $button.is_toggle_mode()
|
||||
set(val):
|
||||
if is_inside_tree():
|
||||
$button.set_toggle_mode(val)
|
||||
get: return $button.is_toggle_mode()
|
||||
|
||||
|
||||
func set_text (val: String): $button.set_text(val)
|
||||
@@ -35,8 +35,8 @@ func set_pressed (val: bool): $button.set_pressed(val)
|
||||
|
||||
|
||||
func set_toggle_mode (val: bool):
|
||||
if is_inside_tree():
|
||||
$button.set_toggle_mode(val)
|
||||
if is_inside_tree():
|
||||
$button.set_toggle_mode(val)
|
||||
|
||||
|
||||
func get_text(): return $button.get_text()
|
||||
@@ -45,9 +45,9 @@ func is_toggle_mode(): return $button.is_toggle_mode()
|
||||
|
||||
|
||||
func _on_button_toggled(val: bool):
|
||||
if val: $state.set_texture(texture_state1)
|
||||
else: $state.set_texture(texture_state0)
|
||||
if val: $state.set_texture(texture_state1)
|
||||
else: $state.set_texture(texture_state0)
|
||||
|
||||
|
||||
func button_connect(button_signal: String, proc: Callable):
|
||||
$button.connect(button_signal, proc)
|
||||
$button.connect(button_signal, proc)
|
||||
|
||||
372
scenes/ЭМС.gd
372
scenes/ЭМС.gd
@@ -21,252 +21,252 @@ var posx: int = 35 # Позиция элементов по x
|
||||
var posy: int = 60 # Позиция элементов по y
|
||||
|
||||
func _ready() -> void:
|
||||
call_deferred('init_boards')
|
||||
call_deferred('init_boards')
|
||||
|
||||
|
||||
func init_boards():
|
||||
$scrollin.set_position(Vector2(posx,posy))
|
||||
$scrollout.set_position(Vector2(posx+650,posy))
|
||||
$scrl_in_set.set_position(Vector2(posx,posy + 700))
|
||||
$scrl_out_set.set_position(Vector2(posx+650,posy + 700))
|
||||
#$tbl_files.set_position(Vector2(posx + 890,len(INPUT_ROWS)*33+posy+300))
|
||||
#$btn_new.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+294))
|
||||
#$btn_save.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+344))
|
||||
#$btn_copy.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+394))
|
||||
$lbl_online.set_position(Vector2(posx,posy-60))
|
||||
$btn_flash_read.set_position(Vector2(posx+1400,posy))
|
||||
$btn_flash_write.set_position(Vector2(posx+1400,posy+35))
|
||||
$btn_connect.set_position(Vector2(posx+590,posy-25))
|
||||
g_boards['КЭМС'] = Yemsboards.EmsBoard.new('КЭМС', 0x130, YemsConsts.INPUT_ROWS0, YemsConsts.OUTPUT_ROWS0)
|
||||
g_boards['П5-28'] = Yemsboards.EmsBoard.new('П5-28', 0x140, YemsConsts.INPUT_ROWS1, YemsConsts.OUTPUT_ROWS1)
|
||||
init_tbls_in()
|
||||
$scrollin/tbl_in.pin_header($scrollin, self)
|
||||
init_tbls_out()
|
||||
$scrollout/tbl_out.pin_header($scrollout, self)
|
||||
$scrl_in_set/tbl_in_set.pin_header($scrl_in_set, self)
|
||||
$scrl_out_set/tbl_out_set.pin_header($scrl_out_set, self)
|
||||
$btn_connect.connect('pressed', Callable(self, 'on_btn_connect'))
|
||||
$scrollin.set_position(Vector2(posx,posy))
|
||||
$scrollout.set_position(Vector2(posx+650,posy))
|
||||
$scrl_in_set.set_position(Vector2(posx,posy + 700))
|
||||
$scrl_out_set.set_position(Vector2(posx+650,posy + 700))
|
||||
#$tbl_files.set_position(Vector2(posx + 890,len(INPUT_ROWS)*33+posy+300))
|
||||
#$btn_new.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+294))
|
||||
#$btn_save.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+344))
|
||||
#$btn_copy.set_position(Vector2(posx + 1270,len(INPUT_ROWS)*33+posy+394))
|
||||
$lbl_online.set_position(Vector2(posx,posy-60))
|
||||
$btn_flash_read.set_position(Vector2(posx+1400,posy))
|
||||
$btn_flash_write.set_position(Vector2(posx+1400,posy+35))
|
||||
$btn_connect.set_position(Vector2(posx+590,posy-25))
|
||||
g_boards['КЭМС'] = Yemsboards.EmsBoard.new('КЭМС', 0x130, YemsConsts.INPUT_ROWS0, YemsConsts.OUTPUT_ROWS0)
|
||||
g_boards['П5-28'] = Yemsboards.EmsBoard.new('П5-28', 0x140, YemsConsts.INPUT_ROWS1, YemsConsts.OUTPUT_ROWS1)
|
||||
init_tbls_in()
|
||||
$scrollin/tbl_in.pin_header($scrollin, self)
|
||||
init_tbls_out()
|
||||
$scrollout/tbl_out.pin_header($scrollout, self)
|
||||
$scrl_in_set/tbl_in_set.pin_header($scrl_in_set, self)
|
||||
$scrl_out_set/tbl_out_set.pin_header($scrl_out_set, self)
|
||||
$btn_connect.connect('pressed', Callable(self, 'on_btn_connect'))
|
||||
|
||||
|
||||
func init_tbls_in():
|
||||
var header_type: Array = [TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]
|
||||
var header_text: Array = ['Входы', 'Соединитель', 'мкс', 'мкс', 'Состояние']
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState]
|
||||
var yams_alligment_in: Array = [ HORIZONTAL_ALIGNMENT_LEFT, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
var column_size: Array = [250, 100, 70, 70, 50]
|
||||
$scrollin/tbl_in.set_header(header_type)
|
||||
$scrollin/tbl_in.set_header_text(header_text)
|
||||
$scrollin/tbl_in.set_columns_alignments(yams_alligment_in)
|
||||
for board in g_boards:
|
||||
for item in g_boards[board].in_tbl:
|
||||
$scrollin/tbl_in.add_row(row_type)
|
||||
var row_index : int = $scrollin/tbl_in.get_rows_count() - 1
|
||||
var params : Array = item[1]
|
||||
var in_dev: YemsDevs.InDev = YemsDevs.InDev.new(item[0], params, row_index)
|
||||
in_dev.board = board
|
||||
for i in range(len(row_type)):
|
||||
if i < len(params):
|
||||
var node = $scrollin/tbl_in.get_node2(i, row_index)
|
||||
node.text = params[i]
|
||||
node.editable = false
|
||||
$scrollin/tbl_in.set_node_user_data(i, row_index, [in_dev, board])
|
||||
$scrollin/tbl_in.set_columns_min_size(column_size)
|
||||
$scrollin/tbl_in.connect('row_pressed', Callable(self, 'on_row_pressed_in'))
|
||||
$scrollin/tbl_in.connect('selected_changed', Callable(self, 'on_selected_changed_in'))
|
||||
var header_type: Array = [TableHeader, TableHeader, TableHeader, TableHeader, TableHeader]
|
||||
var header_text: Array = ['Входы', 'Соединитель', 'мкс', 'мкс', 'Состояние']
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState]
|
||||
var yams_alligment_in: Array = [ HORIZONTAL_ALIGNMENT_LEFT, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||
var column_size: Array = [250, 100, 70, 70, 50]
|
||||
$scrollin/tbl_in.set_header(header_type)
|
||||
$scrollin/tbl_in.set_header_text(header_text)
|
||||
$scrollin/tbl_in.set_columns_alignments(yams_alligment_in)
|
||||
for board in g_boards:
|
||||
for item in g_boards[board].in_tbl:
|
||||
$scrollin/tbl_in.add_row(row_type)
|
||||
var row_index : int = $scrollin/tbl_in.get_rows_count() - 1
|
||||
var params : Array = item[1]
|
||||
var in_dev: YemsDevs.InDev = YemsDevs.InDev.new(item[0], params, row_index)
|
||||
in_dev.board = board
|
||||
for i in range(len(row_type)):
|
||||
if i < len(params):
|
||||
var node = $scrollin/tbl_in.get_node2(i, row_index)
|
||||
node.text = params[i]
|
||||
node.editable = false
|
||||
$scrollin/tbl_in.set_node_user_data(i, row_index, [in_dev, board])
|
||||
$scrollin/tbl_in.set_columns_min_size(column_size)
|
||||
$scrollin/tbl_in.connect('row_pressed', Callable(self, 'on_row_pressed_in'))
|
||||
$scrollin/tbl_in.connect('selected_changed', Callable(self, 'on_selected_changed_in'))
|
||||
|
||||
|
||||
header_text[0] = 'Вход'
|
||||
$scrl_in_set/tbl_in_set.set_header(header_type)
|
||||
$scrl_in_set/tbl_in_set.set_header_text(header_text)
|
||||
$scrl_in_set/tbl_in_set.set_columns_alignments(yams_alligment_in)
|
||||
$scrl_in_set/tbl_in_set.set_columns_min_size(column_size)
|
||||
header_text[0] = 'Вход'
|
||||
$scrl_in_set/tbl_in_set.set_header(header_type)
|
||||
$scrl_in_set/tbl_in_set.set_header_text(header_text)
|
||||
$scrl_in_set/tbl_in_set.set_columns_alignments(yams_alligment_in)
|
||||
$scrl_in_set/tbl_in_set.set_columns_min_size(column_size)
|
||||
|
||||
$scrl_in_set/tbl_in_set.connect('row_pressed', Callable(self, 'on_row_pressed_si'))
|
||||
$scrl_in_set/tbl_in_set.connect('selected_changed', Callable(self, 'on_selected_changed_si'))
|
||||
$scrl_in_set/tbl_in_set.connect('row_pressed', Callable(self, 'on_row_pressed_si'))
|
||||
$scrl_in_set/tbl_in_set.connect('selected_changed', Callable(self, 'on_selected_changed_si'))
|
||||
|
||||
|
||||
func on_selected_changed_in(i_row: int):
|
||||
var selecter_rows: Array = []
|
||||
$scrollin/tbl_in.get_selected_rows(selecter_rows)
|
||||
var user_data = $scrollin/tbl_in.get_node_user_data(0, i_row)
|
||||
var dev = user_data[0]
|
||||
var board = user_data[1]
|
||||
set_in_dev(board, dev)
|
||||
var selecter_rows: Array = []
|
||||
$scrollin/tbl_in.get_selected_rows(selecter_rows)
|
||||
var user_data = $scrollin/tbl_in.get_node_user_data(0, i_row)
|
||||
var dev = user_data[0]
|
||||
var board = user_data[1]
|
||||
set_in_dev(board, dev)
|
||||
|
||||
|
||||
func on_row_pressed_in(i_row: int):
|
||||
on_row_pressed(i_row, $scrollin/tbl_in)
|
||||
on_selected_changed_in(i_row)
|
||||
on_row_pressed(i_row, $scrollin/tbl_in)
|
||||
on_selected_changed_in(i_row)
|
||||
|
||||
|
||||
func set_in_dev(_board, dev):
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState]
|
||||
set_dev($scrl_in_set/tbl_in_set, dev, row_type, IN_SET_ROW, 'Список соединённых выходов :')
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState]
|
||||
set_dev($scrl_in_set/tbl_in_set, dev, row_type, IN_SET_ROW, 'Список соединённых выходов :')
|
||||
|
||||
|
||||
func on_selected_changed_si(i_row: int):
|
||||
if i_row < 2:
|
||||
return
|
||||
var out_user_data = $scrl_in_set/tbl_in_set.get_node_user_data(0, i_row)
|
||||
var dev = out_user_data[0]
|
||||
var dev_name = dev.dev_name
|
||||
for i in range($scrollout/tbl_out.get_rows_count()):
|
||||
var node = $scrollout/tbl_out.get_node2(0, i)
|
||||
if dev_name == node.text:
|
||||
on_row_pressed_out(i)
|
||||
if i_row < 2:
|
||||
return
|
||||
var out_user_data = $scrl_in_set/tbl_in_set.get_node_user_data(0, i_row)
|
||||
var dev = out_user_data[0]
|
||||
var dev_name = dev.dev_name
|
||||
for i in range($scrollout/tbl_out.get_rows_count()):
|
||||
var node = $scrollout/tbl_out.get_node2(0, i)
|
||||
if dev_name == node.text:
|
||||
on_row_pressed_out(i)
|
||||
|
||||
|
||||
func on_row_pressed_si(i_row: int):
|
||||
if i_row < 2:
|
||||
return
|
||||
on_row_pressed(i_row, $scrl_in_set/tbl_in_set)
|
||||
on_selected_changed_si(i_row)
|
||||
if i_row < 2:
|
||||
return
|
||||
on_row_pressed(i_row, $scrl_in_set/tbl_in_set)
|
||||
on_selected_changed_si(i_row)
|
||||
|
||||
|
||||
func init_tbls_out():
|
||||
var header_text = ['Выходы', 'Соединитель', 'мкс', 'мкс', 'Состояние', 'Режим']
|
||||
$scrollout/tbl_out.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader])
|
||||
$scrollout/tbl_out.set_header_text(header_text)
|
||||
for board in g_boards:
|
||||
for item in g_boards[board].out_tbl:
|
||||
$scrollout/tbl_out.add_row([CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState, CellLineEdit])
|
||||
var row_index : int = $scrollout/tbl_out.get_rows_count() - 1
|
||||
var params : Array = item[1]
|
||||
var out_dev = YemsDevs.OutDev.new(item[0], params, row_index)
|
||||
out_dev.board = board
|
||||
for i in range(len(header_text)):
|
||||
var cell = $scrollout/tbl_out.get_node2(i, row_index)
|
||||
if i < len(params):
|
||||
cell.text = params[i]
|
||||
cell.editable = false
|
||||
$scrollout/tbl_out.set_node_user_data(i, row_index, [out_dev, board])
|
||||
if i in COLUMN_OPTS_BTN:
|
||||
cell.text = out_dev.mode
|
||||
$scrollout/tbl_out.set_columns_min_size([250, 100, 70, 70, 70, 100])
|
||||
$scrollout/tbl_out.connect('row_pressed', Callable(self, 'on_row_pressed_out'))
|
||||
$scrollout/tbl_out.connect('selected_changed', Callable(self, 'on_selected_changed_out'))
|
||||
var header_text = ['Выходы', 'Соединитель', 'мкс', 'мкс', 'Состояние', 'Режим']
|
||||
$scrollout/tbl_out.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader])
|
||||
$scrollout/tbl_out.set_header_text(header_text)
|
||||
for board in g_boards:
|
||||
for item in g_boards[board].out_tbl:
|
||||
$scrollout/tbl_out.add_row([CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState, CellLineEdit])
|
||||
var row_index : int = $scrollout/tbl_out.get_rows_count() - 1
|
||||
var params : Array = item[1]
|
||||
var out_dev = YemsDevs.OutDev.new(item[0], params, row_index)
|
||||
out_dev.board = board
|
||||
for i in range(len(header_text)):
|
||||
var cell = $scrollout/tbl_out.get_node2(i, row_index)
|
||||
if i < len(params):
|
||||
cell.text = params[i]
|
||||
cell.editable = false
|
||||
$scrollout/tbl_out.set_node_user_data(i, row_index, [out_dev, board])
|
||||
if i in COLUMN_OPTS_BTN:
|
||||
cell.text = out_dev.mode
|
||||
$scrollout/tbl_out.set_columns_min_size([250, 100, 70, 70, 70, 100])
|
||||
$scrollout/tbl_out.connect('row_pressed', Callable(self, 'on_row_pressed_out'))
|
||||
$scrollout/tbl_out.connect('selected_changed', Callable(self, 'on_selected_changed_out'))
|
||||
|
||||
header_text[0] = 'Выход'
|
||||
$scrl_out_set/tbl_out_set.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader])
|
||||
$scrl_out_set/tbl_out_set.set_header_text(header_text)
|
||||
$scrl_out_set/tbl_out_set.set_columns_min_size([250, 100, 70, 70, 70, 100])
|
||||
$scrl_out_set/tbl_out_set.connect('row_pressed', Callable(self, 'on_row_pressed_so'))
|
||||
$scrl_out_set/tbl_out_set.connect('selected_changed', Callable(self, 'on_selected_changed_so'))
|
||||
header_text[0] = 'Выход'
|
||||
$scrl_out_set/tbl_out_set.set_header([TableHeader, TableHeader, TableHeader, TableHeader, TableHeader, TableHeader])
|
||||
$scrl_out_set/tbl_out_set.set_header_text(header_text)
|
||||
$scrl_out_set/tbl_out_set.set_columns_min_size([250, 100, 70, 70, 70, 100])
|
||||
$scrl_out_set/tbl_out_set.connect('row_pressed', Callable(self, 'on_row_pressed_so'))
|
||||
$scrl_out_set/tbl_out_set.connect('selected_changed', Callable(self, 'on_selected_changed_so'))
|
||||
|
||||
|
||||
func on_selected_changed_so(i_row: int):
|
||||
if i_row < 2:
|
||||
return
|
||||
var in_user_data = $scrl_out_set/tbl_out_set.get_node_user_data(0, i_row)
|
||||
var dev = in_user_data[0]
|
||||
var dev_name = dev.dev_name
|
||||
for i in range($scrollin/tbl_in.get_rows_count()):
|
||||
var node = $scrollin/tbl_in.get_node2(0, i)
|
||||
if dev_name == node.text:
|
||||
on_row_pressed_in(i)
|
||||
if i_row < 2:
|
||||
return
|
||||
var in_user_data = $scrl_out_set/tbl_out_set.get_node_user_data(0, i_row)
|
||||
var dev = in_user_data[0]
|
||||
var dev_name = dev.dev_name
|
||||
for i in range($scrollin/tbl_in.get_rows_count()):
|
||||
var node = $scrollin/tbl_in.get_node2(0, i)
|
||||
if dev_name == node.text:
|
||||
on_row_pressed_in(i)
|
||||
|
||||
|
||||
func on_row_pressed_so(i_row: int):
|
||||
if i_row < 2:
|
||||
return
|
||||
on_row_pressed(i_row, $scrl_out_set/tbl_out_set)
|
||||
on_selected_changed_so(i_row)
|
||||
if i_row < 2:
|
||||
return
|
||||
on_row_pressed(i_row, $scrl_out_set/tbl_out_set)
|
||||
on_selected_changed_so(i_row)
|
||||
|
||||
|
||||
func on_selected_changed_out(i_row: int):
|
||||
var selecter_rows: Array = []
|
||||
$scrollout/tbl_out.get_selected_rows(selecter_rows)
|
||||
var user_data = $scrollout/tbl_out.get_node_user_data(0, i_row)
|
||||
var dev = user_data[0]
|
||||
var board = user_data[1]
|
||||
set_out_dev(board, dev)
|
||||
var selecter_rows: Array = []
|
||||
$scrollout/tbl_out.get_selected_rows(selecter_rows)
|
||||
var user_data = $scrollout/tbl_out.get_node_user_data(0, i_row)
|
||||
var dev = user_data[0]
|
||||
var board = user_data[1]
|
||||
set_out_dev(board, dev)
|
||||
|
||||
|
||||
func on_row_pressed_out(i_row: int):
|
||||
on_row_pressed(i_row, $scrollout/tbl_out)
|
||||
on_selected_changed_out(i_row)
|
||||
on_row_pressed(i_row, $scrollout/tbl_out)
|
||||
on_selected_changed_out(i_row)
|
||||
|
||||
|
||||
func set_out_dev(_board, dev):
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState, CellOptBtn]
|
||||
set_dev($scrl_out_set/tbl_out_set, dev, row_type, OUT_SET_ROW, 'Список соединённых входов :')
|
||||
var mode = $scrl_out_set/tbl_out_set.get_node2(5, 0)
|
||||
for opt in OUT_MODE:
|
||||
mode.add_item(opt)
|
||||
var mode_index: int = OUT_MODE.find(dev.mode)
|
||||
if mode_index != -1:
|
||||
mode.select(mode_index)
|
||||
var row_type: Array = [CellLineEdit, CellLineEdit, CellLineEdit, CellLineEdit, CellState, CellOptBtn]
|
||||
set_dev($scrl_out_set/tbl_out_set, dev, row_type, OUT_SET_ROW, 'Список соединённых входов :')
|
||||
var mode = $scrl_out_set/tbl_out_set.get_node2(5, 0)
|
||||
for opt in OUT_MODE:
|
||||
mode.add_item(opt)
|
||||
var mode_index: int = OUT_MODE.find(dev.mode)
|
||||
if mode_index != -1:
|
||||
mode.select(mode_index)
|
||||
|
||||
|
||||
func set_dev(tbl, dev, row_type, row_type_conn, lbl_text):
|
||||
tbl.clear_rows()
|
||||
tbl.add_row(row_type)
|
||||
var le_name: LineEdit = tbl.get_node2(0, 0)
|
||||
le_name.editable = false
|
||||
le_name.text = dev.dev_name
|
||||
var connector: LineEdit = tbl.get_node2(1, 0)
|
||||
connector.editable = false
|
||||
connector.text = dev.connector
|
||||
var delay: LineEdit = tbl.get_node2(2, 0)
|
||||
delay.text = '%4.2f'%dev.delay
|
||||
var offset: LineEdit = tbl.get_node2(3, 0)
|
||||
offset.text = '%4.2f'%dev.offset
|
||||
var state = tbl.get_node2(4, 0)
|
||||
state.set_frame(dev.state)
|
||||
tbl.clear_rows()
|
||||
tbl.add_row(row_type)
|
||||
var le_name: LineEdit = tbl.get_node2(0, 0)
|
||||
le_name.editable = false
|
||||
le_name.text = dev.dev_name
|
||||
var connector: LineEdit = tbl.get_node2(1, 0)
|
||||
connector.editable = false
|
||||
connector.text = dev.connector
|
||||
var delay: LineEdit = tbl.get_node2(2, 0)
|
||||
delay.text = '%4.2f'%dev.delay
|
||||
var offset: LineEdit = tbl.get_node2(3, 0)
|
||||
offset.text = '%4.2f'%dev.offset
|
||||
var state = tbl.get_node2(4, 0)
|
||||
state.set_frame(dev.state)
|
||||
|
||||
tbl.add_row(row_type_conn)
|
||||
var lbl: LineEdit = tbl.get_node2(0, 1)
|
||||
lbl.text = lbl_text
|
||||
for i in len(row_type_conn):
|
||||
var le: LineEdit = tbl.get_node2(i, 1)
|
||||
le.editable = false
|
||||
tbl.add_row(row_type_conn)
|
||||
var lbl: LineEdit = tbl.get_node2(0, 1)
|
||||
lbl.text = lbl_text
|
||||
for i in len(row_type_conn):
|
||||
var le: LineEdit = tbl.get_node2(i, 1)
|
||||
le.editable = false
|
||||
|
||||
for i in dev.connect_devs:
|
||||
var dev_con = dev.connect_devs[i][0]
|
||||
tbl.add_row(row_type_conn)
|
||||
var node_index: Array = [0, tbl.get_rows_count() -1]
|
||||
var le_name_out: LineEdit = tbl.get_node2(node_index[0], node_index[1])
|
||||
disable_edit(tbl, len(row_type_conn), node_index[1])
|
||||
le_name_out.text = dev_con.dev_name
|
||||
tbl.set_node_user_data(node_index[0], node_index[1], dev.connect_devs[i])
|
||||
for i in dev.connect_devs:
|
||||
var dev_con = dev.connect_devs[i][0]
|
||||
tbl.add_row(row_type_conn)
|
||||
var node_index: Array = [0, tbl.get_rows_count() -1]
|
||||
var le_name_out: LineEdit = tbl.get_node2(node_index[0], node_index[1])
|
||||
disable_edit(tbl, len(row_type_conn), node_index[1])
|
||||
le_name_out.text = dev_con.dev_name
|
||||
tbl.set_node_user_data(node_index[0], node_index[1], dev.connect_devs[i])
|
||||
|
||||
|
||||
func on_btn_connect():
|
||||
var in_row_index: Array = []
|
||||
var out_row_index: Array = []
|
||||
$scrollin/tbl_in.get_selected_rows(in_row_index)
|
||||
$scrollout/tbl_out.get_selected_rows(out_row_index)
|
||||
if len(in_row_index) and len(out_row_index):
|
||||
var in_user_data = $scrollin/tbl_in.get_node_user_data(0, in_row_index[0])
|
||||
var out_user_data = $scrollout/tbl_out.get_node_user_data(0, out_row_index[0])
|
||||
var in_dev = in_user_data[0]
|
||||
var out_dev = out_user_data[0]
|
||||
add_connection_dev($scrl_out_set/tbl_out_set, in_dev, out_dev, OUT_SET_ROW, in_user_data)
|
||||
add_connection_dev($scrl_in_set/tbl_in_set, out_dev, in_dev, IN_SET_ROW, out_user_data)
|
||||
var in_row_index: Array = []
|
||||
var out_row_index: Array = []
|
||||
$scrollin/tbl_in.get_selected_rows(in_row_index)
|
||||
$scrollout/tbl_out.get_selected_rows(out_row_index)
|
||||
if len(in_row_index) and len(out_row_index):
|
||||
var in_user_data = $scrollin/tbl_in.get_node_user_data(0, in_row_index[0])
|
||||
var out_user_data = $scrollout/tbl_out.get_node_user_data(0, out_row_index[0])
|
||||
var in_dev = in_user_data[0]
|
||||
var out_dev = out_user_data[0]
|
||||
add_connection_dev($scrl_out_set/tbl_out_set, in_dev, out_dev, OUT_SET_ROW, in_user_data)
|
||||
add_connection_dev($scrl_in_set/tbl_in_set, out_dev, in_dev, IN_SET_ROW, out_user_data)
|
||||
|
||||
|
||||
func add_connection_dev(tbl, dev1, dev2, set_row, user_data):
|
||||
if not dev1.dev_name in dev2.connect_devs:
|
||||
tbl.add_row(set_row)
|
||||
var node_index: Array = [0, tbl.get_rows_count() -1]
|
||||
var le_name: LineEdit = tbl.get_node2(node_index[0], node_index[1])
|
||||
le_name.text = dev1.dev_name
|
||||
disable_edit(tbl, len(set_row), node_index[1])
|
||||
tbl.set_node_user_data(node_index[0], node_index[1], user_data)
|
||||
dev2.connect_devs[dev1.dev_name] = user_data
|
||||
if not dev1.dev_name in dev2.connect_devs:
|
||||
tbl.add_row(set_row)
|
||||
var node_index: Array = [0, tbl.get_rows_count() -1]
|
||||
var le_name: LineEdit = tbl.get_node2(node_index[0], node_index[1])
|
||||
le_name.text = dev1.dev_name
|
||||
disable_edit(tbl, len(set_row), node_index[1])
|
||||
tbl.set_node_user_data(node_index[0], node_index[1], user_data)
|
||||
dev2.connect_devs[dev1.dev_name] = user_data
|
||||
|
||||
|
||||
func disable_edit(tbl, num_col: int, i_row: int):
|
||||
for col in range(num_col):
|
||||
var node: LineEdit = tbl.get_node2(col, i_row)
|
||||
node.editable = false
|
||||
for col in range(num_col):
|
||||
var node: LineEdit = tbl.get_node2(col, i_row)
|
||||
node.editable = false
|
||||
|
||||
|
||||
func on_row_pressed(i_row: int, tbl):
|
||||
tbl.clear_rows_selected()
|
||||
var is_row_selected = tbl.is_row_selected(i_row)
|
||||
tbl.set_row_selected(i_row, not is_row_selected)
|
||||
tbl.clear_rows_selected()
|
||||
var is_row_selected = tbl.is_row_selected(i_row)
|
||||
tbl.set_row_selected(i_row, not is_row_selected)
|
||||
|
||||
|
||||
func _process(_delta):
|
||||
pass
|
||||
pass
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
extends Control
|
||||
|
||||
|
||||
|
||||
func on_line_changed(unit, addr): Log.message(Logger.INFO, 'Состояние связи: %s %s' % [unit, addr])
|
||||
func on_command_fail(unit, addr): Log.message(Logger.ERROR, 'Ошибка: команда не выполнена: %s %s' % [unit, addr])
|
||||
|
||||
|
||||
@@ -2,41 +2,41 @@ extends Panel
|
||||
|
||||
const PRIBORS_RES = \
|
||||
[['pribor_uf', 'res://scenes/pribor_uf.tscn'],
|
||||
['pribor_rtr', 'res://scenes/pribor_rtr.tscn'],
|
||||
['pribor_afsp_l', 'res://scenes/pribor_afsp_l.tscn'],
|
||||
['pribor_afsp_r', 'res://scenes/pribor_afsp_r.tscn'],
|
||||
['pribor_sch3', 'res://scenes/pribor_sch3.tscn'],
|
||||
['pribor_spt_l', 'res://scenes/pribor_spt_l.tscn'],
|
||||
['pribor_spt_r', 'res://scenes/pribor_spt_r.tscn'],
|
||||
['pribor_prd_v_1', 'res://scenes/pribor_prd_v_1.tscn'],
|
||||
['pribor_prd_n_1', 'res://scenes/pribor_prd_n_1.tscn'],
|
||||
['pribor_prd_k_1', 'res://scenes/pribor_prd_k_1.tscn'],
|
||||
['pribor_prd_v_2', 'res://scenes/pribor_prd_v_2.tscn'],
|
||||
['pribor_prd_n_2', 'res://scenes/pribor_prd_n_2.tscn'],
|
||||
['pribor_prd_k_2', 'res://scenes/pribor_prd_k_2.tscn'],
|
||||
['pribor_prd_v_3', 'res://scenes/pribor_prd_v_3.tscn'],
|
||||
['pribor_prd_n_3', 'res://scenes/pribor_prd_n_3.tscn'],
|
||||
['pribor_prd_k_3', 'res://scenes/pribor_prd_k_3.tscn'],
|
||||
['pribor_prd_v_4', 'res://scenes/pribor_prd_v_4.tscn'],
|
||||
['pribor_prd_n_4', 'res://scenes/pribor_prd_n_4.tscn'],
|
||||
['pribor_prd_k_4', 'res://scenes/pribor_prd_k_4.tscn']]
|
||||
['pribor_rtr', 'res://scenes/pribor_rtr.tscn'],
|
||||
['pribor_afsp_l', 'res://scenes/pribor_afsp_l.tscn'],
|
||||
['pribor_afsp_r', 'res://scenes/pribor_afsp_r.tscn'],
|
||||
['pribor_sch3', 'res://scenes/pribor_sch3.tscn'],
|
||||
['pribor_spt_l', 'res://scenes/pribor_spt_l.tscn'],
|
||||
['pribor_spt_r', 'res://scenes/pribor_spt_r.tscn'],
|
||||
['pribor_prd_v_1', 'res://scenes/pribor_prd_v_1.tscn'],
|
||||
['pribor_prd_n_1', 'res://scenes/pribor_prd_n_1.tscn'],
|
||||
['pribor_prd_k_1', 'res://scenes/pribor_prd_k_1.tscn'],
|
||||
['pribor_prd_v_2', 'res://scenes/pribor_prd_v_2.tscn'],
|
||||
['pribor_prd_n_2', 'res://scenes/pribor_prd_n_2.tscn'],
|
||||
['pribor_prd_k_2', 'res://scenes/pribor_prd_k_2.tscn'],
|
||||
['pribor_prd_v_3', 'res://scenes/pribor_prd_v_3.tscn'],
|
||||
['pribor_prd_n_3', 'res://scenes/pribor_prd_n_3.tscn'],
|
||||
['pribor_prd_k_3', 'res://scenes/pribor_prd_k_3.tscn'],
|
||||
['pribor_prd_v_4', 'res://scenes/pribor_prd_v_4.tscn'],
|
||||
['pribor_prd_n_4', 'res://scenes/pribor_prd_n_4.tscn'],
|
||||
['pribor_prd_k_4', 'res://scenes/pribor_prd_k_4.tscn']]
|
||||
|
||||
|
||||
func _ready():
|
||||
for item in PRIBORS_RES:
|
||||
var pribor_node = get_node(item[0])
|
||||
var pribor_sch_path = item[1]
|
||||
pribor_node.connect('button_up', Callable(self, 'on_pribor_press').bind(pribor_sch_path))
|
||||
for item in PRIBORS_RES:
|
||||
var pribor_node = get_node(item[0])
|
||||
var pribor_sch_path = item[1]
|
||||
pribor_node.connect('button_up', Callable(self, 'on_pribor_press').bind(pribor_sch_path))
|
||||
|
||||
|
||||
func on_pribor_press(pribor_sch_path):
|
||||
clear_obj($pribor_sch)
|
||||
var pribor_sch = load(pribor_sch_path).instantiate()
|
||||
$pribor_sch.add_child(pribor_sch)
|
||||
clear_obj($pribor_sch)
|
||||
var pribor_sch = load(pribor_sch_path).instantiate()
|
||||
$pribor_sch.add_child(pribor_sch)
|
||||
|
||||
|
||||
func clear_obj(obj: Object):
|
||||
var items = obj.get_children()
|
||||
for item in items:
|
||||
obj.remove_child(item)
|
||||
item.free()
|
||||
var items = obj.get_children()
|
||||
for item in items:
|
||||
obj.remove_child(item)
|
||||
item.free()
|
||||
|
||||
@@ -186,4 +186,3 @@ func toggle_full_screen(id: int):
|
||||
else:
|
||||
mode = DisplayServer.WINDOW_MODE_FULLSCREEN
|
||||
DisplayServer.window_set_mode(mode, id)
|
||||
|
||||
|
||||
@@ -3,63 +3,63 @@ extends Node
|
||||
|
||||
# Таблица с данными для входов, первое значение - индекс устройства в ячейке КЭМС
|
||||
const INPUT_ROWS0 = [
|
||||
[1,['1111 МР-231S, УИЗП', 'X31', '0.00', '0.00']],
|
||||
[2,['2222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[3,['3НРЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[4,['4НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[5,['5ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[8,['64302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[11,['7НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']],
|
||||
[22,['8222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[23,['9РЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[24,['10НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[25,['11ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[28,['124302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[21,['13НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']]]
|
||||
[1,['1111 МР-231S, УИЗП', 'X31', '0.00', '0.00']],
|
||||
[2,['2222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[3,['3НРЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[4,['4НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[5,['5ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[8,['64302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[11,['7НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']],
|
||||
[22,['8222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[23,['9РЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[24,['10НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[25,['11ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[28,['124302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[21,['13НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']]]
|
||||
|
||||
# Таблица с данными для выходов, первое значение - индекс устройства в ячейке КЭМС
|
||||
const OUTPUT_ROWS0 = [
|
||||
[41,['15НРЛС МР-231S, БИ', 'X61', '0.00', '0.00']],
|
||||
[42,['16НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[43,['17НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[44,['18НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[45,['19ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[46,['204302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[48,['21НРЛС 11111111', 'X69', '0.00', '0.00']],
|
||||
[52,['22НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[53,['23НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[54,['24НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[55,['25ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[56,['264302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[58,['27НРЛС 11111111', 'X69', '0.00', '0.00']]]
|
||||
[41,['15НРЛС МР-231S, БИ', 'X61', '0.00', '0.00']],
|
||||
[42,['16НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[43,['17НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[44,['18НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[45,['19ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[46,['204302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[48,['21НРЛС 11111111', 'X69', '0.00', '0.00']],
|
||||
[52,['22НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[53,['23НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[54,['24НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[55,['25ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[56,['264302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[58,['27НРЛС 11111111', 'X69', '0.00', '0.00']]]
|
||||
|
||||
const INPUT_ROWS1 = [
|
||||
[12,['283333 МР-231S, Строб ЭМС', 'X52', '0.00', '0.00']],
|
||||
[13,['29НРЛС МР-231-3, УИЗП', 'X54', '0.00', '0.00']],
|
||||
[14,['30НРЛС МР-231-3, Строб ЭМС', 'X55', '0.00', '0.00']],
|
||||
[15,['31ЦИСВС-1010, УИЗП', 'X23', '0.00', '0.00']],
|
||||
[21,['32НРЛС МР-231S, УИЗП', 'X21', '0.00', '0.00']],
|
||||
[22,['33НРЛС МР-231S, Строб ЭМС', 'X22', '0.00', '0.00']],
|
||||
[23,['34НРЛС МР-231-3, УИЗП', 'X24', '0.00', '0.00']],
|
||||
[32,['352222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[33,['36НРЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[34,['37НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[35,['38ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[38,['394302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[31,['40НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']]]
|
||||
[12,['283333 МР-231S, Строб ЭМС', 'X52', '0.00', '0.00']],
|
||||
[13,['29НРЛС МР-231-3, УИЗП', 'X54', '0.00', '0.00']],
|
||||
[14,['30НРЛС МР-231-3, Строб ЭМС', 'X55', '0.00', '0.00']],
|
||||
[15,['31ЦИСВС-1010, УИЗП', 'X23', '0.00', '0.00']],
|
||||
[21,['32НРЛС МР-231S, УИЗП', 'X21', '0.00', '0.00']],
|
||||
[22,['33НРЛС МР-231S, Строб ЭМС', 'X22', '0.00', '0.00']],
|
||||
[23,['34НРЛС МР-231-3, УИЗП', 'X24', '0.00', '0.00']],
|
||||
[32,['352222 МР-231S, Строб ЭМС', 'X32', '0.00', '0.00']],
|
||||
[33,['36НРЛС МР-231-3, УИЗП', 'X34', '0.00', '0.00']],
|
||||
[34,['37НРЛС МР-231-3, Строб ЭМС', 'X35', '0.00', '0.00']],
|
||||
[35,['38ЦИСВС-1010, УИЗП', 'X43', '0.00', '0.00']],
|
||||
[38,['394302-01, 4302-04, УИЗП', 'X46', '0.00', '0.00']],
|
||||
[31,['40НРЛС МР-231S, УИЗП', 'X51', '0.00', '0.00']]]
|
||||
|
||||
# Таблица с данными для выходов, первое значение - индекс устройства в ячейке КЭМС
|
||||
const OUTPUT_ROWS1 = [
|
||||
[41,['41НРЛС МР-231S, БИ', 'X61', '0.00', '0.00']],
|
||||
[42,['42НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[43,['43НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[44,['44НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[45,['45ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[46,['464302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[48,['47НРЛС 11111111', 'X69', '0.00', '0.00']],
|
||||
[62,['48НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[63,['49НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[64,['50НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[65,['51ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[66,['524302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[68,['53НРЛС 11111111', 'X69', '0.00', '0.00']]]
|
||||
[41,['41НРЛС МР-231S, БИ', 'X61', '0.00', '0.00']],
|
||||
[42,['42НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[43,['43НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[44,['44НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[45,['45ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[46,['464302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[48,['47НРЛС 11111111', 'X69', '0.00', '0.00']],
|
||||
[62,['48НРЛС МР-231S', 'X62', '0.00', '0.00']],
|
||||
[63,['49НРЛС МР-231-3, БИ', 'X64', '0.00', '0.00']],
|
||||
[64,['50НРЛС МР-231-3', 'X65', '0.00', '0.00']],
|
||||
[65,['51ЦИСВС-1010, БИ', 'X63', '0.00', '0.00']],
|
||||
[66,['524302-01, 4302-04, БИ', 'X66', '0.00', '0.00']],
|
||||
[68,['53НРЛС 11111111', 'X69', '0.00', '0.00']]]
|
||||
|
||||
@@ -2,36 +2,36 @@ extends Node
|
||||
|
||||
|
||||
class InDev:
|
||||
var id: int # Идентификатор индекс устройства
|
||||
var dev_name: String # Имя подключаемого комплекса
|
||||
var connector: String # Номер разъёма в приборе
|
||||
var delay: float # Задержка фронта импульса
|
||||
var offset: float # Смещение фронта импульса
|
||||
var state: int # Состояние входа
|
||||
var freq: int # Предполагаемая частота на которой работает комплекс
|
||||
var ports_data: Dictionary # Словарь состояния портов устройства
|
||||
var tbl_row_id: int # Индекс устройства в таблице выходов
|
||||
var out_dots: Array # Список выходных устройств в порядке, как в таблице и точки матрицы
|
||||
var connect_devs: Dictionary # Список присоединённых устройств
|
||||
var board: String # Плата в которой находится устройство
|
||||
var id: int # Идентификатор индекс устройства
|
||||
var dev_name: String # Имя подключаемого комплекса
|
||||
var connector: String # Номер разъёма в приборе
|
||||
var delay: float # Задержка фронта импульса
|
||||
var offset: float # Смещение фронта импульса
|
||||
var state: int # Состояние входа
|
||||
var freq: int # Предполагаемая частота на которой работает комплекс
|
||||
var ports_data: Dictionary # Словарь состояния портов устройства
|
||||
var tbl_row_id: int # Индекс устройства в таблице выходов
|
||||
var out_dots: Array # Список выходных устройств в порядке, как в таблице и точки матрицы
|
||||
var connect_devs: Dictionary # Список присоединённых устройств
|
||||
var board: String # Плата в которой находится устройство
|
||||
|
||||
func _init(dev_id : int, params : Array, row_id : int):
|
||||
id = dev_id
|
||||
dev_name = String(params[0])
|
||||
connector = String(params[1])
|
||||
delay = float(params[2])
|
||||
offset = float(params[3])
|
||||
tbl_row_id = row_id
|
||||
func _init(dev_id : int, params : Array, row_id : int):
|
||||
id = dev_id
|
||||
dev_name = String(params[0])
|
||||
connector = String(params[1])
|
||||
delay = float(params[2])
|
||||
offset = float(params[3])
|
||||
tbl_row_id = row_id
|
||||
|
||||
|
||||
class OutDev extends InDev:
|
||||
var mode: String # Режим работы выхода
|
||||
var mode: String # Режим работы выхода
|
||||
|
||||
func _init(dev_id : int, params : Array, row_id : int):
|
||||
id = dev_id
|
||||
dev_name = String(params[0])
|
||||
connector = String(params[1])
|
||||
delay = float(params[2])
|
||||
offset = float(params[3])
|
||||
tbl_row_id = row_id
|
||||
mode = 'Работа'
|
||||
func _init(dev_id : int, params : Array, row_id : int):
|
||||
id = dev_id
|
||||
dev_name = String(params[0])
|
||||
connector = String(params[1])
|
||||
delay = float(params[2])
|
||||
offset = float(params[3])
|
||||
tbl_row_id = row_id
|
||||
mode = 'Работа'
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
extends Node
|
||||
|
||||
class EmsBoard:
|
||||
var id_board: String
|
||||
var in_devs: Dictionary # Словарь с входными устройствами
|
||||
var out_devs: Dictionary # Словарь с выходными устройствами
|
||||
var base_addr_isa: int # Базовый адрес ячейки isa
|
||||
var in_tbl: Array
|
||||
var out_tbl: Array
|
||||
var id_board: String
|
||||
var in_devs: Dictionary # Словарь с входными устройствами
|
||||
var out_devs: Dictionary # Словарь с выходными устройствами
|
||||
var base_addr_isa: int # Базовый адрес ячейки isa
|
||||
var in_tbl: Array
|
||||
var out_tbl: Array
|
||||
|
||||
func _init(id, base_addr, in_table, out_table):
|
||||
id_board = id
|
||||
in_tbl = in_table
|
||||
out_tbl = out_table
|
||||
base_addr_isa = base_addr
|
||||
id_board = id
|
||||
in_tbl = in_table
|
||||
out_tbl = out_table
|
||||
base_addr_isa = base_addr
|
||||
|
||||
Reference in New Issue
Block a user