From ec8c6e2c7c6689856a9a5547ece905339df994a8 Mon Sep 17 00:00:00 2001 From: Johan Manuel Date: Thu, 21 Jul 2016 23:58:58 +0200 Subject: [PATCH] Expose virtual keyboard functions to GDScript --- core/bind/core_bind.cpp | 14 ++++++++++++++ core/bind/core_bind.h | 4 ++++ core/os/os.cpp | 5 +---- doc/base/classes.xml | 19 +++++++++++++++++++ 4 files changed, 38 insertions(+), 4 deletions(-) diff --git a/core/bind/core_bind.cpp b/core/bind/core_bind.cpp index 9cc934bb6f3..c2ed637b793 100644 --- a/core/bind/core_bind.cpp +++ b/core/bind/core_bind.cpp @@ -894,6 +894,17 @@ void _OS::print_resources_by_type(const Vector& p_types) { }; +bool _OS::has_virtual_keyboard() const { + return OS::get_singleton()->has_virtual_keyboard(); +} + +void _OS::show_virtual_keyboard(const String& p_existing_text) { + OS::get_singleton()->show_virtual_keyboard(p_existing_text, Rect2()); +} + +void _OS::hide_virtual_keyboard() { + OS::get_singleton()->hide_virtual_keyboard(); +} void _OS::print_all_resources(const String& p_to_file ) { @@ -1117,6 +1128,9 @@ void _OS::_bind_methods() { ObjectTypeDB::bind_method(_MD("dump_memory_to_file","file"),&_OS::dump_memory_to_file); ObjectTypeDB::bind_method(_MD("dump_resources_to_file","file"),&_OS::dump_resources_to_file); + ObjectTypeDB::bind_method(_MD("has_virtual_keyboard"),&_OS::has_virtual_keyboard); + ObjectTypeDB::bind_method(_MD("show_virtual_keyboard", "existing_text"),&_OS::show_virtual_keyboard,DEFVAL("")); + ObjectTypeDB::bind_method(_MD("hide_virtual_keyboard"),&_OS::hide_virtual_keyboard); ObjectTypeDB::bind_method(_MD("print_resources_in_use","short"),&_OS::print_resources_in_use,DEFVAL(false)); ObjectTypeDB::bind_method(_MD("print_all_resources","tofile"),&_OS::print_all_resources,DEFVAL("")); diff --git a/core/bind/core_bind.h b/core/bind/core_bind.h index b43c5246ede..64ecd48db19 100644 --- a/core/bind/core_bind.h +++ b/core/bind/core_bind.h @@ -204,6 +204,10 @@ public: void dump_memory_to_file(const String& p_file); void dump_resources_to_file(const String& p_file); + bool has_virtual_keyboard() const; + void show_virtual_keyboard(const String& p_existing_text=""); + void hide_virtual_keyboard(); + void print_resources_in_use(bool p_short=false); void print_all_resources(const String& p_to_file); void print_all_textures_by_size(); diff --git a/core/os/os.cpp b/core/os/os.cpp index 284bcb30cb0..5f869620480 100644 --- a/core/os/os.cpp +++ b/core/os/os.cpp @@ -209,18 +209,15 @@ bool OS::has_virtual_keyboard() const { return false; } + void OS::show_virtual_keyboard(const String& p_existing_text,const Rect2& p_screen_rect) { - - } void OS::hide_virtual_keyboard(){ - } - void OS::print_all_resources(String p_to_file) { ERR_FAIL_COND(p_to_file!="" && _OSPRF); diff --git a/doc/base/classes.xml b/doc/base/classes.xml index b8156133de0..be0a0078fc4 100644 --- a/doc/base/classes.xml +++ b/doc/base/classes.xml @@ -22721,6 +22721,18 @@ + + + + + Returns true if the platform has a virtual keyboard, false otherwise. + + + + + Hides the virtual keyboard if it is shown, does nothing otherwise. + + @@ -23033,6 +23045,13 @@ + + + + + Shows the virtual keyboard if the platform has one. The [i]existing_text[/i] parameter is useful for implementing your own LineEdit, as it tells the virtual keyboard what text has already been typed (the virtual keyboard uses it for auto-correct and predictions). + +