Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacques Lucke <jacques@blender.org>2020-04-01 12:27:39 +0300
committerJacques Lucke <jacques@blender.org>2020-04-01 12:27:39 +0300
commitb344800177ab2967dcd2d5b0fb426f48df159f1a (patch)
treeb74154058299f8db18bd78b02c64b7c1340e1c3a /release
parentbd690a4d57bb3f28c2841cec21e070d26dd747d8 (diff)
support adding new simulation from header
Diffstat (limited to 'release')
-rw-r--r--release/scripts/startup/bl_operators/__init__.py1
-rw-r--r--release/scripts/startup/bl_operators/simulation.py39
-rw-r--r--release/scripts/startup/bl_ui/space_node.py4
3 files changed, 43 insertions, 1 deletions
diff --git a/release/scripts/startup/bl_operators/__init__.py b/release/scripts/startup/bl_operators/__init__.py
index 5af2bd22222..d7df29f1769 100644
--- a/release/scripts/startup/bl_operators/__init__.py
+++ b/release/scripts/startup/bl_operators/__init__.py
@@ -42,6 +42,7 @@ _modules = [
"rigidbody",
"screen_play_rendered_anim",
"sequencer",
+ "simulation",
"userpref",
"uvcalc_follow_active",
"uvcalc_lightmap",
diff --git a/release/scripts/startup/bl_operators/simulation.py b/release/scripts/startup/bl_operators/simulation.py
new file mode 100644
index 00000000000..5d9c9476318
--- /dev/null
+++ b/release/scripts/startup/bl_operators/simulation.py
@@ -0,0 +1,39 @@
+# ##### BEGIN GPL LICENSE BLOCK #####
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+#
+# ##### END GPL LICENSE BLOCK #####
+
+import bpy
+
+class NewSimulation(bpy.types.Operator):
+ """Create a new simulation data block and edit it in the opened simulation editor"""
+
+ bl_idname = "simulation.new"
+ bl_label = "New Simulation"
+ bl_options = {'REGISTER', 'UNDO'}
+
+ @classmethod
+ def poll(cls, context):
+ return context.area.type == 'NODE_EDITOR' and context.space_data.tree_type == 'SimulationNodeTree'
+
+ def execute(self, context):
+ simulation = bpy.data.simulations.new("Simulation")
+ context.space_data.simulation = simulation
+ return {'FINISHED'}
+
+classes = (
+ NewSimulation,
+)
diff --git a/release/scripts/startup/bl_ui/space_node.py b/release/scripts/startup/bl_ui/space_node.py
index 580a531c79c..6b0aa2929d9 100644
--- a/release/scripts/startup/bl_ui/space_node.py
+++ b/release/scripts/startup/bl_ui/space_node.py
@@ -152,7 +152,9 @@ class NODE_HT_header(Header):
layout.prop(snode_id, "use_nodes")
elif snode.tree_type == 'SimulationNodeTree':
- layout.prop(snode, "simulation")
+ row = layout.row(align=True)
+ row.prop(snode, "simulation", text="")
+ row.operator("simulation.new", text="", icon='ADD')
else:
# Custom node tree is edited as independent ID block