[Bf-blender-cvs] [f566514] ui-preview-buttons: Cleanup: minor edits
Campbell Barton
noreply at git.blender.org
Tue May 5 10:24:17 CEST 2015
Commit: f566514c666d9233cde3e71b8923c168048facca
Author: Campbell Barton
Date: Tue May 5 17:52:19 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rBf566514c666d9233cde3e71b8923c168048facca
Cleanup: minor edits
===================================================================
M release/scripts/templates_py/ui_previews.py
M source/blender/editors/interface/interface_icons.c
M source/blender/makesrna/intern/rna_ID.c
M source/blender/python/intern/bpy_app_previews.c
===================================================================
diff --git a/release/scripts/templates_py/ui_previews.py b/release/scripts/templates_py/ui_previews.py
index d93843d..ec56bd5 100644
--- a/release/scripts/templates_py/ui_previews.py
+++ b/release/scripts/templates_py/ui_previews.py
@@ -9,19 +9,23 @@ import bpy
# not be used with UILayout templates that require IDs, such as template_list
# and template_ID_preview.
-# Other usecases:
+# Other use cases:
# - make a fixed list of enum_items instead of calculating them in a function.
# - generate a single thumbnail to pass in a UILayout function as icon_value
-# example:
+#
+# Example:
# my_addon_icons = bpy.utils.previews.new("MyAddonIcons")
# myicon = my_addon_icons.load("myicon", "/path/to/icon-image.png", 'IMAGE')
# layout.operator("render.render", icon_value=int(myicon.icon_id))
+#
# You can generate thumbnails of your own made icons to associate with an action
def get_previews_from_folder(self, context):
+ wm = context.window_manager
+
enum_items = []
- folder_path = context.window_manager.my_previews_folderpath
+ folder_path = wm.my_previews_folderpath
# gets the already existing preview collection (defined in register func).
pcoll = bpy.utils.previews.new("PreviewsInDirectory")
@@ -36,7 +40,7 @@ def get_previews_from_folder(self, context):
dir_contents = os.listdir(folder_path)
image_paths = []
for c in dir_contents:
- if c.endswith(".png") or c.endswith(".PNG"):
+ if c.lower().endswith(".png"):
image_paths.append(c)
for idx, img_name in enumerate(image_paths):
@@ -62,17 +66,16 @@ class PreviewsExamplePanel(bpy.types.Panel):
def draw(self, context):
layout = self.layout
-
- obj = context.object
+ wm = context.window_manager
row = layout.row()
- row.prop(context.window_manager, "my_previews_folderpath")
+ row.prop(wm, "my_previews_folderpath")
row = layout.row()
- row.template_icon_view(context.window_manager, "my_previews")
+ row.template_icon_view(wm, "my_previews")
row = layout.row()
- row.prop(context.window_manager, "my_previews")
+ row.prop(wm, "my_previews")
def register():
@@ -84,10 +87,11 @@ def register():
# Note that preview collections returned by bpy.utils.previews are regular py objects - you can use them
# to store custom data.
+ #
# This is especially useful here, since:
- # * It avoids us regenerating the whole enum over and over.
- # * It can store enumitems' strings (remember you have to keep those strings somewhere in py, else they get
- # freed and blender references invalid memory!).
+ # - It avoids us regenerating the whole enum over and over.
+ # - It can store enumitems' strings (remember you have to keep those strings somewhere in py, else they get
+ # freed and blender references invalid memory!).
pcoll = bpy.utils.previews.new("PreviewsInDirectory")
pcoll.my_previews_folderpath = ""
pcoll.my_previews = ()
diff --git a/source/blender/editors/interface/interface_icons.c b/source/blender/editors/interface/interface_icons.c
index 26de51f..33e6d07 100644
--- a/source/blender/editors/interface/interface_icons.c
+++ b/source/blender/editors/interface/interface_icons.c
@@ -1026,12 +1026,12 @@ static void icon_draw_rect(float x, float y, int w, int h, float UNUSED(aspect),
/* rect contains image in 'rendersize', we only scale if needed */
if (rw != w || rh != h) {
/* preserve aspect ratio and center */
- if(rw > rh) {
+ if (rw > rh) {
draw_w = w;
draw_h = (int)(((float)rh / (float)rw) * (float)w);
draw_y += (h - draw_h) / 2;
}
- else if(rw < rh) {
+ else if (rw < rh) {
draw_w = (int)(((float)rw / (float)rh) * (float)h);
draw_h = h;
draw_x += (w - draw_w) / 2;
diff --git a/source/blender/makesrna/intern/rna_ID.c b/source/blender/makesrna/intern/rna_ID.c
index 45015e4..26ecb46 100644
--- a/source/blender/makesrna/intern/rna_ID.c
+++ b/source/blender/makesrna/intern/rna_ID.c
@@ -410,14 +410,15 @@ static void rna_Library_filepath_set(PointerRNA *ptr, const char *value)
/* ***** ImagePreview ***** */
-static void rna_Preview_is_custom_set(PointerRNA *ptr, int value, enum eIconSizes size) {
- ID *id = (ID *)ptr->id.data;
+static void rna_Preview_is_custom_set(PointerRNA *ptr, int value, enum eIconSizes size)
+{
+ ID *id = ptr->id.data;
PreviewImage *prv_img = (PreviewImage *)ptr->data;
BLI_assert(prv_img == BKE_previewimg_id_get(id));
UNUSED_VARS_NDEBUG(id);
- if(value)
+ if (value)
prv_img->flag[size] |= USER_EDITED;
else
prv_img->flag[size] &= ~USER_EDITED;
@@ -461,7 +462,7 @@ static void rna_Preview_size_set(PointerRNA *ptr, const int *values, enum eIconS
static int rna_Preview_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARRAY_DIMENSION], enum eIconSizes size)
{
- ID *id = (ID *)ptr->id.data;
+ ID *id = ptr->id.data;
PreviewImage *prv_img = (PreviewImage *)ptr->data;
BLI_assert(prv_img == BKE_previewimg_id_get(id));
@@ -474,7 +475,7 @@ static int rna_Preview_pixels_get_length(PointerRNA *ptr, int length[RNA_MAX_ARR
static void rna_Preview_pixels_get(PointerRNA *ptr, int *values, enum eIconSizes size)
{
- ID *id = (ID *)ptr->id.data;
+ ID *id = ptr->id.data;
PreviewImage *prv_img = (PreviewImage *)ptr->data;
BLI_assert(prv_img == BKE_previewimg_id_get(id));
@@ -485,7 +486,7 @@ static void rna_Preview_pixels_get(PointerRNA *ptr, int *values, enum eIconSizes
static void rna_Preview_pixels_set(PointerRNA *ptr, const int *values, enum eIconSizes size)
{
- ID *id = (ID *)ptr->id.data;
+ ID *id = ptr->id.data;
PreviewImage *prv_img = (PreviewImage *)ptr->data;
BLI_assert(prv_img == BKE_previewimg_id_get(id));
@@ -495,7 +496,8 @@ static void rna_Preview_pixels_set(PointerRNA *ptr, const int *values, enum eIco
prv_img->flag[size] |= USER_EDITED;
}
-static void rna_Preview_image_is_custom_set(PointerRNA *ptr, int value) {
+static void rna_Preview_image_is_custom_set(PointerRNA *ptr, int value)
+{
rna_Preview_is_custom_set(ptr, value, ICON_SIZE_PREVIEW);
}
diff --git a/source/blender/python/intern/bpy_app_previews.c b/source/blender/python/intern/bpy_app_previews.c
index 6545bbf..6e4f2b1 100644
--- a/source/blender/python/intern/bpy_app_previews.c
+++ b/source/blender/python/intern/bpy_app_previews.c
@@ -185,7 +185,7 @@ static PyMethodDef app_previews_methods[] = {
static PyObject *app_previews_new(PyTypeObject *type, PyObject *UNUSED(args), PyObject *UNUSED(kw))
{
- if (!_previews) {
+ if (_previews == NULL) {
_previews = (BlenderAppPreviews *)type->tp_alloc(type, 0);
}
More information about the Bf-blender-cvs
mailing list