UI: Optional Complex Layout for Workspace Status #120595

Merged
Harley Acheson merged 51 commits from Harley/blender:WorkspaceStatus into main 2024-05-06 23:52:47 +02:00
3 changed files with 10 additions and 36 deletions
Showing only changes of commit 2d24b407f3 - Show all commits

View File

@ -464,9 +464,6 @@ void ED_workspace_status_space(bContext *C, float space_factor = 1.0f);
/* Adds one ormore icons to the status bar. */
void ED_workspace_status_icons(bContext *C, const int icon);
void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2);
void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2, const int icon3);
void ED_workspace_status_icons(
bContext *C, const int icon1, const int icon2, const int icon3, const int icon4);
void ED_workspace_status_range(bContext *C,
const std::string text,
Harley marked this conversation as resolved Outdated

Can this just be a single function?

void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2 = 0);
Can this just be a single function? ``` void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2 = 0); ```
@ -481,8 +478,6 @@ void ED_workspace_status_key(bContext *C,
const bool alt = false,
const bool oskey = false);
void ED_workspace_status_keymap(bContext *C, const std::string text, const wmKeyMapItem *kmi);
void ED_workspace_status_operator(bContext *C,
const std::string text,
wmOperatorType *ot,

View File

@ -1124,7 +1124,6 @@ static void knife_update_header(bContext *C, wmOperator *op, KnifeTool_OpData *k
const std::string angle = fmt::format(
"{}: {:.2f}({:.2f}) ({}{}{}{})",
IFACE_("Angle Constraint"),
(kcd->angle >= 0.0f) ? RAD2DEGF(kcd->angle) : 360.0f + RAD2DEGF(kcd->angle),
(kcd->angle_snapping_increment > KNIFE_MIN_ANGLE_SNAPPING_INCREMENT &&

View File

@ -885,22 +885,6 @@ void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2)
ED_workspace_status_item(C, {}, icon2);
}
void ED_workspace_status_icons(bContext *C, const int icon1, const int icon2, const int icon3)
{
ED_workspace_status_item(C, {}, icon1);
ED_workspace_status_item(C, {}, icon2);
ED_workspace_status_item(C, {}, icon3);
}
void ED_workspace_status_icons(
bContext *C, const int icon1, const int icon2, const int icon3, const int icon4)
{
ED_workspace_status_item(C, {}, icon1);
ED_workspace_status_item(C, {}, icon2);
ED_workspace_status_item(C, {}, icon3);
ED_workspace_status_item(C, {}, icon4);
}
/* Helpers for common keymap patterns. */
void ED_workspace_status_range(bContext *C,
@ -945,19 +929,6 @@ void ED_workspace_status_key(bContext *C,
}
}
void ED_workspace_status_keymap(bContext *C, const std::string text, const wmKeyMapItem *kmi)
{
if (kmi) {
ED_workspace_status_key(C,
text,
UI_icon_from_event_type(kmi->type, kmi->val),
!ELEM(kmi->shift, KM_NOTHING, KM_ANY),
!ELEM(kmi->ctrl, KM_NOTHING, KM_ANY),
!ELEM(kmi->alt, KM_NOTHING, KM_ANY),
!ELEM(kmi->oskey, KM_NOTHING, KM_ANY));
}
}
void ED_workspace_status_operator(bContext *C,
const std::string text,
wmOperatorType *ot,
@ -965,7 +936,16 @@ void ED_workspace_status_operator(bContext *C,
{
wmKeyMap *keymap = WM_keymap_active(CTX_wm_manager(C), ot->modalkeymap);
if (keymap) {
ED_workspace_status_keymap(C, text, WM_modalkeymap_find_propvalue(keymap, propvalue));
const wmKeyMapItem *kmi = WM_modalkeymap_find_propvalue(keymap, propvalue);
if (kmi) {
ED_workspace_status_key(C,
text,
UI_icon_from_event_type(kmi->type, kmi->val),
!ELEM(kmi->shift, KM_NOTHING, KM_ANY),
!ELEM(kmi->ctrl, KM_NOTHING, KM_ANY),
!ELEM(kmi->alt, KM_NOTHING, KM_ANY),
!ELEM(kmi->oskey, KM_NOTHING, KM_ANY));
}
}
}