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:
authorCampbell Barton <ideasman42@gmail.com>2010-11-17 10:00:14 +0300
committerCampbell Barton <ideasman42@gmail.com>2010-11-17 10:00:14 +0300
commitfbcf01f9f77280e81ffc48ef9cbe4a0dae234a50 (patch)
tree652c6ff82a6586b5f412d8f30557958bd173b724 /release/scripts/templates
parentd0d16ecaeed0e6628d9ce18ba0808dedd992d44f (diff)
cleanup the operator template and rename to operator_export
Diffstat (limited to 'release/scripts/templates')
-rw-r--r--release/scripts/templates/operator.py63
-rw-r--r--release/scripts/templates/operator_export.py53
2 files changed, 53 insertions, 63 deletions
diff --git a/release/scripts/templates/operator.py b/release/scripts/templates/operator.py
deleted file mode 100644
index 822d888a96c..00000000000
--- a/release/scripts/templates/operator.py
+++ /dev/null
@@ -1,63 +0,0 @@
-import bpy
-
-def write_some_data(context, filepath, use_some_setting):
- print("running write_some_data...")
- pass
-
-from bpy.props import *
-
-class ExportSomeData(bpy.types.Operator):
- '''This appiers in the tooltip of the operator and in the generated docs.'''
- bl_idname = "export.some_data" # this is important since its how bpy.ops.export.some_data is constructed
- bl_label = "Export Some Data"
-
- # List of operator properties, the attributes will be assigned
- # to the class instance from the operator settings before calling.
-
- # TODO, add better example props
- filepath = StringProperty(name="File Path", description="File path used for exporting the PLY file", maxlen= 1024, default= "")
- use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default= True)
-
- type = bpy.props.EnumProperty(items=(('OPT_A', "First Option", "Description one"), ('OPT_B', "Second Option", "Description two.")),
- name="Example Enum",
- description="Choose between two items",
- default='OPT_A')
-
- @classmethod
- def poll(cls, context):
- return context.active_object != None
-
- def execute(self, context):
-
- # # Bug, currently isnt working
- #if not self.is_property_set("filepath"):
- # raise Exception("filename not set")
-
- write_some_data(self.filepath, context, self.use_setting)
-
- return {'FINISHED'}
-
- def invoke(self, context, event):
- wm = context.window_manager
-
- if True:
- # File selector
- wm.add_fileselect(self) # will run self.execute()
- return {'RUNNING_MODAL'}
- elif True:
- # search the enum
- wm.invoke_search_popup(self)
- return {'RUNNING_MODAL'}
- elif False:
- # Redo popup
- return wm.invoke_props_popup(self, event) #
- elif False:
- return self.execute(context)
-
-
-# Only needed if you want to add into a dynamic menu
-menu_func = lambda self, context: self.layout.operator("export.some_data", text="Example Exporter...")
-bpy.types.INFO_MT_file_export.append(menu_func)
-
-if __name__ == "__main__":
- bpy.ops.export.some_data('INVOKE_DEFAULT', filepath="/tmp/test.ply")
diff --git a/release/scripts/templates/operator_export.py b/release/scripts/templates/operator_export.py
new file mode 100644
index 00000000000..ef8acfeb3a3
--- /dev/null
+++ b/release/scripts/templates/operator_export.py
@@ -0,0 +1,53 @@
+import bpy
+
+def write_some_data(context, filepath, use_some_setting):
+ print("running write_some_data...")
+ f = open(filepath, 'w')
+ f.write("Hello World %s" % use_some_setting)
+ f.close()
+
+ return {'FINISHED'}
+
+
+# ExportHelper is a helper class, defines filename and
+# invoke() function which calls the file selector.
+from io_utils import ExportHelper
+
+from bpy.props import *
+
+
+class ExportSomeData(bpy.types.Operator, ExportHelper):
+ '''This appiers in the tooltip of the operator and in the generated docs.'''
+ bl_idname = "export.some_data" # this is important since its how bpy.ops.export.some_data is constructed
+ bl_label = "Export Some Data"
+
+ # ExportHelper mixin class uses this
+ filename_ext = ".txt"
+
+ filter_glob = StringProperty(default="*.txt", options={'HIDDEN'})
+
+ # List of operator properties, the attributes will be assigned
+ # to the class instance from the operator settings before calling.
+ use_setting = BoolProperty(name="Example Boolean", description="Example Tooltip", default= True)
+
+ type = bpy.props.EnumProperty(items=(('OPT_A', "First Option", "Description one"), ('OPT_B', "Second Option", "Description two.")),
+ name="Example Enum",
+ description="Choose between two items",
+ default='OPT_A')
+
+ @classmethod
+ def poll(cls, context):
+ return context.active_object != None
+
+ def execute(self, context):
+ return write_some_data(context, self.filepath, self.use_setting)
+
+
+# Only needed if you want to add into a dynamic menu
+def menu_func_export(self, context):
+ self.layout.operator(ExportSomeData.bl_idname, text="Text Export Operator")
+
+bpy.types.INFO_MT_file_export.append(menu_func_export)
+
+if __name__ == "__main__":
+ bpy.ops.export.some_data('INVOKE_DEFAULT')