Clean up notifications and merge Node and MainLoop ones for clarity, closes #27614
This commit is contained in:
parent
2ce022af7e
commit
a18989602b
|
@ -51,21 +51,19 @@ protected:
|
|||
|
||||
public:
|
||||
enum {
|
||||
NOTIFICATION_WM_MOUSE_ENTER = 2,
|
||||
NOTIFICATION_WM_MOUSE_EXIT = 3,
|
||||
NOTIFICATION_WM_FOCUS_IN = 4,
|
||||
NOTIFICATION_WM_FOCUS_OUT = 5,
|
||||
NOTIFICATION_WM_QUIT_REQUEST = 6,
|
||||
NOTIFICATION_WM_GO_BACK_REQUEST = 7,
|
||||
NOTIFICATION_WM_UNFOCUS_REQUEST = 8,
|
||||
NOTIFICATION_OS_MEMORY_WARNING = 9,
|
||||
// Note: NOTIFICATION_TRANSLATION_CHANGED and NOTIFICATION_WM_ABOUT used to have id=10 and id=11 but these
|
||||
// conflict with NOTIFICATION_ENTER_TREE (id=10) and NOTIFICATION_EXIT_TREE (id=11), so id=90 and id=91
|
||||
// fixes this issue.
|
||||
NOTIFICATION_TRANSLATION_CHANGED = 90,
|
||||
NOTIFICATION_WM_ABOUT = 91,
|
||||
NOTIFICATION_CRASH = 92,
|
||||
NOTIFICATION_OS_IME_UPDATE = 93,
|
||||
//make sure these are replicated in Node
|
||||
NOTIFICATION_WM_MOUSE_ENTER = 1002,
|
||||
NOTIFICATION_WM_MOUSE_EXIT = 1003,
|
||||
NOTIFICATION_WM_FOCUS_IN = 1004,
|
||||
NOTIFICATION_WM_FOCUS_OUT = 1005,
|
||||
NOTIFICATION_WM_QUIT_REQUEST = 1006,
|
||||
NOTIFICATION_WM_GO_BACK_REQUEST = 1007,
|
||||
NOTIFICATION_WM_UNFOCUS_REQUEST = 1008,
|
||||
NOTIFICATION_OS_MEMORY_WARNING = 1009,
|
||||
NOTIFICATION_TRANSLATION_CHANGED = 1010,
|
||||
NOTIFICATION_WM_ABOUT = 1011,
|
||||
NOTIFICATION_CRASH = 1012,
|
||||
NOTIFICATION_OS_IME_UPDATE = 1013,
|
||||
};
|
||||
|
||||
virtual void input_event(const Ref<InputEvent> &p_event);
|
||||
|
|
|
@ -2830,10 +2830,22 @@ void Node::_bind_methods() {
|
|||
BIND_CONSTANT(NOTIFICATION_DRAG_BEGIN);
|
||||
BIND_CONSTANT(NOTIFICATION_DRAG_END);
|
||||
BIND_CONSTANT(NOTIFICATION_PATH_CHANGED);
|
||||
BIND_CONSTANT(NOTIFICATION_TRANSLATION_CHANGED);
|
||||
BIND_CONSTANT(NOTIFICATION_INTERNAL_PROCESS);
|
||||
BIND_CONSTANT(NOTIFICATION_INTERNAL_PHYSICS_PROCESS);
|
||||
|
||||
BIND_CONSTANT(NOTIFICATION_WM_MOUSE_ENTER);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_MOUSE_EXIT);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_FOCUS_IN);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_FOCUS_OUT);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_QUIT_REQUEST);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_GO_BACK_REQUEST);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_UNFOCUS_REQUEST);
|
||||
BIND_CONSTANT(NOTIFICATION_OS_MEMORY_WARNING);
|
||||
BIND_CONSTANT(NOTIFICATION_TRANSLATION_CHANGED);
|
||||
BIND_CONSTANT(NOTIFICATION_WM_ABOUT);
|
||||
BIND_CONSTANT(NOTIFICATION_CRASH);
|
||||
BIND_CONSTANT(NOTIFICATION_OS_IME_UPDATE);
|
||||
|
||||
BIND_ENUM_CONSTANT(PAUSE_MODE_INHERIT);
|
||||
BIND_ENUM_CONSTANT(PAUSE_MODE_STOP);
|
||||
BIND_ENUM_CONSTANT(PAUSE_MODE_PROCESS);
|
||||
|
|
|
@ -216,6 +216,7 @@ protected:
|
|||
|
||||
public:
|
||||
enum {
|
||||
|
||||
// you can make your own, but don't use the same numbers as other notifications in other nodes
|
||||
NOTIFICATION_ENTER_TREE = 10,
|
||||
NOTIFICATION_EXIT_TREE = 11,
|
||||
|
@ -231,10 +232,23 @@ public:
|
|||
NOTIFICATION_DRAG_BEGIN = 21,
|
||||
NOTIFICATION_DRAG_END = 22,
|
||||
NOTIFICATION_PATH_CHANGED = 23,
|
||||
NOTIFICATION_TRANSLATION_CHANGED = 24,
|
||||
//NOTIFICATION_TRANSLATION_CHANGED = 24, moved below
|
||||
NOTIFICATION_INTERNAL_PROCESS = 25,
|
||||
NOTIFICATION_INTERNAL_PHYSICS_PROCESS = 26,
|
||||
NOTIFICATION_POST_ENTER_TREE = 27,
|
||||
//keep these linked to node
|
||||
NOTIFICATION_WM_MOUSE_ENTER = MainLoop::NOTIFICATION_WM_MOUSE_ENTER,
|
||||
NOTIFICATION_WM_MOUSE_EXIT = MainLoop::NOTIFICATION_WM_MOUSE_EXIT,
|
||||
NOTIFICATION_WM_FOCUS_IN = MainLoop::NOTIFICATION_WM_FOCUS_IN,
|
||||
NOTIFICATION_WM_FOCUS_OUT = MainLoop::NOTIFICATION_WM_FOCUS_OUT,
|
||||
NOTIFICATION_WM_QUIT_REQUEST = MainLoop::NOTIFICATION_WM_QUIT_REQUEST,
|
||||
NOTIFICATION_WM_GO_BACK_REQUEST = MainLoop::NOTIFICATION_WM_GO_BACK_REQUEST,
|
||||
NOTIFICATION_WM_UNFOCUS_REQUEST = MainLoop::NOTIFICATION_WM_UNFOCUS_REQUEST,
|
||||
NOTIFICATION_OS_MEMORY_WARNING = MainLoop::NOTIFICATION_OS_MEMORY_WARNING,
|
||||
NOTIFICATION_TRANSLATION_CHANGED = MainLoop::NOTIFICATION_TRANSLATION_CHANGED,
|
||||
NOTIFICATION_WM_ABOUT = MainLoop::NOTIFICATION_WM_ABOUT,
|
||||
NOTIFICATION_CRASH = MainLoop::NOTIFICATION_CRASH,
|
||||
NOTIFICATION_OS_IME_UPDATE = MainLoop::NOTIFICATION_OS_IME_UPDATE
|
||||
|
||||
};
|
||||
|
||||
|
|
|
@ -658,13 +658,15 @@ void SceneTree::_notification(int p_notification) {
|
|||
} break;
|
||||
case NOTIFICATION_TRANSLATION_CHANGED: {
|
||||
if (!Engine::get_singleton()->is_editor_hint()) {
|
||||
get_root()->propagate_notification(Node::NOTIFICATION_TRANSLATION_CHANGED);
|
||||
get_root()->propagate_notification(p_notification);
|
||||
}
|
||||
} break;
|
||||
case NOTIFICATION_WM_UNFOCUS_REQUEST: {
|
||||
|
||||
notify_group_flags(GROUP_CALL_REALTIME | GROUP_CALL_MULTILEVEL, "input", NOTIFICATION_WM_UNFOCUS_REQUEST);
|
||||
|
||||
get_root()->propagate_notification(p_notification);
|
||||
|
||||
} break;
|
||||
|
||||
case NOTIFICATION_WM_ABOUT: {
|
||||
|
|
|
@ -287,7 +287,7 @@ protected:
|
|||
|
||||
public:
|
||||
enum {
|
||||
NOTIFICATION_TRANSFORM_CHANGED = 29
|
||||
NOTIFICATION_TRANSFORM_CHANGED = 2000
|
||||
};
|
||||
|
||||
enum GroupCallFlags {
|
||||
|
|
Loading…
Reference in New Issue