[Bf-blender-cvs] [3e3cee15bfc] soc-2020-io-performance: Placeholder exporter UI and settings working.

Ankit Meel noreply at git.blender.org
Thu May 21 19:35:55 CEST 2020


Commit: 3e3cee15bfc6ce84d3189a5a7a705c1b82354153
Author: Ankit Meel
Date:   Thu May 21 00:07:17 2020 +0530
Branches: soc-2020-io-performance
https://developer.blender.org/rB3e3cee15bfc6ce84d3189a5a7a705c1b82354153

Placeholder exporter UI and settings working.

===================================================================

M	source/blender/editors/io/io_obj.c
M	source/blender/editors/space_file/filesel.c
M	source/blender/io/obj/obj.cpp
M	source/blender/makesdna/DNA_space_types.h
M	source/blender/windowmanager/intern/wm_operator_props.c

===================================================================

diff --git a/source/blender/editors/io/io_obj.c b/source/blender/editors/io/io_obj.c
index 066f3fde5b0..1a4c34b904e 100644
--- a/source/blender/editors/io/io_obj.c
+++ b/source/blender/editors/io/io_obj.c
@@ -73,6 +73,7 @@ static int wm_obj_export_invoke(bContext *C, wmOperator *op, const wmEvent *even
     RNA_string_set(op->ptr, "filepath", filepath);
   }
   
+  WM_event_add_fileselect(C, op);
   return OPERATOR_RUNNING_MODAL;
   
   UNUSED_VARS(event);
@@ -98,15 +99,19 @@ static void ui_obj_export_settings(uiLayout *layout, PointerRNA *imfptr)
   uiLayout *row;
   
   box = uiLayoutBox(layout);
-  row = uiLayoutRow(layout, false);
-  uiItemL(layout, "Print Name?", ICON_NONE);
+  row = uiLayoutRow(box, false);
+  uiItemL(row, IFACE_("Some Options"), ICON_NONE);
   
-  row = uiLayoutRow(layout, false);
-  uiItemL(layout, "Print a Float", ICON_NONE);
+  row = uiLayoutRow(box, false);
+  uiItemR(row, imfptr, "print_name", 0, NULL, ICON_NONE);
+  
+  row = uiLayoutRow(box, false);
+  uiItemR(row, imfptr, "print_the_float", 0, NULL,  ICON_NONE);
 }
 
 static void wm_obj_export_draw(bContext *UNUSED(C), wmOperator *op ){
   PointerRNA ptr;
+  RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
   ui_obj_export_settings(op->layout, &ptr);
 }
 
@@ -122,7 +127,7 @@ void WM_OT_obj_export(struct wmOperatorType *ot){
   ot->ui = wm_obj_export_draw;
   
   WM_operator_properties_filesel(ot,
-                                 FILE_TYPE_FOLDER | FILE_TYPE_OBJ,
+                                 FILE_TYPE_FOLDER | FILE_TYPE_OBJECT_IO,
                                  FILE_BLENDER,
                                  FILE_SAVE,
                                  WM_FILESEL_FILEPATH | WM_FILESEL_SHOW_PROPS,
@@ -130,7 +135,7 @@ void WM_OT_obj_export(struct wmOperatorType *ot){
                                  FILE_SORT_ALPHA);
   
   RNA_def_boolean(ot->srna, "print_name", 0, "Print Name?", "If enabled, prints name of OP");
-  RNA_def_float(ot->srna, "print_the_float", 4.56, 0.0f, 10.0f, "Print a Float", "Prints given Float", 1.0f, 9.0f);
+  RNA_def_float(ot->srna, "print_the_float", 4.56, 0.0f, 10.0f, "Print the Float", "Prints the given Float", 1.0f, 9.0f);
 }
 
 
@@ -157,7 +162,7 @@ void WM_OT_obj_import(struct wmOperatorType *ot)
   ot->ui = wm_obj_import_draw;
 
   WM_operator_properties_filesel(ot,
-                                 FILE_TYPE_FOLDER | FILE_TYPE_OBJ,
+                                 FILE_TYPE_FOLDER | FILE_TYPE_OBJECT_IO,
                                  FILE_BLENDER,
                                  FILE_SAVE,
                                  WM_FILESEL_FILEPATH | WM_FILESEL_SHOW_PROPS,
diff --git a/source/blender/editors/space_file/filesel.c b/source/blender/editors/space_file/filesel.c
index 3b62941af83..e21bba8e2fe 100644
--- a/source/blender/editors/space_file/filesel.c
+++ b/source/blender/editors/space_file/filesel.c
@@ -219,6 +219,9 @@ short ED_fileselect_set_params(SpaceFile *sfile)
     if ((prop = RNA_struct_find_property(op->ptr, "filter_usd"))) {
       params->filter |= RNA_property_boolean_get(op->ptr, prop) ? FILE_TYPE_USD : 0;
     }
+    if ((prop = RNA_struct_find_property(op->ptr, "filter_obj"))) {
+      params->filter |= RNA_property_boolean_get(op->ptr, prop) ? FILE_TYPE_OBJECT_IO : 0;
+    }
     if ((prop = RNA_struct_find_property(op->ptr, "filter_volume"))) {
       params->filter |= RNA_property_boolean_get(op->ptr, prop) ? FILE_TYPE_VOLUME : 0;
     }
diff --git a/source/blender/io/obj/obj.cpp b/source/blender/io/obj/obj.cpp
index 9bb55b5086b..c6e1353c91f 100644
--- a/source/blender/io/obj/obj.cpp
+++ b/source/blender/io/obj/obj.cpp
@@ -1,8 +1,8 @@
 #include "obj.h"
 
-bool export_obj(bContext *C, OBJExportParams * a){
+bool obj_export(bContext *C, OBJExportParams * a){
   if (a->print_name) {
-    printf("\n Ankit");
+    printf("\n OP");
   }
   if (a->number) {
     printf("\n%f\n",a->number);
diff --git a/source/blender/makesdna/DNA_space_types.h b/source/blender/makesdna/DNA_space_types.h
index 69e3be7a95e..8f4f066efbb 100644
--- a/source/blender/makesdna/DNA_space_types.h
+++ b/source/blender/makesdna/DNA_space_types.h
@@ -859,7 +859,6 @@ typedef enum eFileSel_File_Types {
   FILE_TYPE_OBJECT_IO = (1 << 17),
   FILE_TYPE_USD = (1 << 18),
   FILE_TYPE_VOLUME = (1 << 19),
-  FILE_TYPE_OBJ = (1 << 20),
 
   /** An FS directory (i.e. S_ISDIR on its path is true). */
   FILE_TYPE_DIR = (1 << 30),
diff --git a/source/blender/windowmanager/intern/wm_operator_props.c b/source/blender/windowmanager/intern/wm_operator_props.c
index 93cd757ea93..073213e58c2 100644
--- a/source/blender/windowmanager/intern/wm_operator_props.c
+++ b/source/blender/windowmanager/intern/wm_operator_props.c
@@ -161,6 +161,9 @@ void WM_operator_properties_filesel(wmOperatorType *ot,
   prop = RNA_def_boolean(
       ot->srna, "filter_usd", (filter & FILE_TYPE_USD) != 0, "Filter USD files", "");
   RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+  prop = RNA_def_boolean(
+                         ot->srna, "filter_obj", (filter & FILE_TYPE_OBJECT_IO) != 0, "Filter OBJ files", "");
+  RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
   prop = RNA_def_boolean(ot->srna,
                          "filter_volume",
                          (filter & FILE_TYPE_VOLUME) != 0,



More information about the Bf-blender-cvs mailing list