Доработка. Таблица настроек
This commit is contained in:
@@ -3,15 +3,15 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://csnts8f155sf7"
|
uid="uid://csnts8f155sf7"
|
||||||
path="res://.godot/imported/save1.png-71614b438670d8c00484426836e4048f.ctex"
|
path="res://.godot/imported/save1.png-fe0ea2e877c55fd87cac57974b80e102.ctex"
|
||||||
metadata={
|
metadata={
|
||||||
"vram_texture": false
|
"vram_texture": false
|
||||||
}
|
}
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://scenes/настройки/save1.png"
|
source_file="res://data/save1.png"
|
||||||
dest_files=["res://.godot/imported/save1.png-71614b438670d8c00484426836e4048f.ctex"]
|
dest_files=["res://.godot/imported/save1.png-fe0ea2e877c55fd87cac57974b80e102.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
|||||||
@@ -38,7 +38,7 @@ func init_table():
|
|||||||
$table.set_node_alligment(0, MOD_ROW_INDEX, HORIZONTAL_ALIGNMENT_LEFT)
|
$table.set_node_alligment(0, MOD_ROW_INDEX, HORIZONTAL_ALIGNMENT_LEFT)
|
||||||
$table.set_node_editable(0, MOD_ROW_INDEX, false)
|
$table.set_node_editable(0, MOD_ROW_INDEX, false)
|
||||||
var taggle_node = $table.get_node2(1, MOD_ROW_INDEX)
|
var taggle_node = $table.get_node2(1, MOD_ROW_INDEX)
|
||||||
var taggle_btn = taggle_node.get_children()[1]
|
var taggle_btn = taggle_node.get_children()[0]
|
||||||
taggle_btn.connect('pressed', on_taggle_btn.bind(taggle_btn))
|
taggle_btn.connect('pressed', on_taggle_btn.bind(taggle_btn))
|
||||||
taggle_btn.disabled = true
|
taggle_btn.disabled = true
|
||||||
$table.set_columns_min_size(TABLE_COLUMN_SIZE)
|
$table.set_columns_min_size(TABLE_COLUMN_SIZE)
|
||||||
|
|||||||
@@ -1,34 +1,34 @@
|
|||||||
class_name setting extends Panel
|
class_name setting extends Panel
|
||||||
|
|
||||||
const TableHeader = preload('res://table/header.tscn')
|
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 TableEdit = preload('res://table/ячейка-2.tscn')
|
||||||
|
|
||||||
const ALIGNMENT = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
const ALIGNMENT = [HORIZONTAL_ALIGNMENT_CENTER, HORIZONTAL_ALIGNMENT_CENTER]
|
||||||
const HEADER_ROW = [TableHeader, TableHeader]
|
const HEADER_ROW = [TableHeader, TableHeader]
|
||||||
const HEADER_ROW_TEXT = ['Параметр', 'Значение']
|
const HEADER_ROW_TEXT = ['Параметр', 'Значение']
|
||||||
const SETTING_TABLE = [
|
const SETTING_TABLE = [
|
||||||
['Ограниченный режим', TableEdit, TableTaggle],
|
['Ограниченный режим', TableEdit, TableToggle],
|
||||||
['Управление элементами в ограниченном режиме', TableEdit, TableTaggle],
|
['Управление элементами в ограниченном режиме', TableEdit, TableToggle],
|
||||||
['Кнопка «ПД-М4»', TableEdit, TableTaggle],
|
['Кнопка «ПД-М4»', TableEdit, TableToggle],
|
||||||
['Кнопка «ПД-М2»', TableEdit, TableTaggle],
|
['Кнопка «ПД-М2»', TableEdit, TableToggle],
|
||||||
['Кнопка «ОЗП-1»', TableEdit, TableTaggle],
|
['Кнопка «ОЗП-1»', TableEdit, TableToggle],
|
||||||
['Кнопка «МЧМ-1»', TableEdit, TableTaggle],
|
['Кнопка «МЧМ-1»', TableEdit, TableToggle],
|
||||||
['Кнопка «ОРН-И1»', TableEdit, TableTaggle],
|
['Кнопка «ОРН-И1»', TableEdit, TableToggle],
|
||||||
['Кнопка «ОРН-М2»', TableEdit, TableTaggle],
|
['Кнопка «ОРН-М2»', TableEdit, TableToggle],
|
||||||
['Кнопка «ЛЧМ-1»', TableEdit, TableTaggle],
|
['Кнопка «ЛЧМ-1»', TableEdit, TableToggle],
|
||||||
['Кнопка «ПД-М4С»', TableEdit, TableTaggle],
|
['Кнопка «ПД-М4С»', TableEdit, TableToggle],
|
||||||
['Кнопка «ПД-ЧМ»', TableEdit, TableTaggle],
|
['Кнопка «ПД-ЧМ»', TableEdit, TableToggle],
|
||||||
['Кнопка «СВ-И1»', TableEdit, TableTaggle],
|
['Кнопка «СВ-И1»', TableEdit, TableToggle],
|
||||||
['Кнопка «К1»', TableEdit, TableTaggle],
|
['Кнопка «К1»', TableEdit, TableToggle],
|
||||||
['Кнопка «СВ-М2»', TableEdit, TableTaggle],
|
['Кнопка «СВ-М2»', TableEdit, TableToggle],
|
||||||
['Кнопка «ОРН»', TableEdit, TableTaggle],
|
['Кнопка «ОРН»', TableEdit, TableToggle],
|
||||||
['Кнопка «JTIDS»', TableEdit, TableTaggle],
|
['Кнопка «JTIDS»', TableEdit, TableToggle],
|
||||||
['Кнопка «КУПД»', TableEdit, TableTaggle],
|
['Кнопка «КУПД»', TableEdit, TableToggle],
|
||||||
['Внешнее целеуказание', TableEdit, TableTaggle],
|
['Внешнее целеуказание', TableEdit, TableToggle],
|
||||||
['Кнопка «Подавление»', TableEdit, TableTaggle],
|
['Кнопка «Подавление»', TableEdit, TableToggle],
|
||||||
['Виртуальная клавиатура', TableEdit, TableTaggle],
|
['Виртуальная клавиатура', TableEdit, TableToggle],
|
||||||
['Скрыть вкладку ЭМС 2', TableEdit, TableTaggle],
|
['Скрыть вкладку ЭМС 2', TableEdit, TableToggle],
|
||||||
['Текущая версия ПО УАРЭП', TableEdit, TableEdit ],
|
['Текущая версия ПО УАРЭП', TableEdit, TableEdit ],
|
||||||
['Адрес сервера карт', TableEdit, TableEdit ],
|
['Адрес сервера карт', TableEdit, TableEdit ],
|
||||||
['уарэп-яу07-частный', TableEdit, TableEdit ],
|
['уарэп-яу07-частный', TableEdit, TableEdit ],
|
||||||
@@ -55,6 +55,8 @@ const SETTING_TABLE = [
|
|||||||
const SUPPRESS = 18 # Строка - Подавление
|
const SUPPRESS = 18 # Строка - Подавление
|
||||||
const KEYBORD = 19 # Строка - Виртуальная клавиатура
|
const KEYBORD = 19 # Строка - Виртуальная клавиатура
|
||||||
const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2
|
const HIDE_EMS2 = 20 # Строка - Скрыть вкладку ЭМС 2
|
||||||
|
const COMMIT = 21 # Строка - Версия УАРЭП
|
||||||
|
const SERVER = 22 # Строка - Сервер карт
|
||||||
|
|
||||||
|
|
||||||
## Вызывается, когда узел впервые попадает в дерево сцены.
|
## Вызывается, когда узел впервые попадает в дерево сцены.
|
||||||
@@ -84,6 +86,13 @@ func on_ems2_pressed(btn) -> void:
|
|||||||
signaller.emit_signal('ems2_hide_pressed', state)
|
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():
|
func setting_tab():
|
||||||
$heard_table.set_header(HEADER_ROW)
|
$heard_table.set_header(HEADER_ROW)
|
||||||
$heard_table.set_header_text(HEADER_ROW_TEXT)
|
$heard_table.set_header_text(HEADER_ROW_TEXT)
|
||||||
@@ -107,23 +116,32 @@ func setting_tab():
|
|||||||
var node_label = setting_str[1]
|
var node_label = setting_str[1]
|
||||||
var node_value = setting_str[2]
|
var node_value = setting_str[2]
|
||||||
$scroll_set/table.add_row([node_label, node_value])
|
$scroll_set/table.add_row([node_label, node_value])
|
||||||
|
|
||||||
|
#for column in range(2):
|
||||||
|
#var cell_instance = $scroll_set/table.get_node2(column, i)
|
||||||
|
#if cell_instance is LineEdit:
|
||||||
|
#if i % 2 == 0:
|
||||||
|
#cell_instance.modulate = Color(0.9, 0.9, 0.9, 1.0)
|
||||||
|
#else:
|
||||||
|
#cell_instance.modulate = Color(0.95, 0.95, 0.95, 1.0)
|
||||||
|
|
||||||
var label_instance = $scroll_set/table.get_node2(0, i)
|
var label_instance = $scroll_set/table.get_node2(0, i)
|
||||||
label_instance.text = parameter
|
label_instance.text = parameter
|
||||||
$scroll_set/table.set_node_editable(0, i, false)
|
$scroll_set/table.set_node_editable(0, i, false)
|
||||||
var node_values = $scroll_set/table.get_node2(1, i).get_children()
|
var node_values = $scroll_set/table.get_node2(1, i).get_children()
|
||||||
if node_values.size() > 1:
|
if node_values.size():
|
||||||
var child = node_values[1]
|
var child = node_values[0]
|
||||||
if child is CheckButton:
|
if child is CheckButton:
|
||||||
|
child.connect('pressed', Callable(self, 'on_checkbutton_pressed').bind(i))
|
||||||
if parameter in settings_data:
|
if parameter in settings_data:
|
||||||
child.set_pressed(settings_data[parameter][0])
|
child.set_pressed(settings_data[parameter][0])
|
||||||
else:
|
else:
|
||||||
child.set_pressed(false)
|
child.set_pressed(false)
|
||||||
var commit_instance = $scroll_set/table.get_node2(1, 21)
|
var commit_instance = $scroll_set/table.get_node2(1, COMMIT)
|
||||||
var server_instance = $scroll_set/table.get_node2(1, 22)
|
var server_instance = $scroll_set/table.get_node2(1, SERVER)
|
||||||
commit_instance.text = '%s' % commit.VCS_HEAD
|
commit_instance.text = '%s' % commit.VCS_HEAD
|
||||||
server_instance.text = ProjectSettings.get('application/config/map_server_addr')
|
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, COMMIT, false)
|
||||||
$scroll_set/table.set_node_editable(1, 22, false)
|
|
||||||
$scroll_set/table.set_columns_min_size([600, 950])
|
$scroll_set/table.set_columns_min_size([600, 950])
|
||||||
$scroll_set/table.set_columns_alignments(ALIGNMENT)
|
$scroll_set/table.set_columns_alignments(ALIGNMENT)
|
||||||
for i in SETTING_TABLE.size():
|
for i in SETTING_TABLE.size():
|
||||||
@@ -138,18 +156,19 @@ func setting_tab():
|
|||||||
if j < unit_data[2].size() - 1:
|
if j < unit_data[2].size() - 1:
|
||||||
joined_data += ","
|
joined_data += ","
|
||||||
profiles.text = str(unit_data[1]) + " : " + joined_data
|
profiles.text = str(unit_data[1]) + " : " + joined_data
|
||||||
|
$scroll_set/table.connect('row_pressed', Callable(self, 'on_row_pressed'))
|
||||||
button_settings()
|
button_settings()
|
||||||
|
|
||||||
|
|
||||||
func button_settings():
|
func button_settings():
|
||||||
var extern_cu_node = $scroll_set/table.get_node2(1, SUPPRESS).get_children()[1]
|
var extern_cu_node = $scroll_set/table.get_node2(1, SUPPRESS).get_children()[0]
|
||||||
extern_cu_node.connect('pressed', on_external_cu_btn_pressed.bind(extern_cu_node))
|
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(SUPPRESS,(['Кнопка «Подавление»']))
|
||||||
$scroll_set/table.set_row_text(KEYBORD,(['Виртуальная клавиатура']))
|
$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))
|
vk_node.connect('pressed', on_vk_pressed.bind(vk_node))
|
||||||
$scroll_set/table.set_row_text(HIDE_EMS2,(['Скрыть вкладку ЭМС 2']))
|
$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.connect('pressed', on_ems2_pressed.bind(ems2_hide_node))
|
||||||
ems2_hide_node.set_pressed(true)
|
ems2_hide_node.set_pressed(true)
|
||||||
on_ems2_pressed(ems2_hide_node)
|
on_ems2_pressed(ems2_hide_node)
|
||||||
@@ -183,7 +202,7 @@ func _on_btn_save_settings_pressed():
|
|||||||
else:
|
else:
|
||||||
var children = $scroll_set/table.get_node2(1, i).get_children()
|
var children = $scroll_set/table.get_node2(1, i).get_children()
|
||||||
if len(children):
|
if len(children):
|
||||||
var child = children[1]
|
var child = children[0]
|
||||||
if parameter not in json_data:
|
if parameter not in json_data:
|
||||||
json_data[parameter] = []
|
json_data[parameter] = []
|
||||||
json_data[parameter].append(child.is_pressed())
|
json_data[parameter].append(child.is_pressed())
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[ext_resource type="Script" path="res://scenes/настройки/настройки.gd" id="1_2l3rd"]
|
[ext_resource type="Script" path="res://scenes/настройки/настройки.gd" id="1_2l3rd"]
|
||||||
[ext_resource type="Script" path="res://table/table.gd" id="2_6sx73"]
|
[ext_resource type="Script" path="res://table/table.gd" id="2_6sx73"]
|
||||||
[ext_resource type="Texture2D" uid="uid://lkw8k7ouj42i" path="res://data/save1.png" id="3_dbpks"]
|
[ext_resource type="Texture2D" uid="uid://csnts8f155sf7" path="res://data/save1.png" id="3_dbpks"]
|
||||||
|
|
||||||
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pyq6h"]
|
[sub_resource type="StyleBoxTexture" id="StyleBoxTexture_pyq6h"]
|
||||||
texture = ExtResource("3_dbpks")
|
texture = ExtResource("3_dbpks")
|
||||||
|
|||||||
@@ -1,24 +1,16 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://dgidt8lifm7xe"]
|
[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="StyleBoxEmpty" id="StyleBoxEmpty_t3fqw"]
|
||||||
|
|
||||||
[sub_resource type="Theme" id="Theme_odxqp"]
|
[sub_resource type="Theme" id="Theme_odxqp"]
|
||||||
CheckButton/styles/focus = SubResource("StyleBoxEmpty_t3fqw")
|
CheckButton/styles/focus = SubResource("StyleBoxEmpty_t3fqw")
|
||||||
|
|
||||||
[node name="Control" type="Control"]
|
[node name="LineEdit" type="LineEdit"]
|
||||||
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
|
|
||||||
offset_right = 85.0
|
offset_right = 85.0
|
||||||
offset_bottom = 27.0
|
offset_bottom = 27.0
|
||||||
|
theme_override_styles/focus = SubResource("StyleBoxEmpty_f4oye")
|
||||||
editable = false
|
editable = false
|
||||||
|
|
||||||
[node name="CheckButton" type="CheckButton" parent="."]
|
[node name="CheckButton" type="CheckButton" parent="."]
|
||||||
|
|||||||
@@ -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"]
|
[sub_resource type="ShaderMaterial" id="ShaderMaterial_xxfw6"]
|
||||||
CheckButton/styles/focus = SubResource("StyleBoxEmpty_q2spu")
|
shader = ExtResource("1_anyuq")
|
||||||
|
|
||||||
[node name="SettingsTaggle" type="Control"]
|
[sub_resource type="StyleBoxEmpty" id="StyleBoxEmpty_y8485"]
|
||||||
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_qcan0")]
|
[node name="LineEdit" type="LineEdit"]
|
||||||
layout_mode = 0
|
|
||||||
offset_right = 950.0
|
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
|
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="."]
|
[node name="CheckButton" type="CheckButton" parent="."]
|
||||||
|
material = SubResource("ShaderMaterial_xxfw6")
|
||||||
layout_mode = 0
|
layout_mode = 0
|
||||||
offset_left = 453.0
|
offset_left = 453.0
|
||||||
offset_top = 4.0
|
offset_top = 1.5
|
||||||
offset_right = 497.0
|
offset_right = 497.0
|
||||||
offset_bottom = 28.0
|
offset_bottom = 25.5
|
||||||
theme = SubResource("Theme_hnhcj")
|
theme_override_styles/focus = SubResource("StyleBoxEmpty_y8485")
|
||||||
|
|||||||
Reference in New Issue
Block a user