[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [34179] trunk/blender/source/blender/ editors: Todo items:

Ton Roosendaal ton at blender.org
Sat Jan 8 19:37:12 CET 2011


Revision: 34179
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=34179
Author:   ton
Date:     2011-01-08 18:37:11 +0000 (Sat, 08 Jan 2011)
Log Message:
-----------
Todo items:

- Outliner: new scroll operator, PageUp PageDown scroll entire page now.
- 2D views (like buttons) PageUp PageDown now also scroll entire page.
  (they used same step as scrollwheel before)

Modified Paths:
--------------
    trunk/blender/source/blender/editors/interface/view2d_ops.c
    trunk/blender/source/blender/editors/space_outliner/outliner.c
    trunk/blender/source/blender/editors/space_outliner/outliner_intern.h
    trunk/blender/source/blender/editors/space_outliner/outliner_ops.c

Modified: trunk/blender/source/blender/editors/interface/view2d_ops.c
===================================================================
--- trunk/blender/source/blender/editors/interface/view2d_ops.c	2011-01-08 17:47:34 UTC (rev 34178)
+++ trunk/blender/source/blender/editors/interface/view2d_ops.c	2011-01-08 18:37:11 UTC (rev 34179)
@@ -410,6 +410,11 @@
 	RNA_int_set(op->ptr, "deltax", 0);
 	RNA_int_set(op->ptr, "deltay", -40);
 	
+	if(RNA_boolean_get(op->ptr, "page")) {
+		ARegion *ar= CTX_wm_region(C);
+		RNA_int_set(op->ptr, "deltay", ar->v2d.mask.ymin - ar->v2d.mask.ymax);
+	}
+	
 	/* apply movement, then we're done */
 	view_pan_apply(op);
 	view_pan_exit(op);
@@ -430,6 +435,7 @@
 	/* rna - must keep these in sync with the other operators */
 	RNA_def_int(ot->srna, "deltax", 0, INT_MIN, INT_MAX, "Delta X", "", INT_MIN, INT_MAX);
 	RNA_def_int(ot->srna, "deltay", 0, INT_MIN, INT_MAX, "Delta Y", "", INT_MIN, INT_MAX);
+	RNA_def_boolean(ot->srna, "page", 0, "Page", "Scroll down one page.");
 }
 
 
@@ -454,6 +460,11 @@
 	RNA_int_set(op->ptr, "deltax", 0);
 	RNA_int_set(op->ptr, "deltay", 40);
 	
+	if(RNA_boolean_get(op->ptr, "page")) {
+		ARegion *ar= CTX_wm_region(C);
+		RNA_int_set(op->ptr, "deltay", ar->v2d.mask.ymax - ar->v2d.mask.ymin);
+	}
+	
 	/* apply movement, then we're done */
 	view_pan_apply(op);
 	view_pan_exit(op);
@@ -474,6 +485,7 @@
 	/* rna - must keep these in sync with the other operators */
 	RNA_def_int(ot->srna, "deltax", 0, INT_MIN, INT_MAX, "Delta X", "", INT_MIN, INT_MAX);
 	RNA_def_int(ot->srna, "deltay", 0, INT_MIN, INT_MAX, "Delta Y", "", INT_MIN, INT_MAX);
+	RNA_def_boolean(ot->srna, "page", 0, "Page", "Scroll up one page.");
 }
 
 /* ********************************************************* */
@@ -1684,8 +1696,10 @@
 	WM_keymap_add_item(keymap, "VIEW2D_OT_pan", MOUSEPAN, 0, 0, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_down", WHEELDOWNMOUSE, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_up", WHEELUPMOUSE, KM_PRESS, 0, 0);
-	WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_down", PAGEDOWNKEY, KM_PRESS, 0, 0);
-	WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_up", PAGEUPKEY, KM_PRESS, 0, 0);
+	
+	RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_down", PAGEDOWNKEY, KM_PRESS, 0, 0)->ptr, "page", 1);
+	RNA_boolean_set(WM_keymap_add_item(keymap, "VIEW2D_OT_scroll_up", PAGEUPKEY, KM_PRESS, 0, 0)->ptr, "page", 1);
+	
 	WM_keymap_add_item(keymap, "VIEW2D_OT_zoom", MIDDLEMOUSE, KM_PRESS, KM_CTRL, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_zoom", MOUSEZOOM, 0, 0, 0);
 	WM_keymap_add_item(keymap, "VIEW2D_OT_zoom_out", PADMINUS, KM_PRESS, 0, 0);

Modified: trunk/blender/source/blender/editors/space_outliner/outliner.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner.c	2011-01-08 17:47:34 UTC (rev 34178)
+++ trunk/blender/source/blender/editors/space_outliner/outliner.c	2011-01-08 18:37:11 UTC (rev 34179)
@@ -1510,6 +1510,42 @@
 
 /* **************** INTERACTIVE ************* */
 
+
+static int outliner_scroll_page_exec(bContext *C, wmOperator *op)
+{
+	ARegion *ar= CTX_wm_region(C);
+	int dy= ar->v2d.mask.ymax - ar->v2d.mask.ymin;
+	int up= 0;
+	
+	if(RNA_boolean_get(op->ptr, "up"))
+		up= 1;
+
+	if(up == 0) dy= -dy;
+	ar->v2d.cur.ymin+= dy;
+	ar->v2d.cur.ymax+= dy;
+	
+	ED_region_tag_redraw(ar);
+	
+	return OPERATOR_FINISHED;
+}
+
+
+void OUTLINER_OT_scroll_page(wmOperatorType *ot)
+{
+	/* identifiers */
+	ot->name= "Scroll Page";
+	ot->idname= "OUTLINER_OT_scroll_page";
+	ot->description= "Scroll page up or down";
+	
+	/* callbacks */
+	ot->exec= outliner_scroll_page_exec;
+	ot->poll= ED_operator_outliner_active;
+	
+	/* properties */
+	RNA_def_boolean(ot->srna, "up", 0, "Up", "Scroll up one page.");
+}
+
+
 static int outliner_count_levels(SpaceOops *soops, ListBase *lb, int curlevel)
 {
 	TreeElement *te;

Modified: trunk/blender/source/blender/editors/space_outliner/outliner_intern.h
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner_intern.h	2011-01-08 17:47:34 UTC (rev 34178)
+++ trunk/blender/source/blender/editors/space_outliner/outliner_intern.h	2011-01-08 18:37:11 UTC (rev 34179)
@@ -131,6 +131,8 @@
 void OUTLINER_OT_selected_toggle(struct wmOperatorType *ot);
 void OUTLINER_OT_expanded_toggle(struct wmOperatorType *ot);
 
+void OUTLINER_OT_scroll_page(struct wmOperatorType *ot);
+
 void OUTLINER_OT_renderability_toggle(struct wmOperatorType *ot);
 void OUTLINER_OT_selectability_toggle(struct wmOperatorType *ot);
 void OUTLINER_OT_visibility_toggle(struct wmOperatorType *ot);

Modified: trunk/blender/source/blender/editors/space_outliner/outliner_ops.c
===================================================================
--- trunk/blender/source/blender/editors/space_outliner/outliner_ops.c	2011-01-08 17:47:34 UTC (rev 34178)
+++ trunk/blender/source/blender/editors/space_outliner/outliner_ops.c	2011-01-08 18:37:11 UTC (rev 34179)
@@ -56,6 +56,7 @@
 	WM_operatortype_append(OUTLINER_OT_show_one_level);
 	WM_operatortype_append(OUTLINER_OT_show_active);
 	WM_operatortype_append(OUTLINER_OT_show_hierarchy);
+	WM_operatortype_append(OUTLINER_OT_scroll_page);
 	
 	WM_operatortype_append(OUTLINER_OT_selected_toggle);
 	WM_operatortype_append(OUTLINER_OT_expanded_toggle);
@@ -91,6 +92,9 @@
 	WM_keymap_add_item(keymap, "OUTLINER_OT_show_active", PERIODKEY, KM_PRESS, 0, 0);
 	WM_keymap_add_item(keymap, "OUTLINER_OT_show_active", PADPERIOD, KM_PRESS, 0, 0);
 	
+	WM_keymap_add_item(keymap, "OUTLINER_OT_scroll_page", PAGEDOWNKEY, KM_PRESS, 0, 0);
+	RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_scroll_page", PAGEUPKEY, KM_PRESS, 0, 0)->ptr, "up", 1);
+	
 	WM_keymap_add_item(keymap, "OUTLINER_OT_show_one_level", PADPLUSKEY, KM_PRESS, 0, 0); /* open */
 	RNA_boolean_set(WM_keymap_add_item(keymap, "OUTLINER_OT_show_one_level", PADMINUS, KM_PRESS, 0, 0)->ptr, "open", 0); /* close */
 	




More information about the Bf-blender-cvs mailing list