- fix: user pref, window title was reset to 'Blender' on tab usage
- Undo history menu back:
  - name "Undo History"
  - hotkey alt+ctrl+z (alt+apple+z for mac)
  - works like 2.4x, only for global undo, editmode and particle edit.
- Menu scroll
  - for small windows or screens, popup menus now allow to display
    all items, using internal scrolling
  - works with a timer, scrolling 10 items per second when mouse 
    is over the top or bottom arrow
  - if menu is too big to display, it now draws to top or bottom, 
    based on largest available space.
  - also works for hotkey driven pop up menus.
- User pref "DPI" follows widget/layout size
  - widgets & headers now become bigger and smaller, to match 
    'dpi' font sizes. Works well to match UI to monitor size.
  - note that icons can get fuzzy, we need better mipmaps for it
		
	
		
			
				
	
	
		
			123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			123 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /*
 | |
|  * $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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 | |
|  *
 | |
|  * The Original Code is Copyright (C) 2008 Blender Foundation.
 | |
|  * All rights reserved.
 | |
|  *
 | |
|  * 
 | |
|  * Contributor(s): Blender Foundation
 | |
|  *
 | |
|  * ***** END GPL LICENSE BLOCK *****
 | |
|  */
 | |
| 
 | |
| /** \file blender/editors/space_script/script_header.c
 | |
|  *  \ingroup spscript
 | |
|  */
 | |
| 
 | |
| 
 | |
| #include <string.h>
 | |
| #include <stdio.h>
 | |
| 
 | |
| #include "BLI_blenlib.h"
 | |
| #include "BLI_utildefines.h"
 | |
| 
 | |
| 
 | |
| #include "BKE_context.h"
 | |
| 
 | |
| #include "ED_screen.h"
 | |
| #include "ED_types.h"
 | |
| #include "ED_util.h"
 | |
| 
 | |
| #include "UI_interface.h"
 | |
| #include "UI_resources.h"
 | |
| #include "UI_view2d.h"
 | |
| 
 | |
| #include "script_intern.h"
 | |
| 
 | |
| /* ************************ header area region *********************** */
 | |
| 
 | |
| static void do_viewmenu(bContext *UNUSED(C), void *UNUSED(arg), int UNUSED(event))
 | |
| {
 | |
| 	
 | |
| }
 | |
| 
 | |
| static uiBlock *dummy_viewmenu(bContext *C, ARegion *ar, void *UNUSED(arg))
 | |
| {
 | |
| 	ScrArea *curarea= CTX_wm_area(C);
 | |
| 	uiBlock *block;
 | |
| 	short yco= 0, menuwidth=120;
 | |
| 	
 | |
| 	block= uiBeginBlock(C, ar, "dummy_viewmenu", UI_EMBOSSP);
 | |
| 	uiBlockSetButmFunc(block, do_viewmenu, NULL);
 | |
| 	
 | |
| 	uiDefIconTextBut(block, BUTM, 1, ICON_BLANK1, "Nothing yet", 0, yco-=20, 
 | |
| 					 menuwidth, 19, NULL, 0.0, 0.0, 1, 3, "");
 | |
| 	
 | |
| 	if(curarea->headertype==HEADERTOP) {
 | |
| 		uiBlockSetDirection(block, UI_DOWN);
 | |
| 	}
 | |
| 	else {
 | |
| 		uiBlockSetDirection(block, UI_TOP);
 | |
| 		uiBlockFlipOrder(block);
 | |
| 	}
 | |
| 	
 | |
| 	uiTextBoundsBlock(block, 50);
 | |
| 	uiEndBlock(C, block);
 | |
| 	
 | |
| 	return block;
 | |
| }
 | |
| 
 | |
| static void do_script_buttons(bContext *UNUSED(C), void *UNUSED(arg), int UNUSED(event))
 | |
| {
 | |
| 	//switch(event) {
 | |
| 	//}
 | |
| }
 | |
| 
 | |
| 
 | |
| void script_header_buttons(const bContext *C, ARegion *ar)
 | |
| {
 | |
| 	ScrArea *sa= CTX_wm_area(C);
 | |
| 	uiBlock *block;
 | |
| 	int xco, yco= 3;
 | |
| 	
 | |
| 	block= uiBeginBlock(C, ar, "header buttons", UI_EMBOSS);
 | |
| 	uiBlockSetHandleFunc(block, do_script_buttons, NULL);
 | |
| 	
 | |
| 	xco= ED_area_header_standardbuttons(C, block, yco);
 | |
| 	
 | |
| 	if((sa->flag & HEADER_NO_PULLDOWN)==0) {
 | |
| 		int xmax;
 | |
| 		
 | |
| 		xmax= GetButStringLength("View");
 | |
| 		uiDefPulldownBut(block, dummy_viewmenu, CTX_wm_area(C), 
 | |
| 						 "View", xco, yco-2, xmax-3, UI_UNIT_Y, "");
 | |
| 		xco+=UI_UNIT_X+xmax;
 | |
| 	}
 | |
| 	
 | |
| 	uiBlockSetEmboss(block, UI_EMBOSS);
 | |
| 
 | |
| 	/* always as last  */
 | |
| 	UI_view2d_totRect_set(&ar->v2d, xco+UI_UNIT_X+80, ar->v2d.tot.ymax-ar->v2d.tot.ymin);
 | |
| 	
 | |
| 	uiEndBlock(C, block);
 | |
| 	uiDrawBlock(C, block);
 | |
| }
 | |
| 
 | |
| 
 |