8
$\begingroup$

  I want to put a list with progression bars into a panel or somewhere else. Is it possible to place a custom image next to text? Or draw progress bars like the one in the header somewhere else?

I found this line in space_info.py: layout.template_running_jobs() but I'm not clear about how to find the corresponding code.

  My workarounds would be to use a crude text version of a progress bar or a slider. But my ideal thing would be a bar with colors of my own choosing.

$\endgroup$
2

2 Answers 2

1
$\begingroup$

No you can't (not without fairly bad hacks at least).

As of 2.69 this is a limitation in the Python API, layout.template_running_jobs() shows progress for blenders job system which Python has no access to.

You can however control the mouse cursor to display progress.

$\endgroup$
4
  • $\begingroup$ 'No, you can't at all' or just 'no, the thin progress bar is sacred as of now'? My goal is to visualize progress of something, not to explicitly use template_running_jobs(). I'd like a nice version in a panel, but if it's completely impossible, I'm prepared to use text files, even images in the image editor to work around. Progress report in a 3D panel comes to mind. or using grease pencil (: Scarcity makes inventive. So the main question remains: how can I visualize progress in a panel? $\endgroup$ Sep 21, 2013 at 19:55
  • $\begingroup$ The main answer remains - you can't, Well, I wouldn't know of any good ways to do this. You can of course draw ASCII art into a panel which represents a progress bar, or abuse a slider (and make it readonly), then use a timer+modalOperator to force regular redraws. But such code is really hackish and I wouldn't accept into Blender or consider it a supported function. $\endgroup$
    – ideasman42
    Sep 22, 2013 at 1:20
  • 1
    $\begingroup$ I do not plan anything that requires to be accepted by you or others. But I am surprised by the limited means of blender's UI when it comes to visual communication. $\endgroup$ Sep 28, 2013 at 17:46
  • 1
    $\begingroup$ @Haunt_House, yep, Blender is limited in this respect. However I dont think its always such a bad thing, we only draw progress in the header info currently, so Python tools should follow this also. Then users get predictable experience and know what to expect. $\endgroup$
    – ideasman42
    Sep 29, 2013 at 1:57
1
$\begingroup$

I haven't ever done this so it's just a thought, but could you use layout.split with increasing percentages as a slightly less crude progress bar? Perhaps with a blank operator button on the left and an empty label (or button with emboss=False) on the right. This should automatically stretch to fill the available space in the panel.

Search for 'split' in the Cookbook Code Snippets for some example usage.

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .