[Bf-committers] [Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51768] trunk/blender/source/blender/ editors: Usability: Logic editor
Ton Roosendaal
ton at blender.org
Tue Oct 30 18:38:02 CET 2012
Hi,
>
> (1) when horizontal scroll is on, the bottom buttons are "cropped":
> http://www.pasteall.org/pic/39748
That's standard drawing... in node editor i added a clear rect to hide the effect.
> (2) when I do the pan gesture at once (instead of continuously) with
> the OSX trackpad it pan and zoom altogether (I would expected it only
> to zoom).
Event handling for logic editor is default View2D map - you can make a special one for it.
I also think it should scroll-wheel scroll down/up, not zoom.
> (3) the home is not viewing all, e.g. this is a screen after I press
> HOME (you can't see the actuators) http://www.pasteall.org/pic/39749
Also this is default view2d map. It shows all zoomlevel 1!
-Ton-
>
> Cheers,
> Dalai
>
> 2012/10/30 Ton Roosendaal <ton at blender.org>:
>> Revision: 51768
>> http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51768
>> Author: ton
>> Date: 2012-10-30 15:33:03 +0000 (Tue, 30 Oct 2012)
>> Log Message:
>> -----------
>> Usability: Logic editor
>>
>> - View now restricts to the actual region you work on. Makes zoom and pan nicer.
>> - Added HOME for reset view to 1:1 zoom level.
>>
>> Also: fixed nasty bug in view2d code that checked validity of 2d views, only
>> showed (afaik) in the logic eidtor though.
>>
>> Effect was that zoom in/out would weirdly jump when going across zoomlevel 1.
>>
>> Modified Paths:
>> --------------
>> trunk/blender/source/blender/editors/interface/view2d.c
>> trunk/blender/source/blender/editors/space_logic/logic_window.c
>> trunk/blender/source/blender/editors/space_logic/space_logic.c
>>
>> Modified: trunk/blender/source/blender/editors/interface/view2d.c
>> ===================================================================
>> --- trunk/blender/source/blender/editors/interface/view2d.c 2012-10-30 14:22:49 UTC (rev 51767)
>> +++ trunk/blender/source/blender/editors/interface/view2d.c 2012-10-30 15:33:03 UTC (rev 51768)
>> @@ -599,7 +599,7 @@
>> if ((cur->xmin < tot->xmin) && (cur->xmax > tot->xmax)) {
>> /* outside boundaries on both sides, so take middle-point of tot, and place in balanced way */
>> temp = BLI_rctf_cent_x(tot);
>> - diff = curheight * 0.5f;
>> + diff = curwidth * 0.5f;
>>
>> cur->xmin = temp - diff;
>> cur->xmax = temp + diff;
>>
>> Modified: trunk/blender/source/blender/editors/space_logic/logic_window.c
>> ===================================================================
>> --- trunk/blender/source/blender/editors/space_logic/logic_window.c 2012-10-30 14:22:49 UTC (rev 51767)
>> +++ trunk/blender/source/blender/editors/space_logic/logic_window.c 2012-10-30 15:33:03 UTC (rev 51768)
>> @@ -56,6 +56,7 @@
>> #include "BKE_library.h"
>> #include "BKE_main.h"
>> #include "BKE_sca.h"
>> +#include "BKE_screen.h"
>>
>> #include "ED_util.h"
>>
>> @@ -66,6 +67,7 @@
>> #include "BLF_translation.h"
>>
>> #include "UI_interface.h"
>> +#include "UI_view2d.h"
>>
>> #include "RNA_access.h"
>>
>> @@ -2208,15 +2210,13 @@
>> SpaceLogic *slogic= CTX_wm_space_logic(C);
>> Object *ob= CTX_data_active_object(C);
>> ID **idar;
>> -
>> PointerRNA logic_ptr, settings_ptr, object_ptr;
>> -
>> uiLayout *layout, *row, *box;
>> uiBlock *block;
>> uiBut *but;
>> char uiblockstr[32];
>> short a, count;
>> - int xco, yco, width;
>> + int xco, yco, width, height;
>>
>> if (ob==NULL) return;
>>
>> @@ -2270,7 +2270,7 @@
>>
>> /* ****************** Controllers ****************** */
>>
>> - xco= 420; yco= 170; width= 300;
>> + xco= 420; yco= -10; width= 300;
>> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, xco, yco, width, 20, UI_GetStyle());
>> row = uiLayoutRow(layout, TRUE);
>>
>> @@ -2373,11 +2373,11 @@
>> }
>> }
>> uiBlockLayoutResolve(block, NULL, &yco); /* stores final height in yco */
>> + height = yco;
>>
>> -
>> /* ****************** Sensors ****************** */
>>
>> - xco= 10; yco= 170; width= 340;
>> + xco= 10; yco= -10; width= 340;
>> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, xco, yco, width, 20, UI_GetStyle());
>> row = uiLayoutRow(layout, TRUE);
>>
>> @@ -2442,10 +2442,11 @@
>> }
>> }
>> uiBlockLayoutResolve(block, NULL, &yco); /* stores final height in yco */
>> + height = MIN2(height, yco);
>>
>> /* ****************** Actuators ****************** */
>>
>> - xco= 800; yco= 170; width= 340;
>> + xco= 800; yco= -10; width= 340;
>> layout= uiBlockLayout(block, UI_LAYOUT_VERTICAL, UI_LAYOUT_PANEL, xco, yco, width, 20, UI_GetStyle());
>> row = uiLayoutRow(layout, TRUE);
>>
>> @@ -2513,13 +2514,21 @@
>> }
>> }
>> uiBlockLayoutResolve(block, NULL, &yco); /* stores final height in yco */
>> + height = MIN2(height, yco);
>> +
>> + UI_view2d_totRect_set(&ar->v2d, 1150, height);
>>
>> -
>> + /* set the view */
>> + UI_view2d_view_ortho(&ar->v2d);
>> +
>> uiComposeLinks(block);
>>
>> uiEndBlock(C, block);
>> uiDrawBlock(C, block);
>>
>> + /* restore view matrix */
>> + UI_view2d_view_restore(C);
>> +
>> if (idar) MEM_freeN(idar);
>> }
>>
>>
>> Modified: trunk/blender/source/blender/editors/space_logic/space_logic.c
>> ===================================================================
>> --- trunk/blender/source/blender/editors/space_logic/space_logic.c 2012-10-30 14:22:49 UTC (rev 51767)
>> +++ trunk/blender/source/blender/editors/space_logic/space_logic.c 2012-10-30 15:33:03 UTC (rev 51768)
>> @@ -84,8 +84,9 @@
>>
>> /* ******************** default callbacks for image space ***************** */
>>
>> -static SpaceLink *logic_new(const bContext *UNUSED(C))
>> +static SpaceLink *logic_new(const bContext *C)
>> {
>> + ScrArea *sa= CTX_wm_area(C);
>> ARegion *ar;
>> SpaceLogic *slogic;
>>
>> @@ -120,14 +121,11 @@
>> ar->regiontype= RGN_TYPE_WINDOW;
>>
>> ar->v2d.tot.xmin = 0.0f;
>> - ar->v2d.tot.ymin = 0.0f;
>> - ar->v2d.tot.xmax = 1280;
>> - ar->v2d.tot.ymax = 240.0f;
>> + ar->v2d.tot.ymax = 0.0f;
>> + ar->v2d.tot.xmax = 1150.0f;
>> + ar->v2d.tot.ymin = ( 1150.0f/(float)sa->winx ) * (float)-sa->winy;
>>
>> - ar->v2d.cur.xmin = 0.0f;
>> - ar->v2d.cur.ymin = 0.0f;
>> - ar->v2d.cur.xmax = 1280.0f;
>> - ar->v2d.cur.ymax = 240.0f;
>> + ar->v2d.cur = ar->v2d.tot;
>>
>> ar->v2d.min[0] = 1.0f;
>> ar->v2d.min[1] = 1.0f;
>> @@ -136,13 +134,14 @@
>> ar->v2d.max[1] = 32000.0f;
>>
>> ar->v2d.minzoom = 0.5f;
>> - ar->v2d.maxzoom = 1.21f;
>> + ar->v2d.maxzoom = 1.5f;
>>
>> ar->v2d.scroll = (V2D_SCROLL_RIGHT | V2D_SCROLL_BOTTOM);
>> - ar->v2d.keepzoom = V2D_LIMITZOOM | V2D_KEEPASPECT;
>> - ar->v2d.keeptot = 0;
>> + ar->v2d.keepzoom = V2D_KEEPZOOM | V2D_LIMITZOOM | V2D_KEEPASPECT;
>> + ar->v2d.keeptot = V2D_KEEPTOT_BOUNDS;
>> + ar->v2d.align = V2D_ALIGN_NO_POS_Y | V2D_ALIGN_NO_NEG_X;
>> + ar->v2d.keepofs = V2D_KEEPOFS_Y;
>>
>> -
>> return (SpaceLink *)slogic;
>> }
>>
>> @@ -183,6 +182,9 @@
>> WM_keymap_add_item(keymap, "LOGIC_OT_properties", NKEY, KM_PRESS, 0, 0);
>> WM_keymap_add_item(keymap, "LOGIC_OT_links_cut", LEFTMOUSE, KM_PRESS, KM_CTRL, 0);
>> WM_keymap_add_menu(keymap, "LOGIC_MT_logicbricks_add", AKEY, KM_PRESS, KM_SHIFT, 0);
>> +
>> + WM_keymap_add_item(keymap, "VIEW2D_OT_reset", HOMEKEY, KM_PRESS, 0, 0);
>> +
>> }
>>
>> static void logic_refresh(const bContext *UNUSED(C), ScrArea *UNUSED(sa))
>> @@ -234,7 +236,7 @@
>> wmKeyMap *keymap;
>>
>> UI_view2d_region_reinit(&ar->v2d, V2D_COMMONVIEW_CUSTOM, ar->winx, ar->winy);
>> -
>> +
>> /* own keymaps */
>> keymap = WM_keymap_find(wm->defaultconf, "Logic Editor", SPACE_LOGIC, 0);
>> WM_event_add_keymap_handler(&ar->handlers, keymap);
>> @@ -259,7 +261,7 @@
>> UI_view2d_view_restore(C);
>>
>> /* scrollers */
>> - scrollers= UI_view2d_scrollers_calc(C, v2d, 10, V2D_GRID_CLAMP, V2D_ARG_DUMMY, V2D_ARG_DUMMY);
>> + scrollers= UI_view2d_scrollers_calc(C, v2d, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY, V2D_ARG_DUMMY);
>> UI_view2d_scrollers_draw(C, v2d, scrollers);
>> UI_view2d_scrollers_free(scrollers);
>>
>>
>> _______________________________________________
>> Bf-blender-cvs mailing list
>> Bf-blender-cvs at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-blender-cvs
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers
More information about the Bf-committers
mailing list