[Bf-blender-cvs] [afd16c487d5] master: Cleanup: Move four interface files to C++

Hans Goudey noreply at git.blender.org
Sat Nov 26 00:46:55 CET 2022


Commit: afd16c487d594bac5a6e27c44922713b766e5140
Author: Hans Goudey
Date:   Fri Nov 25 17:09:47 2022 -0600
Branches: master
https://developer.blender.org/rBafd16c487d594bac5a6e27c44922713b766e5140

Cleanup: Move four interface files to C++

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

M	source/blender/editors/interface/CMakeLists.txt
R084	source/blender/editors/interface/interface_button_group.c	source/blender/editors/interface/interface_button_group.cc
R090	source/blender/editors/interface/interface_context_menu.c	source/blender/editors/interface/interface_context_menu.cc
R087	source/blender/editors/interface/interface_draw.c	source/blender/editors/interface/interface_draw.cc
R067	source/blender/editors/interface/interface_icons_event.c	source/blender/editors/interface/interface_icons_event.cc
M	source/blender/editors/interface/interface_intern.h

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

diff --git a/source/blender/editors/interface/CMakeLists.txt b/source/blender/editors/interface/CMakeLists.txt
index 56af318b2fa..0bee4b05a3b 100644
--- a/source/blender/editors/interface/CMakeLists.txt
+++ b/source/blender/editors/interface/CMakeLists.txt
@@ -37,15 +37,15 @@ set(SRC
   interface.cc
   interface_align.c
   interface_anim.cc
-  interface_button_group.c
-  interface_context_menu.c
+  interface_button_group.cc
+  interface_context_menu.cc
   interface_context_path.cc
   interface_drag.cc
-  interface_draw.c
+  interface_draw.cc
   interface_dropboxes.cc
   interface_handlers.c
   interface_icons.c
-  interface_icons_event.c
+  interface_icons_event.cc
   interface_layout.c
   interface_ops.cc
   interface_panel.cc
diff --git a/source/blender/editors/interface/interface_button_group.c b/source/blender/editors/interface/interface_button_group.cc
similarity index 84%
rename from source/blender/editors/interface/interface_button_group.c
rename to source/blender/editors/interface/interface_button_group.cc
index 18a99f9b5d3..2ce6fbd2147 100644
--- a/source/blender/editors/interface/interface_button_group.c
+++ b/source/blender/editors/interface/interface_button_group.cc
@@ -18,14 +18,13 @@ void ui_block_new_button_group(uiBlock *block, uiButtonGroupFlag flag)
 {
   /* Don't create a new group if there is a "lock" on new groups. */
   if (!BLI_listbase_is_empty(&block->button_groups)) {
-    uiButtonGroup *last_button_group = block->button_groups.last;
+    uiButtonGroup *last_button_group = static_cast<uiButtonGroup *>(block->button_groups.last);
     if (last_button_group->flag & UI_BUTTON_GROUP_LOCK) {
       return;
     }
   }
 
-  uiButtonGroup *new_group = MEM_mallocN(sizeof(uiButtonGroup), __func__);
-  BLI_listbase_clear(&new_group->buttons);
+  uiButtonGroup *new_group = MEM_cnew<uiButtonGroup>(__func__);
   new_group->flag = flag;
   BLI_addtail(&block->button_groups, new_group);
 }
@@ -33,10 +32,10 @@ void ui_block_new_button_group(uiBlock *block, uiButtonGroupFlag flag)
 void ui_button_group_add_but(uiBlock *block, uiBut *but)
 {
   if (BLI_listbase_is_empty(&block->button_groups)) {
-    ui_block_new_button_group(block, 0);
+    ui_block_new_button_group(block, uiButtonGroupFlag(0));
   }
 
-  uiButtonGroup *current_button_group = block->button_groups.last;
+  uiButtonGroup *current_button_group = static_cast<uiButtonGroup *>(block->button_groups.last);
 
   /* We can't use the button directly because adding it to
    * this list would mess with its `prev` and `next` pointers. */
diff --git a/source/blender/editors/interface/interface_context_menu.c b/source/blender/editors/interface/interface_context_menu.cc
similarity index 90%
rename from source/blender/editors/interface/interface_context_menu.c
rename to source/blender/editors/interface/interface_context_menu.cc
index 7ed9488950e..da7ed892632 100644
--- a/source/blender/editors/interface/interface_context_menu.c
+++ b/source/blender/editors/interface/interface_context_menu.cc
@@ -6,7 +6,7 @@
  * Generic context popup menus.
  */
 
-#include <string.h>
+#include <cstring>
 
 #include "MEM_guardedalloc.h"
 
@@ -59,8 +59,8 @@ static IDProperty *shortcut_property_from_rna(bContext *C, uiBut *but)
    * Support can be added at #wm_context_member_from_ptr. */
   char *final_data_path = WM_context_path_resolve_property_full(
       C, &but->rnapoin, but->rnaprop, but->rnaindex);
-  if (final_data_path == NULL) {
-    return NULL;
+  if (final_data_path == nullptr) {
+    return nullptr;
   }
 
   /* Create ID property of data path, to pass to the operator. */
@@ -77,7 +77,9 @@ static const char *shortcut_get_operator_property(bContext *C, uiBut *but, IDPro
 {
   if (but->optype) {
     /* Operator */
-    *r_prop = (but->opptr && but->opptr->data) ? IDP_CopyProperty(but->opptr->data) : NULL;
+    *r_prop = (but->opptr && but->opptr->data) ?
+                  IDP_CopyProperty(static_cast<IDProperty *>(but->opptr->data)) :
+                  nullptr;
     return but->optype->idname;
   }
 
@@ -87,23 +89,23 @@ static const char *shortcut_get_operator_property(bContext *C, uiBut *but, IDPro
     if (rnaprop_type == PROP_BOOLEAN) {
       /* Boolean */
       *r_prop = shortcut_property_from_rna(C, but);
-      if (*r_prop == NULL) {
-        return NULL;
+      if (*r_prop == nullptr) {
+        return nullptr;
       }
       return "WM_OT_context_toggle";
     }
     if (rnaprop_type == PROP_ENUM) {
       /* Enum */
       *r_prop = shortcut_property_from_rna(C, but);
-      if (*r_prop == NULL) {
-        return NULL;
+      if (*r_prop == nullptr) {
+        return nullptr;
       }
       return "WM_OT_context_menu_enum";
     }
   }
 
-  *r_prop = NULL;
-  return NULL;
+  *r_prop = nullptr;
+  return nullptr;
 }
 
 static void shortcut_free_operator_property(IDProperty *prop)
@@ -120,7 +122,7 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
 
   IDProperty *prop;
   const char *idname = shortcut_get_operator_property(C, but, &prop);
-  if (idname == NULL) {
+  if (idname == nullptr) {
     return;
   }
 
@@ -131,7 +133,7 @@ static void but_shortcut_name_func(bContext *C, void *arg1, int UNUSED(event))
   }
   else {
     /* simply strip the shortcut */
-    ui_but_add_shortcut(but, NULL, true);
+    ui_but_add_shortcut(but, nullptr, true);
   }
 
   shortcut_free_operator_property(prop);
@@ -156,7 +158,7 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *region, void *arg)
                                             &km);
   U.runtime.is_dirty = true;
 
-  BLI_assert(kmi != NULL);
+  BLI_assert(kmi != nullptr);
 
   RNA_pointer_create(&wm->id, &RNA_KeyMapItem, kmi, &ptr);
 
@@ -178,8 +180,8 @@ static uiBlock *menu_change_shortcut(bContext *C, ARegion *region, void *arg)
   uiItemL(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Change Shortcut"), ICON_HAND);
   uiItemR(layout, &ptr, "type", UI_ITEM_R_FULL_EVENT | UI_ITEM_R_IMMEDIATE, "", ICON_NONE);
 
-  UI_block_bounds_set_popup(
-      block, 6 * U.dpi_fac, (const int[2]){-100 * U.dpi_fac, 36 * U.dpi_fac});
+  const int bounds_offset[2] = {int(-100 * U.dpi_fac), int(36 * U.dpi_fac)};
+  UI_block_bounds_set_popup(block, 6 * U.dpi_fac, bounds_offset);
 
   shortcut_free_operator_property(prop);
 
@@ -202,17 +204,15 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg)
   /* XXX this guess_opname can potentially return a different keymap
    * than being found on adding later... */
   wmKeyMap *km = WM_keymap_guess_opname(C, idname);
-  wmKeyMapItem *kmi = WM_keymap_add_item(km,
-                                         idname,
-                                         &(const KeyMapItem_Params){
-                                             .type = EVT_AKEY,
-                                             .value = KM_PRESS,
-                                             .modifier = 0,
-                                             .direction = KM_ANY,
-                                         });
+  KeyMapItem_Params params{};
+  params.type = EVT_AKEY;
+  params.value = KM_PRESS;
+  params.modifier = 0;
+  params.direction = KM_ANY;
+  wmKeyMapItem *kmi = WM_keymap_add_item(km, idname, &params);
   const int kmi_id = kmi->id;
 
-  /* This takes ownership of prop, or prop can be NULL for reset. */
+  /* This takes ownership of prop, or prop can be nullptr for reset. */
   WM_keymap_item_properties_reset(kmi, prop);
 
   /* update and get pointers again */
@@ -241,8 +241,8 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg)
   uiItemL(layout, CTX_IFACE_(BLT_I18NCONTEXT_OPERATOR_DEFAULT, "Assign Shortcut"), ICON_HAND);
   uiItemR(layout, &ptr, "type", UI_ITEM_R_FULL_EVENT | UI_ITEM_R_IMMEDIATE, "", ICON_NONE);
 
-  UI_block_bounds_set_popup(
-      block, 6 * U.dpi_fac, (const int[2]){-100 * U.dpi_fac, 36 * U.dpi_fac});
+  const int bounds_offset[2] = {int(-100 * U.dpi_fac), int(36 * U.dpi_fac)};
+  UI_block_bounds_set_popup(block, 6 * U.dpi_fac, bounds_offset);
 
 #ifdef USE_KEYMAP_ADD_HACK
   g_kmi_id_hack = kmi_id;
@@ -251,7 +251,7 @@ static uiBlock *menu_add_shortcut(bContext *C, ARegion *region, void *arg)
   return block;
 }
 
-static void menu_add_shortcut_cancel(struct bContext *C, void *arg1)
+static void menu_add_shortcut_cancel(bContext *C, void *arg1)
 {
   uiBut *but = (uiBut *)arg1;
 
@@ -272,13 +272,13 @@ static void menu_add_shortcut_cancel(struct bContext *C, void *arg1)
   WM_keymap_remove_item(km, kmi);
 }
 
-static void popup_change_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
+static void popup_change_shortcut_func(bContext *C, void *arg1, void * /*arg2*/)
 {
   uiBut *but = (uiBut *)arg1;
-  UI_popup_block_invoke(C, menu_change_shortcut, but, NULL);
+  UI_popup_block_invoke(C, menu_change_shortcut, but, nullptr);
 }
 
-static void remove_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
+static void remove_shortcut_func(bContext *C, void *arg1, void * /*arg2*/)
 {
   uiBut *but = (uiBut *)arg1;
   IDProperty *prop;
@@ -292,7 +292,7 @@ static void remove_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
                                             EVT_TYPE_MASK_HOTKEY_INCLUDE,
                                             EVT_TYPE_MASK_HOTKEY_EXCLUDE,
                                             &km);
-  BLI_assert(kmi != NULL);
+  BLI_assert(kmi != nullptr);
 
   WM_keymap_remove_item(km, kmi);
   U.runtime.is_dirty = true;
@@ -301,10 +301,10 @@ static void remove_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
   but_shortcut_name_func(C, but, 0);
 }
 
-static void popup_add_shortcut_func(bContext *C, void *arg1, void *UNUSED(arg2))
+static void popup_add_shortcut_func(bContext *C, void *arg1, void * /*arg2*/)
 {
   uiBut *but = (uiBut *)arg1;
-  UI_popup_block_ex(C, menu_add_shortcut, NULL, menu_add_shortcut_cancel, but, NULL);
+  UI_popup_block_ex(C, menu_add_shortcut, nullptr, menu_add_shortcut_cancel, but, nullptr);
 }
 
 static bool ui_but_is_user_menu_compatible(bContext *C, uiBut *but)
@@ -316,7 +316,7 @@ static bool ui_but_is_user_menu_compatible(bContext *C, uiBut *but)
   else if (but->rnaprop) {
     if (RNA_property_type(but->rnaprop) == PROP_BOOLEAN) {


@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list