Hi all, I’d be interested in known what widgets, and design tools you think would be useful for creating custom blender interfaces, and how you might go about adding them, options they would need etc. Also what interface builders might be worth looking at for ideas.
Here are some ideas I’ve had.
UI elements needed
view 3D floating buttons/HUD buttons
button containers (add->button container then define the num rows.columns)
note button containers should be growable height/width and scrollable
button containers within button containers
button seperators within button containers - horizontal, vertical
right click>add>ui element
tab options-> width (standard, half)
button container ->width, height (in number of standard buttons); add button, add vertical seperator, add horizontal seperator
button ->add pictorial button (small, medium, large), add text button, assign image, assign hotkey, assign command
menu ->add submenu, add seperator, assign command
arc menu for corners
I’d like to gather up a bunch of useful ideas, perhaps do a wiki page.
1 - for the buttons are theses gong to be equivalent to what we had in 2.49 ?
like label , text combo ect…
any complete list we can consult ?
and will be able to locate theses buttons where we want on the GUI
no automtic localisation like we have in panels righ now!
2 - I could use something that did not exist in 2.49
a Text box with scroll bars that you can size as you wish
so if people needs to read more they can scroll sideways or up and down
so no need to use all the GUI to show some general Text
3 - be able to load up and locate a picture or image that you can size as you want
and this pic could be located anywhere you want including in the same folder then the blend file from which it’s being called
4 - if possible be able to open up a small window where you could draw small simple drawings like lines 1/2 circle and locate these to make a drawing without using opengl
or may be open a new blender window over the GUI where we could use normal blender instructions to make a simple drawing to represent some graphic results!
An interesting feature would be the possibility that multiple windows toolbars were conditioned (scripting) by a environment-workspace, this would allow to create different UI profiles for different workgroup components, to avoid edit errors… and customize tasks.
Similar to the user profiles management on an operating system. This would allow manage large projects and teams
Manage user profiles (UI modeling, UI editing, UI FX …), with access management (sudo)
Great suggestions letterip, the menu/submenu thing is one I’ve been struggling with recently… it seems overkill to creaye classes foreach sub menus in python and a class for a master menu to call them… i
Also, when you talk of buttons it’d be nice to be able to add image buttons too…
I was toying with material stuff in python and it seems you can only get a preview of a texture or a material in context… it’d be good to arbitrarily get material previews for any material in the scene for example…
(3) grid/array widget:
an editable widget with rows and columns where multiple properties could be viewed/edited. maybe for selections of multiple objects? see QTs table widget. Is this what you meant with button containers?
(4) Picking Session (this one I’m not sure of)
sometimes you want to do some scripting on initial selection but then again need the users feedback for picking/selecting another object, after that the script automatically continues. really dont know if this is the best workflow, but happened to me more than once. think of an automated car rig for example: first pick chassis (script does constraints/drivers based on size), then pick one of the wheels (script does more constraints) then pick road…
A tree control would be nice. It could use the list box (the boxes used for materials, shapekeys, vertex groups ect) as a base. A method for transversing the tree would be needed, wx does this nicely (is this the standard?)
Also, is it possible to custom theme widgets? It would be good to be able to be able to do this,
Qt Designer style editor either integrated into Blender or outside of blender.
Perhaps the code could be stored to an xml file and loaded into a python script using a simple command instead of outputing the ui code in the script file
You mean the ability to create custom panels that have an opengl canvas to do all sorts of magic on?
Which is kind of cool actually…
Pretty sure you can already do these with modal operators, if I understand them correctly they get ‘first crack’ at the action and if they don’t want to do anything with it they can just pass it along.
Also pretty sure you can already do this (in the 3d viewport) with the opengl module.
I was thinking of re-doing my pie menu script where it loads an image (as the menu) and uses python to do the highlighting and selection determination instead of using python to do all the layout and drawing which is kind of slow with a high poly object in the viewport.
A companion List View object to go with the Tree View. The list view should work like the windows list view (i.e. multiple columns, if needed) or the finder list view.
I know this may be an odd request, but how about a way to embed a flash movie and process events from the movie via python intercepts? By leveraging flash, some really cool interfaces could be created and you would not have to re-create custom controls for every possibility.