Go to file
Ton Roosendaal ed92105857 2.5
Modal keymaps.

I've tried to make it as simple as possible, yet still using sufficient facilities to enable self-documenting UIs, saving/reading in files, and proper Python support.

The simplicity is: the 'modal keymap' just checks an event, uses event matching similarly to other keymap matching, and if there's a match it changes the event type, and sets the event value to what the modal keymap has defined. The event values are being defined using EnumPropertyItem structs, so the UI will be able to show all options in self-documenting way.
This system also allows to still handle hardcoded own events.

Tech doc:

1) define keymap
- Create map with unique name, WM_modalkeymap_add()
- Give map property definitions (EnumPropertyItem *)
  This only for UI, so user can get information on available options

2) items
- WM_modalkeymap_add_item(): give it an enum value for events

3) activate
- In keymap definition code, assign the modal keymap to operatortype
  WM_modalkeymap_assign()

4) event manager
- The event handler will check for modal keymap, if so:
  - If the modal map has a match:
    - Sets event->type to EVT_MODAL_MAP
    - Sets event->val to the enum value

5) modal handler
- If event type is EVT_MODAL_MAP:
  - Check event->val, handle it
- Other events can just be handled still

Two examples added in the code:

editors/transform/transform.c: transform_modal_keymap()
editors/screen/screen_ops.c: keymap_modal_set()

Also: to support 'key release' the define KM_RELEASE now is officially
used in event manager, this is not '0', so don't check key events with
the old convention if(event->val) but use if(event->val==KM_PRESS)
2009-07-21 11:03:07 +00:00
bin/.blender Move Korean file from kr to ko also updated it to newer file. 2008-09-29 15:02:20 +00:00
blenderplayer binreloc wasnt working with cmake. 2009-07-19 19:36:56 +00:00
CMake CMake patch from Alexander Neundorf 2009-06-27 22:48:39 +00:00
config Make linux/scons default to python 3.1 rather then the version scons runs with. 2009-07-21 10:13:20 +00:00
doc * add Brecht's small patch to make values to BF_QUICK and BF_QUICKDEBUG function as partial search entries. 2008-11-09 21:00:49 +00:00
extern binreloc wasnt working with cmake. 2009-07-19 19:36:56 +00:00
intern SCons 2009-07-16 19:41:28 +00:00
po Automatic consistency check of generated vs commited .mo files. 2009-04-03 12:11:09 +00:00
projectfiles 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19323:HEAD 2009-04-20 15:06:46 +00:00
projectfiles_vc7 2.50: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r19323:HEAD 2009-04-20 15:06:46 +00:00
projectfiles_vc9 2.5 MSVC projectfiles 2009-07-11 17:29:53 +00:00
release 2.5 - Restoring Bone Groups 2009-07-21 10:18:08 +00:00
source 2.5 2009-07-21 11:03:07 +00:00
tools SCons 2009-07-16 19:41:28 +00:00
CMakeLists.txt cmake option to disable SDL, 2009-07-20 10:24:53 +00:00
COPYING Biiig commit! Thanks to 2-3 weeks of cvs freeze... 2004-12-27 19:28:52 +00:00
Makefile Makefile updates for Blender 2.5 (from GSR) 2009-03-19 01:50:45 +00:00
README Patch #17310: Fixing urls in main README 2008-07-12 06:18:06 +00:00
SConstruct Spring Cleaning 2009-06-21 16:18:38 +00:00

Welcome to the fun world of open source.

For instructions on building and installing Blender, please see the file named
INSTALL.


---------------------.Blanguages and the .blender directory---------------------

The .blender directory holds various data files for Blender.
In the 2.28a release those are the .Blanguages file containing a list of
translations, the translations themselves and a default ttf font.

Blender checks for the presence of this directory in several locations:
	- the current directory
	- your home directory
	- On OSX, the blender bundle is also checked 
	- On Windows, the installation dir is checked.

If you get a 'File ".Blanguages" not found' warning, try to copy the .blender
dir to one of these locations (your home directory being recommended).



-------------------------------------Links--------------------------------------

Getting Involved:
http://www.blender.org/community/get-involved

Community:
http://www.blender.org/Community

Main blender development site:
http://www.blender.org

The Blender project homepage:
http://projects.blender.org/projects/bf-blender

Documentation:
http://www.blender.org/education-help

Bug tracker:
http://www.blender.org/development/report-a-bug

Feature request tracker:
http://wiki.blender.org/index.php/Requests