diff --git a/scenes/frame-ecm-params/scroll-ecm-params.gd b/scenes/frame-ecm-params/scroll-ecm-params.gd index 43c32c6..c811e7c 100644 --- a/scenes/frame-ecm-params/scroll-ecm-params.gd +++ b/scenes/frame-ecm-params/scroll-ecm-params.gd @@ -39,7 +39,7 @@ func init_table(): $table.set_node_alligment(0, MOD_ROW_INDEX, HORIZONTAL_ALIGNMENT_LEFT) $table.set_node_editable(0, MOD_ROW_INDEX, false) var toggle_node = $table.get_node2(1, MOD_ROW_INDEX) - var toggle_btn = toggle_node.get_children()[1] + var toggle_btn = toggle_node.get_children()[0] toggle_btn.connect('pressed', on_toggle_btn.bind(toggle_btn)) toggle_btn.disabled = true $table.set_columns_min_size(TABLE_COLUMN_SIZE) diff --git a/scenes/настройки/настройки.gd b/scenes/настройки/настройки.gd index dc1c210..25ebfa8 100644 --- a/scenes/настройки/настройки.gd +++ b/scenes/настройки/настройки.gd @@ -1,34 +1,34 @@ class_name setting extends Panel const TableHeader = preload('res://table/header.tscn') -const TableTaggle = preload('res://table/settings-toggle.tscn') +const TableToggle = preload('res://table/settings-toggle.tscn') const TableEdit = preload('res://table/ячейка-2.tscn') const ALIGNMENT = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER] const HEADER_ROW = [TableHeader, TableHeader] const HEADER_ROW_TEXT = ['Параметр', 'Значение'] const SETTING_TABLE = [ - ['Ограниченный режим', TableEdit, TableTaggle], - ['Управление элементами в ограниченном режиме', TableEdit, TableTaggle], - ['Кнопка «ПД-М4»', TableEdit, TableTaggle], - ['Кнопка «ПД-М2»', TableEdit, TableTaggle], - ['Кнопка «ОЗП-1»', TableEdit, TableTaggle], - ['Кнопка «МЧМ-1»', TableEdit, TableTaggle], - ['Кнопка «ОРН-И1»', TableEdit, TableTaggle], - ['Кнопка «ОРН-М2»', TableEdit, TableTaggle], - ['Кнопка «ЛЧМ-1»', TableEdit, TableTaggle], - ['Кнопка «ПД-М4С»', TableEdit, TableTaggle], - ['Кнопка «ПД-ЧМ»', TableEdit, TableTaggle], - ['Кнопка «СВ-И1»', TableEdit, TableTaggle], - ['Кнопка «К1»', TableEdit, TableTaggle], - ['Кнопка «СВ-М2»', TableEdit, TableTaggle], - ['Кнопка «ОРН»', TableEdit, TableTaggle], - ['Кнопка «JTIDS»', TableEdit, TableTaggle], - ['Кнопка «КУПД»', TableEdit, TableTaggle], - ['Внешнее целеуказание', TableEdit, TableTaggle], - ['Кнопка «Подавление»', TableEdit, TableTaggle], - ['Виртуальная клавиатура', TableEdit, TableTaggle], - ['Скрыть вкладку ЭМС 2', TableEdit, TableTaggle], + ['Ограниченный режим', TableEdit, TableToggle], + ['Управление элементами в ограниченном режиме', TableEdit, TableToggle], + ['Кнопка «ПД-М4»', TableEdit, TableToggle], + ['Кнопка «ПД-М2»', TableEdit, TableToggle], + ['Кнопка «ОЗП-1»', TableEdit, TableToggle], + ['Кнопка «МЧМ-1»', TableEdit, TableToggle], + ['Кнопка «ОРН-И1»', TableEdit, TableToggle], + ['Кнопка «ОРН-М2»', TableEdit, TableToggle], + ['Кнопка «ЛЧМ-1»', TableEdit, TableToggle], + ['Кнопка «ПД-М4С»', TableEdit, TableToggle], + ['Кнопка «ПД-ЧМ»', TableEdit, TableToggle], + ['Кнопка «СВ-И1»', TableEdit, TableToggle], + ['Кнопка «К1»', TableEdit, TableToggle], + ['Кнопка «СВ-М2»', TableEdit, TableToggle], + ['Кнопка «ОРН»', TableEdit, TableToggle], + ['Кнопка «JTIDS»', TableEdit, TableToggle], + ['Кнопка «КУПД»', TableEdit, TableToggle], + ['Внешнее целеуказание', TableEdit, TableToggle], + ['Кнопка «Подавление»', TableEdit, TableToggle], + ['Виртуальная клавиатура', TableEdit, TableToggle], + ['Скрыть вкладку ЭМС 2', TableEdit, TableToggle], ['Текущая версия ПО УАРЭП', TableEdit, TableEdit ], ['Адрес сервера карт', TableEdit, TableEdit ], ['уарэп-яу07-частный', TableEdit, TableEdit ], @@ -52,11 +52,12 @@ const SETTING_TABLE = [ ['уарэп-спт25-1', TableEdit, TableEdit ], ['уарэп-спт25-2', TableEdit, TableEdit ] ] - const EXTERNAL_CU = 17 # Внешнее целееуказание const SUPPRESS = 18 # Строка - Подавление const KEYBORD = 19 # Строка - Виртуальная клавиатура const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2 +const COMMIT = 21 # Строка - Версия УАРЭП +const SERVER = 22 # Строка - Сервер карт ## Вызывается, когда узел впервые попадает в дерево сцены. @@ -86,6 +87,15 @@ func on_ems2_pressed(btn) -> void: signaller.emit_signal('ems2_hide_pressed', state) +func on_row_pressed(i_row: int): + $scroll_set/table.clear_rows_selected() + $scroll_set/table.set_row_selected(i_row, true) + + +func on_checkbutton_pressed(i_row: int): + on_row_pressed(i_row) + + func setting_tab(): $heard_table.set_header(HEADER_ROW) $heard_table.set_header_text(HEADER_ROW_TEXT) @@ -113,19 +123,19 @@ func setting_tab(): label_instance.text = parameter $scroll_set/table.set_node_editable(0, i, false) var node_values = $scroll_set/table.get_node2(1, i).get_children() - if node_values.size() > 1: - var child = node_values[1] + if node_values.size(): + var child = node_values[0] if child is CheckButton: + child.connect('pressed', Callable(self, 'on_checkbutton_pressed').bind(i)) if parameter in settings_data: child.set_pressed(settings_data[parameter][0]) else: child.set_pressed(false) - var commit_instance = $scroll_set/table.get_node2(1, 21) - var server_instance = $scroll_set/table.get_node2(1, 22) + var commit_instance = $scroll_set/table.get_node2(1, COMMIT) + var server_instance = $scroll_set/table.get_node2(1, SERVER) commit_instance.text = '%s' % commit.VCS_HEAD server_instance.text = ProjectSettings.get('application/config/map_server_addr') - $scroll_set/table.set_node_editable(1, 21, false) - $scroll_set/table.set_node_editable(1, 22, false) + $scroll_set/table.set_node_editable(1, COMMIT, false) $scroll_set/table.set_columns_min_size([600, 950]) $scroll_set/table.set_columns_alignments(ALIGNMENT) for i in SETTING_TABLE.size(): @@ -140,18 +150,19 @@ func setting_tab(): if j < unit_data[2].size() - 1: joined_data += "," profiles.text = str(unit_data[1]) + " : " + joined_data + $scroll_set/table.connect('row_pressed', Callable(self, 'on_row_pressed')) button_settings() func button_settings(): - var extern_cu_node = $scroll_set/table.get_node2(1, EXTERNAL_CU).get_children()[1] + var extern_cu_node = $scroll_set/table.get_node2(1, EXTERNAL_CU).get_children()[0] extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node)) $scroll_set/table.set_row_text(SUPPRESS,(['Кнопка «Подавление»'])) $scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура'])) - var vk_node = $scroll_set/table.get_node2(1, KEYBORD).get_children()[1] + var vk_node = $scroll_set/table.get_node2(1, KEYBORD).get_children()[0] vk_node.connect('pressed', on_vk_pressed.bind(vk_node)) $scroll_set/table.set_row_text(HIDE_EMS2,(['Скрыть вкладку ЭМС 2'])) - var ems2_hide_node = $scroll_set/table.get_node2(1, HIDE_EMS2).get_children()[1] + var ems2_hide_node = $scroll_set/table.get_node2(1, HIDE_EMS2).get_children()[0] ems2_hide_node.connect('pressed', on_ems2_pressed.bind(ems2_hide_node)) ems2_hide_node.set_pressed(true) on_ems2_pressed(ems2_hide_node) @@ -185,7 +196,7 @@ func _on_btn_save_settings_pressed(): else: var children = $scroll_set/table.get_node2(1, i).get_children() if len(children): - var child = children[1] + var child = children[0] if parameter not in json_data: json_data[parameter] = [] json_data[parameter].append(child.is_pressed()) diff --git a/table/set-toggle.tscn b/table/set-toggle.tscn index 81a1b4a..39a3242 100644 --- a/table/set-toggle.tscn +++ b/table/set-toggle.tscn @@ -1,24 +1,16 @@ [gd_scene load_steps=4 format=3 uid="uid://dgidt8lifm7xe"] -[ext_resource type="PackedScene" uid="uid://dspa16ufrpanp" path="res://table/ячейка-2.tscn" id="1_eib5d"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_f4oye"] [sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_t3fqw"] [sub_resource type="Theme" id="Theme_odxqp"] CheckButton/styles/focus = SubResource("StyleBoxEmpty_t3fqw") -[node name="Control" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 - -[node name="LineEdit" parent="." instance=ExtResource("1_eib5d")] -layout_mode = 0 +[node name="LineEdit" type="LineEdit"] offset_right = 85.0 offset_bottom = 27.0 +theme_override_styles/focus = SubResource("StyleBoxEmpty_f4oye") editable = false [node name="CheckButton" type="CheckButton" parent="."] diff --git a/table/settings-toggle.tscn b/table/settings-toggle.tscn index 76facf9..96d9426 100644 --- a/table/settings-toggle.tscn +++ b/table/settings-toggle.tscn @@ -1,29 +1,32 @@ -[gd_scene load_steps=4 format=3 uid="uid://5rw652cmnybi"] +[gd_scene load_steps=5 format=3 uid="uid://5rw652cmnybi"] -[ext_resource type="PackedScene" uid="uid://dspa16ufrpanp" path="res://table/ячейка-2.tscn" id="1_qcan0"] +[ext_resource type="Shader" path="res://shaders/color-invers.gdshader" id="1_anyuq"] -[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_q2spu"] +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_7hsq1"] -[sub_resource type="Theme" id="Theme_hnhcj"] -CheckButton/styles/focus = SubResource("StyleBoxEmpty_q2spu") +[sub_resource type="ShaderMaterial" id="ShaderMaterial_xxfw6"] +shader = ExtResource("1_anyuq") -[node name="SettingsTaggle" type="Control"] -layout_mode = 3 -anchors_preset = 15 -anchor_right = 1.0 -anchor_bottom = 1.0 -grow_horizontal = 2 -grow_vertical = 2 +[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_y8485"] -[node name="LineEdit" parent="." instance=ExtResource("1_qcan0")] -layout_mode = 0 +[node name="LineEdit" type="LineEdit"] offset_right = 950.0 +offset_bottom = 27.0 +theme_override_colors/font_uneditable_color = Color(1, 0.596078, 0.4, 1) +theme_override_colors/font_color = Color(1, 0.596078, 0.4, 1) +theme_override_styles/focus = SubResource("StyleBoxEmpty_7hsq1") editable = false +context_menu_enabled = false +shortcut_keys_enabled = false +middle_mouse_paste_enabled = false +selecting_enabled = false +deselect_on_focus_loss_enabled = false [node name="CheckButton" type="CheckButton" parent="."] +material = SubResource("ShaderMaterial_xxfw6") layout_mode = 0 offset_left = 453.0 -offset_top = 4.0 +offset_top = 1.5 offset_right = 497.0 -offset_bottom = 28.0 -theme = SubResource("Theme_hnhcj") +offset_bottom = 25.5 +theme_override_styles/focus = SubResource("StyleBoxEmpty_y8485")