I am attempting to improve Blender's Outliner and I could use some help.

OS: Windows 7
IDE: Visual Studio 2008 Express
Software Engineering experience: A mixture of novice, intermediate, and advanced:spin:

Hello, and good day to anyone who reads this.

I am attempting to learn and manipulate the Blender codebase in order to gain some experience in programming, and just for fun. I have decided to attempt to improve the Outliner and start learning the codebase from there.

I have a design model planned which includes a few things like:

  • Implementing Python script grouping/ordering/filtering - which will be stackable/layerable. Variables within the script can, optionally, be exposed as a property within a n-panel panel.
  • Redoing and improving grouping/ordering ,namely, any item can be filtered in accordance with ANY property
  • Conveniently displaying ANY property for any grouped items - By items I mean objects, materials, modifiers, constraints, etc…

---------------------MY PROBLEM

   I have decided that the python filters and their respective variables need to be placed within the side panel/n-panel. So far this is where I have begun and am currently <i><b>stuck</b>.</i>

My current problem is that I have coded (copied, pasted and then modified) everything that I know of for a side panel/n-panel for the outliner, but the side panel is not showing up.My code executes, but the side panel doesn’t show up.

So far I am just trying to imitate what other coders have done, namely by copying and pasting their code. .
I suppose there could easily be more code involved to create an n-panel area but I just don’t know what. Can anyone help? If you could, at least, tell me what other areas of code I should be using as an example to implement a n-panel that would be wonderful.

Below is a .diff file(WIP) with what I have coded so far.

NOTE: The “.diff” extension has been changed to “.blend” in order to upload it as an attachment.

Outliner_redone.blend (13.2 KB)

Thanks for any help.

Nice to see someone taking an interest in the poor, unloved outliner.

Played with this a bit and think you probably also have to modify the outliner’s drawing code too.

Totally guessing here but you are trying to add the prop panel area on top of the space occupied by the current clickable (view&etc…) buttons area so would have to get that moved over so the props will show. Also the op that’s supposed to toggle the visibility of the props area doesn’t seem to be doing much, checking in python after running it has the .width prop unchanged.

I’d also suggest you start a thread on the mailing list about this because I believe the outliner draw/sort code is somewhat tricky when it comes to performance so if you add too much overhead (C–>python–>C on every sort/draw cycle) it will slow blender down to a crawl.

I’ve been wading through the drawing code and experimenting, but I haven’t been able to find anything that I can definitively say would prevent the display of the properties panel, but I’ll keep looking and experimenting though. I’ve got a lot to learn.

Thanks for the advice: I didn’t entirely know that I could start a thread on a mailing list. I think I may just do this.

Good day to you sir!