mirror of
https://github.com/Relintai/pandemonium_engine.git
synced 2025-01-11 21:31:10 +01:00
Ported the PaintInspectorPlugin.
This commit is contained in:
parent
7a9ed010d1
commit
0539b70aee
@ -55,3 +55,4 @@ module_env.add_source_files(env.modules_sources,"deprecated/paint_settings.cpp")
|
||||
if 'TOOLS_ENABLED' in env["CPPDEFINES"]:
|
||||
module_env.add_source_files(env.modules_sources,"paint_editor_plugin.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"paint_editor_plugin_old.cpp")
|
||||
module_env.add_source_files(env.modules_sources,"editor/paint_inspector_plugin.cpp")
|
||||
|
61
modules/paint/editor/paint_inspector_plugin.cpp
Normal file
61
modules/paint/editor/paint_inspector_plugin.cpp
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
Copyright (c) 2019-2022 Péter Magyar
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "paint_inspector_plugin.h"
|
||||
|
||||
#include "../ui/property_inspectors/paint_project_property_inspector.h"
|
||||
#include "../ui/property_inspectors/paint_project_tools_property_inspector.h"
|
||||
#include "../ui/property_inspectors/paint_tools_property_inspector.h"
|
||||
|
||||
#include "../nodes/paint_node.h"
|
||||
|
||||
bool PaintInspectorPlugin::can_handle(Object *p_object) {
|
||||
return p_object->is_class("PaintNode");
|
||||
}
|
||||
void PaintInspectorPlugin::parse_begin(Object *p_object) {
|
||||
PaintNode *paint_node = Object::cast_to<PaintNode>(p_object);
|
||||
|
||||
PaintProjectPropertyInspector *pc = memnew(PaintProjectPropertyInspector);
|
||||
pc->on_paint_node_selected(paint_node);
|
||||
add_custom_control(pc);
|
||||
|
||||
if (p_object->is_class("PaintCanvas")) {
|
||||
PaintToolsPropertyInspector *ptool = memnew(PaintToolsPropertyInspector);
|
||||
ptool->on_paint_node_selected(paint_node);
|
||||
add_custom_control(ptool);
|
||||
}
|
||||
|
||||
if (p_object->is_class("PaintProject")) {
|
||||
PaintProjectToolsPropertyInspector *pct = memnew(PaintProjectToolsPropertyInspector);
|
||||
pct->on_paint_node_selected(paint_node);
|
||||
add_custom_control(pct);
|
||||
}
|
||||
}
|
||||
|
||||
PaintInspectorPlugin::PaintInspectorPlugin() {
|
||||
}
|
||||
|
||||
PaintInspectorPlugin::~PaintInspectorPlugin() {
|
||||
}
|
||||
|
||||
void PaintInspectorPlugin::_bind_methods() {
|
||||
}
|
43
modules/paint/editor/paint_inspector_plugin.h
Normal file
43
modules/paint/editor/paint_inspector_plugin.h
Normal file
@ -0,0 +1,43 @@
|
||||
#ifndef PAINT_INSPECTOR_PLUGIN_H
|
||||
#define PAINT_INSPECTOR_PLUGIN_H
|
||||
|
||||
/*
|
||||
Copyright (c) 2019-2022 Péter Magyar
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
*/
|
||||
|
||||
#include "core/object/reference.h"
|
||||
#include "editor/editor_inspector.h"
|
||||
|
||||
class PaintInspectorPlugin : public EditorInspectorPlugin {
|
||||
GDCLASS(PaintInspectorPlugin, EditorInspectorPlugin);
|
||||
|
||||
public:
|
||||
bool can_handle(Object *p_object);
|
||||
void parse_begin(Object *p_object);
|
||||
|
||||
PaintInspectorPlugin();
|
||||
~PaintInspectorPlugin();
|
||||
|
||||
protected:
|
||||
static void _bind_methods();
|
||||
};
|
||||
|
||||
#endif
|
@ -27,6 +27,7 @@ SOFTWARE.
|
||||
#include "editor/plugins/canvas_item_editor_plugin.h"
|
||||
|
||||
#include "ui/property_inspectors/paint_color_grid.h"
|
||||
#include "./editor/paint_inspector_plugin.h"
|
||||
|
||||
#include "nodes/paint_node.h"
|
||||
|
||||
@ -71,6 +72,9 @@ PaintEditorPlugin::PaintEditorPlugin(EditorNode *p_node) {
|
||||
_active_node = NULL;
|
||||
|
||||
editor = p_node;
|
||||
|
||||
_inspector_plugin = memnew(PaintInspectorPlugin);
|
||||
add_inspector_plugin(_inspector_plugin);
|
||||
}
|
||||
|
||||
PaintEditorPlugin::~PaintEditorPlugin() {
|
||||
|
@ -29,6 +29,7 @@ SOFTWARE.
|
||||
class PaintWindow;
|
||||
class Texture;
|
||||
class PaintNode;
|
||||
class PaintInspectorPlugin;
|
||||
|
||||
class PaintEditorPlugin : public EditorPlugin {
|
||||
GDCLASS(PaintEditorPlugin, EditorPlugin);
|
||||
@ -57,6 +58,7 @@ protected:
|
||||
static void _bind_methods();
|
||||
|
||||
PaintNode *_active_node;
|
||||
PaintInspectorPlugin *_inspector_plugin;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user