Move generic operator props into own file
authorCampbell Barton <ideasman42@gmail.com>
Sun, 27 Dec 2015 05:36:08 +0000 (16:36 +1100)
committerCampbell Barton <ideasman42@gmail.com>
Sun, 27 Dec 2015 06:21:00 +0000 (17:21 +1100)
This is unrelated to core operator internals, so move into own file.

source/blender/windowmanager/CMakeLists.txt
source/blender/windowmanager/WM_api.h
source/blender/windowmanager/intern/wm_operator_props.c [new file with mode: 0644]
source/blender/windowmanager/intern/wm_operators.c

index eaea70adc8361afe023eebd0bf69964cacd0d39a..af8a7cca8dd00ae6451cde60cfc454b7eb5dd6a0 100644 (file)
@@ -62,6 +62,7 @@ set(SRC
        intern/wm_init_exit.c
        intern/wm_jobs.c
        intern/wm_keymap.c
+       intern/wm_operator_props.c
        intern/wm_operators.c
        intern/wm_subwindow.c
        intern/wm_window.c
index ca658632bbbd368ea04e3266196ffdb80d345186..9d1f445701382433c34a3d0e8ef6f9f1dc1b1333 100644 (file)
@@ -281,17 +281,6 @@ void               WM_operator_properties_create(struct PointerRNA *ptr, const char *opstring
 void           WM_operator_properties_create_ptr(struct PointerRNA *ptr, struct wmOperatorType *ot);
 void        WM_operator_properties_clear(struct PointerRNA *ptr);
 void           WM_operator_properties_free(struct PointerRNA *ptr);
-void           WM_operator_properties_filesel(struct wmOperatorType *ot, int filter, short type, short action, short flag, short display, short sort);
-void        WM_operator_properties_border(struct wmOperatorType *ot);
-void        WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect);
-void        WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect);
-void           WM_operator_properties_gesture_border(struct wmOperatorType *ot, bool extend);
-void        WM_operator_properties_mouse_select(struct wmOperatorType *ot);
-void           WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor);
-void           WM_operator_properties_select_all(struct wmOperatorType *ot);
-void           WM_operator_properties_select_action(struct wmOperatorType *ot, int default_action);
-void           WM_operator_properties_select_action_simple(struct wmOperatorType *ot, int default_action);
-void        WM_operator_properties_select_random(struct wmOperatorType *ot);
 
 bool        WM_operator_check_ui_enabled(const struct bContext *C, const char *idname);
 wmOperator *WM_operator_last_redo(const struct bContext *C);
@@ -300,6 +289,21 @@ ID         *WM_operator_drop_load_path(struct bContext *C, struct wmOperator *op
 bool        WM_operator_last_properties_init(struct wmOperator *op);
 bool        WM_operator_last_properties_store(struct wmOperator *op);
 
+
+/* wm_operator_props.c */
+void        WM_operator_properties_filesel(struct wmOperatorType *ot, int filter, short type, short action, short flag, short display, short sort);
+void        WM_operator_properties_border(struct wmOperatorType *ot);
+void        WM_operator_properties_border_to_rcti(struct wmOperator *op, struct rcti *rect);
+void        WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect);
+void        WM_operator_properties_gesture_border(struct wmOperatorType *ot, bool extend);
+void        WM_operator_properties_mouse_select(struct wmOperatorType *ot);
+void        WM_operator_properties_gesture_straightline(struct wmOperatorType *ot, int cursor);
+void        WM_operator_properties_select_all(struct wmOperatorType *ot);
+void        WM_operator_properties_select_action(struct wmOperatorType *ot, int default_action);
+void        WM_operator_properties_select_action_simple(struct wmOperatorType *ot, int default_action);
+void        WM_operator_properties_select_random(struct wmOperatorType *ot);
+
+
 /* MOVE THIS SOMEWHERE ELSE */
 #define        SEL_TOGGLE              0
 #define        SEL_SELECT              1
diff --git a/source/blender/windowmanager/intern/wm_operator_props.c b/source/blender/windowmanager/intern/wm_operator_props.c
new file mode 100644 (file)
index 0000000..a59fbf9
--- /dev/null
@@ -0,0 +1,250 @@
+/*
+ * ***** 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.
+ *
+ * The Original Code is Copyright (C) 2007 Blender Foundation.
+ * All rights reserved.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
+
+/** \file blender/windowmanager/intern/wm_operator_props.c
+ *  \ingroup wm
+ *
+ * Generic re-usable property definitions and accessors for operators to share.
+ * (`WM_operator_properties_*` functions).
+ */
+
+#include "DNA_space_types.h"
+
+#include "BLI_rect.h"
+
+#include "UI_resources.h"
+
+#include "RNA_access.h"
+#include "RNA_define.h"
+#include "RNA_enum_types.h"
+
+#include "WM_api.h"
+#include "WM_types.h"
+
+/* default properties for fileselect */
+void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type, short action, short flag, short display, short sort)
+{
+       PropertyRNA *prop;
+
+       static EnumPropertyItem file_display_items[] = {
+               {FILE_DEFAULTDISPLAY, "DEFAULT", 0, "Default", "Automatically determine display type for files"},
+               {FILE_SHORTDISPLAY, "LIST_SHORT", ICON_SHORTDISPLAY, "Short List", "Display files as short list"},
+               {FILE_LONGDISPLAY, "LIST_LONG", ICON_LONGDISPLAY, "Long List", "Display files as a detailed list"},
+               {FILE_IMGDISPLAY, "THUMBNAIL", ICON_IMGDISPLAY, "Thumbnails", "Display files as thumbnails"},
+               {0, NULL, 0, NULL, NULL}
+       };
+
+       if (flag & WM_FILESEL_FILEPATH)
+               RNA_def_string_file_path(ot->srna, "filepath", NULL, FILE_MAX, "File Path", "Path to file");
+
+       if (flag & WM_FILESEL_DIRECTORY)
+               RNA_def_string_dir_path(ot->srna, "directory", NULL, FILE_MAX, "Directory", "Directory of the file");
+
+       if (flag & WM_FILESEL_FILENAME)
+               RNA_def_string_file_name(ot->srna, "filename", NULL, FILE_MAX, "File Name", "Name of the file");
+
+       if (flag & WM_FILESEL_FILES)
+               RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
+
+       if (action == FILE_SAVE) {
+               /* note, this is only used to check if we should highlight the filename area red when the
+                * filepath is an existing file. */
+               prop = RNA_def_boolean(ot->srna, "check_existing", true, "Check Existing",
+                                      "Check and warn on overwriting existing files");
+               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       }
+
+       prop = RNA_def_boolean(ot->srna, "filter_blender", (filter & FILE_TYPE_BLENDER) != 0, "Filter .blend files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_backup", (filter & FILE_TYPE_BLENDER_BACKUP) != 0, "Filter .blend files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_image", (filter & FILE_TYPE_IMAGE) != 0, "Filter image files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_movie", (filter & FILE_TYPE_MOVIE) != 0, "Filter movie files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_python", (filter & FILE_TYPE_PYSCRIPT) != 0, "Filter python files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_font", (filter & FILE_TYPE_FTFONT) != 0, "Filter font files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_sound", (filter & FILE_TYPE_SOUND) != 0, "Filter sound files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_text", (filter & FILE_TYPE_TEXT) != 0, "Filter text files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_btx", (filter & FILE_TYPE_BTX) != 0, "Filter btx files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_collada", (filter & FILE_TYPE_COLLADA) != 0, "Filter COLLADA files", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_folder", (filter & FILE_TYPE_FOLDER) != 0, "Filter folders", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "filter_blenlib", (filter & FILE_TYPE_BLENDERLIB) != 0, "Filter Blender IDs", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+       prop = RNA_def_int(ot->srna, "filemode", type, FILE_LOADLIB, FILE_SPECIAL,
+                          "File Browser Mode", "The setting for the file browser mode to load a .blend file, a library or a special file",
+                          FILE_LOADLIB, FILE_SPECIAL);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+       if (flag & WM_FILESEL_RELPATH)
+               RNA_def_boolean(ot->srna, "relative_path", true, "Relative Path", "Select the file relative to the blend file");
+
+       if ((filter & FILE_TYPE_IMAGE) || (filter & FILE_TYPE_MOVIE)) {
+               prop = RNA_def_boolean(ot->srna, "show_multiview", 0, "Enable Multi-View", "");
+               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+               prop = RNA_def_boolean(ot->srna, "use_multiview", 0, "Use Multi-View", "");
+               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       }
+
+       prop = RNA_def_enum(ot->srna, "display_type", file_display_items, display, "Display Type", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+       prop = RNA_def_enum(ot->srna, "sort_method", rna_enum_file_sort_items, sort, "File sorting mode", "");
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+}
+
+static void wm_operator_properties_select_action_ex(wmOperatorType *ot, int default_action,
+                                                    const EnumPropertyItem *select_actions)
+{
+       RNA_def_enum(ot->srna, "action", select_actions, default_action, "Action", "Selection action to execute");
+}
+
+void WM_operator_properties_select_action(wmOperatorType *ot, int default_action)
+{
+       static EnumPropertyItem select_actions[] = {
+               {SEL_TOGGLE, "TOGGLE", 0, "Toggle", "Toggle selection for all elements"},
+               {SEL_SELECT, "SELECT", 0, "Select", "Select all elements"},
+               {SEL_DESELECT, "DESELECT", 0, "Deselect", "Deselect all elements"},
+               {SEL_INVERT, "INVERT", 0, "Invert", "Invert selection of all elements"},
+               {0, NULL, 0, NULL, NULL}
+       };
+
+       wm_operator_properties_select_action_ex(ot, default_action, select_actions);
+}
+
+/**
+ * only SELECT/DESELECT
+ */
+void WM_operator_properties_select_action_simple(wmOperatorType *ot, int default_action)
+{
+       static EnumPropertyItem select_actions[] = {
+               {SEL_SELECT, "SELECT", 0, "Select", "Select all elements"},
+               {SEL_DESELECT, "DESELECT", 0, "Deselect", "Deselect all elements"},
+               {0, NULL, 0, NULL, NULL}
+       };
+
+       wm_operator_properties_select_action_ex(ot, default_action, select_actions);
+}
+
+/**
+ * Use for all select random operators.
+ * Adds properties: percent, seed, action.
+ */
+void WM_operator_properties_select_random(wmOperatorType *ot)
+{
+       RNA_def_float_percentage(
+               ot->srna, "percent", 50.f, 0.0f, 100.0f,
+               "Percent", "Percentage of objects to select randomly", 0.f, 100.0f);
+       RNA_def_int(
+               ot->srna, "seed", 0, 0, INT_MAX,
+               "Random Seed", "Seed for the random number generator", 0, 255);
+
+       WM_operator_properties_select_action_simple(ot, SEL_SELECT);
+}
+
+void WM_operator_properties_select_all(wmOperatorType *ot)
+{
+       WM_operator_properties_select_action(ot, SEL_TOGGLE);
+}
+
+void WM_operator_properties_border(wmOperatorType *ot)
+{
+       PropertyRNA *prop;
+
+       prop = RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, "X Min", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, "X Max", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, "Y Min", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, "Y Max", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+}
+
+void WM_operator_properties_border_to_rcti(struct wmOperator *op, rcti *rect)
+{
+       rect->xmin = RNA_int_get(op->ptr, "xmin");
+       rect->ymin = RNA_int_get(op->ptr, "ymin");
+       rect->xmax = RNA_int_get(op->ptr, "xmax");
+       rect->ymax = RNA_int_get(op->ptr, "ymax");
+}
+
+void WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect)
+{
+       rcti rect_i;
+       WM_operator_properties_border_to_rcti(op, &rect_i);
+       BLI_rctf_rcti_copy(rect, &rect_i);
+}
+
+void WM_operator_properties_gesture_border(wmOperatorType *ot, bool extend)
+{
+       RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
+
+       WM_operator_properties_border(ot);
+
+       if (extend) {
+               RNA_def_boolean(ot->srna, "extend", true, "Extend", "Extend selection instead of deselecting everything first");
+       }
+}
+
+void WM_operator_properties_mouse_select(wmOperatorType *ot)
+{
+       PropertyRNA *prop;
+
+       prop = RNA_def_boolean(ot->srna, "extend", false, "Extend",
+                              "Extend selection instead of deselecting everything first");
+       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "deselect", false, "Deselect", "Remove from selection");
+       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+       prop = RNA_def_boolean(ot->srna, "toggle", false, "Toggle Selection", "Toggle the selection");
+       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
+}
+
+void WM_operator_properties_gesture_straightline(wmOperatorType *ot, int cursor)
+{
+       PropertyRNA *prop;
+
+       prop = RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, "X Start", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, "X End", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, "Y Start", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+       prop = RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, "Y End", "", INT_MIN, INT_MAX);
+       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
+
+       if (cursor) {
+               prop = RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX,
+                                  "Cursor", "Mouse cursor style to use during the modal operator", 0, INT_MAX);
+               RNA_def_property_flag(prop, PROP_HIDDEN);
+       }
+}
index a4a563457983dae9af6dcd373b87421cb769bc6e..5daa622a029b1314d1a5fd063b52309b1d3b1b51 100644 (file)
@@ -1210,215 +1210,6 @@ bool WM_operator_filesel_ensure_ext_imtype(wmOperator *op, const struct ImageFor
        return false;
 }
 
-/* default properties for fileselect */
-void WM_operator_properties_filesel(wmOperatorType *ot, int filter, short type, short action, short flag, short display, short sort)
-{
-       PropertyRNA *prop;
-
-       static EnumPropertyItem file_display_items[] = {
-               {FILE_DEFAULTDISPLAY, "DEFAULT", 0, "Default", "Automatically determine display type for files"},
-               {FILE_SHORTDISPLAY, "LIST_SHORT", ICON_SHORTDISPLAY, "Short List", "Display files as short list"},
-               {FILE_LONGDISPLAY, "LIST_LONG", ICON_LONGDISPLAY, "Long List", "Display files as a detailed list"},
-               {FILE_IMGDISPLAY, "THUMBNAIL", ICON_IMGDISPLAY, "Thumbnails", "Display files as thumbnails"},
-               {0, NULL, 0, NULL, NULL}
-       };
-
-       if (flag & WM_FILESEL_FILEPATH)
-               RNA_def_string_file_path(ot->srna, "filepath", NULL, FILE_MAX, "File Path", "Path to file");
-
-       if (flag & WM_FILESEL_DIRECTORY)
-               RNA_def_string_dir_path(ot->srna, "directory", NULL, FILE_MAX, "Directory", "Directory of the file");
-
-       if (flag & WM_FILESEL_FILENAME)
-               RNA_def_string_file_name(ot->srna, "filename", NULL, FILE_MAX, "File Name", "Name of the file");
-
-       if (flag & WM_FILESEL_FILES)
-               RNA_def_collection_runtime(ot->srna, "files", &RNA_OperatorFileListElement, "Files", "");
-
-       if (action == FILE_SAVE) {
-               /* note, this is only used to check if we should highlight the filename area red when the
-                * filepath is an existing file. */
-               prop = RNA_def_boolean(ot->srna, "check_existing", true, "Check Existing",
-                                      "Check and warn on overwriting existing files");
-               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       }
-       
-       prop = RNA_def_boolean(ot->srna, "filter_blender", (filter & FILE_TYPE_BLENDER) != 0, "Filter .blend files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_backup", (filter & FILE_TYPE_BLENDER_BACKUP) != 0, "Filter .blend files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_image", (filter & FILE_TYPE_IMAGE) != 0, "Filter image files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_movie", (filter & FILE_TYPE_MOVIE) != 0, "Filter movie files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_python", (filter & FILE_TYPE_PYSCRIPT) != 0, "Filter python files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_font", (filter & FILE_TYPE_FTFONT) != 0, "Filter font files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_sound", (filter & FILE_TYPE_SOUND) != 0, "Filter sound files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_text", (filter & FILE_TYPE_TEXT) != 0, "Filter text files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_btx", (filter & FILE_TYPE_BTX) != 0, "Filter btx files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_collada", (filter & FILE_TYPE_COLLADA) != 0, "Filter COLLADA files", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_folder", (filter & FILE_TYPE_FOLDER) != 0, "Filter folders", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "filter_blenlib", (filter & FILE_TYPE_BLENDERLIB) != 0, "Filter Blender IDs", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-
-       prop = RNA_def_int(ot->srna, "filemode", type, FILE_LOADLIB, FILE_SPECIAL,
-                          "File Browser Mode", "The setting for the file browser mode to load a .blend file, a library or a special file",
-                          FILE_LOADLIB, FILE_SPECIAL);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-
-       if (flag & WM_FILESEL_RELPATH)
-               RNA_def_boolean(ot->srna, "relative_path", true, "Relative Path", "Select the file relative to the blend file");
-
-       if ((filter & FILE_TYPE_IMAGE) || (filter & FILE_TYPE_MOVIE)) {
-               prop = RNA_def_boolean(ot->srna, "show_multiview", 0, "Enable Multi-View", "");
-               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-               prop = RNA_def_boolean(ot->srna, "use_multiview", 0, "Use Multi-View", "");
-               RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       }
-
-       prop = RNA_def_enum(ot->srna, "display_type", file_display_items, display, "Display Type", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-
-       prop = RNA_def_enum(ot->srna, "sort_method", rna_enum_file_sort_items, sort, "File sorting mode", "");
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-
-}
-
-static void wm_operator_properties_select_action_ex(wmOperatorType *ot, int default_action,
-                                                    const EnumPropertyItem *select_actions)
-{
-       RNA_def_enum(ot->srna, "action", select_actions, default_action, "Action", "Selection action to execute");
-}
-
-void WM_operator_properties_select_action(wmOperatorType *ot, int default_action)
-{
-       static EnumPropertyItem select_actions[] = {
-               {SEL_TOGGLE, "TOGGLE", 0, "Toggle", "Toggle selection for all elements"},
-               {SEL_SELECT, "SELECT", 0, "Select", "Select all elements"},
-               {SEL_DESELECT, "DESELECT", 0, "Deselect", "Deselect all elements"},
-               {SEL_INVERT, "INVERT", 0, "Invert", "Invert selection of all elements"},
-               {0, NULL, 0, NULL, NULL}
-       };
-
-       wm_operator_properties_select_action_ex(ot, default_action, select_actions);
-}
-
-/**
- * only SELECT/DESELECT
- */
-void WM_operator_properties_select_action_simple(wmOperatorType *ot, int default_action)
-{
-       static EnumPropertyItem select_actions[] = {
-               {SEL_SELECT, "SELECT", 0, "Select", "Select all elements"},
-               {SEL_DESELECT, "DESELECT", 0, "Deselect", "Deselect all elements"},
-               {0, NULL, 0, NULL, NULL}
-       };
-
-       wm_operator_properties_select_action_ex(ot, default_action, select_actions);
-}
-
-/**
- * Use for all select random operators.
- * Adds properties: percent, seed, action.
- */
-void WM_operator_properties_select_random(wmOperatorType *ot)
-{
-       RNA_def_float_percentage(
-               ot->srna, "percent", 50.f, 0.0f, 100.0f,
-               "Percent", "Percentage of objects to select randomly", 0.f, 100.0f);
-       RNA_def_int(
-               ot->srna, "seed", 0, 0, INT_MAX,
-               "Random Seed", "Seed for the random number generator", 0, 255);
-
-       WM_operator_properties_select_action_simple(ot, SEL_SELECT);
-}
-
-void WM_operator_properties_select_all(wmOperatorType *ot)
-{
-       WM_operator_properties_select_action(ot, SEL_TOGGLE);
-}
-
-void WM_operator_properties_border(wmOperatorType *ot)
-{
-       PropertyRNA *prop;
-
-       prop = RNA_def_int(ot->srna, "xmin", 0, INT_MIN, INT_MAX, "X Min", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "xmax", 0, INT_MIN, INT_MAX, "X Max", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "ymin", 0, INT_MIN, INT_MAX, "Y Min", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "ymax", 0, INT_MIN, INT_MAX, "Y Max", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-}
-
-void WM_operator_properties_border_to_rcti(struct wmOperator *op, rcti *rect)
-{
-       rect->xmin = RNA_int_get(op->ptr, "xmin");
-       rect->ymin = RNA_int_get(op->ptr, "ymin");
-       rect->xmax = RNA_int_get(op->ptr, "xmax");
-       rect->ymax = RNA_int_get(op->ptr, "ymax");
-}
-
-void WM_operator_properties_border_to_rctf(struct wmOperator *op, rctf *rect)
-{
-       rcti rect_i;
-       WM_operator_properties_border_to_rcti(op, &rect_i);
-       BLI_rctf_rcti_copy(rect, &rect_i);
-}
-
-void WM_operator_properties_gesture_border(wmOperatorType *ot, bool extend)
-{
-       RNA_def_int(ot->srna, "gesture_mode", 0, INT_MIN, INT_MAX, "Gesture Mode", "", INT_MIN, INT_MAX);
-
-       WM_operator_properties_border(ot);
-
-       if (extend) {
-               RNA_def_boolean(ot->srna, "extend", true, "Extend", "Extend selection instead of deselecting everything first");
-       }
-}
-
-void WM_operator_properties_mouse_select(wmOperatorType *ot)
-{
-       PropertyRNA *prop;
-       
-       prop = RNA_def_boolean(ot->srna, "extend", false, "Extend",
-                              "Extend selection instead of deselecting everything first");
-       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "deselect", false, "Deselect", "Remove from selection");
-       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
-       prop = RNA_def_boolean(ot->srna, "toggle", false, "Toggle Selection", "Toggle the selection");
-       RNA_def_property_flag(prop, PROP_SKIP_SAVE);
-}
-
-void WM_operator_properties_gesture_straightline(wmOperatorType *ot, int cursor)
-{
-       PropertyRNA *prop;
-
-       prop = RNA_def_int(ot->srna, "xstart", 0, INT_MIN, INT_MAX, "X Start", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "xend", 0, INT_MIN, INT_MAX, "X End", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "ystart", 0, INT_MIN, INT_MAX, "Y Start", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       prop = RNA_def_int(ot->srna, "yend", 0, INT_MIN, INT_MAX, "Y End", "", INT_MIN, INT_MAX);
-       RNA_def_property_flag(prop, PROP_HIDDEN | PROP_SKIP_SAVE);
-       
-       if (cursor) {
-               prop = RNA_def_int(ot->srna, "cursor", cursor, 0, INT_MAX,
-                                  "Cursor", "Mouse cursor style to use during the modal operator", 0, INT_MAX);
-               RNA_def_property_flag(prop, PROP_HIDDEN);
-       }
-}
-
-
 /* op->poll */
 int WM_operator_winactive(bContext *C)
 {