2.5:
* Added new modifier tab.
* Fixed problems when no object was selected after delete.
* Added initial Armature, Bone, Curve and Font panels, by William Reynish (Billrey). Thanks!
* Small RNA changes
* Commit revision 20240 and 20268 from trunk. ("Mouse wheel zoom lost after rendering.")
This commit is contained in:
@@ -39,6 +39,7 @@
|
||||
#endif
|
||||
|
||||
#include "GHOST_SystemWin32.h"
|
||||
//#include <stdio.h> //for printf()
|
||||
|
||||
// win64 doesn't define GWL_USERDATA
|
||||
#ifdef WIN32
|
||||
@@ -536,7 +537,7 @@ GHOST_Event* GHOST_SystemWin32::processWindowEvent(GHOST_TEventType type, GHOST_
|
||||
LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
GHOST_Event* event = 0;
|
||||
LRESULT lResult;
|
||||
LRESULT lResult = 0;
|
||||
GHOST_SystemWin32* system = ((GHOST_SystemWin32*)getSystem());
|
||||
GHOST_ASSERT(system, "GHOST_SystemWin32::s_wndProc(): system not initialized")
|
||||
|
||||
@@ -746,6 +747,9 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
|
||||
* the message is sent asynchronously, so the window is activated immediately.
|
||||
*/
|
||||
event = processWindowEvent(LOWORD(wParam) ? GHOST_kEventWindowActivate : GHOST_kEventWindowDeactivate, window);
|
||||
/* WARNING: Let DefWindowProc handle WM_ACTIVATE, otherwise WM_MOUSEWHEEL
|
||||
will not be dispatched to OUR active window if we minimize one of OUR windows. */
|
||||
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
|
||||
break;
|
||||
case WM_PAINT:
|
||||
/* An application sends the WM_PAINT message when the system or another application
|
||||
@@ -905,7 +909,6 @@ LRESULT WINAPI GHOST_SystemWin32::s_wndProc(HWND hwnd, UINT msg, WPARAM wParam,
|
||||
|
||||
if (event) {
|
||||
system->pushEvent(event);
|
||||
lResult = 0;
|
||||
}
|
||||
else {
|
||||
lResult = ::DefWindowProc(hwnd, msg, wParam, lParam);
|
||||
|
||||
122
release/ui/buttons_data_armature.py
Normal file
122
release/ui/buttons_data_armature.py
Normal file
@@ -0,0 +1,122 @@
|
||||
|
||||
import bpy
|
||||
|
||||
class DataButtonsPanel(bpy.types.Panel):
|
||||
__space_type__ = "BUTTONS_WINDOW"
|
||||
__region_type__ = "WINDOW"
|
||||
__context__ = "data"
|
||||
|
||||
def poll(self, context):
|
||||
ob = context.active_object
|
||||
return (ob and ob.type == 'ARMATURE')
|
||||
|
||||
class DATA_PT_skeleton(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_skeleton"
|
||||
__label__ = "Skeleton"
|
||||
|
||||
def draw(self, context):
|
||||
arm = context.main.armatures[0]
|
||||
layout = self.layout
|
||||
|
||||
row = layout.row()
|
||||
row.itemR(arm, "rest_position")
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemL(text="Deform:")
|
||||
sub.itemR(arm, "deform_vertexgroups", text="Vertes Groups")
|
||||
sub.itemR(arm, "deform_envelope", text="Envelopes")
|
||||
sub.itemR(arm, "deform_quaternion", text="Quaternion")
|
||||
sub.itemR(arm, "deform_bbone_rest", text="B-Bones Rest")
|
||||
#sub.itemR(arm, "x_axis_mirror")
|
||||
#sub.itemR(arm, "auto_ik")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Layers:")
|
||||
sub.itemL(text="LAYERS")
|
||||
#sub.itemR(arm, "layer")
|
||||
#sub.itemR(arm, "layer_protection")
|
||||
|
||||
|
||||
class DATA_PT_display(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_display"
|
||||
__label__ = "Display"
|
||||
|
||||
def draw(self, context):
|
||||
arm = context.main.armatures[0]
|
||||
layout = self.layout
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemR(arm, "drawtype", text="Style")
|
||||
sub.itemR(arm, "delay_deform", text="Delay Refresh")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemR(arm, "draw_names", text="Names")
|
||||
sub.itemR(arm, "draw_axes", text="Axes")
|
||||
sub.itemR(arm, "draw_custom_bone_shapes", text="Shapes")
|
||||
sub.itemR(arm, "draw_group_colors", text="Colors")
|
||||
|
||||
|
||||
class DATA_PT_paths(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_paths"
|
||||
__label__ = "Paths"
|
||||
|
||||
def draw(self, context):
|
||||
arm = context.main.armatures[0]
|
||||
layout = self.layout
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemR(arm, "paths_show_around_current_frame", text="Around Frame")
|
||||
if (arm.paths_show_around_current_frame):
|
||||
sub.itemR(arm, "path_before_current", text="Before")
|
||||
sub.itemR(arm, "path_after_current", text="After")
|
||||
else:
|
||||
sub.itemR(arm, "path_start_frame", text="Start")
|
||||
sub.itemR(arm, "path_end_frame", text="End")
|
||||
|
||||
sub.itemR(arm, "path_size", text="Step")
|
||||
sub.itemR(arm, "paths_calculate_head_positions", text="Head")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Show:")
|
||||
sub.itemR(arm, "paths_show_frame_numbers", text="Frame Numbers")
|
||||
sub.itemR(arm, "paths_highlight_keyframes", text="Keyframes")
|
||||
sub.itemR(arm, "paths_show_keyframe_numbers", text="Keyframe Numbers")
|
||||
|
||||
|
||||
class DATA_PT_ghost(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_ghost"
|
||||
__label__ = "Ghost"
|
||||
|
||||
def draw(self, context):
|
||||
arm = context.main.armatures[0]
|
||||
layout = self.layout
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemR(arm, "ghost_type", text="Scope")
|
||||
if arm.ghost_type == 'RANGE':
|
||||
sub.itemR(arm, "ghost_start_frame", text="Start")
|
||||
sub.itemR(arm, "ghost_end_frame", text="End")
|
||||
sub.itemR(arm, "ghost_size", text="Step")
|
||||
elif arm.ghost_type == 'CURRENT_FRAME':
|
||||
sub.itemR(arm, "ghost_step", text="Range")
|
||||
sub.itemR(arm, "ghost_size", text="Step")
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemR(arm, "ghost_only_selected", text="Selected Only")
|
||||
|
||||
bpy.types.register(DATA_PT_skeleton)
|
||||
bpy.types.register(DATA_PT_display)
|
||||
bpy.types.register(DATA_PT_paths)
|
||||
bpy.types.register(DATA_PT_ghost)
|
||||
75
release/ui/buttons_data_bone.py
Normal file
75
release/ui/buttons_data_bone.py
Normal file
@@ -0,0 +1,75 @@
|
||||
|
||||
import bpy
|
||||
|
||||
class DataButtonsPanel(bpy.types.Panel):
|
||||
__space_type__ = "BUTTONS_WINDOW"
|
||||
__region_type__ = "WINDOW"
|
||||
__context__ = "bone"
|
||||
|
||||
def poll(self, context):
|
||||
ob = context.active_object
|
||||
return (ob and ob.type == 'ARMATURE')
|
||||
|
||||
class DATA_PT_bone(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_bone"
|
||||
__label__ = "Bone"
|
||||
|
||||
def draw(self, context):
|
||||
bone = context.main.armatures[0].bones[0]
|
||||
layout = self.layout
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemR(bone, "name")
|
||||
sub.itemR(bone, "parent")
|
||||
sub.itemR(bone, "connected")
|
||||
sub.itemR(bone, "deform")
|
||||
|
||||
|
||||
sub.itemL(text="Inherit:")
|
||||
sub.itemR(bone, "hinge")
|
||||
sub.itemR(bone, "inherit_scale")
|
||||
|
||||
sub.itemL(text="Envelope:")
|
||||
sub.itemR(bone, "envelope_distance", text="Distance")
|
||||
sub.itemR(bone, "envelope_weight", text="Weight")
|
||||
sub.itemR(bone, "multiply_vertexgroup_with_envelope", text="Multiply")
|
||||
|
||||
sub = split.column()
|
||||
#sub.itemR(bone, "layer")
|
||||
sub.itemL(text="Display:")
|
||||
sub.itemR(bone, "draw_wire", text="Wireframe")
|
||||
sub.itemR(bone, "editmode_hidden", text="Hide (EditMode)")
|
||||
sub.itemR(bone, "pose_channel_hidden", text="Hide (PoseMode)")
|
||||
|
||||
sub.itemL(text="Curved Bones:")
|
||||
sub.itemR(bone, "bbone_segments", text="Segments")
|
||||
sub.itemR(bone, "bbone_in", text="Ease In")
|
||||
sub.itemR(bone, "bbone_out", text="Ease Out")
|
||||
|
||||
|
||||
sub.itemR(bone, "cyclic_offset")
|
||||
|
||||
|
||||
class DATA_PT_constraints(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_constraints"
|
||||
__label__ = "Constraints"
|
||||
|
||||
def draw(self, context):
|
||||
bone = context.main.armatures[0].bones[0]
|
||||
layout = self.layout
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
bpy.types.register(DATA_PT_bone)
|
||||
bpy.types.register(DATA_PT_constraints)
|
||||
|
||||
|
||||
|
||||
147
release/ui/buttons_data_curve.py
Normal file
147
release/ui/buttons_data_curve.py
Normal file
@@ -0,0 +1,147 @@
|
||||
|
||||
import bpy
|
||||
|
||||
class DataButtonsPanel(bpy.types.Panel):
|
||||
__space_type__ = "BUTTONS_WINDOW"
|
||||
__region_type__ = "WINDOW"
|
||||
__context__ = "data"
|
||||
|
||||
def poll(self, context):
|
||||
ob = context.active_object
|
||||
return (ob and ob.type == 'CURVE')
|
||||
|
||||
|
||||
class DATA_PT_shape_curve(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_shape_curve"
|
||||
__label__ = "Shape"
|
||||
|
||||
def draw(self, context):
|
||||
curve = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not curve:
|
||||
return
|
||||
row = layout.row()
|
||||
row.itemR(curve, "curve_2d")
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Caps:")
|
||||
sub.itemR(curve, "front")
|
||||
sub.itemR(curve, "back")
|
||||
|
||||
sub.itemL(text="Textures:")
|
||||
sub.itemR(curve, "uv_orco")
|
||||
sub.itemR(curve, "autotexspace")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Resolution:")
|
||||
sub.itemR(curve, "resolution_u", text="Preview U")
|
||||
sub.itemR(curve, "resolution_v", text="Preview V")
|
||||
sub.itemR(curve, "render_resolution_u", text="Render U")
|
||||
sub.itemR(curve, "render_resolution_v", text="Render V")
|
||||
|
||||
sub.itemL(text="Display:")
|
||||
sub.itemL(text="HANDLES")
|
||||
sub.itemL(text="NORMALS")
|
||||
sub.itemR(curve, "vertex_normal_flip")
|
||||
|
||||
|
||||
class DATA_PT_geometry(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_geometry"
|
||||
__label__ = "Geometry"
|
||||
|
||||
def draw(self, context):
|
||||
curve = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not curve:
|
||||
return
|
||||
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Modification:")
|
||||
sub.itemR(curve, "width")
|
||||
sub.itemR(curve, "extrude")
|
||||
sub.itemR(curve, "taper_object")
|
||||
sub = split.column()
|
||||
sub.itemL(text="Bevel:")
|
||||
sub.itemR(curve, "bevel_depth", text="Depth")
|
||||
sub.itemR(curve, "bevel_resolution", text="Resolution")
|
||||
sub.itemR(curve, "bevel_object")
|
||||
|
||||
|
||||
|
||||
|
||||
class DATA_PT_pathanim(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_pathanim"
|
||||
__label__ = "Path Animation"
|
||||
|
||||
def draw(self, context):
|
||||
curve = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not curve:
|
||||
return
|
||||
|
||||
|
||||
split = layout.split()
|
||||
sub = split.column(1)
|
||||
sub.itemR(curve, "path", text="Enable")
|
||||
|
||||
|
||||
split = layout.split()
|
||||
sub = split.column()
|
||||
sub.itemR(curve, "path_length", text="Frames")
|
||||
sub.itemR(curve, "follow")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemR(curve, "stretch")
|
||||
sub.itemR(curve, "offset_path_distance", text="Offset Children")
|
||||
|
||||
|
||||
class DATA_PT_current_curve(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_current_curve"
|
||||
__label__ = "Current Curve"
|
||||
|
||||
def draw(self, context):
|
||||
currentcurve = context.main.curves[0].curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not currentcurve:
|
||||
return
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Cyclic:")
|
||||
sub.itemR(currentcurve, "cyclic_u", text="U")
|
||||
sub.itemR(currentcurve, "cyclic_v", text="V")
|
||||
sub.itemL(text="Order:")
|
||||
sub.itemR(currentcurve, "order_u", text="U")
|
||||
sub.itemR(currentcurve, "order_v", text="V")
|
||||
sub.itemL(text="Point Count:")
|
||||
sub.itemR(currentcurve, "point_count_u", text="U")
|
||||
sub.itemR(currentcurve, "point_count_v", text="V")
|
||||
sub.itemL(text="Endpoints:")
|
||||
sub.itemR(currentcurve, "endpoint_u", text="U")
|
||||
sub.itemR(currentcurve, "endpoint_v", text="V")
|
||||
sub = split.column()
|
||||
sub.itemL(text="Bezier:")
|
||||
sub.itemR(currentcurve, "bezier_u", text="U")
|
||||
sub.itemR(currentcurve, "bezier_v", text="V")
|
||||
sub.itemL(text="Resolution:")
|
||||
sub.itemR(currentcurve, "resolution_u", text="U")
|
||||
sub.itemR(currentcurve, "resolution_v", text="V")
|
||||
sub.itemL(text="Interpolation:")
|
||||
sub.itemR(currentcurve, "tilt_interpolation", text="Tilt")
|
||||
sub.itemR(currentcurve, "radius_interpolation", text="Tilt")
|
||||
sub.itemR(currentcurve, "smooth")
|
||||
|
||||
bpy.types.register(DATA_PT_shape_curve)
|
||||
bpy.types.register(DATA_PT_geometry)
|
||||
bpy.types.register(DATA_PT_pathanim)
|
||||
bpy.types.register(DATA_PT_current_curve)
|
||||
@@ -4,7 +4,7 @@ import bpy
|
||||
class DataButtonsPanel(bpy.types.Panel):
|
||||
__space_type__ = "BUTTONS_WINDOW"
|
||||
__region_type__ = "WINDOW"
|
||||
__context__ = "data"
|
||||
__context__ = "modifier"
|
||||
|
||||
def poll(self, context):
|
||||
ob = context.active_object
|
||||
|
||||
135
release/ui/buttons_data_text.py
Normal file
135
release/ui/buttons_data_text.py
Normal file
@@ -0,0 +1,135 @@
|
||||
|
||||
import bpy
|
||||
|
||||
class DataButtonsPanel(bpy.types.Panel):
|
||||
__space_type__ = "BUTTONS_WINDOW"
|
||||
__region_type__ = "WINDOW"
|
||||
__context__ = "data"
|
||||
|
||||
def poll(self, context):
|
||||
ob = context.active_object
|
||||
return (ob and ob.type == 'TEXT')
|
||||
|
||||
class DATA_PT_shape_text(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_shape_text"
|
||||
__label__ = "Shape"
|
||||
|
||||
def draw(self, context):
|
||||
curve = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not curve:
|
||||
return
|
||||
row = layout.row()
|
||||
row.itemR(curve, "curve_2d")
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Caps:")
|
||||
sub.itemR(curve, "front")
|
||||
sub.itemR(curve, "back")
|
||||
|
||||
sub.itemL(text="Textures:")
|
||||
sub.itemR(curve, "uv_orco")
|
||||
sub.itemR(curve, "autotexspace")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Resolution:")
|
||||
sub.itemR(curve, "resolution_u", text="Preview U")
|
||||
sub.itemR(curve, "resolution_v", text="Preview V")
|
||||
sub.itemR(curve, "render_resolution_u", text="Render U")
|
||||
sub.itemR(curve, "render_resolution_v", text="Render V")
|
||||
|
||||
sub.itemL(text="Display:")
|
||||
sub.itemR(curve, "fast")
|
||||
|
||||
|
||||
class DATA_PT_font(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_font"
|
||||
__label__ = "Font"
|
||||
|
||||
def draw(self, context):
|
||||
text = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not text:
|
||||
return
|
||||
|
||||
layout.row()
|
||||
layout.itemR(text, "font")
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
# sub.itemR(text, "style")
|
||||
sub.itemR(text, "bold")
|
||||
sub.itemR(text, "italic")
|
||||
sub.itemR(text, "underline")
|
||||
sub.itemR(text, "text_size")
|
||||
sub.itemR(text, "shear")
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemR(text, "text_on_curve")
|
||||
sub.itemR(text, "family")
|
||||
sub.itemL(text="Underline:")
|
||||
sub.itemR(text, "ul_position", text="Position")
|
||||
sub.itemR(text, "ul_height", text="Height")
|
||||
|
||||
# sub.itemR(text, "edit_format")
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class DATA_PT_paragraph(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_paragraph"
|
||||
__label__ = "Paragraph"
|
||||
|
||||
def draw(self, context):
|
||||
text = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not text:
|
||||
return
|
||||
|
||||
row = layout.row()
|
||||
row.itemL(text="Align:")
|
||||
row = layout.row()
|
||||
row.itemR(text, "spacemode", expand=True)
|
||||
|
||||
split = layout.split()
|
||||
|
||||
sub = split.column()
|
||||
|
||||
sub.itemL(text="Spacing:")
|
||||
sub.itemR(text, "spacing", text="Character")
|
||||
sub.itemR(text, "word_spacing", text="Word")
|
||||
sub.itemR(text, "line_dist", text="Line")
|
||||
|
||||
sub = split.column()
|
||||
sub.itemL(text="Offset:")
|
||||
sub.itemR(text, "x_offset", text="X")
|
||||
sub.itemR(text, "y_offset", text="Y")
|
||||
sub.itemR(text, "wrap")
|
||||
|
||||
class DATA_PT_textboxes(DataButtonsPanel):
|
||||
__idname__ = "DATA_PT_textboxes"
|
||||
__label__ = "Text Boxes"
|
||||
|
||||
def draw(self, context):
|
||||
text = context.main.curves[0]
|
||||
layout = self.layout
|
||||
|
||||
if not text:
|
||||
return
|
||||
|
||||
|
||||
|
||||
bpy.types.register(DATA_PT_shape_text)
|
||||
bpy.types.register(DATA_PT_font)
|
||||
bpy.types.register(DATA_PT_paragraph)
|
||||
bpy.types.register(DATA_PT_textboxes)
|
||||
|
||||
@@ -153,7 +153,7 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
|
||||
|
||||
xco+=XIC+xmax;
|
||||
}
|
||||
|
||||
// DATA Icons
|
||||
if(ob) {
|
||||
switch(ob->type) {
|
||||
case OB_EMPTY: dataicon= ICON_EMPTY_DATA; break;
|
||||
@@ -185,24 +185,30 @@ void buttons_header_buttons(const bContext *C, ARegion *ar)
|
||||
if((ob && (ob->type != OB_ARMATURE)) && (sbuts->mainb == (float)BCONTEXT_BONE))
|
||||
sbuts->mainb = (float)BCONTEXT_DATA;
|
||||
|
||||
if(!ob && !ELEM(sbuts->mainb, (float)BCONTEXT_SCENE, (float)BCONTEXT_WORLD))
|
||||
sbuts->mainb = (float)BCONTEXT_WORLD;
|
||||
|
||||
uiBlockBeginAlign(block);
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_SCENE, xco, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_SCENE, 0, 0, "Scene");
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_WORLD, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_WORLD, 0, 0, "World");
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, dataicon, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
|
||||
if(ob && ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
|
||||
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_MATERIAL, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
|
||||
if(ob && ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_LAMP))
|
||||
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
|
||||
if(ob && ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
|
||||
|
||||
if(ob && ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_EMPTY))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
|
||||
|
||||
if(ob && (ob->type == OB_ARMATURE))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
|
||||
|
||||
if(ob) {
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_OBJECT_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_OBJECT, 0, 0, "Object");
|
||||
|
||||
if(ELEM5(ob->type, OB_MESH, OB_CURVE, OB_SURF, OB_FONT, OB_LATTICE))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_MODIFIER, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MODIFIER, 0, 0, "Modifier");
|
||||
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, dataicon, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_DATA, 0, 0, "Object Data");
|
||||
if((ob->type == OB_ARMATURE))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_BONE_DATA, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_BONE, 0, 0, "Bone");
|
||||
if(ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
|
||||
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_MATERIAL, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_MATERIAL, 0, 0, "Material");
|
||||
if(ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_LAMP))
|
||||
uiDefIconButS(block, ROW, B_BUTSPREVIEW, ICON_TEXTURE, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_TEXTURE, 0, 0, "Texture");
|
||||
if(ELEM5(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PARTICLES, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PARTICLE, 0, 0, "Particles");
|
||||
if(ELEM6(ob->type, OB_MESH, OB_SURF, OB_MBALL, OB_CURVE, OB_FONT, OB_EMPTY))
|
||||
uiDefIconButS(block, ROW, B_CONTEXT_SWITCH, ICON_PHYSICS, xco+=XIC, yco, XIC, YIC, &(sbuts->mainb), 0.0, (float)BCONTEXT_PHYSICS, 0, 0, "Physics");
|
||||
}
|
||||
xco+= XIC;
|
||||
|
||||
uiBlockEndAlign(block);
|
||||
|
||||
@@ -44,6 +44,7 @@ struct bContext;
|
||||
#define BCONTEXT_PHYSICS 7
|
||||
#define BCONTEXT_GAME 8
|
||||
#define BCONTEXT_BONE 9
|
||||
#define BCONTEXT_MODIFIER 10
|
||||
|
||||
/* buts->scaflag */
|
||||
#define BUTS_SENS_SEL 1
|
||||
|
||||
@@ -187,6 +187,8 @@ static void buttons_main_area_draw(const bContext *C, ARegion *ar)
|
||||
ED_region_panels(C, ar, vertical, "physics");
|
||||
else if(sbuts->mainb == BCONTEXT_BONE)
|
||||
ED_region_panels(C, ar, vertical, "bone");
|
||||
else if(sbuts->mainb == BCONTEXT_MODIFIER)
|
||||
ED_region_panels(C, ar, vertical, "modifier");
|
||||
|
||||
sbuts->re_align= 0;
|
||||
sbuts->mainbo= sbuts->mainb;
|
||||
|
||||
@@ -4760,7 +4760,7 @@ static char *view3d_modeselect_pup(Scene *scene)
|
||||
if(ob)
|
||||
str += sprintf(str, formatstr, "Object Mode", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
|
||||
else
|
||||
str += sprintf(str, formatstr, " ", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
|
||||
str += sprintf(str, formatstr, "Object Mode", V3D_OBJECTMODE_SEL, ICON_OBJECT_DATA);
|
||||
|
||||
if(ob==NULL) return string;
|
||||
|
||||
|
||||
@@ -165,8 +165,8 @@ static void rna_def_bone(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(prop, "Active", "Bone was the last bone clicked on (most operations are applied to only this bone)");
|
||||
|
||||
prop= RNA_def_property(srna, "hinge", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HINGE);
|
||||
RNA_def_property_ui_text(prop, "Hinge", "Bone doesn't inherit rotation or scale from parent bone.");
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_HINGE);
|
||||
RNA_def_property_ui_text(prop, "Inherit Rotation", "Bone doesn't inherit rotation or scale from parent bone.");
|
||||
|
||||
prop= RNA_def_property(srna, "editmode_hidden", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_HIDDEN_A);
|
||||
@@ -182,7 +182,7 @@ static void rna_def_bone(BlenderRNA *brna)
|
||||
|
||||
prop= RNA_def_property(srna, "inherit_scale", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_negative_sdna(prop, NULL, "flag", BONE_NO_SCALE);
|
||||
RNA_def_property_ui_text(prop, "Inherit scale", "Bone inherits scaling from parent bone.");
|
||||
RNA_def_property_ui_text(prop, "Inherit Scale", "Bone inherits scaling from parent bone.");
|
||||
|
||||
prop= RNA_def_property(srna, "draw_wire", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flag", BONE_DRAWWIRE);
|
||||
|
||||
@@ -292,9 +292,9 @@ static void rna_def_font(BlenderRNA *brna, StructRNA *srna)
|
||||
PropertyRNA *prop;
|
||||
|
||||
static EnumPropertyItem prop_align_items[] = {
|
||||
{CU_LEFT, "LEFT", "Left Align", "Align text to the left"},
|
||||
{CU_MIDDLE, "CENTRAL", "Central Align", "Center text"},
|
||||
{CU_RIGHT, "RIGHT", "Right Align", "Align text to the right"},
|
||||
{CU_LEFT, "LEFT", "Left", "Align text to the left"},
|
||||
{CU_MIDDLE, "CENTRAL", "Center", "Center text"},
|
||||
{CU_RIGHT, "RIGHT", "Right", "Align text to the right"},
|
||||
{CU_JUSTIFY, "JUSTIFY", "Justify", "Align to the left and the right"},
|
||||
{CU_FLUSH, "FLUSH", "Flush", "Align to the left and the right, with equal character spacing"},
|
||||
{0, NULL, NULL, NULL}};
|
||||
|
||||
Reference in New Issue
Block a user