summaryrefslogtreecommitdiffstats
path: root/core/dictionary.cpp
diff options
context:
space:
mode:
authorJuan Linietsky <reduzio@gmail.com>2018-05-19 17:57:44 -0300
committerJuan Linietsky <reduzio@gmail.com>2018-05-19 17:57:44 -0300
commit9b567cc549199ef407e7f379bce400e8565d0a63 (patch)
tree154e893e9bacb4281ed73d23f4fd6fddae3eae9e /core/dictionary.cpp
parenteded06166860b3c052310cc8db28cc080655b510 (diff)
downloadredot-engine-9b567cc549199ef407e7f379bce400e8565d0a63.tar.gz
Dictionary editing support in inspector
Diffstat (limited to 'core/dictionary.cpp')
-rw-r--r--core/dictionary.cpp26
1 files changed, 26 insertions, 0 deletions
diff --git a/core/dictionary.cpp b/core/dictionary.cpp
index ba0de95861..d68411a572 100644
--- a/core/dictionary.cpp
+++ b/core/dictionary.cpp
@@ -50,6 +50,32 @@ void Dictionary::get_key_list(List<Variant> *p_keys) const {
}
}
+Variant Dictionary::get_key_at_index(int p_index) const {
+
+ int index = 0;
+ for (OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.front(); E; E = E.next()) {
+ if (index == p_index) {
+ return E.key();
+ }
+ index++;
+ }
+
+ return Variant();
+}
+
+Variant Dictionary::get_value_at_index(int p_index) const {
+
+ int index = 0;
+ for (OrderedHashMap<Variant, Variant, VariantHasher, VariantComparator>::Element E = _p->variant_map.front(); E; E = E.next()) {
+ if (index == p_index) {
+ return E.value();
+ }
+ index++;
+ }
+
+ return Variant();
+}
+
Variant &Dictionary::operator[](const Variant &p_key) {
return _p->variant_map[p_key];