Workbench: studiolight
[blender.git] / source / blender / makesrna / intern / rna_space.c
index 68edb9078705e85ee34e9341f7f7598a8dbfe7ef..6feec3558089d0c2cafd85e944c208163db2eba5 100644 (file)
@@ -75,7 +75,7 @@ const EnumPropertyItem rna_enum_space_type_items[] = {
 
        /* Animation */
        {0, "", ICON_NONE, "Animation", ""},
-       {SPACE_TIME, "TIMELINE", ICON_TIME, "Timeline", "Timeline and playback controls"},
+       //{SPACE_ACTION, "TIMELINE", ICON_TIME, "Timeline", "Timeline and playback controls (NOTE: Switch to 'Timeline' mode)"}, /* XXX */
        {SPACE_IPO, "GRAPH_EDITOR", ICON_IPO, "Graph Editor", "Edit drivers and keyframe interpolation"},
        {SPACE_ACTION, "DOPESHEET_EDITOR", ICON_ACTION, "Dope Sheet", "Adjust timing of keyframes"},
        {SPACE_NLA, "NLA_EDITOR", ICON_NLA, "NLA Editor", "Combine and layer Actions"},
@@ -83,11 +83,12 @@ const EnumPropertyItem rna_enum_space_type_items[] = {
        /* Scripting */
        {0, "", ICON_NONE, "Scripting", ""},
        {SPACE_TEXT, "TEXT_EDITOR", ICON_TEXT, "Text Editor", "Edit scripts and in-file documentation"},
-       {SPACE_LOGIC, "LOGIC_EDITOR", ICON_LOGIC, "Logic Editor", "Game logic editing"},
        {SPACE_CONSOLE, "CONSOLE", ICON_CONSOLE, "Python Console", "Interactive programmatic console for "
                        "advanced editing and script development"},
        {SPACE_INFO, "INFO", ICON_INFO, "Info", "Main menu bar and list of error messages "
                     "(drag down to expand and display)"},
+       /* Special case: Top-bar isn't supposed to be a regular editor for the user. */
+       {SPACE_TOPBAR, "TOPBAR", ICON_NONE, "Top Bar", "Global bar at the top of the screen for global per-window settings"},
 
        /* Data */
        {0, "", ICON_NONE, "Data", ""},
@@ -159,18 +160,6 @@ static const EnumPropertyItem draw_channels_items[] = {
        {0, NULL, 0, NULL, NULL}
 };
 
-static const EnumPropertyItem transform_orientation_items[] = {
-       {V3D_MANIP_GLOBAL, "GLOBAL", 0, "Global", "Align the transformation axes to world space"},
-       {V3D_MANIP_LOCAL, "LOCAL", 0, "Local", "Align the transformation axes to the selected objects' local space"},
-       {V3D_MANIP_NORMAL, "NORMAL", 0, "Normal",
-                          "Align the transformation axes to average normal of selected elements "
-                          "(bone Y axis for pose mode)"},
-       {V3D_MANIP_GIMBAL, "GIMBAL", 0, "Gimbal", "Align each axis to the Euler rotation axis as used for input"},
-       {V3D_MANIP_VIEW, "VIEW", 0, "View", "Align the transformation axes to the window"},
-       // {V3D_MANIP_CUSTOM, "CUSTOM", 0, "Custom", "Use a custom transform orientation"},
-       {0, NULL, 0, NULL, NULL}
-};
-
 #ifndef RNA_RUNTIME
 static const EnumPropertyItem autosnap_items[] = {
        {SACTSNAP_OFF, "NONE", 0, "No Auto-Snap", ""},
@@ -186,16 +175,21 @@ static const EnumPropertyItem autosnap_items[] = {
 };
 #endif
 
-const EnumPropertyItem rna_enum_viewport_shade_items[] = {
-       {OB_BOUNDBOX, "BOUNDBOX", ICON_BBOX, "Bounding Box", "Display the object's local bounding boxes only"},
+const EnumPropertyItem rna_enum_shading_type_items[] = {
        {OB_WIRE, "WIREFRAME", ICON_WIRE, "Wireframe", "Display the object as wire edges"},
-       {OB_SOLID, "SOLID", ICON_SOLID, "Solid", "Display the object solid, lit with default OpenGL lights"},
+       {OB_SOLID, "SOLID", ICON_SOLID, "Single Color", "Display the object or material in a single color"},
        {OB_TEXTURE, "TEXTURED", ICON_POTATO, "Texture", "Display the object solid, with a texture"},
        {OB_MATERIAL, "MATERIAL", ICON_MATERIAL_DATA, "Material", "Display objects solid, with GLSL material"},
        {OB_RENDER, "RENDERED", ICON_SMOOTH, "Rendered", "Display render preview"},
        {0, NULL, 0, NULL, NULL}
 };
 
+const EnumPropertyItem rna_enum_viewport_lighting_items[] = {
+       {V3D_LIGHTING_FLAT,   "FLAT",   0, "Flat Lighting",   "Display using flat lighting"},
+       {V3D_LIGHTING_STUDIO, "STUDIO", 0, "Studio Lighting", "Display using studio lighting"},
+       /* {V3D_LIGHTING_SCENE, "SCENE", 0, "Scene Lighting", "Display using scene lighting"}, */
+       {0, NULL, 0, NULL, NULL}
+};
 
 const EnumPropertyItem rna_enum_clip_editor_mode_items[] = {
        {SC_MODE_TRACKING, "TRACKING", ICON_ANIM_DATA, "Tracking", "Show tracking and solving tools"},
@@ -207,7 +201,8 @@ const EnumPropertyItem rna_enum_clip_editor_mode_items[] = {
 static const EnumPropertyItem buttons_context_items[] = {
        {BCONTEXT_SCENE, "SCENE", ICON_SCENE_DATA, "Scene", "Scene"},
        {BCONTEXT_RENDER, "RENDER", ICON_SCENE, "Render", "Render"},
-       {BCONTEXT_VIEW_LAYER, "VIEW_LAYER", ICON_RENDERLAYERS, "View Layers", "View layers"},
+       {BCONTEXT_VIEW_LAYER, "VIEW_LAYER", ICON_RENDER_RESULT, "View Layer", "View layer"},
+       {BCONTEXT_COLLECTION, "COLLECTION", ICON_COLLAPSEMENU, "Collection", "Collection"},
        {BCONTEXT_WORLD, "WORLD", ICON_WORLD, "World", "World"},
        {BCONTEXT_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Object"},
        {BCONTEXT_CONSTRAINT, "CONSTRAINT", ICON_CONSTRAINT, "Constraints", "Object constraints"},
@@ -219,24 +214,12 @@ static const EnumPropertyItem buttons_context_items[] = {
        {BCONTEXT_TEXTURE, "TEXTURE", ICON_TEXTURE, "Texture", "Texture"},
        {BCONTEXT_PARTICLE, "PARTICLES", ICON_PARTICLES, "Particles", "Particle"},
        {BCONTEXT_PHYSICS, "PHYSICS", ICON_PHYSICS, "Physics", "Physics"},
-       {BCONTEXT_COLLECTION, "COLLECTION", ICON_COLLAPSEMENU, "Collection", "Collection"},
-       {BCONTEXT_WORKSPACE, "WORKSPACE", ICON_RENDER_RESULT, "Workspace", "Workspace"},
-       {0, NULL, 0, NULL, NULL}
-};
-
-/* Actually populated dynamically trough a function, but helps for context-less access (e.g. doc, i18n...). */
-static const EnumPropertyItem buttons_texture_context_items[] = {
-       {SB_TEXC_MATERIAL, "MATERIAL", ICON_MATERIAL, "", "Show material textures"},
-       {SB_TEXC_WORLD, "WORLD", ICON_WORLD, "", "Show world textures"},
-       {SB_TEXC_LAMP, "LAMP", ICON_LAMP, "", "Show lamp textures"},
-       {SB_TEXC_PARTICLES, "PARTICLES", ICON_PARTICLES, "", "Show particles textures"},
-       {SB_TEXC_LINESTYLE, "LINESTYLE", ICON_LINE_DATA, "", "Show linestyle textures"},
-       {SB_TEXC_OTHER, "OTHER", ICON_TEXTURE, "", "Show other data textures"},
+       {BCONTEXT_WORKSPACE, "WORKSPACE", ICON_SPLITSCREEN, "Workspace", "Workspace"},
        {0, NULL, 0, NULL, NULL}
 };
 
 static const EnumPropertyItem buttons_collection_context_items[] = {
-       {SB_COLLECTION_CTX_VIEW_LAYER, "VIEW_LAYER", ICON_RENDERLAYERS, "", "Show material textures"},
+       {SB_COLLECTION_CTX_VIEW_LAYER, "VIEW_LAYER", ICON_RENDER_RESULT, "", "Show material textures"},
        {SB_COLLECTION_CTX_GROUP, "GROUP", ICON_GROUP, "", "Show world textures"},
        {0, NULL, 0, NULL, NULL}
 };
@@ -327,12 +310,8 @@ static StructRNA *rna_Space_refine(struct PointerRNA *ptr)
                        return &RNA_SpaceDopeSheetEditor;
                case SPACE_NLA:
                        return &RNA_SpaceNLA;
-               case SPACE_TIME:
-                       return &RNA_SpaceTimeline;
                case SPACE_NODE:
                        return &RNA_SpaceNodeEditor;
-               case SPACE_LOGIC:
-                       return &RNA_SpaceLogicEditor;
                case SPACE_CONSOLE:
                        return &RNA_SpaceConsole;
                case SPACE_USERPREF:
@@ -427,77 +406,6 @@ static void rna_Space_view2d_sync_update(Main *UNUSED(bmain), Scene *UNUSED(scen
        }
 }
 
-static int rna_View3D_transform_orientation_get(PointerRNA *ptr)
-{
-       const View3D *v3d = (View3D *)ptr->data;
-       /* convert to enum value */
-       return (v3d->twmode == V3D_MANIP_CUSTOM) ? (v3d->twmode + v3d->custom_orientation_index) : v3d->twmode;
-}
-
-void rna_View3D_transform_orientation_set(PointerRNA *ptr, int value)
-{
-       View3D *v3d = (View3D *)ptr->data;
-       BIF_selectTransformOrientationValue(v3d, value);
-}
-
-static PointerRNA rna_View3D_current_orientation_get(PointerRNA *ptr)
-{
-       View3D *v3d = (View3D *)ptr->data;
-       TransformOrientation *orientation;
-
-       if (v3d->twmode < V3D_MANIP_CUSTOM) {
-               orientation = NULL;
-       }
-       else {
-               WorkSpace *workspace;
-               bScreen *screen = ptr->id.data;
-
-               BKE_workspace_layout_find_global(G.main, screen, &workspace);
-               orientation = BKE_workspace_transform_orientation_find(workspace, v3d->custom_orientation_index);
-       }
-
-       return rna_pointer_inherit_refine(ptr, &RNA_TransformOrientation, orientation);
-}
-
-const EnumPropertyItem *rna_TransformOrientation_itemf(
-        bContext *C, PointerRNA *ptr, PropertyRNA *UNUSED(prop), bool *r_free)
-{
-       WorkSpace *workspace;
-       ListBase *transform_orientations;
-       EnumPropertyItem tmp = {0, "", 0, "", ""};
-       EnumPropertyItem *item = NULL;
-       int i = V3D_MANIP_CUSTOM, totitem = 0;
-
-       RNA_enum_items_add(&item, &totitem, transform_orientation_items);
-
-       if (ptr->type == &RNA_SpaceView3D) {
-               bScreen *screen = ptr->id.data;
-               BKE_workspace_layout_find_global(G.main, screen, &workspace);
-       }
-       else {
-               /* can't use scene from ptr->id.data because that enum is also used by operators */
-               workspace = C ? CTX_wm_workspace(C) : NULL;
-       }
-
-       transform_orientations = workspace ? BKE_workspace_transform_orientations_get(workspace) : NULL;
-
-       if (transform_orientations && (BLI_listbase_is_empty(transform_orientations) == false)) {
-               RNA_enum_item_add_separator(&item, &totitem);
-
-               for (TransformOrientation *ts = transform_orientations->first; ts; ts = ts->next) {
-                       tmp.identifier = ts->name;
-                       tmp.name = ts->name;
-                       tmp.value = i++;
-                       RNA_enum_item_add(&item, &totitem, &tmp);
-               }
-       }
-
-       RNA_enum_item_end(&item, &totitem);
-       *r_free = true;
-
-       return item;
-}
-
 /* Space 3D View */
 static void rna_SpaceView3D_camera_update(Main *bmain, Scene *scene, PointerRNA *ptr)
 {
@@ -583,7 +491,7 @@ static void rna_SpaceView3D_layer_update(Main *bmain, Scene *UNUSED(scene), Poin
        DEG_on_visible_update(bmain, false);
 }
 
-static void rna_SpaceView3D_viewport_shade_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
+static void rna_3DViewShading_type_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
 {
        View3D *v3d = (View3D *)(ptr->data);
        ScrArea *sa = rna_area_from_space(ptr);
@@ -741,14 +649,28 @@ static void rna_RegionView3D_view_matrix_set(PointerRNA *ptr, const float *value
        ED_view3d_from_m4(mat, rv3d->ofs, rv3d->viewquat, &rv3d->dist);
 }
 
-static int rna_SpaceView3D_viewport_shade_get(PointerRNA *ptr)
+static int rna_3DViewShading_type_get(PointerRNA *ptr)
 {
+       bScreen *screen = ptr->id.data;
+       Scene *scene = WM_windows_scene_get_from_screen(G.main->wm.first, screen);
+       RenderEngineType *type = RE_engines_find(scene->r.engine);
        View3D *v3d = (View3D *)ptr->data;
-       int drawtype = v3d->drawtype;
-       return drawtype;
+
+       if (BKE_scene_uses_blender_eevee(scene)) {
+               if (v3d->drawtype == OB_MATERIAL) {
+                       return OB_RENDER;
+               }
+       }
+       else if (v3d->drawtype == OB_RENDER) {
+               if (!(type && type->render_to_view)) {
+                       return OB_MATERIAL;
+               }
+       }
+
+       return v3d->drawtype;
 }
 
-static void rna_SpaceView3D_viewport_shade_set(PointerRNA *ptr, int value)
+static void rna_3DViewShading_type_set(PointerRNA *ptr, int value)
 {
        View3D *v3d = (View3D *)ptr->data;
        if (value != v3d->drawtype && value == OB_RENDER) {
@@ -757,14 +679,38 @@ static void rna_SpaceView3D_viewport_shade_set(PointerRNA *ptr, int value)
        v3d->drawtype = value;
 }
 
-static const EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *C, PointerRNA *UNUSED(ptr),
-                                                              PropertyRNA *UNUSED(prop), bool *r_free)
+static void rna_View3DShading_single_color_mode_set(PointerRNA *ptr, int value) {
+       View3D *v3d = (View3D *)ptr->data;
+       v3d->drawtype_options = (v3d->drawtype_options &~ V3D_DRAWOPTION_SOLID_COLOR_MASK) + value;
+}
+
+static int rna_View3DShading_single_color_mode_get(PointerRNA *ptr) {
+       View3D *v3d = (View3D *)ptr->data;
+       return v3d->drawtype_options & V3D_DRAWOPTION_SOLID_COLOR_MASK;
+}
+
+static const EnumPropertyItem *rna_3DViewShading_type_itemf(
+        bContext *C, PointerRNA *UNUSED(ptr),
+        PropertyRNA *UNUSED(prop), bool *r_free)
 {
+       wmWindow *win = CTX_wm_window(C);
+       Scene *scene = WM_window_get_active_scene(win);
+       RenderEngineType *type = RE_engines_find(scene->r.engine);
+
        EnumPropertyItem *item = NULL;
        int totitem = 0;
 
-       RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_SOLID);
-       RNA_enum_items_add_value(&item, &totitem, rna_enum_viewport_shade_items, OB_RENDER);
+       RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_SOLID);
+
+       if (BKE_scene_uses_blender_eevee(scene)) {
+               RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_RENDER);
+       }
+       else {
+               RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_MATERIAL);
+               if (type && type->render_to_view) {
+                       RNA_enum_items_add_value(&item, &totitem, rna_enum_shading_type_items, OB_RENDER);
+               }
+       }
 
        RNA_enum_item_end(&item, &totitem);
        *r_free = true;
@@ -772,8 +718,9 @@ static const EnumPropertyItem *rna_SpaceView3D_viewport_shade_itemf(bContext *C,
        return item;
 }
 
-static const EnumPropertyItem *rna_SpaceView3D_stereo3d_camera_itemf(bContext *C, PointerRNA *UNUSED(ptr),
-                                                               PropertyRNA *UNUSED(prop), bool *UNUSED(r_free))
+static const EnumPropertyItem *rna_SpaceView3D_stereo3d_camera_itemf(
+        bContext *C, PointerRNA *UNUSED(ptr),
+        PropertyRNA *UNUSED(prop), bool *UNUSED(r_free))
 {
        Scene *scene = CTX_data_scene(C);
 
@@ -783,6 +730,26 @@ static const EnumPropertyItem *rna_SpaceView3D_stereo3d_camera_itemf(bContext *C
                return stereo3d_camera_items;
 }
 
+static PointerRNA rna_SpaceView3D_shading_get(PointerRNA *ptr)
+{
+       return rna_pointer_inherit_refine(ptr, &RNA_View3DShading, ptr->data);
+}
+
+static char *rna_View3DShading_path(PointerRNA *UNUSED(ptr))
+{
+    return BLI_sprintfN("shading");
+}
+
+static PointerRNA rna_SpaceView3D_overlay_get(PointerRNA *ptr)
+{
+       return rna_pointer_inherit_refine(ptr, &RNA_View3DOverlay, ptr->data);
+}
+
+static char *rna_View3DOverlay_path(PointerRNA *UNUSED(ptr))
+{
+    return BLI_sprintfN("overlay");
+}
+
 /* Space Image Editor */
 
 static PointerRNA rna_SpaceImageEditor_uvedit_get(PointerRNA *ptr)
@@ -876,8 +843,9 @@ static void rna_SpaceImageEditor_mask_set(PointerRNA *ptr, PointerRNA value)
        ED_space_image_set_mask(NULL, sima, (Mask *)value.data);
 }
 
-static const EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(bContext *UNUSED(C), PointerRNA *ptr,
-                                                                  PropertyRNA *UNUSED(prop), bool *r_free)
+static const EnumPropertyItem *rna_SpaceImageEditor_draw_channels_itemf(
+        bContext *UNUSED(C), PointerRNA *ptr,
+        PropertyRNA *UNUSED(prop), bool *r_free)
 {
        SpaceImage *sima = (SpaceImage *)ptr->data;
        EnumPropertyItem *item = NULL;
@@ -998,8 +966,9 @@ static void rna_SpaceImageEditor_scopes_update(struct bContext *C, struct Pointe
        ED_space_image_release_buffer(sima, ibuf, lock);
 }
 
-static const EnumPropertyItem *rna_SpaceImageEditor_pivot_itemf(bContext *UNUSED(C), PointerRNA *ptr,
-                                                          PropertyRNA *UNUSED(prop), bool *UNUSED(r_free))
+static const EnumPropertyItem *rna_SpaceImageEditor_pivot_itemf(
+        bContext *UNUSED(C), PointerRNA *ptr,
+        PropertyRNA *UNUSED(prop), bool *UNUSED(r_free))
 {
        static const EnumPropertyItem pivot_items[] = {
                {V3D_AROUND_CENTER_BOUNDS, "CENTER", ICON_ROTATE, "Bounding Box Center", ""},
@@ -1101,8 +1070,9 @@ static void rna_SpaceProperties_context_set(PointerRNA *ptr, int value)
        sbuts->mainbuser = value;
 }
 
-static const EnumPropertyItem *rna_SpaceProperties_context_itemf(bContext *UNUSED(C), PointerRNA *ptr,
-                                                           PropertyRNA *UNUSED(prop), bool *r_free)
+static const EnumPropertyItem *rna_SpaceProperties_context_itemf(
+        bContext *UNUSED(C), PointerRNA *ptr,
+        PropertyRNA *UNUSED(prop), bool *r_free)
 {
        SpaceButs *sbuts = (SpaceButs *)(ptr->data);
        EnumPropertyItem *item = NULL;
@@ -1196,49 +1166,6 @@ static void rna_SpaceProperties_align_set(PointerRNA *ptr, int value)
        sbuts->re_align = 1;
 }
 
-static const EnumPropertyItem *rna_SpaceProperties_texture_context_itemf(bContext *C, PointerRNA *UNUSED(ptr),
-                                                                   PropertyRNA *UNUSED(prop), bool *r_free)
-{
-       EnumPropertyItem *item = NULL;
-       int totitem = 0;
-
-       if (ED_texture_context_check_world(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_WORLD);
-       }
-
-       if (ED_texture_context_check_lamp(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_LAMP);
-       }
-       else if (ED_texture_context_check_material(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_MATERIAL);
-       }
-
-       if (ED_texture_context_check_particles(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_PARTICLES);
-       }
-
-       if (ED_texture_context_check_linestyle(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_LINESTYLE);
-       }
-
-       if (ED_texture_context_check_others(C)) {
-               RNA_enum_items_add_value(&item, &totitem, buttons_texture_context_items, SB_TEXC_OTHER);
-       }
-
-       RNA_enum_item_end(&item, &totitem);
-       *r_free = true;
-
-       return item;
-}
-
-static void rna_SpaceProperties_texture_context_set(PointerRNA *ptr, int value)
-{
-       SpaceButs *sbuts = (SpaceButs *)(ptr->data);
-
-       /* User action, no need to keep "better" value in prev here! */
-       sbuts->texture_context = sbuts->texture_context_prev = value;
-}
-
 /* Space Console */
 static void rna_ConsoleLine_body_get(PointerRNA *ptr, char *value)
 {
@@ -1393,6 +1320,7 @@ static void rna_SpaceDopeSheetEditor_action_update(bContext *C, PointerRNA *ptr)
 static void rna_SpaceDopeSheetEditor_mode_update(bContext *C, PointerRNA *ptr)
 {
        SpaceAction *saction = (SpaceAction *)(ptr->data);
+       ScrArea *sa = CTX_wm_area(C);
        ViewLayer *view_layer = CTX_data_view_layer(C);
        Object *obact = OBACT(view_layer);
 
@@ -1421,7 +1349,25 @@ static void rna_SpaceDopeSheetEditor_mode_update(bContext *C, PointerRNA *ptr)
                else
                        saction->action = NULL;
        }
-
+       
+       /* Collapse summary channel and hide channel list for timeline */
+       if (saction->mode == SACTCONT_TIMELINE) {
+               saction->ads.flag |= ADS_FLAG_SUMMARY_COLLAPSED;
+       }
+       
+       if (sa && sa->spacedata.first == saction) {
+               ARegion *channels_region = BKE_area_find_region_type(sa, RGN_TYPE_CHANNELS);
+               if (channels_region) {
+                       if (saction->mode == SACTCONT_TIMELINE) {
+                               channels_region->flag |= RGN_FLAG_HIDDEN;
+                       }
+                       else {
+                               channels_region->flag &= ~RGN_FLAG_HIDDEN;
+                       }
+                       ED_region_visibility_change_update(C, channels_region);
+               }
+       }
+       
        /* recalculate extents of channel list */
        saction->flag |= SACTION_TEMP_NEEDCHANSYNC;
 }
@@ -1496,8 +1442,9 @@ static int rna_SpaceNodeEditor_tree_type_poll(void *Cv, bNodeTreeType *type)
        else
                return true;
 }
-static const EnumPropertyItem *rna_SpaceNodeEditor_tree_type_itemf(bContext *C, PointerRNA *UNUSED(ptr),
-                                                             PropertyRNA *UNUSED(prop), bool *r_free)
+static const EnumPropertyItem *rna_SpaceNodeEditor_tree_type_itemf(
+        bContext *C, PointerRNA *UNUSED(ptr),
+        PropertyRNA *UNUSED(prop), bool *r_free)
 {
        return rna_node_tree_type_itemf(C, rna_SpaceNodeEditor_tree_type_poll, r_free);
 }
@@ -1908,6 +1855,7 @@ static void rna_def_space(BlenderRNA *brna)
        prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_sdna(prop, NULL, "spacetype");
        RNA_def_property_enum_items(prop, rna_enum_space_type_items);
+       /* When making this editable, take care for the special case of global areas (see rna_Area_type_set). */
        RNA_def_property_clear_flag(prop, PROP_EDITABLE);
        RNA_def_property_ui_text(prop, "Type", "Space data type");
 
@@ -2089,10 +2037,8 @@ static void rna_def_space_outliner(BlenderRNA *brna)
        PropertyRNA *prop;
 
        static const EnumPropertyItem display_mode_items[] = {
-               {SO_VIEW_LAYER, "VIEW_LAYER", 0, "View Layer", "Display the collections of the active view layer"},
-               {SO_COLLECTIONS, "COLLECTIONS", 0, "Collections", "Display all collections based on the "
-                                "master collection hierarchy"},
-               {SO_SCENES, "SCENES", 0, "Scenes", "Display composition related data in all scenes"},
+               {SO_COLLECTIONS, "COLLECTIONS", 0, "Collections", "Display collections in the view layer"},
+               {SO_SCENES, "SCENES", 0, "Scenes", "Display scenes and their view layers, collections and objects"},
                {SO_GROUPS, "GROUPS", 0, "Groups", "Display groups and their data-blocks"},
                {SO_SEQUENCE, "SEQUENCE", 0, "Sequence", "Display sequence data-blocks"},
                {SO_LIBRARIES, "LIBRARIES", 0, "Blender File", "Display data of current file and linked libraries"},
@@ -2243,20 +2189,94 @@ static void rna_def_space_outliner(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_OUTLINER, NULL);
 }
 
-static void rna_def_space_view3d(BlenderRNA *brna)
+static void rna_def_space_view3d_shading(BlenderRNA *brna)
 {
        StructRNA *srna;
        PropertyRNA *prop;
 
-       static const EnumPropertyItem manipulators_items[] = {
-               {V3D_MANIP_TRANSLATE, "TRANSLATE", ICON_MAN_TRANS, "Translate",
-                                     "Use the manipulator for movement transformations"},
-               {V3D_MANIP_ROTATE, "ROTATE", ICON_MAN_ROT, "Rotate",
-                                  "Use the manipulator for rotation transformations"},
-               {V3D_MANIP_SCALE, "SCALE", ICON_MAN_SCALE, "Scale",
-                                 "Use the manipulator for scale transformations"},
+       static const EnumPropertyItem single_color_mode_items[] = {
+               {V3D_DRAWOPTION_SINGLE_COLOR,   "SINGLE",   0, "Single",   "Show scene in a single color"},
+               {V3D_DRAWOPTION_OBJECT_COLOR,   "OBJECT",   0, "Object",   "Show Object color"},
+               {V3D_DRAWOPTION_MATERIAL_COLOR, "MATERIAL", 0, "Material", "Show Material color"},
+               {V3D_DRAWOPTION_RANDOMIZE,      "RANDOM",   0, "Random",   "Show random object color"},
                {0, NULL, 0, NULL, NULL}
        };
+       static const EnumPropertyItem studio_lighting_items[] = {
+               {0, "01", ICON_STUDIOLIGHT_01, "", ""},
+               {1, "02", ICON_STUDIOLIGHT_02, "", ""},
+               {2, "03", ICON_STUDIOLIGHT_03, "", ""},
+               {3, "04", ICON_STUDIOLIGHT_04, "", ""},
+               {4, "05", ICON_STUDIOLIGHT_05, "", ""},
+               {0, NULL, 0, NULL, NULL}
+       };
+
+       srna = RNA_def_struct(brna, "View3DShading", NULL);
+       RNA_def_struct_sdna(srna, "View3D");
+       RNA_def_struct_nested(brna, srna, "SpaceView3D");
+       RNA_def_struct_path_func(srna, "rna_View3DShading_path");
+       RNA_def_struct_ui_text(srna, "3D View Shading Settings", "Settings for shading in the 3D viewport");
+
+       prop = RNA_def_property(srna, "type", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "drawtype");
+       RNA_def_property_enum_items(prop, rna_enum_shading_type_items);
+       RNA_def_property_enum_funcs(prop, "rna_3DViewShading_type_get", "rna_3DViewShading_type_set",
+                                   "rna_3DViewShading_type_itemf");
+       RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
+
+       prop = RNA_def_property(srna, "light", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "drawtype_lighting");
+       RNA_def_property_enum_items(prop, rna_enum_viewport_lighting_items);
+       RNA_def_property_ui_text(prop, "Lighting", "Lighting Method for Solid/Texture Viewport Shading");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
+
+       prop = RNA_def_property(srna, "show_object_overlap", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "drawtype_options", V3D_DRAWOPTION_OBJECT_OVERLAP);
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+       RNA_def_property_ui_text(prop, "Object Overlap", "Show Object Overlap");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
+
+       prop = RNA_def_property(srna, "studiolight", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_sdna(prop, NULL, "drawtype_studiolight");
+       RNA_def_property_enum_items(prop, studio_lighting_items);
+       RNA_def_property_ui_text(prop, "Studiolight", "Studio lighting setup");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
+
+       prop = RNA_def_property(srna, "single_color_mode", PROP_ENUM, PROP_NONE);
+       RNA_def_property_enum_items(prop, single_color_mode_items);
+       RNA_def_property_enum_funcs(prop, "rna_View3DShading_single_color_mode_get",
+                                         "rna_View3DShading_single_color_mode_set",
+                                         NULL);
+       RNA_def_property_ui_text(prop, "Color", "Single Color Mode");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
+}
+
+static void rna_def_space_view3d_overlay(BlenderRNA *brna)
+{
+       StructRNA *srna;
+       PropertyRNA *prop;
+
+       srna = RNA_def_struct(brna, "View3DOverlay", NULL);
+       RNA_def_struct_sdna(srna, "View3D");
+       RNA_def_struct_nested(brna, srna, "SpaceView3D");
+       RNA_def_struct_path_func(srna, "rna_View3DOverlay_path");
+       RNA_def_struct_ui_text(srna, "3D View Overlay Settings", "Settings for display of overlays in the 3D viewport");
+
+       prop = RNA_def_property(srna, "show_overlays", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_negative_sdna(prop, NULL, "flag2", V3D_RENDER_OVERRIDE);
+       RNA_def_property_ui_text(prop, "Show Overlays", "Display overlays like manipulators and outlines");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+
+       prop = RNA_def_property(srna, "show_3dcursor", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "overlays", V3D_OVERLAY_3DCURSOR);
+       RNA_def_property_ui_text(prop, "Show 3D Cursor", "Display 3D Cursor Overlay");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
+}
+
+static void rna_def_space_view3d(BlenderRNA *brna)
+{
+       StructRNA *srna;
+       PropertyRNA *prop;
 
        static const EnumPropertyItem rv3d_persp_items[] = {
                {RV3D_PERSP, "PERSP", 0, "Perspective", ""},
@@ -2363,13 +2383,11 @@ static void rna_def_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Lock to Cursor", "3D View center is locked to the cursor's position");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
-       prop = RNA_def_property(srna, "viewport_shade", PROP_ENUM, PROP_NONE);
-       RNA_def_property_enum_sdna(prop, NULL, "drawtype");
-       RNA_def_property_enum_items(prop, rna_enum_viewport_shade_items);
-       RNA_def_property_enum_funcs(prop, "rna_SpaceView3D_viewport_shade_get", "rna_SpaceView3D_viewport_shade_set",
-                                   "rna_SpaceView3D_viewport_shade_itemf");
-       RNA_def_property_ui_text(prop, "Viewport Shading", "Method to display/shade objects in the 3D View");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_SpaceView3D_viewport_shade_update");
+       prop = RNA_def_property(srna, "show_face_orientation_overlay", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "overlays", V3D_OVERLAY_FACE_ORIENTATION);
+       RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
+       RNA_def_property_ui_text(prop, "Face Orientation", "Show the Face Orientation Overlay");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, "rna_3DViewShading_type_update");
 
        prop = RNA_def_property(srna, "local_view", PROP_POINTER, PROP_NONE);
        RNA_def_property_pointer_sdna(prop, NULL, "localvd");
@@ -2502,11 +2520,6 @@ static void rna_def_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Lock Camera to View", "Enable view navigation within the camera view");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
-       prop = RNA_def_property(srna, "show_only_render", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag2", V3D_RENDER_OVERRIDE);
-       RNA_def_property_ui_text(prop, "Only Render", "Display only objects which will be rendered");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
        prop = RNA_def_property(srna, "show_world", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "flag3", V3D_SHOW_WORLD);
        RNA_def_property_ui_text(prop, "World Background", "Display world colors in the background");
@@ -2536,26 +2549,6 @@ static void rna_def_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_icon(prop, ICON_MANIPUL, 0);
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
-       prop = RNA_def_property(srna, "transform_manipulators", PROP_ENUM, PROP_NONE);
-       RNA_def_property_enum_sdna(prop, NULL, "twtype");
-       RNA_def_property_enum_items(prop, manipulators_items);
-       RNA_def_property_flag(prop, PROP_ENUM_FLAG);
-       RNA_def_property_ui_text(prop, "Transform Manipulators", "Transformation manipulators");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
-       prop = RNA_def_property(srna, "transform_orientation", PROP_ENUM, PROP_NONE);
-       RNA_def_property_enum_sdna(prop, NULL, "twmode");
-       RNA_def_property_enum_items(prop, transform_orientation_items);
-       RNA_def_property_enum_funcs(prop, "rna_View3D_transform_orientation_get", "rna_View3D_transform_orientation_set",
-                                   "rna_TransformOrientation_itemf");
-       RNA_def_property_ui_text(prop, "Transform Orientation", "Transformation orientation");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
-
-       prop = RNA_def_property(srna, "current_orientation", PROP_POINTER, PROP_NONE);
-       RNA_def_property_struct_type(prop, "TransformOrientation");
-       RNA_def_property_pointer_funcs(prop, "rna_View3D_current_orientation_get", NULL, NULL, NULL);
-       RNA_def_property_ui_text(prop, "Current Transform Orientation", "Current transformation orientation");
-
        prop = RNA_def_property(srna, "lock_camera_and_layers", PROP_BOOLEAN, PROP_NONE);
        RNA_def_property_boolean_sdna(prop, NULL, "scenelock", 1);
        RNA_def_property_boolean_funcs(prop, NULL, "rna_SpaceView3D_lock_camera_and_layers_set");
@@ -2684,6 +2677,22 @@ static void rna_def_space_view3d(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Volume Alpha", "Opacity (alpha) of the cameras' frustum volume");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_VIEW3D, NULL);
 
+       /* Nested Structs */
+       prop = RNA_def_property(srna, "shading", PROP_POINTER, PROP_NONE);
+       RNA_def_property_flag(prop, PROP_NEVER_NULL);
+       RNA_def_property_struct_type(prop, "View3DShading");
+       RNA_def_property_pointer_funcs(prop, "rna_SpaceView3D_shading_get", NULL, NULL, NULL);
+       RNA_def_property_ui_text(prop, "Shading Settings", "Settings for shading in the 3D viewport");
+
+       prop = RNA_def_property(srna, "overlay", PROP_POINTER, PROP_NONE);
+       RNA_def_property_flag(prop, PROP_NEVER_NULL);
+       RNA_def_property_struct_type(prop, "View3DOverlay");
+       RNA_def_property_pointer_funcs(prop, "rna_SpaceView3D_overlay_get", NULL, NULL, NULL);
+       RNA_def_property_ui_text(prop, "Overlay Settings", "Settings for display of overlays in the 3D viewport");
+
+       rna_def_space_view3d_shading(brna);
+       rna_def_space_view3d_overlay(brna);
+
        /* *** Animated *** */
        RNA_define_animate_sdna(true);
        /* region */
@@ -2821,18 +2830,6 @@ static void rna_def_space_buttons(BlenderRNA *brna)
        RNA_def_property_ui_text(prop, "Align", "Arrangement of the panels");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_PROPERTIES, NULL);
 
-       prop = RNA_def_property(srna, "texture_context", PROP_ENUM, PROP_NONE);
-       RNA_def_property_enum_items(prop, buttons_texture_context_items);
-       RNA_def_property_enum_funcs(prop, NULL, "rna_SpaceProperties_texture_context_set",
-                                   "rna_SpaceProperties_texture_context_itemf");
-       RNA_def_property_ui_text(prop, "Texture Context", "Type of texture data to display and edit");
-       RNA_def_property_update(prop, NC_TEXTURE, NULL);
-
-       prop = RNA_def_property(srna, "use_limited_texture_context", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", SB_TEX_USER_LIMITED);
-       RNA_def_property_ui_text(prop, "Limited Texture Context",
-                                "Use the limited version of texture user (for 'old shading' mode)");
-
        prop = RNA_def_property(srna, "collection_context", PROP_ENUM, PROP_NONE);
        RNA_def_property_enum_items(prop, buttons_collection_context_items);
        RNA_def_property_ui_text(prop, "Collection Context", "Which collection we want to show");
@@ -3011,7 +3008,7 @@ static void rna_def_space_sequencer(BlenderRNA *brna)
        static const EnumPropertyItem view_type_items[] = {
                {SEQ_VIEW_SEQUENCE, "SEQUENCER", ICON_SEQ_SEQUENCER, "Sequencer", ""},
                {SEQ_VIEW_PREVIEW,  "PREVIEW", ICON_SEQ_PREVIEW, "Image Preview", ""},
-               {SEQ_VIEW_SEQUENCE_PREVIEW,  "SEQUENCER_PREVIEW", ICON_SEQ_SPLITVIEW, "Sequencer and Image Preview", ""},
+               {SEQ_VIEW_SEQUENCE_PREVIEW,  "SEQUENCER_PREVIEW", ICON_SEQ_SPLITVIEW, "Sequencer/Preview", ""},
                {0, NULL, 0, NULL, NULL}
        };
 
@@ -3303,6 +3300,7 @@ static void rna_def_space_dopesheet(BlenderRNA *brna)
 
        /* XXX: action-editor is currently for object-level only actions, so show that using object-icon hint */
        static EnumPropertyItem mode_items[] = {
+               {SACTCONT_TIMELINE, "TIMELINE", ICON_TIME, "Timeline", "Timeline and playback controls"},
                {SACTCONT_DOPESHEET, "DOPESHEET", ICON_OOPS, "Dope Sheet", "Edit all keyframes in scene"},
                {SACTCONT_ACTION, "ACTION", ICON_OBJECT_DATA, "Action Editor", "Edit keyframes in active object's Object-level action"},
                {SACTCONT_SHAPEKEY, "SHAPEKEY", ICON_SHAPEKEY_DATA, "Shape Key Editor", "Edit keyframes in active object's Shape Keys action"},
@@ -3393,6 +3391,42 @@ static void rna_def_space_dopesheet(BlenderRNA *brna)
        RNA_def_property_enum_items(prop, autosnap_items);
        RNA_def_property_ui_text(prop, "Auto Snap", "Automatic time snapping settings for transformations");
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_DOPESHEET, NULL);
+       
+       /* displaying cache status */
+       prop = RNA_def_property(srna, "show_cache", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_DISPLAY);
+       RNA_def_property_ui_text(prop, "Show Cache", "Show the status of cached frames in the timeline");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_softbody", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_SOFTBODY);
+       RNA_def_property_ui_text(prop, "Softbody", "Show the active object's softbody point cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_particles", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_PARTICLES);
+       RNA_def_property_ui_text(prop, "Particles", "Show the active object's particle point cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_cloth", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_CLOTH);
+       RNA_def_property_ui_text(prop, "Cloth", "Show the active object's cloth point cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_smoke", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_SMOKE);
+       RNA_def_property_ui_text(prop, "Smoke", "Show the active object's smoke cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_dynamicpaint", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_DYNAMICPAINT);
+       RNA_def_property_ui_text(prop, "Dynamic Paint", "Show the active object's Dynamic Paint cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
+
+       prop = RNA_def_property(srna, "cache_rigidbody", PROP_BOOLEAN, PROP_NONE);
+       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_RIGIDBODY);
+       RNA_def_property_ui_text(prop, "Rigid Body", "Show the active object's Rigid Body cache");
+       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
 }
 
 static void rna_def_space_graph(BlenderRNA *brna)
@@ -3596,63 +3630,6 @@ static void rna_def_space_nla(BlenderRNA *brna)
        RNA_def_property_update(prop, NC_SPACE | ND_SPACE_NLA, NULL);
 }
 
-static void rna_def_space_time(BlenderRNA *brna)
-{
-       StructRNA *srna;
-       PropertyRNA *prop;
-
-       srna = RNA_def_struct(brna, "SpaceTimeline", "Space");
-       RNA_def_struct_sdna(srna, "SpaceTime");
-       RNA_def_struct_ui_text(srna, "Space Timeline Editor", "Timeline editor space data");
-
-       /* view settings */
-       prop = RNA_def_property(srna, "show_frame_indicator", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "flag", TIME_CFRA_NUM);
-       RNA_def_property_ui_text(prop, "Show Frame Number Indicator",
-                                "Show frame number beside the current frame indicator line");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "show_seconds", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", TIME_DRAWFRAMES);
-       RNA_def_property_ui_text(prop, "Show Seconds", "Show timing in seconds not frames");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       /* displaying cache status */
-       prop = RNA_def_property(srna, "show_cache", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_DISPLAY);
-       RNA_def_property_ui_text(prop, "Show Cache", "Show the status of cached frames in the timeline");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_softbody", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_SOFTBODY);
-       RNA_def_property_ui_text(prop, "Softbody", "Show the active object's softbody point cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_particles", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_PARTICLES);
-       RNA_def_property_ui_text(prop, "Particles", "Show the active object's particle point cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_cloth", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_CLOTH);
-       RNA_def_property_ui_text(prop, "Cloth", "Show the active object's cloth point cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_smoke", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_SMOKE);
-       RNA_def_property_ui_text(prop, "Smoke", "Show the active object's smoke cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_dynamicpaint", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_DYNAMICPAINT);
-       RNA_def_property_ui_text(prop, "Dynamic Paint", "Show the active object's Dynamic Paint cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-
-       prop = RNA_def_property(srna, "cache_rigidbody", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "cache_display", TIME_CACHE_RIGIDBODY);
-       RNA_def_property_ui_text(prop, "Rigid Body", "Show the active object's Rigid Body cache");
-       RNA_def_property_update(prop, NC_SPACE | ND_SPACE_TIME, NULL);
-}
 
 static void rna_def_console_line(BlenderRNA *brna)
 {
@@ -4196,7 +4173,6 @@ static void rna_def_space_node(BlenderRNA *brna)
        PropertyRNA *prop;
 
        static const EnumPropertyItem texture_id_type_items[] = {
-               {SNODE_TEX_OBJECT, "OBJECT", ICON_OBJECT_DATA, "Object", "Edit texture nodes from Object"},
                {SNODE_TEX_WORLD, "WORLD", ICON_WORLD_DATA, "World", "Edit texture nodes from World"},
                {SNODE_TEX_BRUSH, "BRUSH", ICON_BRUSH_DATA, "Brush", "Edit texture nodes from Brush"},
 #ifdef WITH_FREESTYLE
@@ -4352,75 +4328,6 @@ static void rna_def_space_node(BlenderRNA *brna)
        RNA_api_space_node(srna);
 }
 
-static void rna_def_space_logic(BlenderRNA *brna)
-{
-       StructRNA *srna;
-       PropertyRNA *prop;
-
-       srna = RNA_def_struct(brna, "SpaceLogicEditor", "Space");
-       RNA_def_struct_sdna(srna, "SpaceLogic");
-       RNA_def_struct_ui_text(srna, "Space Logic Editor", "Logic editor space data");
-
-       /* sensors */
-       prop = RNA_def_property(srna, "show_sensors_selected_objects", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_SENS_SEL);
-       RNA_def_property_ui_text(prop, "Show Selected Object", "Show sensors of all selected objects");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_sensors_active_object", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_SENS_ACT);
-       RNA_def_property_ui_text(prop, "Show Active Object", "Show sensors of active object");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_sensors_linked_controller", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_SENS_LINK);
-       RNA_def_property_ui_text(prop, "Show Linked to Controller", "Show linked objects to the controller");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_sensors_active_states", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_SENS_STATE);
-       RNA_def_property_ui_text(prop, "Show Active States", "Show only sensors connected to active states");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       /* controllers */
-       prop = RNA_def_property(srna, "show_controllers_selected_objects", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_CONT_SEL);
-       RNA_def_property_ui_text(prop, "Show Selected Object", "Show controllers of all selected objects");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_controllers_active_object", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_CONT_ACT);
-       RNA_def_property_ui_text(prop, "Show Active Object", "Show controllers of active object");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_controllers_linked_controller", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_CONT_LINK);
-       RNA_def_property_ui_text(prop, "Show Linked to Controller", "Show linked objects to sensor/actuator");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       /* actuators */
-       prop = RNA_def_property(srna, "show_actuators_selected_objects", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_ACT_SEL);
-       RNA_def_property_ui_text(prop, "Show Selected Object", "Show actuators of all selected objects");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_actuators_active_object", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_ACT_ACT);
-       RNA_def_property_ui_text(prop, "Show Active Object", "Show actuators of active object");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_actuators_linked_controller", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_ACT_LINK);
-       RNA_def_property_ui_text(prop, "Show Linked to Actuator", "Show linked objects to the actuator");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-       prop = RNA_def_property(srna, "show_actuators_active_states", PROP_BOOLEAN, PROP_NONE);
-       RNA_def_property_boolean_sdna(prop, NULL, "scaflag", BUTS_ACT_STATE);
-       RNA_def_property_ui_text(prop, "Show Active States", "Show only actuators connected to active states");
-       RNA_def_property_update(prop, NC_LOGIC, NULL);
-
-}
-
 static void rna_def_space_clip(BlenderRNA *brna)
 {
        StructRNA *srna;
@@ -4698,14 +4605,12 @@ void RNA_def_space(BlenderRNA *brna)
        rna_def_space_dopesheet(brna);
        rna_def_space_graph(brna);
        rna_def_space_nla(brna);
-       rna_def_space_time(brna);
        rna_def_space_console(brna);
        rna_def_console_line(brna);
        rna_def_space_info(brna);
        rna_def_space_userpref(brna);
        rna_def_node_tree_path(brna);
        rna_def_space_node(brna);
-       rna_def_space_logic(brna);
        rna_def_space_clip(brna);
 }