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:
authorGaia Clary <gaia.clary@machinimatrix.org>2012-06-18 03:13:39 +0400
committerGaia Clary <gaia.clary@machinimatrix.org>2012-06-18 03:13:39 +0400
commit15f4eb34fa2f3bc511c513640b3eac2d03398f47 (patch)
treec565db6b05ac36219f664a6d69f1197f3b6885f9 /source/blender/windowmanager
parentc4eb9c7a7b327ab1ae7091baa6556859178f2b64 (diff)
Collada: Moved interface definitions from wm_operators.c to blender/editors/io
Diffstat (limited to 'source/blender/windowmanager')
-rw-r--r--source/blender/windowmanager/CMakeLists.txt1
-rw-r--r--source/blender/windowmanager/intern/wm_operators.c242
2 files changed, 1 insertions, 242 deletions
diff --git a/source/blender/windowmanager/CMakeLists.txt b/source/blender/windowmanager/CMakeLists.txt
index 2a1a1d5649d..275aeb3317c 100644
--- a/source/blender/windowmanager/CMakeLists.txt
+++ b/source/blender/windowmanager/CMakeLists.txt
@@ -30,6 +30,7 @@ set(INC
../blenlib
../blenloader
../editors/include
+ ../editors/io
../gpu
../imbuf
../makesdna
diff --git a/source/blender/windowmanager/intern/wm_operators.c b/source/blender/windowmanager/intern/wm_operators.c
index bc004e189ea..639039baaa7 100644
--- a/source/blender/windowmanager/intern/wm_operators.c
+++ b/source/blender/windowmanager/intern/wm_operators.c
@@ -2134,242 +2134,6 @@ static void WM_OT_save_mainfile(wmOperatorType *ot)
RNA_def_boolean(ot->srna, "relative_remap", 0, "Remap Relative", "Remap relative paths when saving in a different directory");
}
-/* XXX: move these collada operators to a more appropriate place */
-#ifdef WITH_COLLADA
-
-#include "../../collada/collada.h"
-
-static int wm_collada_export_invoke(bContext *C, wmOperator *op, wmEvent *UNUSED(event))
-{
- if (!RNA_struct_property_is_set(op->ptr, "filepath")) {
- char filepath[FILE_MAX];
-
- if (G.main->name[0] == 0)
- BLI_strncpy(filepath, "untitled", sizeof(filepath));
- else
- BLI_strncpy(filepath, G.main->name, sizeof(filepath));
-
- BLI_replace_extension(filepath, sizeof(filepath), ".dae");
- RNA_string_set(op->ptr, "filepath", filepath);
- }
-
- WM_event_add_fileselect(C, op);
-
- return OPERATOR_RUNNING_MODAL;
-}
-
-/* function used for WM_OT_save_mainfile too */
-static int wm_collada_export_exec(bContext *C, wmOperator *op)
-{
- char filepath[FILE_MAX];
- int apply_modifiers;
- int export_mesh_type;
- int selected;
- int include_children;
- int include_armatures;
- int deform_bones_only;
- int use_object_instantiation;
- int sort_by_name;
- int second_life;
-
- if (!RNA_struct_property_is_set(op->ptr, "filepath")) {
- BKE_report(op->reports, RPT_ERROR, "No filename given");
- return OPERATOR_CANCELLED;
- }
-
- RNA_string_get(op->ptr, "filepath", filepath);
- BLI_ensure_extension(filepath, sizeof(filepath), ".dae");
-
- /* Options panel */
- apply_modifiers = RNA_boolean_get(op->ptr, "apply_modifiers");
- export_mesh_type = RNA_enum_get(op->ptr, "export_mesh_type_selection");
- selected = RNA_boolean_get(op->ptr, "selected");
- include_children = RNA_boolean_get(op->ptr, "include_children");
- include_armatures = RNA_boolean_get(op->ptr, "include_armatures");
- deform_bones_only = RNA_boolean_get(op->ptr, "deform_bones_only");
- use_object_instantiation = RNA_boolean_get(op->ptr, "use_object_instantiation");
- sort_by_name = RNA_boolean_get(op->ptr, "sort_by_name");
- second_life = RNA_boolean_get(op->ptr, "second_life");
-
- /* get editmode results */
- ED_object_exit_editmode(C, 0); /* 0 = does not exit editmode */
-
- if (collada_export(
- CTX_data_scene(C),
- filepath,
- apply_modifiers,
- export_mesh_type,
- selected,
- include_children,
- include_armatures,
- deform_bones_only,
- use_object_instantiation,
- sort_by_name,
- second_life)) {
- return OPERATOR_FINISHED;
- }
- else {
- return OPERATOR_CANCELLED;
- }
-}
-
-
-void uiCollada_exportSettings(uiLayout *layout, PointerRNA *imfptr)
-{
- uiLayout *box, *row, *col, *sub, *split;
-
- /* Export Options: */
- box = uiLayoutBox(layout);
- row = uiLayoutRow(box, 0);
- uiItemL(row, IFACE_("Export Data Options:"), ICON_MESH_DATA);
-
- row = uiLayoutRow(box, 0);
- col = uiLayoutColumn(row, 0);
- split = uiLayoutSplit(col, 0.5f, 0);
- uiItemR(split, imfptr, "apply_modifiers", 0, NULL, ICON_NONE);
- sub = uiLayoutRow(split, 0);
- uiItemR(sub, imfptr, "export_mesh_type_selection", UI_ITEM_R_EXPAND, IFACE_("Color"), ICON_NONE);
- uiLayoutSetEnabled(sub, RNA_boolean_get(imfptr, "apply_modifiers"));
-
- row = uiLayoutRow(box, 0);
- uiItemR(row, imfptr, "selected", 0, NULL, ICON_NONE);
-
- row = uiLayoutRow(box, 0);
- col = uiLayoutColumn(row, 0);
- split = uiLayoutSplit(col, 0.1f, 0);
- sub = uiLayoutRow(split, 0);
- uiItemR(split, imfptr, "include_children", 0, NULL, ICON_NONE);
- uiLayoutSetEnabled(row, RNA_boolean_get(imfptr, "selected"));
-
- row = uiLayoutRow(box, 0);
- col = uiLayoutColumn(row, 0);
- split = uiLayoutSplit(col, 0.1f, 0);
- sub = uiLayoutRow(split, 0);
- uiItemR(split, imfptr, "include_armatures", 0, NULL, ICON_NONE);
- uiLayoutSetEnabled(row, RNA_boolean_get(imfptr, "selected"));
-
-
- // Armature options
- box = uiLayoutBox(layout);
- row = uiLayoutRow(box, 0);
- uiItemL(row, IFACE_("Armature Options:"), ICON_ARMATURE_DATA);
-
- row = uiLayoutRow(box, 0);
- uiItemR(row, imfptr, "deform_bones_only", 0, NULL, ICON_NONE);
- row = uiLayoutRow(box, 0);
- uiItemR(row, imfptr, "second_life", 0, NULL, ICON_NONE);
-
- /* Collada options: */
- box = uiLayoutBox(layout);
- row = uiLayoutRow(box, 0);
- uiItemL(row, IFACE_("Collada Options:"), ICON_MODIFIER);
-
- row = uiLayoutRow(box, 0);
- uiItemR(row, imfptr, "use_object_instantiation", 0, NULL, ICON_NONE);
- row = uiLayoutRow(box, 0);
- uiItemR(row, imfptr, "sort_by_name", 0, NULL, ICON_NONE);
-
-}
-
-static void wm_collada_export_draw(bContext *UNUSED(C), wmOperator *op)
-{
- PointerRNA ptr;
-
- RNA_pointer_create(NULL, op->type->srna, op->properties, &ptr);
- uiCollada_exportSettings(op->layout, &ptr);
-}
-
-static void WM_OT_collada_export(wmOperatorType *ot)
-{
- static EnumPropertyItem prop_bc_export_mesh_type[] = {
- {BC_MESH_TYPE_VIEW, "view", 0, "View", "Apply modifier's view settings"},
- {BC_MESH_TYPE_RENDER, "render", 0, "Render", "Apply modifier's render settings"},
- {0, NULL, 0, NULL, NULL}
- };
-
- ot->name = "Export COLLADA";
- ot->description = "Save a Collada file";
- ot->idname = "WM_OT_collada_export";
-
- ot->invoke = wm_collada_export_invoke;
- ot->exec = wm_collada_export_exec;
- ot->poll = WM_operator_winactive;
-
- ot->flag |= OPTYPE_PRESET;
-
- ot->ui = wm_collada_export_draw;
-
- WM_operator_properties_filesel(ot, FOLDERFILE | COLLADAFILE, FILE_BLENDER, FILE_SAVE, WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY);
-
- RNA_def_boolean(ot->srna, "apply_modifiers", 0, "Apply Modifiers",
- "Apply modifiers");
-
- RNA_def_int(ot->srna, "export_mesh_type", 0, INT_MIN, INT_MAX,
- "Resolution", "Modifier resolution for export", INT_MIN, INT_MAX);
-
- RNA_def_enum(ot->srna, "export_mesh_type_selection", prop_bc_export_mesh_type, 0,
- "Resolution", "Modifier resolution for export");
-
- RNA_def_boolean(ot->srna, "selected", 0, "Selection Only",
- "Export only selected elements");
-
- RNA_def_boolean(ot->srna, "include_children", 0, "Include Children",
- "Export all children of selected objects (even if not selected)");
-
- RNA_def_boolean(ot->srna, "include_armatures", 0, "Include Armatures",
- "Export related armatures (even if not selected)");
-
- RNA_def_boolean(ot->srna, "deform_bones_only", 0, "Deform Bones only",
- "Only export deforming bones with armatures");
-
-
- RNA_def_boolean(ot->srna, "use_object_instantiation", 1, "Use Object Instances",
- "Instantiate multiple Objects from same Data");
-
- RNA_def_boolean(ot->srna, "sort_by_name", 0, "Sort by Object name",
- "Sort exported data by Object name");
-
- RNA_def_boolean(ot->srna, "second_life", 0, "Export for Second Life",
- "Compatibility mode for Second Life");
-}
-
-
-/* function used for WM_OT_save_mainfile too */
-static int wm_collada_import_exec(bContext *C, wmOperator *op)
-{
- char filename[FILE_MAX];
-
- if (!RNA_struct_property_is_set(op->ptr, "filepath")) {
- BKE_report(op->reports, RPT_ERROR, "No filename given");
- return OPERATOR_CANCELLED;
- }
-
- RNA_string_get(op->ptr, "filepath", filename);
- if (collada_import(C, filename)) return OPERATOR_FINISHED;
-
- BKE_report(op->reports, RPT_ERROR, "Errors found during parsing COLLADA document. Please see console for error log.");
-
- return OPERATOR_FINISHED;
-}
-
-static void WM_OT_collada_import(wmOperatorType *ot)
-{
- ot->name = "Import COLLADA";
- ot->description = "Load a Collada file";
- ot->idname = "WM_OT_collada_import";
-
- ot->invoke = WM_operator_filesel;
- ot->exec = wm_collada_import_exec;
- ot->poll = WM_operator_winactive;
-
- WM_operator_properties_filesel(ot, FOLDERFILE | COLLADAFILE, FILE_BLENDER, FILE_OPENFILE, WM_FILESEL_FILEPATH, FILE_DEFAULTDISPLAY);
-}
-
-#endif
-
-
-/* *********************** */
-
static void WM_OT_window_fullscreen_toggle(wmOperatorType *ot)
{
ot->name = "Toggle Fullscreen";
@@ -3903,12 +3667,6 @@ void wm_operatortype_init(void)
#if defined(WIN32)
WM_operatortype_append(WM_OT_console_toggle);
#endif
-
-#ifdef WITH_COLLADA
- /* XXX: move these */
- WM_operatortype_append(WM_OT_collada_export);
- WM_operatortype_append(WM_OT_collada_import);
-#endif
}
/* circleselect-like modal operators */