[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [18372] branches/blender2.5/blender/source /blender: 2.5
Ton Roosendaal
ton at blender.org
Tue Jan 6 19:14:38 CET 2009
Revision: 18372
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=18372
Author: ton
Date: 2009-01-06 19:14:37 +0100 (Tue, 06 Jan 2009)
Log Message:
-----------
2.5
Cleaned area prevspace, and made exported API for it.
Also added operator-free on 'cancel' in filewindow.
Modified Paths:
--------------
branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
branches/blender2.5/blender/source/blender/editors/screen/area.c
branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
Modified: branches/blender2.5/blender/source/blender/editors/include/ED_screen.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/editors/include/ED_screen.h 2009-01-06 18:14:37 UTC (rev 18372)
@@ -68,6 +68,8 @@
void ED_area_tag_refresh(ScrArea *sa);
void ED_area_do_refresh(struct bContext *C, ScrArea *sa);
void ED_area_headerprint(ScrArea *sa, const char *str);
+void ED_area_newspace(struct bContext *C, ScrArea *sa, int type);
+void ED_area_prevspace(struct bContext *C);
/* screens */
void ED_screens_initialize(struct wmWindowManager *wm);
Modified: branches/blender2.5/blender/source/blender/editors/screen/area.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/area.c 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/editors/screen/area.c 2009-01-06 18:14:37 UTC (rev 18372)
@@ -586,10 +586,9 @@
#endif
}
-/* *********** Space switching code, local now *********** */
-/* XXX make operator for this */
+/* *********** Space switching code *********** */
-void area_newspace(bContext *C, ScrArea *sa, int type)
+void ED_area_newspace(bContext *C, ScrArea *sa, int type)
{
if(sa->spacetype != type) {
SpaceType *st;
@@ -646,10 +645,12 @@
/* tell WM to refresh, cursor types etc */
WM_event_add_mousemove(C);
+
+ ED_area_tag_redraw(sa);
}
}
-void area_prevspace(bContext *C)
+void ED_area_prevspace(bContext *C)
{
SpaceLink *sl= CTX_wm_space_data(C);
ScrArea *sa= CTX_wm_area(C);
@@ -665,12 +666,7 @@
#endif
if(sl->next) {
-
- BLI_remlink(&sa->spacedata, sl);
- BLI_addtail(&sa->spacedata, sl);
- sl= sa->spacedata.first;
-
#if 0 // XXX check whether this is still needed
if (sfile->spacetype == SPACE_SCRIPT) {
SpaceScript *sc = (SpaceScript *)sfile;
@@ -678,11 +674,12 @@
}
#endif
- area_newspace(C, sa, SPACE_FILE);
+ ED_area_newspace(C, sa, sl->next->spacetype);
}
else {
- area_newspace(C, sa, SPACE_INFO);
+ ED_area_newspace(C, sa, SPACE_INFO);
}
+ ED_area_tag_redraw(sa);
}
static char *windowtype_pup(void)
@@ -725,7 +722,7 @@
static void spacefunc(struct bContext *C, void *arg1, void *arg2)
{
- area_newspace(C, CTX_wm_area(C), CTX_wm_area(C)->butspacetype);
+ ED_area_newspace(C, CTX_wm_area(C), CTX_wm_area(C)->butspacetype);
ED_area_tag_redraw(CTX_wm_area(C));
}
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_edit.c 2009-01-06 18:14:37 UTC (rev 18372)
@@ -1282,7 +1282,7 @@
/* returns the top small area */
newa= area_split(CTX_wm_window(C), sc, (ScrArea *)sc->areabase.first, 'h', 0.99f);
- area_newspace(C, newa, SPACE_INFO);
+ ED_area_newspace(C, newa, SPACE_INFO);
/* copy area */
newa= newa->prev;
Modified: branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h
===================================================================
--- branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/editors/screen/screen_intern.h 2009-01-06 18:14:37 UTC (rev 18372)
@@ -34,8 +34,6 @@
/* area.c */
void area_copy_data (ScrArea *sa1, ScrArea *sa2, int swap_space);
-void area_newspace(bContext *C, ScrArea *sa, int type);
-void area_prevspace(bContext *C);
/* screen_edit.c */
bScreen *screen_add(struct wmWindow *win, struct Scene *scene, char *name);
Modified: branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c
===================================================================
--- branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/editors/space_file/file_draw.c 2009-01-06 18:14:37 UTC (rev 18372)
@@ -49,8 +49,6 @@
#include "DNA_userdef_types.h"
#include "DNA_windowmanager_types.h"
-#include "ED_fileselect.h"
-
#include "IMB_imbuf_types.h"
#include "IMB_imbuf.h"
@@ -60,6 +58,9 @@
#include "RNA_access.h"
+#include "ED_fileselect.h"
+#include "ED_screen.h"
+
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
@@ -86,9 +87,6 @@
B_FS_CANCEL,
} eFile_ButEvents;
-// XXX for Ton: bad level, maybe needs export in ED_screen?
-extern void area_prevspace(bContext *C);
-
static void do_file_buttons(bContext *C, void *arg, int event)
{
SpaceFile *sfile= (SpaceFile*)CTX_wm_space_data(C);
@@ -97,7 +95,7 @@
{
char name[FILE_MAX];
- area_prevspace(C);
+ ED_area_prevspace(C);
if(sfile->op) {
wmOperator *op= sfile->op;
@@ -117,9 +115,12 @@
}
break;
case B_FS_CANCEL:
- /* XXX for Ton: the call to area_prevspace crashes
- area_prevspace(C);
- */
+ if(sfile->op) {
+ WM_operator_free(sfile->op);
+ sfile->op = NULL;
+ }
+ ED_area_prevspace(C);
+
break;
}
}
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_init_exit.c 2009-01-06 18:14:37 UTC (rev 18372)
@@ -82,6 +82,7 @@
#include "wm_files.h"
#include "wm_window.h"
+#include "ED_space_api.h"
#include "ED_screen.h"
#include "ED_util.h"
Modified: branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c
===================================================================
--- branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-01-06 18:10:13 UTC (rev 18371)
+++ branches/blender2.5/blender/source/blender/windowmanager/intern/wm_operators.c 2009-01-06 18:14:37 UTC (rev 18372)
@@ -309,9 +309,6 @@
return OPERATOR_RUNNING_MODAL;
}
-// XXX for Ton: bad level, maybe this needs export in ED_screen?
-extern void area_newspace(bContext *C, ScrArea *sa, int type);
-
static void WM_OT_open_recentfile(wmOperatorType *ot)
{
ot->name= "Open Recent File";
@@ -364,9 +361,9 @@
CTX_wm_screen_set(C, newsc);
sa= (ScrArea*)newsc->areabase.first;
CTX_wm_area_set(C, sa);
- area_newspace(C, sa, SPACE_FILE);
+ ED_area_newspace(C, sa, SPACE_FILE);
#else
- area_newspace(C, oldsa, SPACE_FILE);
+ ED_area_newspace(C, oldsa, SPACE_FILE);
#endif
/* settings for filebrowser */
More information about the Bf-blender-cvs
mailing list