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:
authorTon Roosendaal <ton@blender.org>2004-10-06 22:55:00 +0400
committerTon Roosendaal <ton@blender.org>2004-10-06 22:55:00 +0400
commitd5e0c065bc58a8a6e45a5ffee58fb97f120228e6 (patch)
treece4f18cb2b3a010441a5011f8d89065da5699f44 /source/blender/include
parentd5e1d1844a6aba0fc66e456b3fa3e70a9e4e98e1 (diff)
Version 1.0 of the new Outliner
The outliner is a hierarchical diagram displaying a list of data in Blender and its dependencies. The 'databrowse' doesn't really show it, and Oops is too chaotic still. And most of all, the former two don't offer much tools. After discussions on irc, Matt came with this design proposal; http://mke3.net/blender/interface/layout/outliner/ Which is closely followed for the implementation. The current version only shows all 'library data' in Blender (objects, meshes, ipos, etc) and not the 'direct data' such as vertex groups or NLA. I decided to make it inside the Oopw window, as an option. You can find the option in the "View" pulldown, or directly invoke it with ALT+SHIFT+F9 Here's a quick overview of the Outliner GUI: - Header pulldown has options what it can show (Visible = in current layers) - click on triangle arrow to open/close - press AKEY to open/close all - Leftmouse click on an item activates; and does based on type a couple of extra things: - activates a scene - selects/activates the Object - enters editmode (if clicked on Mesh, Curve, etc) - shows the appropriate Shading buttons (Lamp, Material, Texture) - sets the IpoWindow to the current IPO - activates the Ipo-channel in an Action - Selected and Active objects are drawn in its Theme selection color - SHIFT+click on Object does extend-select - Press DOTkey to get the current active data in center of view TODO; - rightmouse selection; for indicating operations like delete or duplicate - showing more data types - icon (re)design... - lotsof options as described in Matts paper still...
Diffstat (limited to 'source/blender/include')
-rw-r--r--source/blender/include/BIF_butspace.h2
-rw-r--r--source/blender/include/BIF_drawscript.h1
-rw-r--r--source/blender/include/BIF_drawtext.h1
-rw-r--r--source/blender/include/BIF_editaction.h3
-rw-r--r--source/blender/include/BIF_editnla.h1
-rw-r--r--source/blender/include/BIF_imasel.h1
-rw-r--r--source/blender/include/BIF_outliner.h55
-rw-r--r--source/blender/include/BIF_resources.h12
-rw-r--r--source/blender/include/BIF_space.h17
-rw-r--r--source/blender/include/butspace.h1
10 files changed, 69 insertions, 25 deletions
diff --git a/source/blender/include/BIF_butspace.h b/source/blender/include/BIF_butspace.h
index 35f539482b0..9f5d4034b8b 100644
--- a/source/blender/include/BIF_butspace.h
+++ b/source/blender/include/BIF_butspace.h
@@ -40,7 +40,7 @@ struct ID;
/* external, butspace.c */
extern void do_butspace(unsigned short event);
-extern void redraw_test_buttons(struct Base *new);
+extern void redraw_test_buttons(struct Object *new);
/* buts->mainb old */
#define BUTS_VIEW 0
diff --git a/source/blender/include/BIF_drawscript.h b/source/blender/include/BIF_drawscript.h
index 3435ffd1be1..b50f12e836b 100644
--- a/source/blender/include/BIF_drawscript.h
+++ b/source/blender/include/BIF_drawscript.h
@@ -36,7 +36,6 @@
struct ScrArea;
struct SpaceScript;
-void init_scriptspace(struct ScrArea *sa);
void free_scriptspace(struct SpaceScript *sc);
#endif /* BIF_DRAWSCRIPT_H */
diff --git a/source/blender/include/BIF_drawtext.h b/source/blender/include/BIF_drawtext.h
index b0ec7a74ea3..8b7ef3e44d7 100644
--- a/source/blender/include/BIF_drawtext.h
+++ b/source/blender/include/BIF_drawtext.h
@@ -39,7 +39,6 @@ struct Text;
void unlink_text(struct Text *text);
-void init_textspace(struct ScrArea *sa);
void free_textspace(struct SpaceText *st);
void txt_write_file(struct Text *text);
diff --git a/source/blender/include/BIF_editaction.h b/source/blender/include/BIF_editaction.h
index e0e1d3cc6c6..6463e075995 100644
--- a/source/blender/include/BIF_editaction.h
+++ b/source/blender/include/BIF_editaction.h
@@ -59,5 +59,8 @@ void borderselect_action(void);
void deselect_actionchannel_keys(bAction *act, int test);
void deselect_meshchannel_keys (Key *key, int test);
+int select_channel(bAction *act, bActionChannel *chan, int selectmode);
+
+
#endif
diff --git a/source/blender/include/BIF_editnla.h b/source/blender/include/BIF_editnla.h
index 141c2309d80..b8276d2976c 100644
--- a/source/blender/include/BIF_editnla.h
+++ b/source/blender/include/BIF_editnla.h
@@ -34,6 +34,7 @@
#define BIF_EDITNLA_H
void clever_numbuts_nla(void);
+extern void winqreadnlaspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
/* NLA channel operations */
void delete_nlachannel_keys(void);
diff --git a/source/blender/include/BIF_imasel.h b/source/blender/include/BIF_imasel.h
index 079f8e372f9..d6a1800730b 100644
--- a/source/blender/include/BIF_imasel.h
+++ b/source/blender/include/BIF_imasel.h
@@ -51,7 +51,6 @@ void get_next_image(struct SpaceImaSel *simasel);
void get_file_info(struct SpaceImaSel *simasel);
void get_pib_file(struct SpaceImaSel *simasel);
void change_imadir(struct SpaceImaSel *simasel);
-void init_imaselspace(struct ScrArea *sa);
void check_imasel_copy(struct SpaceImaSel *simasel);
void free_imasel(struct SpaceImaSel *simasel);
diff --git a/source/blender/include/BIF_outliner.h b/source/blender/include/BIF_outliner.h
new file mode 100644
index 00000000000..28c6d536a3b
--- /dev/null
+++ b/source/blender/include/BIF_outliner.h
@@ -0,0 +1,55 @@
+/**
+ * $Id: BIF_outliner.h
+ *
+ * ***** BEGIN GPL/BL DUAL 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. The Blender
+ * Foundation also sells licenses for use in proprietary software under
+ * the Blender License. See http://www.blender.org/BL/ for information
+ * about this.
+ *
+ * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ *
+ * The Original Code is Copyright (C) 2004 Blender Foundation.
+ * All rights reserved.
+ *
+ * The Original Code is: all of this file.
+ *
+ * Contributor(s): none yet.
+ *
+ * ***** END GPL/BL DUAL LICENSE BLOCK *****
+ */
+
+#ifndef BIF_OUTLINER_H
+#define BIF_OUTLINER_H
+
+
+typedef struct TreeElement {
+ struct TreeElement *next, *prev, *parent;
+ ListBase subtree;
+ float xs, ys;
+ int store_index; // offset in tree store
+ short flag, index; // flag for non-saved stuff, index for (ID *) arrays
+} TreeElement;
+
+/* TreeElement->flag */
+#define TE_ACTIVE 1
+
+extern void draw_outliner(struct ScrArea *sa, struct SpaceOops *so);
+extern void outliner_free_tree(struct ListBase *lb);
+extern void outliner_mouse_event(struct ScrArea *sa, short event);
+extern void outliner_toggle_visible(struct ScrArea *sa);
+extern void outliner_show_active(struct ScrArea *sa);
+
+#endif
+
diff --git a/source/blender/include/BIF_resources.h b/source/blender/include/BIF_resources.h
index 7c2e8bffcc3..dd43e5efe49 100644
--- a/source/blender/include/BIF_resources.h
+++ b/source/blender/include/BIF_resources.h
@@ -76,8 +76,8 @@ typedef enum {
ICON_SORTSIZE,
ICON_LONGDISPLAY,
ICON_SHORTDISPLAY,
- ICON_BLANK4,
- ICON_BLANK5,
+ ICON_TRIA_OPEN,
+ ICON_TRIA_CLOSED,
ICON_VIEW_AXIS_ALL,
ICON_VIEW_AXIS_NONE,
@@ -255,7 +255,7 @@ typedef enum {
ICON_LIBRARY_HLT,
ICON_IMAGE_HLT,
ICON_CONSTRAINT,
- ICON_BLANK32,
+ ICON_CAMERA_DEHLT,
ICON_BLANK33,
#define BIFICONID_LAST (ICON_BLANK33)
#define BIFNICONIDS (BIFICONID_LAST-BIFICONID_FIRST + 1)
@@ -406,7 +406,7 @@ void BIF_ThemeColor4(int colorid);
void BIF_ThemeColorShade(int colorid, int offset);
// sets color plus offset for alpha
-void BIF_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset);
+void BIF_ThemeColorShadeAlpha(int colorid, int coloffset, int alphaoffset);
// sets color, which is blend between two theme colors
void BIF_ThemeColorBlend(int colorid1, int colorid2, float fac);
@@ -424,6 +424,10 @@ void BIF_GetThemeColor3fv(int colorid, float *col);
void BIF_GetThemeColor3ubv(int colorid, char *col);
void BIF_GetThemeColor4ubv(int colorid, char *col);
+// get a theme color from specified space type
+void BIF_GetThemeColorType4ubv(int colorid, int spacetype, char *col);
+
+
struct ScrArea;
// internal (blender) usage only, for init and set active
diff --git a/source/blender/include/BIF_space.h b/source/blender/include/BIF_space.h
index 83a0c4a898d..d582627ed21 100644
--- a/source/blender/include/BIF_space.h
+++ b/source/blender/include/BIF_space.h
@@ -96,25 +96,10 @@ extern void force_draw_plus(int type);
extern void freespacelist(struct ListBase *lb);
extern void handle_view3d_around(void);
extern void handle_view3d_lock(void);
-extern void init_butspace(struct ScrArea *sa);
-extern void init_filespace(struct ScrArea *sa);
-extern void init_imagespace(struct ScrArea *sa);
-extern void init_oopsspace(struct ScrArea *sa);
-extern void init_nlaspace(struct ScrArea *sa);
-extern void init_seqspace(struct ScrArea *sa);
-extern void init_v2d_oops(struct View2D *v2d);
+extern void init_v2d_oops(struct ScrArea *, struct SpaceOops *);
extern void initipo(struct ScrArea *sa);
-extern void initview3d(struct ScrArea *sa);
extern void newspace(struct ScrArea *sa, int type);
extern void set_rects_butspace(struct SpaceButs *buts);
-extern void winqreadview3dspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadbutspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadimagespace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadinfospace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadipospace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadoopsspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadnlaspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
-extern void winqreadseqspace(struct ScrArea *sa, void *spacedata, struct BWinEvent *evt);
extern void test_butspace(void);
extern void start_game(void);
extern void select_group_menu(void);
diff --git a/source/blender/include/butspace.h b/source/blender/include/butspace.h
index 2c83b50e6e3..9cbff1fb8af 100644
--- a/source/blender/include/butspace.h
+++ b/source/blender/include/butspace.h
@@ -113,7 +113,6 @@ void test_actionpoin_but(char *name, ID **idpp);
void test_obcurpoin_but(char *name, ID **idpp);
void test_idbutton_cb(void *namev, void *arg2_unused);
-void butspace_context_switch(SpaceButs *buts, struct Base *new);
/* -------------- internal event defines ------------ */