UI: keep some operator text in headers.
Key shortcuts and explanation about how to use the tool should go to the status bar, but other info can in the header so it's near where the user is working. This distinction has not been made yet for all operators.
This commit is contained in:
parent
af9fcb6a33
commit
89e0d9848a
|
@ -828,17 +828,17 @@ class WM_OT_context_modal_mouse(Operator):
|
|||
header_text = header_text % eval("item.%s" % self.data_path_item)
|
||||
else:
|
||||
header_text = (self.header_text % delta) + " (delta)"
|
||||
context.workspace.status_text_set(header_text)
|
||||
context.area.header_text_set(header_text)
|
||||
|
||||
elif 'LEFTMOUSE' == event_type:
|
||||
item = next(iter(self._values.keys()))
|
||||
self._values_clear()
|
||||
context.workspace.status_text_set()
|
||||
context.area.header_text_set()
|
||||
return operator_value_undo_return(item)
|
||||
|
||||
elif event_type in {'RIGHTMOUSE', 'ESC'}:
|
||||
self._values_restore()
|
||||
context.workspace.status_text_set()
|
||||
context.area.header_text_set()
|
||||
return {'CANCELLED'}
|
||||
|
||||
return {'RUNNING_MODAL'}
|
||||
|
|
|
@ -96,7 +96,7 @@ class MyCustomShapeWidget(Manipulator):
|
|||
return {'RUNNING_MODAL'}
|
||||
|
||||
def exit(self, context, cancel):
|
||||
context.workspace.status_text_set()
|
||||
context.area.header_text_set()
|
||||
if cancel:
|
||||
self.target_set_value("offset", self.init_value)
|
||||
|
||||
|
@ -108,7 +108,7 @@ class MyCustomShapeWidget(Manipulator):
|
|||
delta /= 10.0
|
||||
value = self.init_value + delta
|
||||
self.target_set_value("offset", value)
|
||||
context.workspace.status_text_set("My Manipulator: %.4f" % value)
|
||||
context.area.header_text_set("My Manipulator: %.4f" % value)
|
||||
return {'RUNNING_MODAL'}
|
||||
|
||||
|
||||
|
|
|
@ -26,15 +26,15 @@ class ViewOperator(bpy.types.Operator):
|
|||
if event.type == 'MOUSEMOVE':
|
||||
self.offset = (self._initial_mouse - Vector((event.mouse_x, event.mouse_y, 0.0))) * 0.02
|
||||
self.execute(context)
|
||||
context.workspace.status_text_set("Offset %.4f %.4f %.4f" % tuple(self.offset))
|
||||
context.area.header_text_set("Offset %.4f %.4f %.4f" % tuple(self.offset))
|
||||
|
||||
elif event.type == 'LEFTMOUSE':
|
||||
context.workspace.status_text_set()
|
||||
context.area.header_text_set()
|
||||
return {'FINISHED'}
|
||||
|
||||
elif event.type in {'RIGHTMOUSE', 'ESC'}:
|
||||
rv3d.view_location = self._initial_location
|
||||
context.workspace.status_text_set()
|
||||
context.area.header_text_set()
|
||||
return {'CANCELLED'}
|
||||
|
||||
return {'RUNNING_MODAL'}
|
||||
|
|
|
@ -224,6 +224,7 @@ ARegion *BKE_area_region_copy(SpaceType *st, ARegion *ar)
|
|||
newar->visible = 0;
|
||||
newar->manipulator_map = NULL;
|
||||
newar->regiontimer = NULL;
|
||||
newar->headerstr = NULL;
|
||||
newar->draw_buffer = NULL;
|
||||
|
||||
/* use optional regiondata callback */
|
||||
|
|
|
@ -6462,6 +6462,7 @@ static void direct_link_region(FileData *fd, ARegion *ar, int spacetype)
|
|||
BLI_listbase_clear(&ar->panels_category);
|
||||
BLI_listbase_clear(&ar->handlers);
|
||||
BLI_listbase_clear(&ar->uiblocks);
|
||||
ar->headerstr = NULL;
|
||||
ar->visible = 0;
|
||||
ar->type = NULL;
|
||||
ar->do_draw = 0;
|
||||
|
|
|
@ -770,7 +770,7 @@ static void ed_marker_move_update_header(bContext *C, wmOperator *op)
|
|||
BLI_snprintf(str, sizeof(str), IFACE_("Marker offset %s"), str_offs);
|
||||
}
|
||||
|
||||
ED_workspace_status_text(C, str);
|
||||
ED_area_status_text(CTX_wm_area(C), str);
|
||||
}
|
||||
|
||||
/* copy selection to temp buffer */
|
||||
|
@ -830,7 +830,7 @@ static void ed_marker_move_exit(bContext *C, wmOperator *op)
|
|||
op->customdata = NULL;
|
||||
|
||||
/* clear custom header prints */
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(CTX_wm_area(C), NULL);
|
||||
}
|
||||
|
||||
static int ed_marker_move_invoke(bContext *C, wmOperator *op, const wmEvent *event)
|
||||
|
|
|
@ -1115,10 +1115,8 @@ static void poselib_preview_apply(bContext *C, wmOperator *op)
|
|||
/* do header print - if interactively previewing */
|
||||
if (pld->state == PL_PREVIEW_RUNNING) {
|
||||
if (pld->flag & PL_PREVIEW_SHOWORIGINAL) {
|
||||
BLI_strncpy(pld->headerstr,
|
||||
IFACE_("PoseLib Previewing Pose: [Showing Original Pose] | Use Tab to start previewing poses again"),
|
||||
sizeof(pld->headerstr));
|
||||
ED_workspace_status_text(C, pld->headerstr);
|
||||
ED_area_status_text(pld->sa, IFACE_("PoseLib Previewing Pose: [Showing Original Pose]"));
|
||||
ED_workspace_status_text(C, IFACE_("Use Tab to start previewing poses again"));
|
||||
}
|
||||
else if (pld->searchstr[0]) {
|
||||
char tempstr[65];
|
||||
|
@ -1142,17 +1140,17 @@ static void poselib_preview_apply(bContext *C, wmOperator *op)
|
|||
|
||||
BLI_snprintf(pld->headerstr, sizeof(pld->headerstr),
|
||||
IFACE_("PoseLib Previewing Pose: Filter - [%s] | "
|
||||
"Current Pose - \"%s\" | "
|
||||
"Use ScrollWheel or PageUp/Down to change"),
|
||||
"Current Pose - \"%s\""),
|
||||
tempstr, markern);
|
||||
ED_workspace_status_text(C, pld->headerstr);
|
||||
ED_area_status_text(pld->sa, pld->headerstr);
|
||||
ED_workspace_status_text(C, IFACE_("Use ScrollWheel or PageUp/Down to change pose"));
|
||||
}
|
||||
else {
|
||||
BLI_snprintf(pld->headerstr, sizeof(pld->headerstr),
|
||||
IFACE_("PoseLib Previewing Pose: \"%s\" | "
|
||||
"Use ScrollWheel or PageUp/Down to change"),
|
||||
IFACE_("PoseLib Previewing Pose: \"%s\""),
|
||||
pld->marker->name);
|
||||
ED_workspace_status_text(C, pld->headerstr);
|
||||
ED_area_status_text(pld->sa, pld->headerstr);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1602,6 +1600,7 @@ static void poselib_preview_cleanup(bContext *C, wmOperator *op)
|
|||
TimeMarker *marker = pld->marker;
|
||||
|
||||
/* redraw the header so that it doesn't show any of our stuff anymore */
|
||||
ED_area_status_text(pld->sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
|
||||
/* this signal does one recalc on pose, then unlocks, so ESC or edit will work */
|
||||
|
|
|
@ -627,7 +627,7 @@ static void pose_slide_reset(tPoseSlideOp *pso)
|
|||
|
||||
/* draw percentage indicator in header */
|
||||
// TODO: Include hints about locks here...
|
||||
static void pose_slide_draw_status(bContext *C, tPoseSlideOp *pso)
|
||||
static void pose_slide_draw_status(tPoseSlideOp *pso)
|
||||
{
|
||||
char status_str[UI_MAX_DRAW_STR];
|
||||
char limits_str[UI_MAX_DRAW_STR];
|
||||
|
@ -705,7 +705,7 @@ static void pose_slide_draw_status(bContext *C, tPoseSlideOp *pso)
|
|||
BLI_snprintf(status_str, sizeof(status_str), "%s: %d %% | %s", mode_str, (int)(pso->percentage * 100.0f), limits_str);
|
||||
}
|
||||
|
||||
ED_workspace_status_text(C, status_str);
|
||||
ED_area_status_text(pso->sa, status_str);
|
||||
}
|
||||
|
||||
/* common code for invoke() methods */
|
||||
|
@ -781,7 +781,7 @@ static int pose_slide_invoke_common(bContext *C, wmOperator *op, tPoseSlideOp *p
|
|||
WM_cursor_modal_set(win, BC_EW_SCROLLCURSOR);
|
||||
|
||||
/* header print */
|
||||
pose_slide_draw_status(C, pso);
|
||||
pose_slide_draw_status(pso);
|
||||
|
||||
/* add a modal handler for this operator */
|
||||
WM_event_add_modal_handler(C, op);
|
||||
|
@ -857,7 +857,7 @@ static int pose_slide_modal(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
case PADENTER:
|
||||
{
|
||||
/* return to normal cursor and header status */
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(pso->sa, NULL);
|
||||
WM_cursor_modal_restore(win);
|
||||
|
||||
/* insert keyframes as required... */
|
||||
|
@ -872,7 +872,7 @@ static int pose_slide_modal(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
case RIGHTMOUSE:
|
||||
{
|
||||
/* return to normal cursor and header status */
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(pso->sa, NULL);
|
||||
WM_cursor_modal_restore(win);
|
||||
|
||||
/* reset transforms back to original state */
|
||||
|
@ -997,7 +997,7 @@ static int pose_slide_modal(bContext *C, wmOperator *op, const wmEvent *event)
|
|||
/* perform pose updates - in response to some user action (e.g. pressing a key or moving the mouse) */
|
||||
if (do_pose_update) {
|
||||
/* update percentage indicator in header */
|
||||
pose_slide_draw_status(C, pso);
|
||||
pose_slide_draw_status(pso);
|
||||
|
||||
/* reset transforms (to avoid accumulation errors) */
|
||||
pose_slide_reset(pso);
|
||||
|
|
|
@ -358,19 +358,20 @@ static void gpencil_interpolate_status_indicators(bContext *C, tGPDinterpolate *
|
|||
char status_str[UI_MAX_DRAW_STR];
|
||||
char msg_str[UI_MAX_DRAW_STR];
|
||||
|
||||
BLI_strncpy(msg_str, IFACE_("GPencil Interpolation: ESC/RMB to cancel, Enter/LMB to confirm, WHEEL/MOVE to adjust factor"), UI_MAX_DRAW_STR);
|
||||
BLI_strncpy(msg_str, IFACE_("GPencil Interpolation: "), UI_MAX_DRAW_STR);
|
||||
|
||||
if (hasNumInput(&p->num)) {
|
||||
char str_offs[NUM_STR_REP_LEN];
|
||||
|
||||
outputNumInput(&p->num, str_offs, &scene->unit);
|
||||
BLI_snprintf(status_str, sizeof(status_str), "%s: %s", msg_str, str_offs);
|
||||
BLI_snprintf(status_str, sizeof(status_str), "%s%s", msg_str, str_offs);
|
||||
}
|
||||
else {
|
||||
BLI_snprintf(status_str, sizeof(status_str), "%s: %d %%", msg_str, (int)((p->init_factor + p->shift) * 100.0f));
|
||||
BLI_snprintf(status_str, sizeof(status_str), "%s%d %%", msg_str, (int)((p->init_factor + p->shift) * 100.0f));
|
||||
}
|
||||
|
||||
ED_workspace_status_text(C, status_str);
|
||||
ED_area_status_text(p->sa, status_str);
|
||||
ED_workspace_status_text(C, IFACE_("ESC/RMB to cancel, Enter/LMB to confirm, WHEEL/MOVE to adjust factor"));
|
||||
}
|
||||
|
||||
/* Update screen and stroke */
|
||||
|
@ -403,6 +404,7 @@ static void gpencil_interpolate_exit(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
/* clear status message area */
|
||||
ED_area_status_text(tgpi->sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
|
||||
/* finally, free memory used by temp data */
|
||||
|
@ -550,6 +552,7 @@ static int gpencil_interpolate_modal(bContext *C, wmOperator *op, const wmEvent
|
|||
case RETKEY:
|
||||
{
|
||||
/* return to normal cursor and header status */
|
||||
ED_area_status_text(tgpi->sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
WM_cursor_modal_restore(win);
|
||||
|
||||
|
@ -585,6 +588,7 @@ static int gpencil_interpolate_modal(bContext *C, wmOperator *op, const wmEvent
|
|||
case RIGHTMOUSE:
|
||||
{
|
||||
/* return to normal cursor and header status */
|
||||
ED_area_status_text(tgpi->sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
WM_cursor_modal_restore(win);
|
||||
|
||||
|
|
|
@ -143,6 +143,7 @@ void ED_area_tag_redraw_regiontype(ScrArea *sa, int type);
|
|||
void ED_area_tag_refresh(ScrArea *sa);
|
||||
void ED_area_do_refresh(struct bContext *C, ScrArea *sa);
|
||||
void ED_area_azones_update(ScrArea *sa, const int mouse_xy[]);
|
||||
void ED_area_status_text(ScrArea *sa, const char *str);
|
||||
void ED_area_newspace(struct bContext *C, ScrArea *sa, int type, const bool skip_ar_exit);
|
||||
void ED_area_prevspace(struct bContext *C, ScrArea *sa);
|
||||
void ED_area_swapspace(struct bContext *C, ScrArea *sa1, ScrArea *sa2);
|
||||
|
|
|
@ -130,7 +130,7 @@ static void edbm_bevel_update_header(bContext *C, wmOperator *op)
|
|||
WM_bool_as_string(opdata->value_mode == PROFILE_VALUE),
|
||||
offset_str, RNA_int_get(op->ptr, "segments"), RNA_float_get(op->ptr, "profile"));
|
||||
|
||||
ED_workspace_status_text(C, msg);
|
||||
ED_area_status_text(sa, msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -273,7 +273,7 @@ static void edbm_bevel_exit(bContext *C, wmOperator *op)
|
|||
ScrArea *sa = CTX_wm_area(C);
|
||||
|
||||
if (sa) {
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(sa, NULL);
|
||||
}
|
||||
|
||||
if (opdata->is_modal) {
|
||||
|
|
|
@ -112,7 +112,7 @@ static void edbm_inset_update_header(wmOperator *op, bContext *C)
|
|||
WM_bool_as_string(RNA_boolean_get(op->ptr, "use_individual"))
|
||||
);
|
||||
|
||||
ED_workspace_status_text(C, msg);
|
||||
ED_area_status_text(sa, msg);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -202,7 +202,7 @@ static void edbm_inset_exit(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
if (sa) {
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(sa, NULL);
|
||||
}
|
||||
|
||||
MEM_SAFE_FREE(opdata->ob_store);
|
||||
|
|
|
@ -462,7 +462,15 @@ void ED_region_do_draw(bContext *C, ARegion *ar)
|
|||
|
||||
UI_SetTheme(sa ? sa->spacetype : 0, at->regionid);
|
||||
|
||||
if (at->draw) {
|
||||
/* optional header info instead? */
|
||||
if (ar->headerstr) {
|
||||
UI_ThemeClearColor(TH_HEADER);
|
||||
glClear(GL_COLOR_BUFFER_BIT);
|
||||
|
||||
UI_FontThemeColor(BLF_default(), TH_TEXT);
|
||||
BLF_draw_default(UI_UNIT_X, 0.4f * UI_UNIT_Y, 0.0f, ar->headerstr, BLF_DRAW_STR_DUMMY_MAX);
|
||||
}
|
||||
else if (at->draw) {
|
||||
at->draw(C, ar);
|
||||
}
|
||||
|
||||
|
@ -633,6 +641,30 @@ void ED_area_tag_refresh(ScrArea *sa)
|
|||
/* *************************************************************** */
|
||||
|
||||
/* use NULL to disable it */
|
||||
void ED_area_status_text(ScrArea *sa, const char *str)
|
||||
{
|
||||
ARegion *ar;
|
||||
|
||||
/* happens when running transform operators in backround mode */
|
||||
if (sa == NULL)
|
||||
return;
|
||||
|
||||
for (ar = sa->regionbase.first; ar; ar = ar->next) {
|
||||
if (ar->regiontype == RGN_TYPE_HEADER) {
|
||||
if (str) {
|
||||
if (ar->headerstr == NULL)
|
||||
ar->headerstr = MEM_mallocN(UI_MAX_DRAW_STR, "headerprint");
|
||||
BLI_strncpy(ar->headerstr, str, UI_MAX_DRAW_STR);
|
||||
}
|
||||
else if (ar->headerstr) {
|
||||
MEM_freeN(ar->headerstr);
|
||||
ar->headerstr = NULL;
|
||||
}
|
||||
ED_region_tag_redraw(ar);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void ED_workspace_status_text(bContext *C, const char *str)
|
||||
{
|
||||
wmWindow *win = CTX_wm_window(C);
|
||||
|
|
|
@ -876,6 +876,11 @@ void ED_region_exit(bContext *C, ARegion *ar)
|
|||
WM_event_modal_handler_region_replace(win, ar, NULL);
|
||||
WM_draw_region_free(ar);
|
||||
|
||||
if (ar->headerstr) {
|
||||
MEM_freeN(ar->headerstr);
|
||||
ar->headerstr = NULL;
|
||||
}
|
||||
|
||||
if (ar->regiontimer) {
|
||||
WM_event_remove_timer(wm, win, ar->regiontimer);
|
||||
ar->regiontimer = NULL;
|
||||
|
@ -1413,7 +1418,8 @@ ScrArea *ED_screen_state_toggle(bContext *C, wmWindow *win, ScrArea *sa, const s
|
|||
}
|
||||
}
|
||||
|
||||
/* prevent hanging header prints */
|
||||
/* prevent hanging status prints */
|
||||
ED_area_status_text(sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
}
|
||||
|
||||
|
|
|
@ -1519,26 +1519,29 @@ static int sequencer_slip_exec(bContext *C, wmOperator *op)
|
|||
}
|
||||
|
||||
|
||||
static void sequencer_slip_update_header(bContext *C, Scene *scene, SlipData *data, int offset)
|
||||
static void sequencer_slip_update_header(Scene *scene, ScrArea *sa, SlipData *data, int offset)
|
||||
{
|
||||
char msg[UI_MAX_DRAW_STR];
|
||||
|
||||
if (hasNumInput(&data->num_input)) {
|
||||
char num_str[NUM_STR_REP_LEN];
|
||||
outputNumInput(&data->num_input, num_str, &scene->unit);
|
||||
BLI_snprintf(msg, sizeof(msg), IFACE_("Trim offset: %s"), num_str);
|
||||
}
|
||||
else {
|
||||
BLI_snprintf(msg, sizeof(msg), IFACE_("Trim offset: %d"), offset);
|
||||
if (sa) {
|
||||
if (hasNumInput(&data->num_input)) {
|
||||
char num_str[NUM_STR_REP_LEN];
|
||||
outputNumInput(&data->num_input, num_str, &scene->unit);
|
||||
BLI_snprintf(msg, sizeof(msg), IFACE_("Trim offset: %s"), num_str);
|
||||
}
|
||||
else {
|
||||
BLI_snprintf(msg, sizeof(msg), IFACE_("Trim offset: %d"), offset);
|
||||
}
|
||||
}
|
||||
|
||||
ED_workspace_status_text(C, msg);
|
||||
ED_area_status_text(sa, msg);
|
||||
}
|
||||
|
||||
static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *event)
|
||||
{
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
SlipData *data = (SlipData *)op->customdata;
|
||||
ScrArea *sa = CTX_wm_area(C);
|
||||
const bool has_numInput = hasNumInput(&data->num_input);
|
||||
bool handled = true;
|
||||
|
||||
|
@ -1547,7 +1550,7 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
|
|||
float offset;
|
||||
applyNumInput(&data->num_input, &offset);
|
||||
|
||||
sequencer_slip_update_header(C, scene, data, (int)offset);
|
||||
sequencer_slip_update_header(scene, sa, data, (int)offset);
|
||||
|
||||
RNA_int_set(op->ptr, "offset", offset);
|
||||
|
||||
|
@ -1581,7 +1584,7 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
|
|||
UI_view2d_region_to_view(v2d, mouse_x, 0, &mouseloc[0], &mouseloc[1]);
|
||||
offset = mouseloc[0] - data->init_mouseloc[0];
|
||||
|
||||
sequencer_slip_update_header(C, scene, data, offset);
|
||||
sequencer_slip_update_header(scene, sa, data, offset);
|
||||
|
||||
RNA_int_set(op->ptr, "offset", offset);
|
||||
|
||||
|
@ -1601,7 +1604,9 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
|
|||
MEM_freeN(data->ts);
|
||||
MEM_freeN(data);
|
||||
op->customdata = NULL;
|
||||
ED_workspace_status_text(C, NULL);
|
||||
if (sa) {
|
||||
ED_area_status_text(sa, NULL);
|
||||
}
|
||||
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
|
||||
return OPERATOR_FINISHED;
|
||||
}
|
||||
|
@ -1631,7 +1636,10 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
|
|||
WM_event_add_notifier(C, NC_SCENE | ND_SEQUENCER, scene);
|
||||
|
||||
BKE_sequencer_free_imbuf(scene, &ed->seqbase, false);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
|
||||
if (sa) {
|
||||
ED_area_status_text(sa, NULL);
|
||||
}
|
||||
|
||||
return OPERATOR_CANCELLED;
|
||||
}
|
||||
|
@ -1659,7 +1667,7 @@ static int sequencer_slip_modal(bContext *C, wmOperator *op, const wmEvent *even
|
|||
float offset;
|
||||
applyNumInput(&data->num_input, &offset);
|
||||
|
||||
sequencer_slip_update_header(C, scene, data, (int)offset);
|
||||
sequencer_slip_update_header(scene, sa, data, (int)offset);
|
||||
|
||||
RNA_int_set(op->ptr, "offset", offset);
|
||||
|
||||
|
|
|
@ -652,7 +652,7 @@ static void viewRedrawForce(const bContext *C, TransInfo *t)
|
|||
|
||||
static void viewRedrawPost(bContext *C, TransInfo *t)
|
||||
{
|
||||
ED_workspace_status_text(t->context, NULL);
|
||||
ED_area_status_text(t->sa, NULL);
|
||||
|
||||
if (t->spacetype == SPACE_VIEW3D) {
|
||||
/* if autokeying is enabled, send notifiers that keyframes were added */
|
||||
|
@ -3129,7 +3129,7 @@ static void Bend(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -3283,7 +3283,7 @@ static void applyShear(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -3562,7 +3562,7 @@ static void applyResize(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -3665,7 +3665,7 @@ static void applySkinResize(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -3763,7 +3763,7 @@ static void applyToSphere(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4122,7 +4122,7 @@ static void applyRotation(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4239,7 +4239,7 @@ static void applyTrackball(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4568,7 +4568,7 @@ static void applyTranslation(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4670,7 +4670,7 @@ static void applyShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4749,7 +4749,7 @@ static void applyTilt(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4830,7 +4830,7 @@ static void applyCurveShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -4936,7 +4936,7 @@ static void applyMaskShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5017,7 +5017,7 @@ static void applyGPShrinkFatten(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5112,7 +5112,7 @@ static void applyPushPull(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5194,7 +5194,7 @@ static void applyBevelWeight(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5279,7 +5279,7 @@ static void applyCrease(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5402,7 +5402,7 @@ static void applyBoneSize(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -5479,7 +5479,7 @@ static void applyBoneEnvelope(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -7205,7 +7205,7 @@ static void applyEdgeSlide(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -7804,7 +7804,7 @@ static void applyVertSlide(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -7878,7 +7878,7 @@ static void applyBoneRoll(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -7969,7 +7969,7 @@ static void applyBakeTime(TransInfo *t, const int mval[2])
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -8030,7 +8030,7 @@ static void applyMirror(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
else {
|
||||
size[0] = size[1] = size[2] = 1;
|
||||
|
@ -8053,9 +8053,9 @@ static void applyMirror(TransInfo *t, const int UNUSED(mval[2]))
|
|||
recalcData(t);
|
||||
|
||||
if (t->flag & T_2D_EDIT)
|
||||
ED_workspace_status_text(t->context, IFACE_("Select a mirror axis (X, Y)"));
|
||||
ED_area_status_text(t->sa, IFACE_("Select a mirror axis (X, Y)"));
|
||||
else
|
||||
ED_workspace_status_text(t->context, IFACE_("Select a mirror axis (X, Y, Z)"));
|
||||
ED_area_status_text(t->sa, IFACE_("Select a mirror axis (X, Y, Z)"));
|
||||
}
|
||||
}
|
||||
/** \} */
|
||||
|
@ -8117,7 +8117,7 @@ static void applyAlign(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, IFACE_("Align"));
|
||||
ED_area_status_text(t->sa, IFACE_("Align"));
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -8216,7 +8216,7 @@ static void applySeqSlide(TransInfo *t, const int mval[2])
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -8500,7 +8500,7 @@ static void applyTimeTranslate(TransInfo *t, const int mval[2])
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -8690,7 +8690,7 @@ static void applyTimeSlide(TransInfo *t, const int mval[2])
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
@ -8811,7 +8811,7 @@ static void applyTimeScale(TransInfo *t, const int UNUSED(mval[2]))
|
|||
|
||||
recalcData(t);
|
||||
|
||||
ED_workspace_status_text(t->context, str);
|
||||
ED_area_status_text(t->sa, str);
|
||||
}
|
||||
/** \} */
|
||||
|
||||
|
|
|
@ -656,9 +656,9 @@ static void minimize_stretch_iteration(bContext *C, wmOperator *op, bool interac
|
|||
param_flush(ms->handle);
|
||||
|
||||
if (sa) {
|
||||
BLI_snprintf(str, sizeof(str),
|
||||
IFACE_("Minimize Stretch. Blend %.2f (Press + and -, or scroll wheel to set)"), ms->blend);
|
||||
ED_workspace_status_text(C, str);
|
||||
BLI_snprintf(str, sizeof(str), IFACE_("Minimize Stretch. Blend %.2f"), ms->blend);
|
||||
ED_area_status_text(sa, str);
|
||||
ED_workspace_status_text(C, IFACE_("Press + and -, or scroll wheel to set blending"));
|
||||
}
|
||||
|
||||
ms->lasttime = PIL_check_seconds_timer();
|
||||
|
@ -673,8 +673,9 @@ static void minimize_stretch_exit(bContext *C, wmOperator *op, bool cancel)
|
|||
MinStretch *ms = op->customdata;
|
||||
ScrArea *sa = CTX_wm_area(C);
|
||||
|
||||
if (sa)
|
||||
ED_workspace_status_text(C, NULL);
|
||||
ED_area_status_text(sa, NULL);
|
||||
ED_workspace_status_text(C, NULL);
|
||||
|
||||
if (ms->timer)
|
||||
WM_event_remove_timer(CTX_wm_manager(C), CTX_wm_window(C), ms->timer);
|
||||
|
||||
|
|
|
@ -351,6 +351,7 @@ typedef struct ARegion {
|
|||
struct wmTimer *regiontimer; /* blend in/out */
|
||||
struct wmDrawBuffer *draw_buffer;
|
||||
|
||||
char *headerstr; /* use this string to draw info */
|
||||
void *regiondata; /* XXX 2.50, need spacedata equivalent? */
|
||||
|
||||
ARegion_Runtime runtime;
|
||||
|
|
|
@ -320,6 +320,7 @@ static void rna_def_area(BlenderRNA *brna)
|
|||
{
|
||||
StructRNA *srna;
|
||||
PropertyRNA *prop;
|
||||
FunctionRNA *func;
|
||||
|
||||
srna = RNA_def_struct(brna, "Area", NULL);
|
||||
RNA_def_struct_ui_text(srna, "Area", "Area in a subdivided screen, containing an editor");
|
||||
|
@ -383,6 +384,10 @@ static void rna_def_area(BlenderRNA *brna)
|
|||
RNA_def_property_ui_text(prop, "Height", "Area height");
|
||||
|
||||
RNA_def_function(srna, "tag_redraw", "ED_area_tag_redraw");
|
||||
|
||||
func = RNA_def_function(srna, "header_text_set", "ED_area_status_text");
|
||||
RNA_def_function_ui_description(func, "Set the header status text");
|
||||
RNA_def_string(func, "text", NULL, 0, "Text", "New string for the header, no argument clears the text");
|
||||
}
|
||||
|
||||
static void rna_def_view2d_api(StructRNA *srna)
|
||||
|
|
|
@ -88,7 +88,7 @@ void RNA_api_workspace(StructRNA *srna)
|
|||
|
||||
func = RNA_def_function(srna, "status_text_set", "ED_workspace_status_text");
|
||||
RNA_def_function_flag(func, FUNC_NO_SELF | FUNC_USE_CONTEXT);
|
||||
RNA_def_function_ui_description(func, "Set the status bar text, typically for modal operators");
|
||||
RNA_def_function_ui_description(func, "Set the status bar text, typically key shortcuts for modal operators");
|
||||
RNA_def_string(func, "text", NULL, 0, "Text", "New string for the status bar, no argument clears the text");
|
||||
}
|
||||
|
||||
|
|
|
@ -2436,6 +2436,7 @@ static void radial_control_update_header(wmOperator *op, bContext *C)
|
|||
{
|
||||
RadialControl *rc = op->customdata;
|
||||
char msg[UI_MAX_DRAW_STR];
|
||||
ScrArea *sa = CTX_wm_area(C);
|
||||
Scene *scene = CTX_data_scene(C);
|
||||
|
||||
if (hasNumInput(&rc->num_input)) {
|
||||
|
@ -2468,7 +2469,7 @@ static void radial_control_update_header(wmOperator *op, bContext *C)
|
|||
}
|
||||
}
|
||||
|
||||
ED_workspace_status_text(C, msg);
|
||||
ED_area_status_text(sa, msg);
|
||||
}
|
||||
|
||||
static void radial_control_set_initial_mouse(RadialControl *rc, const wmEvent *event)
|
||||
|
@ -3002,9 +3003,7 @@ static void radial_control_cancel(bContext *C, wmOperator *op)
|
|||
rc->dial = NULL;
|
||||
}
|
||||
|
||||
if (sa) {
|
||||
ED_workspace_status_text(C, NULL);
|
||||
}
|
||||
ED_area_status_text(sa, NULL);
|
||||
|
||||
WM_paint_cursor_end(wm, rc->cursor);
|
||||
|
||||
|
|
Loading…
Reference in New Issue