13 years agostarted whiping cmake into shape for 2.5 still need to figure out
Kent Mein [Fri, 12 Dec 2008 20:41:30 +0000 (20:41 +0000)]
started whiping cmake into shape for 2.5  still need to figure out
the rna stuff but its close.  Need to get it working for
blender then copy over same to game engine.


13 years ago* To have IPO editor get both compiled and link, we also make sure it is actually...
Nathan Letwory [Fri, 12 Dec 2008 20:11:45 +0000 (20:11 +0000)]
* To have IPO editor get both compiled and link, we also make sure it is actually built and linked to.

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 19:19:09 +0000 (19:19 +0000)]
Another make file...

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 18:56:15 +0000 (18:56 +0000)]

Scons was missing WM includes

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 18:47:12 +0000 (18:47 +0000)]

- Added rudimentary support for Ipo window
  (Joshua can check on view2d issues for this? :)

- removed ED_area.h, added ED_space_api.h

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 17:10:54 +0000 (17:10 +0000)]

- found fix for time-space view2d when increasing height of area,   it has min/max Y zoom stored based on size of area... needs
  smarter way.

- outliner: header file added, area switch menu + dummy pulldown.
  this will become template for other space types...

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 16:29:33 +0000 (16:29 +0000)]

Fixes in view2d:

- mask/slider rects were calculated wrong 1 pixel (was overlapping)
- found bug with outliner stretching on area-edge-dragging. It required
  an extra mapping of the 'cur view' via mask to actual region.
- added v2d sanity check for uninitialized v2d's
- removed cruft in do_versions for headers (gets catched with above)
- added header-view2d-initialize function, for new-space calls

Fixes in areamanager:

- fixes in 'new space' for time/outliner/view2d

For Joshua:

- Making time window higher shows it doesn't update 'cur'. Not sure
  what kind of v2d flag should be checked or set?

13 years agoView2D: Cosmetic tweaks for scrollers
Joshua Leung [Fri, 12 Dec 2008 11:41:05 +0000 (11:41 +0000)]
View2D: Cosmetic tweaks for scrollers

Scrollers now draw in the 'rounded + shaded' style as much of the rest of Blender now. This is just a rough draft of what they could look like (vertical scrollbers in particular highlight the need for a complementary version of gl_round_box_shade).

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 10:55:36 +0000 (10:55 +0000)]

Removed notifier SCREEN_CHANGED from creating menus or tooltips.
This one is used to re-initialize spaces, areas, regions in screen.

13 years ago2.5
Ton Roosendaal [Fri, 12 Dec 2008 10:18:26 +0000 (10:18 +0000)]

Resolved cyclic calls for editors.
Now there's a space_api/ module, here you can use functions calling
other editor modules. The functions in the module are only used by
the WindowManager module to initialize space types.

Note for sconzers and MSVC and cmake: the proper linking order for
editors is:

- space_api
- space_xxx
- object / mesh / transform / etc
- interface
- util / datafiles
- screen

13 years ago2.5 - Fixed crashes when closing windows
Joshua Leung [Thu, 11 Dec 2008 23:05:18 +0000 (23:05 +0000)]
2.5 - Fixed crashes when closing windows

13 years ago2.5 - Compiling fix (ED_newspace not defined yet)
Joshua Leung [Thu, 11 Dec 2008 22:30:24 +0000 (22:30 +0000)]
2.5 - Compiling fix (ED_newspace not defined yet)

13 years agoUI: restored mechanism to only call button/block callback functions
Brecht Van Lommel [Thu, 11 Dec 2008 20:30:41 +0000 (20:30 +0000)]
UI: restored mechanism to only call button/block callback functions
after the menus are closed, to avoid conflicts with those callbacks
manipulating their own area or region.

13 years ago2.5
Ton Roosendaal [Thu, 11 Dec 2008 19:35:27 +0000 (19:35 +0000)]

Today's progress; half working, but i better commit to prevent
conflicts tomorrow :)

- added storage for regions in spacedata
- added space switching (unfinished, gives mem-free errors)
- bugfix: icon of timewindow gave error on split-area
- cleaned interface_icons.c a bit, no warnings
- first work on space new() callbacks, they have to make regions too

NOTE: probably files saved with 2.5 crash now. Have to look at
patching this.

NOTE2: the Makefiles required libeditor screen twice... scons too?

13 years ago2.5
Ton Roosendaal [Thu, 11 Dec 2008 15:38:16 +0000 (15:38 +0000)]

TimeLine window pulldowns work sorta (for the options that were coded :)

Still trying to bring back code without recoding uiDefButs. In future these
will get directly operator stuff linked. For time being made a simple
operator call function, like:

WM_operator_call(C, "ED_MARKER_OT_add");

and for forcing operator to run in the main region-window:

WM_operator_call_rwin(C, "ED_MARKER_OT_add");

These calls also work for modal operators, like marker grab in this case.

13 years ago2.5
Ton Roosendaal [Thu, 11 Dec 2008 14:59:57 +0000 (14:59 +0000)]

Small fix: Screen state  updating should be blocked while menus are open.
Caused draw errors for activated headers. Todo is: bring back separation
between window-handlers and screen-handlers, to solve this?

13 years agoRNA - Finished wrapping Armatures + Bones
Joshua Leung [Thu, 11 Dec 2008 10:36:40 +0000 (10:36 +0000)]
RNA - Finished wrapping Armatures + Bones

- I'm not sure whether we want to move out the PoseMode hide flags from here, but PoseChannels directly get most of their flags from here.
- Some of the settings for Bones have not been exposed, as they are mostly internal flags or used only by transform
- I'm not sure whether we should be exposing EditMode settings like head/tail/roll directly here...

13 years agoView2D: Various Fixes + Header Support
Joshua Leung [Thu, 11 Dec 2008 03:50:50 +0000 (03:50 +0000)]
View2D: Various Fixes + Header Support

Added support for panning headers using View2D of the header regions (only done for TimeLine, as only that one has buttons on it).
Currently, this uses some do_versions magic to initialise the View2D rects required, however, I'm not sure if all the information was safely ported over yet (notably height and position of rects due to alignment issues).

In the process, I noticed a few bugs with the current View2D code:
* UI_view2d_curRect_validate() is now called after UI_view2d_size_update(), as the size of the 'mask' rect is closely related to the size of the 'cur' rect (especially when zooming is locked).
* Fixed a bug in UI_view2d_curRect_validate() which meant that if the 'cur' rect was slightly larger than the 'tot' rect, and keeptot was set, the view would flicker between the two closely related positions.

13 years agoUI:
Brecht Van Lommel [Wed, 10 Dec 2008 19:22:10 +0000 (19:22 +0000)]
* Added context pointer to function callbacks for buttons and blocks.
* Added a uiBlockSetHandleFunc, which will be called with the button
  return value. This seems kind of redundant with uiBlockSetButmFunc,
  but the latter uses a2 to pass the value.

13 years ago2.5
Ton Roosendaal [Wed, 10 Dec 2008 17:58:18 +0000 (17:58 +0000)]

- Brought back (most of) buttons in TimeLine window.
  They don't work yet though! Waiting for Brecht to commit callbacks
  for menus and ui-blocks

- Area headers hilite again when mouse is inside.

13 years ago2.5
Ton Roosendaal [Wed, 10 Dec 2008 15:12:46 +0000 (15:12 +0000)]

Fix: on quit with a ghost event, windows were freed without freeing screens.

13 years ago2.5
Ton Roosendaal [Wed, 10 Dec 2008 13:56:54 +0000 (13:56 +0000)]

Cleanup in area/region management

- more intelligence in area management for adding handlers and setting
  data correct. Space/Region type callbacks only have to do own things.

- added option for adding default handlers to areas/regions. (flag in
  type definition)

- ensured that region-types store the minsizes for regions.

- added boundbox check for handlers; note that it accepts pointer to
  boundbox, because handlers don't get reset on area-resizing or
  view changes. Example: view2d handlers use mask rect.

- handlers get now added on correct context levels (example frame change
  also worked in header)

- removed ->refresh() callback. Context refreshing is Listener.

- the ->init() is being called on all WM level actions, also after a
  file read, moving areas, re-opening areas etc.

- fixed bug: crash on exit was caused by cleaning up Screen too late.

- UI_view2d_size_update() removed from draw callback, is init()

- regions now store (winx, winy) subwindow size.

13 years agoRNA - Wrapped a few more Armature/Bone settings
Joshua Leung [Wed, 10 Dec 2008 12:00:36 +0000 (12:00 +0000)]
RNA - Wrapped a few more Armature/Bone settings

* I've only got a few more Armature settings to go (path stuff)
* Bones have still only got name + layers so far

13 years agoView2D - Bugfixes
Joshua Leung [Wed, 10 Dec 2008 09:07:15 +0000 (09:07 +0000)]
View2D - Bugfixes

Fixed a few typos in View2D code, which included the zoom-locking flags not being checked for correctly by the zoom operators.

This commit does NOT fix the problems with the Outliner 'cur' rect expanding/contracting as the view changes size. I still haven't found the cause of this, but it might be related to the off-by-1 errors with UI-widgets that brecht noted in TimeLine header...

13 years agoUI: don't use operators anymore for handling user interface events, but rather
Brecht Van Lommel [Wed, 10 Dec 2008 04:36:33 +0000 (04:36 +0000)]
UI: don't use operators anymore for handling user interface events, but rather
a special UI handler which makes the code clearer. This UI handler is attached
to the region along with other handlers, and also gets a callback when all
handlers for the region are removed to ensure things are properly cleaned up.
This should fix XXX's in the UI code related to events and context switching.

Most of the changes are in interface_handlers.c, which was renamed from
interface_ops.c, to convert operators to the UI handler. UI code notes:
* uiBeginBlock/uiEndBlock/uiFreeBlocks now takes a context argument, this is
  required to properly cancel things like timers or tooltips when the region
  gets removed.
* UI_add_region_handlers will add the region level UI handlers, to be used
  when adding keymap handlers etc. This replaces the UI keymap.
* When the UI code starts a modal interaction (number sliding, text editing,
  opening a menu, ..), it will add an UI handler at the window level which
  will block events.

Windowmanager changes:
* Added an UI handler next to the existing keymap and operator modal handlers.
  It has an event handling and remove callback, and like operator modal handlers
  will remember the area and region if it is registered at the window level.
* Removed the MESSAGE event.
* Operator cancel and UI handler remove callbacks now get the
  window/area/region restored in the context, like the operator modal and UI
  handler event callbacks.
* Regions now receive MOUSEMOVE events for the mouse going outside of the
  region. This was already happening for areas, but UI buttons are at the region
  level so we need it there.

* Tooltips and menus stay open when switching to another window, and button
  highlight doesn't work without moving the mouse first when Blender starts up.
  I tried using some events like Q_FIRSTTIME, WINTHAW, but those don't seem to
* Timeline header buttons seem to be moving one pixel or so sometimes when
  interacting with them.
* Seems not due to this commit, but UI and keymap handlers are leaking. It
  seems that handlers are being added to regions in all screens, also in regions
  of areas that are not visible, but these handlers are not removed. Probably
  there should only be handlers in visible regions?

13 years ago2.5
Ton Roosendaal [Tue, 9 Dec 2008 15:59:43 +0000 (15:59 +0000)]

Area Manager: revised how an area subdivision gets managed. Originally
the 'spacedata' would store regiondata too, but this already became
impractical (like having view2d data in region is useful). So I left
that part how it is. See new diagram:

This means that regions in an Area define location/size or constraints
for how they get arranged. The "RegionType" which is linked to this
defines its functionality.

For fun, test, and code validation: two temporary hotkeys added.
SKEY: splits current region horizontally
SHIFT+S: splits vertically

Note - in outliner - that "context" sticks to the Area as whole, the region
here only defines view. That's the purpose. :) For two outliners with different
context you open 2 areas.
Also note that dragging screen-edges shows the region-alignment type (split
with percentage).

13 years agoRNA: Start of RNA wrapping for Armatures
Joshua Leung [Tue, 9 Dec 2008 11:29:40 +0000 (11:29 +0000)]
RNA: Start of RNA wrapping for Armatures

Wrapped most of Armature settings, but bones are not yet complete.

13 years ago2.5 - Swapped order for adding View2D keymaps in TimeLine so that they can still...
Joshua Leung [Tue, 9 Dec 2008 06:23:40 +0000 (06:23 +0000)]
2.5 - Swapped order for adding View2D keymaps in TimeLine so that they can still work.

13 years ago2.5
Ton Roosendaal [Mon, 8 Dec 2008 19:16:47 +0000 (19:16 +0000)]

Stupid error made blender not compile!

13 years ago2.5
Ton Roosendaal [Mon, 8 Dec 2008 16:43:19 +0000 (16:43 +0000)]

Minor cleanups.

13 years ago2.5
Ton Roosendaal [Mon, 8 Dec 2008 15:02:57 +0000 (15:02 +0000)]

Part one of wrapping up area/region management.
Read design doc here:

This commit:
- brings keymap storage to WM, based on names/types. This structure
  allows rna-ifying it too, so you can browse keymaps etc.
- creating areas and regions works slightly different now, wich
  regiontypes stored in areatype.

- better callbacks and structure for defining which handlers need to
  be added.
- using region types to validate regions
- proper implementation of local region data
- code method for customizing keymaps. Current idea is that you have
  to indicate an entire keymap to be custom, to prevent too complicated
  merging problems of default and custom maps (like order, multiple keys
  for same operator, disabling options, etc).

13 years agoView2D: Tweaks to make handles work better with no-clamping of bubble
Joshua Leung [Mon, 8 Dec 2008 00:48:27 +0000 (00:48 +0000)]
View2D: Tweaks to make handles work better with no-clamping of bubble

13 years agofixing compile error
Martin Poirier [Mon, 8 Dec 2008 00:40:27 +0000 (00:40 +0000)]
fixing compile error

13 years agoView2D: Modal Ctrl-MMB-drag Zoom Restored
Joshua Leung [Sun, 7 Dec 2008 23:54:41 +0000 (23:54 +0000)]
View2D: Modal Ctrl-MMB-drag Zoom Restored

Added back the Ctrl-MMB-drag zoom.
* It uses RNA-props for delta amounts to be added to the cur rect, as opposed to storing a transform factor like the others.
* Made the operator another repeatable one
* The user-pref Continue/Dolly/Scale options are still respected. Currently, this is not stored as an RNA-prop for repeated behaviour, as it is not necessary for this operator to function correctly (and also, this data would fall under 'context' info more)

Removed clamping of scroller 'bubble' to bounds of scroller, as it produced a confusing display when using handles to zoom view.

13 years agoView2D: Minor tweaks to scrollbar drawing
Joshua Leung [Sun, 7 Dec 2008 22:19:41 +0000 (22:19 +0000)]
View2D: Minor tweaks to scrollbar drawing

Handles on ends of bubble are now drawn as rects. When that axis is zoomable, the handles are darker than when they are not.

13 years ago* blenderlite works now on windows too.
Nathan Letwory [Sun, 7 Dec 2008 13:22:50 +0000 (13:22 +0000)]
* blenderlite works now on windows too.
  - when WITH_BF_SDL=True entry-point is mainCTRStartup (due to SDL)
  - with WITH_BF_SDL=False this should be just main

13 years agoView2D: Scroller Manipulations
Joshua Leung [Sun, 7 Dec 2008 12:15:04 +0000 (12:15 +0000)]
View2D: Scroller Manipulations

Implemented operator to work with scrollers. This should work reasonably well, but as always, more testing is needed.
* LMB-drag can now be used to initiate manipulations of scrollbars (so they can be dragged as per normal)
* By clicking on the 'dark regions' on the ends of the scroll bubble, it is possible to zoom the view (in a way similar to Sony Vegas scrollbars)

Tidied up code of other operators
* Re-labelled the current zoom operators, as there is still a modal click-drag zoom tool to be ported still
* Marked all of the existing view manipulation operators as redoable. Scrollers manipulator is not allowed to be redoable.

Assorted changes:
* Added more flags for Outliner on reading old files, to prevent more weird things happening as code expects certain flags these days

13 years ago* put the PyRNA testing bit inside the DISABLE_PYTHON define, so we can use blenderli...
Nathan Letwory [Sun, 7 Dec 2008 10:55:33 +0000 (10:55 +0000)]
* put the PyRNA testing bit inside the DISABLE_PYTHON define, so we can use blenderlite as target too

13 years agoView2D: Renamed a few API methods to follow standard naming conventions, and added...
Joshua Leung [Sun, 7 Dec 2008 06:21:06 +0000 (06:21 +0000)]
View2D: Renamed a few API methods to follow standard naming conventions, and added define to use when an argument to these methods is irrelevant.

13 years agoView2D: TimeCode display when displaying 'Seconds' not 'Frames'
Joshua Leung [Sun, 7 Dec 2008 03:42:25 +0000 (03:42 +0000)]
View2D: TimeCode display when displaying 'Seconds' not 'Frames'

When time grids are drawn in 'seconds' not 'frames' (use the TKEY to toggle this in Timeline for testing), times are now printed in a timecode format similar to SMPTE. It deviates from SMPTE in several respects, otherwise the timecodes will collide with the current grid spacings (Note: this will be subject to review in future).

* Hours will only be shown when they are needed. This shouldn't cause too many problems, since it is highly unlikely to get sequences, etc. that long.
* Frames are only shown when zoomed in close enough. When they are shown, display of minutes is generally ommitted unless significant.
* I've used the semicolon (;) character as the delimeter between frames and seconds. This seems to be the convention in Final Cut Pro, Vegas, and Quicktime...


Also in this commit:
* added UI_view2d_status_enforce() call to the end of UI_view2d_totRect_set(), so that the caller will not have to worry about doing so.

* swapped the order of V2D_GRID_(NO)CLAMP defines so to be more consistent with older versions of Blender. Default (0) is now no-clamping.

13 years ago2.5
Ton Roosendaal [Sat, 6 Dec 2008 16:22:21 +0000 (16:22 +0000)]

Mainwindow had wrong subwindow rect definition.

13 years agoView2D - Bugfix for grid calculation for 'frames'
Joshua Leung [Sat, 6 Dec 2008 10:25:51 +0000 (10:25 +0000)]
View2D - Bugfix for grid calculation for 'frames'

Grid calculations for frames and seconds were mixed up, meaning that grid was often off.

13 years agoView2D: Code cleanup - UI_view2d_status_enforce()
Joshua Leung [Sat, 6 Dec 2008 09:25:42 +0000 (09:25 +0000)]
View2D: Code cleanup - UI_view2d_status_enforce()

This commit *should* bring UI_view2d_status_enforce() (formerly known in pre 2.5 as test_view2d) under control again.
I've attempted to reduce the amount of duplicated code here, so hopefully there won't be any nasty bugs that will show up in some of the other views when they are ported.

Summary of changes:
* Restored V2D_KEEPZOOM flag which I had previously removed, having misunderstood its function.
* Fixed bugs with resizing Outliner window
* Outliner width is now columns + 1 again. Documented reasons for this (otherwise, stuff gets covered by scrollbars, but we cannot see it)

13 years ago* seems like cur and tot were mixed up, thus preventing panning from working
Nathan Letwory [Fri, 5 Dec 2008 18:41:28 +0000 (18:41 +0000)]
* seems like cur and tot were mixed up, thus preventing panning from working

13 years agoView2D API: Cleaning up API + New Methods
Joshua Leung [Fri, 5 Dec 2008 02:03:37 +0000 (02:03 +0000)]
View2D API: Cleaning up API + New Methods

* Cleaned up flags defined for View2D, and added some for defining the alignment of the view's data in the 'tot' rect (i.e. which quadrant(s) the view data is allowed to reside in).

* These flags are used in the new UI_view2d_totRect_set() function, which sets the new size of the 'tot' rect (i.e. the maximum viewable area). Currently, is only used for Outliner, but channel-lists also require this.

* Added API method to reset 'cur' (current viewing region) to 'default' viewing region - UI_view2d_curRect_reset(). Currently, 'keepzoom' is not respected. I'll check on whether this is needed when I recode UI_view2d_status_enforce(), which is badly in need of a cleanup.

13 years ago* silence a warning
Nathan Letwory [Thu, 4 Dec 2008 20:34:37 +0000 (20:34 +0000)]
* silence a warning

13 years ago* rename some view2d defines to be clearer and more in line with the rest of view2d...
Nathan Letwory [Thu, 4 Dec 2008 20:28:59 +0000 (20:28 +0000)]
* rename some view2d defines to be clearer and more in line with the rest of view2d defines.

13 years agoSmall fix for repeat-last-operator:
Ton Roosendaal [Thu, 4 Dec 2008 09:37:42 +0000 (09:37 +0000)]
Small fix for repeat-last-operator:

- Context in WM wasn't set for regions yet, done now. So repeat works on
  per-region ops too.
- Debug print was printing the wrong repeated op.
  (repeat-op could show menu naming the op to repeat)

13 years agoView2D: Scrollbars will now pan the view when MMB-dragged on
Joshua Leung [Thu, 4 Dec 2008 09:33:12 +0000 (09:33 +0000)]
View2D: Scrollbars will now pan the view when MMB-dragged on

13 years agoView2D: Scrollbar tweaks
Joshua Leung [Thu, 4 Dec 2008 05:37:55 +0000 (05:37 +0000)]
View2D: Scrollbar tweaks

* Added back vertical scale markings for vertical scrollbars. Currently untested (until IPO Editor can be put back in). Also, there was a special exception for the Sequencer, which will need to be checked when the time comes too.

* Fixed the display of frame numbers in scrollbars. Was caused by error in using an int, where a float was required (this is one place MSVC gives better warnings than GCC).

* Outliner horizontal scrollbar now displays a more useful range. The previous range was based on screen width, not width of content.

* Outliner horizontal scrollbar now draws with bevel-highlight line again. Was missed out in a previous commit.

* Added simple toggle Frames/Seconds operator to TimeLine to test if the View2D code is working right for this. This uses the same hotkey (TKEY) as it's counterpart (with a menu for input) did in previous incarnations of Blender.

13 years agoView2D: Units on Scrollers (XAxis only)
Joshua Leung [Thu, 4 Dec 2008 02:01:42 +0000 (02:01 +0000)]
View2D: Units on Scrollers (XAxis only)

Added back units on scrollbars for anim editors (i.e. Timeline). Vertical scrollbars have yet to be done, but there's no way to test yet.

Using markers and current frame indicator (and value) as guides, it is clear that there is still some inaccuracy with the drawing of the grid or the frames/markers are drawn wrong! Will investigate further.

13 years agoRNA:
Brecht Van Lommel [Thu, 4 Dec 2008 01:58:14 +0000 (01:58 +0000)]
* DNA_key_types.h: wrapped, and added back position
  and current value, now done.

13 years agoRNA
Brecht Van Lommel [Thu, 4 Dec 2008 00:07:47 +0000 (00:07 +0000)]
* Remove some unnecessary defining of struct types for pointers.
* Review of DNA_key_types.h and added Key for Mesh and Curve.

13 years agoTweaked tooltip box drawing so that ends of tooltips don't fall of the end of the box
Joshua Leung [Wed, 3 Dec 2008 23:21:01 +0000 (23:21 +0000)]
Tweaked tooltip box drawing so that ends of tooltips don't fall of the end of the box

13 years ago2.5 - compile fixes for Elubie's commit
Joshua Leung [Wed, 3 Dec 2008 22:35:38 +0000 (22:35 +0000)]
2.5 - compile fixes for Elubie's commit

13 years agoRNA
Andrea Weikert [Wed, 3 Dec 2008 21:18:10 +0000 (21:18 +0000)]
* rna for DNA_key_types.h, also linked to key member of Lattice, others need to be checked.

13 years agoForgot this file in my last commit.
Brecht Van Lommel [Wed, 3 Dec 2008 21:13:47 +0000 (21:13 +0000)]
Forgot this file in my last commit.

13 years ago* make function to map mouse into region coords
Nathan Letwory [Wed, 3 Dec 2008 20:57:23 +0000 (20:57 +0000)]
* make function to map mouse into region coords

13 years ago* check mouse coords in right space.
Nathan Letwory [Wed, 3 Dec 2008 20:45:26 +0000 (20:45 +0000)]
* check mouse coords in right space.

13 years agoRNA
Brecht Van Lommel [Wed, 3 Dec 2008 20:17:12 +0000 (20:17 +0000)]
* Added a function to define booleans negative, to turn negative
  properties into positive ones gettin rid of the no_ prefix, and
  also got rid of the use_ prefix for two booleans.
* Also made the function for enum bitflags separate, this is quite
  rare so don't need to bother with this in most cases.
* Removed svn:executable flags from some files.

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 19:33:42 +0000 (19:33 +0000)]

Fun commit for test: the Repeat Last option.
Only the split-area Operator is now added on stack, so that's the only
one that works. Just split an area, and press F4 to repeat it anywhere.

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 18:14:52 +0000 (18:14 +0000)]

Another view2d fix: buttons now get clipped for region and mask, so
sliders will work fine, but also buttons overlapping region edges.

13 years agoA couple of small fixes to clear up some warnings.
Kent Mein [Wed, 3 Dec 2008 17:36:30 +0000 (17:36 +0000)]
A couple of small fixes to clear up some warnings.
had same variable name at different scopes so I renamed a couple.
added include that was missing.  (This maybe was going to move? the old one
was commented out)
initalized a var that needed it.


13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 17:11:50 +0000 (17:11 +0000)]

- Tooltips now respect view2d view (rna viewer).
- Bugfix in viewd.c UI_view2d_view_to_region() (typo)

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 15:49:41 +0000 (15:49 +0000)]

Fix crashing in pop-up menus when click.
There's something wrong still in handling menu itself, need Brecht
too look at that... probably a wrong return value somewhere.

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 15:05:06 +0000 (15:05 +0000)]

Error in commit that made notifier calls easier; forgot to add the
check for global vs local notifiers.

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 14:22:42 +0000 (14:22 +0000)]

Fix: the main button handler was swallowing all events. Now every button
type returns 'handled' only if it did something, so other events get nicely

This will enable MMB pan in dataviewer.

13 years ago2.5
Ton Roosendaal [Wed, 3 Dec 2008 13:44:16 +0000 (13:44 +0000)]

- Made view2d manipulations redraw on area level
- simplified call to send Notifiers:

  WM_event_add_notifier(bContext *C, int type, int value, void *data)

  This brings back more control to WM, no context messing within
  operators. :) Handlers that execute operators will be responsible
  for delivering correct contextes.

  In general: should lead to making context not exposed, but only
  readable via some callbacks.

13 years ago2.5 fixes
Ton Roosendaal [Wed, 3 Dec 2008 13:14:01 +0000 (13:14 +0000)]
2.5 fixes

- View2d bug: it was taking sliders into account for setting the
  window matrix, which it shouldn't (glViewport does). This caused
  error offset in drawing, like for current-frame scrolling.

- Current frame scrolling in TimeWindow back on window level.
  (used to crash, but that was fixed in WM)

- Made UI_view2d_region_to_view accept ints, no shorts

- removed debug function in interface_ops.c

13 years agoView2D - assorted wip changes (nothing to see here)
Joshua Leung [Wed, 3 Dec 2008 09:06:30 +0000 (09:06 +0000)]
View2D - assorted wip changes (nothing to see here)

13 years agoRNA: review of commits in the past days, check the diffs for the
Brecht Van Lommel [Tue, 2 Dec 2008 23:45:11 +0000 (23:45 +0000)]
RNA: review of commits in the past days, check the diffs for the
many small changes, but the two bigger ones are:

* Sensors and controllers now use inheritance, rather than pointing
  to the data in a separate struct. Had to add some new RNA define
  functionality to support this better.
* DNA_meta_types.h was marked as done but still missing many things,
  now completed.

13 years ago2.5
Ton Roosendaal [Tue, 2 Dec 2008 18:49:58 +0000 (18:49 +0000)]

- after closing button (having used it), it sends empty mousemove for
  invoking new modal handler on same button. Don't know better solution
  for now, at least this way WM handles everything. :)

- experiment: moved button handlers to area level, that way it respects
  handlers on higher hierarchical level, like moving area edges.
  Als interesting is that you can have a button active (texteditor) and
  use a similar button in other area.
  This can also be done on region level even.

On todo: proper notifier events for redraw! Don't want all areas to draw
on simple refreshes

13 years agoMade PyRNA props iterable, so you can do things like...
Campbell Barton [Tue, 2 Dec 2008 15:27:10 +0000 (15:27 +0000)]
Made PyRNA props iterable, so you can do things like...

for ob in bpy.objects:

for i, lay in bpy.scenes["Scene"].layer:
print('%d %d' % i, lay)

13 years agoAdded RNA functions from PyRNA
Campbell Barton [Tue, 2 Dec 2008 14:36:35 +0000 (14:36 +0000)]
Added RNA functions from PyRNA
* RNA_property_enum_value
* RNA_property_enum_identifier
To get an enum string from a value and a value from an enum.

BPy_StructRNA types (objects, meshes, images etc) can now be used as dictionary keys.

13 years agoLots of stuff; couldn't commit in parts because of refactor work.
Ton Roosendaal [Tue, 2 Dec 2008 14:22:52 +0000 (14:22 +0000)]
Lots of stuff; couldn't commit in parts because of refactor work.

* Changes in interface/ module

This commit brings back the way how buttons/menus work under control
of WM event system. The previous implementation extended usage of
handlers and operators in an interesting but confusing way. Better to
try it first according the design specs. :)

Most obviously:
- modal-handler operators are not stored anymore in regions/areas/windows.
  such modal handlers own their operator, and should remove it themselves.
- removed code to move handlers from one queue to another.
  (needs review with brecht!)
- WM fix: the API call to remove a modal handler got removed. This was a
  dangerous thing anyway, and you should leave that to the event system.
  Now, if a handler modal() call gets a cancel/finish return, it frees
  itself in event system. WM_event_remove_modal_handler was a confusing
  call anyway!


- allow button-activate to refresh after using button
- re-enable arrow keys for menus
  (do both after commit)

- review return values of operator callbacks in interface_ops.c

* Fixes in WM system

- Freeing areas/regions/windows, also on quit, now correctly closes
  running modal handlers
- On starting a modal handler, the handler now stores previous area
  and region context, so they send proper notifiers etc.

* Other fixes

- Area-split operator had bug, wrong minimal size checking. This
  solves error when trying to split a very narrow area.
- removed DNA_USHORT_FIX from screen_types.h, gave warning
- operators didn't get ID name copied when activated, needed for
  later re-use or saving.

13 years agoRNA - Wrapped a few more simple Object transforms.
Joshua Leung [Tue, 2 Dec 2008 10:10:07 +0000 (10:10 +0000)]
RNA - Wrapped a few more simple Object transforms.

Note: Rotations are still exposed directly in radians. We should probably do some wrapping around this, perhaps at UI-level?

13 years agoView2D - Some more tweaks...
Joshua Leung [Tue, 2 Dec 2008 09:43:23 +0000 (09:43 +0000)]
View2D - Some more tweaks...

* Improved scrollbar drawing a bit more - only cosmetic lines
* Added new view2d view-matrix api method to only use 'cur' coordinates on one axis, for use when drawing markers, etc. that need to be glued to a certain time but stay fixed in space in another dimension. This should improve the sitation for drawing markers
* To aid testing, adding markers now sets the marker to have frame number as it's "name". This will need to be removed later...

13 years agomingw was giving errors...
Campbell Barton [Tue, 2 Dec 2008 09:35:29 +0000 (09:35 +0000)]
mingw was giving errors...
source\blender\python\intern\bpy_rna.c:1018: error: initializer element is not constant
source\blender\python\intern\bpy_rna.c:1018: error: (near initialization for `pyrna_prop_Type.tp_get

Assign get generic get/sets before PyType_Ready runs

13 years ago* rna_property completed
Hamed Zaghaghi [Tue, 2 Dec 2008 01:05:23 +0000 (01:05 +0000)]
* rna_property completed
CAUTION: some defines like PROP_INT in DNA_property_types.h are the same
as enums in RNA_types.h, and may be encounter hidden errors in future.

13 years ago* after discussion with cambo on IRC, change the #ifndef's to #undefs instead:
Nathan Letwory [Mon, 1 Dec 2008 23:38:22 +0000 (23:38 +0000)]
* after discussion with cambo on IRC, change the #ifndef's to #undefs instead:
  Pre-Python 3.0 has strings default non-unicode, so checks and handling should be done so too.

13 years ago* make sure there are no redefinitions (I'm using py2.5 and ie PyUnicode_Check define...
Nathan Letwory [Mon, 1 Dec 2008 22:20:18 +0000 (22:20 +0000)]
* make sure there are no redefinitions (I'm using py2.5 and ie PyUnicode_Check define exists

13 years agoRNA
Andrea Weikert [Mon, 1 Dec 2008 21:23:58 +0000 (21:23 +0000)]
* DNA_packedFile_types: added rna definitions for packed files
* also experimentally filled in correct struct 'PackedFile' in image rna for testing.
* updated MSVC projectfiles (also for rna_curve.c and rna_vfont.c)

I removed PackedFile->flags, I did grep through source and a complete recompile of blender trunk svn without them too, so they obviously aren't needed anymore. A bit of cleaning up :)

13 years agoRNA: Added missing *srna's to curve functions.
Juho Vepsalainen [Mon, 1 Dec 2008 21:19:36 +0000 (21:19 +0000)]
RNA: Added missing *srna's to curve functions.

13 years ago* add debug symbols when building BF_DEBUG=True
Nathan Letwory [Mon, 1 Dec 2008 21:13:49 +0000 (21:13 +0000)]
* add debug symbols when building BF_DEBUG=True

13 years ago== MSVC9 projectfiles ==
Andrea Weikert [Mon, 1 Dec 2008 20:53:01 +0000 (20:53 +0000)]
== MSVC9 projectfiles ==
- update for several new rna files.

13 years agoRNA: Curves and VFont
Juho Vepsalainen [Mon, 1 Dec 2008 19:02:27 +0000 (19:02 +0000)]
RNA: Curves and VFont

Implemented RNA wrappers for curves and VFont. Only issue I could
not yet solve is related to struct CharInfo curinfo; . This particular
line proved to be hard to wrap and I therefore marked it as a TODO
should someone want to fix this issue.

I also cleaned up makesrna.c a bit by unifying brush/meta parts
under one call just the way it is done in the case of other

13 years agoPyRNA structs and properties can now be subtyped to add functionality in python.
Campbell Barton [Mon, 1 Dec 2008 16:59:18 +0000 (16:59 +0000)]
PyRNA structs and properties can now be subtyped to add functionality in python.
rna_actuator.c was missing an enum

13 years ago* ray_mirror naming for property grouping
Nathan Letwory [Mon, 1 Dec 2008 14:36:14 +0000 (14:36 +0000)]
* ray_mirror naming for property grouping

13 years agoRNA:
Juho Vepsalainen [Mon, 1 Dec 2008 13:01:48 +0000 (13:01 +0000)]

Implemented RNA wrapper for ModifierData.

Note that actual interface to access data of any specific modifier is
still missing. I also marked a couple of parts as TODO that should be
reviewed to decide whether or not to expose those specific parts
via RNA.

13 years agoView2D - Zoom + More Scrollbar work
Joshua Leung [Mon, 1 Dec 2008 11:37:05 +0000 (11:37 +0000)]
View2D - Zoom + More Scrollbar work

* Added basic (non-modal) zoom operators that use a uniform scale factor, with zoom centered using the view center as scaling point. Use Scrollwheel up/down and Pad +/- to use this.

* Added back the 'button'/bubble for the scrollbars. I've added dark lines on either end of it for some later work on zooming widgets.
This is not the final form they'll take. I still need to decide how to handle those scrollbars which act as grid-markers too (showing timescale, etc.), before trying to integrate that with some fancy scrollbar drawing (rounded, etc.)

Assorted changes:
* Moved vertical scrollbar for Outliner to right hand side
* Made Timeline use standard scrollbars, and turned on various clamping options
* Fixed ortho-matrix corrections for scrollbars, and added pixel offsets
* Made Timeline markers sit more snugly on the scrollbar. They were a bit far out...
* Fixed memory leak with view2d keymaps not being freed when Blender exited

13 years ago* Added checkmarks to 'table buttons' as used in RNA viewer. Helps to distinguish...
Matt Ebb [Mon, 1 Dec 2008 06:53:00 +0000 (06:53 +0000)]
* Added checkmarks to 'table buttons' as used in RNA viewer. Helps to distinguish them
a bit better.

13 years agoRNA: brush wrapping
Juho Vepsalainen [Mon, 1 Dec 2008 06:52:18 +0000 (06:52 +0000)]
RNA: brush wrapping

Wrapped most of brush. Brush is still missing a link to texture and to
BrushClone. Also PAINT_TOOL_DRAW etc. flags found on DNA_brush_types.h
need to be associated to a brush somehow. Currently they are linked
to a brush via ImagePaintSettings.

Also changed identifiers in metaball wrapping to conform with the

13 years agoRNA
Willian Padovani Germano [Mon, 1 Dec 2008 00:48:54 +0000 (00:48 +0000)]

* Tiny updates/fixes to Ipo wrapping.

13 years agoView2D - Another WIP commit
Joshua Leung [Mon, 1 Dec 2008 00:20:19 +0000 (00:20 +0000)]
View2D - Another WIP commit

* Start of basic scrollbar drawing. This will be improved. Only Outliner shows these for now, as although the Timeline should show them, the old files didn't have them turned on.

* Tidied up the view-panning operator
- Fixed naming convention
- Added user-adjustable properties (deltax, deltay in screenspace)

* Added ctrl-scrollwheel (horizontal) and shift-scrollwheel (vertical) scroll operators. These use the view-panning code too.
Unfortunately, I haven't been able to figure out why the WHEELMOUSEDOWN events don't seem to be triggering the operators!

13 years agoRNA
Willian Padovani Germano [Sun, 30 Nov 2008 23:27:10 +0000 (23:27 +0000)]

- Minor updates to Camera and start of Ipo (+ IpoDriver and IpoCurve) wrappings.

13 years ago* added rna_world with porperties of two first panel in the current UI
Hamed Zaghaghi [Sun, 30 Nov 2008 22:48:43 +0000 (22:48 +0000)]
* added rna_world with porperties of two first panel in the current UI

13 years agoRNA: Support for Metaballs and Metaelements. I did not figure out a way to test latte...
Juho Vepsalainen [Sun, 30 Nov 2008 20:18:55 +0000 (20:18 +0000)]
RNA: Support for Metaballs and Metaelements. I did not figure out a way to test latter but hopefully it works as well.

13 years ago* changed NULL properties into UnknownProperty
Hamed Zaghaghi [Sun, 30 Nov 2008 19:52:21 +0000 (19:52 +0000)]
* changed NULL properties into  UnknownProperty
* added rna_property.c and rna_actuator
* enabled access to properties and actuators from object
Note that because we have RNA_Property in the RNA itself, you can find
properties in gamelogic of and object under the name of RNA_GameProperty

13 years agoRNA:
Brecht Van Lommel [Sun, 30 Nov 2008 18:39:49 +0000 (18:39 +0000)]
* DNA_image_types.h done, except for some properties not being editable.

13 years agoRNA
Andrea Weikert [Sun, 30 Nov 2008 16:38:56 +0000 (16:38 +0000)]
* DNA_lattice_types: added rna definitions for lattice u,v,w and some flags
* updated MSVC projectfiles