Skip to content

Commit d2b4f16

Browse files
committed
Check description for changes
Added option to add table variable. Updated gui-debugger.png file. Fixed context menu on item of a table will not show "Add..." or "Copy..." Fixed editing an item of a table will not work. Fixed adding a new item will pop up as a new global variables (instead of table variables or other). Filtered "(*temporary)" key from adding local variables happens due to the variable in question has not been reached. From Lua-Debug-API: Fixed try to step after resuming then paused by breakpoint will not work. Fixed newly created item by adding or creating, its context menu will not show edit and delete options. Fixed cannot adding global or local variable by using "Global" or "Local" item. Fixed added items will not be able to edit.
1 parent 916c38d commit d2b4f16

12 files changed

+224
-111
lines changed

.sconsign.dblite

0 Bytes
Binary file not shown.

README-Asset/gui-debugger.png

7.06 KB
Loading

godot_workspace/bin/CPPAPI.ilk

2.51 MB
Binary file not shown.

godot_workspace/project.godot

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ config_version=5
1010

1111
[application]
1212

13-
config/name="Minimal GUI Lua Debugger"
14-
config/version="0.2"
13+
config/name="Lua Debugger"
14+
config/version="0.3"
1515
run/main_scene="res://scenes/main_window.tscn"
1616
config/features=PackedStringArray("4.3", "GL Compatibility")
1717
run/max_fps=60

godot_workspace/scenes/popup_variable_setter_base.tscn

Lines changed: 45 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -9,173 +9,172 @@ size_flags_vertical = 3
99

1010
[node name="GroupInvoker" type="GroupInvoker" parent="."]
1111
group_node_data = {
12-
"boolean_data": [NodePath("../VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/BooleanEdit")],
13-
"global_key_data": [NodePath("../VBoxContainer/GlobalKeyEdit")],
14-
"local_key_data": [NodePath("../VBoxContainer/LocalKeyEdit")],
15-
"number_data": [NodePath("../VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/NumberEdit")],
16-
"string_data": [NodePath("../VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/StringEdit")]
12+
"boolean_data": [NodePath("../MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/BooleanEdit")],
13+
"local_key_data": [NodePath("../MarginContainer/VBoxContainer/LocalKeyEdit")],
14+
"number_data": [NodePath("../MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/NumberEdit")],
15+
"string_data": [NodePath("../MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/StringEdit")],
16+
"variable_key_data": [NodePath("../MarginContainer/VBoxContainer/VariableKeyEdit")]
1717
}
1818

19-
[node name="VBoxContainer" type="VBoxContainer" parent="."]
19+
[node name="MarginContainer" type="MarginContainer" parent="."]
2020
layout_mode = 1
2121
anchors_preset = 15
2222
anchor_right = 1.0
2323
anchor_bottom = 1.0
2424
grow_horizontal = 2
2525
grow_vertical = 2
26+
theme_override_constants/margin_left = 8
27+
theme_override_constants/margin_top = 10
28+
theme_override_constants/margin_right = 10
29+
theme_override_constants/margin_bottom = 8
2630

27-
[node name="Title" type="Label" parent="VBoxContainer"]
31+
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer"]
32+
layout_mode = 2
33+
34+
[node name="Title" type="Label" parent="MarginContainer/VBoxContainer"]
2835
layout_mode = 2
2936
text = "Set Variable"
3037
horizontal_alignment = 1
3138

32-
[node name="LocalKeyEdit" type="OptionValueControl" parent="VBoxContainer"]
39+
[node name="LocalKeyEdit" type="OptionValueControl" parent="MarginContainer/VBoxContainer"]
3340
option_key = "local_key_data"
3441
layout_mode = 2
3542
size_flags_horizontal = 3
3643

37-
[node name="KeyContainer" type="HBoxContainer" parent="VBoxContainer/LocalKeyEdit"]
44+
[node name="KeyContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/LocalKeyEdit"]
3845
layout_mode = 2
3946
size_flags_horizontal = 3
4047
size_flags_vertical = 4
4148
theme_override_constants/separation = 40
4249

43-
[node name="Label" type="Label" parent="VBoxContainer/LocalKeyEdit/KeyContainer"]
50+
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/LocalKeyEdit/KeyContainer"]
4451
layout_mode = 2
4552
text = "Key"
4653

47-
[node name="LineEdit" type="OptionButton" parent="VBoxContainer/LocalKeyEdit/KeyContainer"]
54+
[node name="LineEdit" type="OptionButton" parent="MarginContainer/VBoxContainer/LocalKeyEdit/KeyContainer"]
4855
layout_mode = 2
4956
size_flags_horizontal = 3
5057

51-
[node name="GlobalKeyEdit" type="OptionValueControl" parent="VBoxContainer"]
52-
option_key = "global_key_data"
58+
[node name="VariableKeyEdit" type="OptionValueControl" parent="MarginContainer/VBoxContainer"]
59+
option_key = "variable_key_data"
5360
layout_mode = 2
5461
size_flags_horizontal = 3
5562

56-
[node name="KeyContainer" type="HBoxContainer" parent="VBoxContainer/GlobalKeyEdit"]
63+
[node name="KeyContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/VariableKeyEdit"]
5764
layout_mode = 2
5865
size_flags_horizontal = 3
5966
size_flags_vertical = 4
6067
theme_override_constants/separation = 40
6168

62-
[node name="Label" type="Label" parent="VBoxContainer/GlobalKeyEdit/KeyContainer"]
69+
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/VariableKeyEdit/KeyContainer"]
6370
layout_mode = 2
6471
text = "Key"
6572

66-
[node name="LineEdit" type="LineEdit" parent="VBoxContainer/GlobalKeyEdit/KeyContainer"]
73+
[node name="LineEdit" type="LineEdit" parent="MarginContainer/VBoxContainer/VariableKeyEdit/KeyContainer"]
6774
layout_mode = 2
6875
size_flags_horizontal = 3
6976

70-
[node name="ScrollContainer" type="ScrollContainer" parent="VBoxContainer"]
77+
[node name="ScrollContainer" type="ScrollContainer" parent="MarginContainer/VBoxContainer"]
7178
layout_mode = 2
7279
size_flags_vertical = 3
7380
horizontal_scroll_mode = 0
7481

75-
[node name="MarginContainer" type="MarginContainer" parent="VBoxContainer/ScrollContainer"]
82+
[node name="VBoxContainer" type="VBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer"]
7683
layout_mode = 2
7784
size_flags_horizontal = 3
78-
size_flags_vertical = 3
79-
theme_override_constants/margin_left = 8
80-
theme_override_constants/margin_top = 10
81-
theme_override_constants/margin_right = 8
82-
theme_override_constants/margin_bottom = 10
83-
84-
[node name="VBoxContainer" type="VBoxContainer" parent="VBoxContainer/ScrollContainer/MarginContainer"]
85-
layout_mode = 2
8685
size_flags_vertical = 0
8786
theme_override_constants/separation = 5
8887

89-
[node name="EnumButton" type="OptionValueControl" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
88+
[node name="EnumButton" type="OptionValueControl" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
9089
option_key = "__type_enum_button"
9190
layout_mode = 2
9291

93-
[node name="OptionButton" type="OptionButton" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/EnumButton"]
92+
[node name="OptionButton" type="OptionButton" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/EnumButton"]
9493
layout_mode = 2
9594
size_flags_horizontal = 3
9695
alignment = 1
9796

98-
[node name="StringEdit" type="OptionValueControl" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
97+
[node name="StringEdit" type="OptionValueControl" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
9998
option_key = "string_data"
10099
layout_mode = 2
101100

102-
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/StringEdit"]
101+
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/StringEdit"]
103102
layout_mode = 2
104103
size_flags_horizontal = 3
105104

106-
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/StringEdit/HBoxContainer"]
105+
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/StringEdit/HBoxContainer"]
107106
layout_mode = 2
108107
size_flags_horizontal = 3
109108
text = "String
110109
"
111110

112-
[node name="TextEdit" type="TextEdit" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/StringEdit/HBoxContainer"]
111+
[node name="TextEdit" type="TextEdit" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/StringEdit/HBoxContainer"]
113112
custom_minimum_size = Vector2(0, 100)
114113
layout_mode = 2
115114
size_flags_horizontal = 3
116115

117-
[node name="NumberEdit" type="OptionValueControl" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
116+
[node name="NumberEdit" type="OptionValueControl" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
118117
option_key = "number_data"
119118
layout_mode = 2
120119

121-
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/NumberEdit"]
120+
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/NumberEdit"]
122121
layout_mode = 2
123122
size_flags_horizontal = 3
124123

125-
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/NumberEdit/HBoxContainer"]
124+
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/NumberEdit/HBoxContainer"]
126125
layout_mode = 2
127126
size_flags_horizontal = 3
128127
text = "Number
129128
"
130129

131-
[node name="SpinBox" type="SpinBox" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/NumberEdit/HBoxContainer"]
130+
[node name="SpinBox" type="SpinBox" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/NumberEdit/HBoxContainer"]
132131
layout_mode = 2
133132
size_flags_horizontal = 3
134133
step = 0.1
135134
allow_greater = true
136135
allow_lesser = true
137136
custom_arrow_step = 0.1
138137

139-
[node name="BooleanEdit" type="OptionValueControl" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer"]
138+
[node name="BooleanEdit" type="OptionValueControl" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer"]
140139
option_key = "boolean_data"
141140
layout_mode = 2
142141

143-
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/BooleanEdit"]
142+
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/BooleanEdit"]
144143
layout_mode = 2
145144
size_flags_horizontal = 3
146145

147-
[node name="Label" type="Label" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/BooleanEdit/HBoxContainer"]
146+
[node name="Label" type="Label" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/BooleanEdit/HBoxContainer"]
148147
layout_mode = 2
149148
size_flags_horizontal = 3
150149
text = "Boolean
151150
"
152151

153-
[node name="CheckButton" type="CheckButton" parent="VBoxContainer/ScrollContainer/MarginContainer/VBoxContainer/BooleanEdit/HBoxContainer"]
152+
[node name="CheckButton" type="CheckButton" parent="MarginContainer/VBoxContainer/ScrollContainer/VBoxContainer/BooleanEdit/HBoxContainer"]
154153
layout_mode = 2
155154
size_flags_horizontal = 6
156155

157-
[node name="Padding" type="MarginContainer" parent="VBoxContainer"]
156+
[node name="Padding" type="MarginContainer" parent="MarginContainer/VBoxContainer"]
158157
layout_mode = 2
159158
theme_override_constants/margin_top = 32
160159

161-
[node name="HBoxContainer" type="HBoxContainer" parent="VBoxContainer"]
160+
[node name="HBoxContainer" type="HBoxContainer" parent="MarginContainer/VBoxContainer"]
162161
layout_mode = 2
163162
size_flags_vertical = 8
164163
theme_override_constants/separation = 20
165164
alignment = 1
166165

167-
[node name="AceeptButton" type="OptionValueControl" parent="VBoxContainer/HBoxContainer"]
166+
[node name="AceeptButton" type="OptionValueControl" parent="MarginContainer/VBoxContainer/HBoxContainer"]
168167
option_key = "__accept_button"
169168
layout_mode = 2
170169

171-
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer/AceeptButton"]
170+
[node name="Button" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer/AceeptButton"]
172171
layout_mode = 2
173172
text = "Accept"
174173

175-
[node name="CancelButton" type="OptionValueControl" parent="VBoxContainer/HBoxContainer"]
174+
[node name="CancelButton" type="OptionValueControl" parent="MarginContainer/VBoxContainer/HBoxContainer"]
176175
option_key = "__cancel_button"
177176
layout_mode = 2
178177

179-
[node name="Button" type="Button" parent="VBoxContainer/HBoxContainer/CancelButton"]
178+
[node name="Button" type="Button" parent="MarginContainer/VBoxContainer/HBoxContainer/CancelButton"]
180179
layout_mode = 2
181180
text = "Cancel"
0 Bytes
Binary file not shown.

src/popup_variable_setter.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ const char* PopupVariableSetter::s_applied = "applied";
2323
const char* PopupVariableSetter::s_cancelled = "cancelled";
2424
const char* PopupVariableSetter::s_mode_type_changed = "mode_type_changed";
2525

26-
const char* PopupVariableSetter::key_global_key_data = "global_key_data";
26+
const char* PopupVariableSetter::key_variable_key_data = "variable_key_data";
2727
const char* PopupVariableSetter::key_local_key_data = "local_key_data";
2828
const char* PopupVariableSetter::key_string_data = "string_data";
2929
const char* PopupVariableSetter::key_number_data = "number_data";
@@ -165,11 +165,11 @@ void PopupVariableSetter::_reset_enum_button_config(){
165165
void PopupVariableSetter::_update_setter_ui(){
166166
if(_edit_flag & edit_add_key_edit){
167167
_ginvoker->invoke(key_local_key_data, "set_visible", (bool)(_edit_flag & edit_local_key));
168-
_ginvoker->invoke(key_global_key_data, "set_visible", !(bool)(_edit_flag & edit_local_key));
168+
_ginvoker->invoke(key_variable_key_data, "set_visible", !(bool)(_edit_flag & edit_local_key));
169169
}
170170
else{
171171
_ginvoker->invoke(key_local_key_data, "set_visible", false);
172-
_ginvoker->invoke(key_global_key_data, "set_visible", false);
172+
_ginvoker->invoke(key_variable_key_data, "set_visible", false);
173173
}
174174

175175
if(_edit_flag & edit_clear_on_popup)
@@ -368,12 +368,12 @@ String PopupVariableSetter::get_local_key_applied() const{
368368
}
369369

370370

371-
void PopupVariableSetter::set_global_key(const String& key){
372-
_option_list->set_value_data(key_global_key_data, key);
371+
void PopupVariableSetter::set_variable_key(const String& key){
372+
_option_list->set_value_data(key_variable_key_data, key);
373373
}
374374

375-
String PopupVariableSetter::get_global_key() const{
376-
return _option_list->get_value_data(key_global_key_data);
375+
String PopupVariableSetter::get_variable_key() const{
376+
return _option_list->get_value_data(key_variable_key_data);
377377
}
378378

379379

src/popup_variable_setter.h

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class PopupVariableSetter: public godot::PopupPanel{
2626
static const char* s_mode_type_changed;
2727

2828
// This assumes that the parent of the node will be hidden if not used.
29-
static const char* key_global_key_data;
29+
static const char* key_variable_key_data;
3030
// This assumes that the parent of the node will be hidden if not used.
3131
static const char* key_local_key_data;
3232
static const char* key_string_data;
@@ -134,8 +134,8 @@ class PopupVariableSetter: public godot::PopupPanel{
134134
void set_local_key_choice(const godot::PackedStringArray& key_list);
135135
godot::String get_local_key_applied() const;
136136

137-
void set_global_key(const godot::String& key);
138-
godot::String get_global_key() const;
137+
void set_variable_key(const godot::String& key);
138+
godot::String get_variable_key() const;
139139

140140
void set_option_list_path(const godot::NodePath& path);
141141
godot::NodePath get_option_list_path() const;
140 Bytes
Binary file not shown.

src/test_lua.lua

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,17 @@ test_variable = "hello world!"
55
print(test_variable .. " this is from lua!")
66
print(test_variable .. " this is another test.")
77

8+
test_table = {
9+
test_string = "foo bar",
10+
test_number = 64
11+
}
12+
813

914
local function print_iter(n)
15+
local test_local = {
16+
test_str = "test"
17+
}
18+
1019
for i = 1, n, 1 do
1120
test_print(string.format("number: %d", i));
1221
end

0 commit comments

Comments
 (0)