2008-12-28 00:08:34 +00:00
|
|
|
/**
|
|
|
|
* $Id:
|
|
|
|
*
|
|
|
|
* ***** BEGIN GPL LICENSE BLOCK *****
|
|
|
|
*
|
|
|
|
* This program is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU General Public License
|
|
|
|
* as published by the Free Software Foundation; either version 2
|
|
|
|
* of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This program is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU General Public License
|
|
|
|
* along with this program; if not, write to the Free Software Foundation,
|
|
|
|
* Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
*
|
|
|
|
* The Original Code is Copyright (C) 2008 Blender Foundation.
|
|
|
|
* All rights reserved.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Contributor(s): Blender Foundation, Nathan Letwory
|
|
|
|
*
|
|
|
|
* ***** END GPL LICENSE BLOCK *****
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include "DNA_node_types.h"
|
2009-01-12 01:02:52 +00:00
|
|
|
#include "DNA_material_types.h"
|
|
|
|
#include "DNA_texture_types.h"
|
2008-12-28 00:08:34 +00:00
|
|
|
#include "DNA_scene_types.h"
|
|
|
|
#include "DNA_space_types.h"
|
|
|
|
|
|
|
|
#include "BKE_context.h"
|
|
|
|
#include "BKE_node.h"
|
|
|
|
|
|
|
|
#include "ED_space_api.h"
|
|
|
|
#include "ED_screen.h"
|
2009-07-08 16:17:47 +00:00
|
|
|
#include "ED_transform.h"
|
2009-01-02 23:58:03 +00:00
|
|
|
|
2008-12-28 00:08:34 +00:00
|
|
|
#include "RNA_access.h"
|
|
|
|
#include "RNA_define.h"
|
|
|
|
|
|
|
|
#include "WM_api.h"
|
|
|
|
#include "WM_types.h"
|
|
|
|
|
|
|
|
#include "node_intern.h"
|
|
|
|
|
|
|
|
void node_operatortypes(void)
|
|
|
|
{
|
|
|
|
WM_operatortype_append(NODE_OT_select);
|
2009-03-29 02:15:13 +00:00
|
|
|
WM_operatortype_append(NODE_OT_select_extend);
|
2009-09-14 08:47:13 +00:00
|
|
|
WM_operatortype_append(NODE_OT_select_all);
|
|
|
|
WM_operatortype_append(NODE_OT_select_linked_to);
|
|
|
|
WM_operatortype_append(NODE_OT_select_linked_from);
|
2009-01-25 15:41:17 +00:00
|
|
|
WM_operatortype_append(NODE_OT_visibility_toggle);
|
2009-03-29 02:15:13 +00:00
|
|
|
WM_operatortype_append(NODE_OT_view_all);
|
|
|
|
WM_operatortype_append(NODE_OT_select_border);
|
|
|
|
WM_operatortype_append(NODE_OT_delete);
|
2009-02-06 16:34:05 +00:00
|
|
|
WM_operatortype_append(NODE_OT_link);
|
2009-04-15 15:40:31 +00:00
|
|
|
WM_operatortype_append(NODE_OT_resize);
|
2009-02-07 14:03:34 +00:00
|
|
|
WM_operatortype_append(NODE_OT_links_cut);
|
2009-07-08 21:41:35 +00:00
|
|
|
WM_operatortype_append(NODE_OT_duplicate);
|
2008-12-28 00:08:34 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
void node_keymap(struct wmWindowManager *wm)
|
|
|
|
{
|
|
|
|
ListBase *keymap= WM_keymap_listbase(wm, "Node", SPACE_NODE, 0);
|
|
|
|
|
2009-01-27 17:12:40 +00:00
|
|
|
/* mouse select in nodes used to be both keys, it's UI elements... */
|
|
|
|
RNA_enum_set(WM_keymap_add_item(keymap, "NODE_OT_select", ACTIONMOUSE, KM_PRESS, 0, 0)->ptr, "select_type", NODE_SELECT_MOUSE);
|
2008-12-28 00:08:34 +00:00
|
|
|
RNA_enum_set(WM_keymap_add_item(keymap, "NODE_OT_select", SELECTMOUSE, KM_PRESS, 0, 0)->ptr, "select_type", NODE_SELECT_MOUSE);
|
2009-03-29 02:15:13 +00:00
|
|
|
RNA_enum_set(WM_keymap_add_item(keymap, "NODE_OT_select_extend", ACTIONMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "select_type", NODE_SELECT_MOUSE);
|
|
|
|
RNA_enum_set(WM_keymap_add_item(keymap, "NODE_OT_select_extend", SELECTMOUSE, KM_PRESS, KM_SHIFT, 0)->ptr, "select_type", NODE_SELECT_MOUSE);
|
2009-01-27 17:12:40 +00:00
|
|
|
|
2009-07-08 21:41:35 +00:00
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_duplicate", DKEY, KM_PRESS, KM_SHIFT, 0);
|
2009-07-07 17:30:39 +00:00
|
|
|
|
2009-02-06 18:38:10 +00:00
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_link", LEFTMOUSE, KM_PRESS, 0, 0);
|
2009-04-15 15:40:31 +00:00
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_resize", LEFTMOUSE, KM_PRESS, 0, 0);
|
2009-02-07 14:03:34 +00:00
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_visibility_toggle", LEFTMOUSE, KM_PRESS, 0, 0);
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_links_cut", LEFTMOUSE, KM_PRESS, KM_ALT, 0);
|
2009-02-06 16:34:05 +00:00
|
|
|
|
2009-03-29 02:15:13 +00:00
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_view_all", HOMEKEY, KM_PRESS, 0, 0);
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_select_border", BKEY, KM_PRESS, 0, 0);
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_delete", XKEY, KM_PRESS, 0, 0);
|
2009-09-14 08:47:13 +00:00
|
|
|
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_select_all", AKEY, KM_PRESS, 0, 0);
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_select_linked_to", LKEY, KM_PRESS, KM_SHIFT, 0);
|
|
|
|
WM_keymap_add_item(keymap, "NODE_OT_select_linked_from", LKEY, KM_PRESS, 0, 0);
|
2009-01-02 23:58:03 +00:00
|
|
|
|
|
|
|
transform_keymap_for_space(wm, keymap, SPACE_NODE);
|
2008-12-28 00:08:34 +00:00
|
|
|
}
|