Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brechtvanlommel@pandora.be>2008-12-26 16:11:04 +0300
committerBrecht Van Lommel <brechtvanlommel@pandora.be>2008-12-26 16:11:04 +0300
commit233509245615d06f0274d04940ad67d8e636d7f0 (patch)
tree4c29f431c3ee2680bb76ff1cc5420f75ad089dbb /source/blender/makesdna/DNA_screen_types.h
parent7715e45a7adf2cc07856956aef27fc6359af94e1 (diff)
UI: Panels
* API and usage is basically the same still. * Panels were moved to region level. I first thought of keeping them at area level, but having them at region level it's simpler to handle events and do drawing, and also to integrate with view2d. They can still become area level overlapping regions, if we make a floating (or docked) region that can contain panels. * Added back a few panels from the scene buttons for testing. Issues still: * The view2d handling and alignment refresh of panels is not correct yet in the buttons window. * I did not yet bring back the block handlers system. It was basically a system that stored which panel was open and where the events for that panel would go. Just a few functions, but not sure how it fits in 2.5. * There was a case where dragging panels would not properly remove the window level handler, but could not redo anymore even though I don't think I fixed it. * Some text in the panels goes past the end of the button, that is due to the checkmark button drawing, not related to this commit. Other UI code changes: * Renamed interface.h to interface_intern.h for consistency. * Fixed some issues with freeing of blocks when they changed due to context. * uiDrawBlock now takes a context pointer (mostly for block drawextra).
Diffstat (limited to 'source/blender/makesdna/DNA_screen_types.h')
-rw-r--r--source/blender/makesdna/DNA_screen_types.h12
1 files changed, 6 insertions, 6 deletions
diff --git a/source/blender/makesdna/DNA_screen_types.h b/source/blender/makesdna/DNA_screen_types.h
index af8597ba54d..9de835da9f1 100644
--- a/source/blender/makesdna/DNA_screen_types.h
+++ b/source/blender/makesdna/DNA_screen_types.h
@@ -36,6 +36,7 @@
struct SpaceType;
struct SpaceLink;
+struct ARegion;
struct ARegionType;
struct Scene;
struct wmTimer;
@@ -88,9 +89,9 @@ typedef struct Panel { /* the part from uiBlock that needs saved in file */
short flag, active; /* active= used currently by a uiBlock */
short control;
short snap;
- short old_ofsx, old_ofsy; /* for stow */
- int sortcounter; /* when sorting panels, it uses this to put new ones in right place */
+ int sortcounter, pad; /* when sorting panels, it uses this to put new ones in right place */
struct Panel *paneltab; /* this panel is tabbed in *paneltab */
+ void *activedata; /* runtime for panel manipulation */
} Panel;
typedef struct ScrArea {
@@ -112,9 +113,7 @@ typedef struct ScrArea {
struct SpaceType *type; /* callbacks for this space type */
- ListBase spacedata;
- ListBase uiblocks; /* uiBlock */
- ListBase panels;
+ ListBase spacedata; /* SpaceLink */
ListBase regionbase; /* ARegion */
ListBase handlers; /* wmEventHandler */
@@ -141,7 +140,8 @@ typedef struct ARegion {
struct ARegionType *type; /* callbacks for this region type */
- ListBase uiblocks;
+ ListBase uiblocks; /* uiBlock */
+ ListBase panels; /* Panel */
ListBase handlers; /* wmEventHandler */
char *headerstr; /* use this string to draw info */