Legacy Documentation: Version 4.5.0

Script language:

  • JS
  • C#
  • Boo
Script language

Select your preferred scripting language. All code snippets will be displayed in this language.

EditorGUI.InspectorTitlebar

static function InspectorTitlebar(position: Rect, foldout: bool, targetObj: Object): bool;
static bool InspectorTitlebar(Rect position, bool foldout, Object targetObj);
static def InspectorTitlebar(position as Rect, foldout as bool, targetObj as Object) as bool
static function InspectorTitlebar(position: Rect, foldout: bool, targetObjs: Object[]): bool;
static bool InspectorTitlebar(Rect position, bool foldout, Object[] targetObjs);
static def InspectorTitlebar(position as Rect, foldout as bool, targetObjs as Object[]) as bool

Parameters

positionRectangle on the screen to use for the titlebar.
foldoutThe foldout state shown with the arrow.
targetObjThe object (for example a component) or objects that the titlebar is for.

Returns

bool The foldout state selected by the user.

Description

Make an inspector-window-like titlebar.

The titlebar has a foldout arrow, a help icon, and a settings menu that depends on the type of the object supplied.


Inspector titlebar in an Editor Window.

	// Editor window that shows the detailed rotation (X,Y,Z and W components), 
	// the position in 3D space and position in Screen space of the selected 
	// transform.
	
	class CustomTransformInspector extends EditorWindow {
		var showing : boolean = true;
		var rotationComp : Vector4;
	
		@MenuItem("Examples/GameObject detailed inspector")
		static function Init() {
			var window = GetWindow(CustomTransformInspector);
			window.Show();
		}
		
		function OnInspectorUpdate() {
			Repaint();
		}
		function OnGUI() {
			var currObj = Selection.activeTransform;
			showing = EditorGUI.InspectorTitlebar(Rect(0,0,position.width, 20), showing, currObj);
			if(showing) {
				if(currObj) {
					currObj.position = EditorGUI.Vector3Field(Rect(3,15,position.width-6,20),
							"Position in 3D Space:",
							currObj.position);
					
					EditorGUI.Vector2Field(Rect(3,50,position.width-6,20),
							"Position in Screen Space:",
							Camera.main.WorldToScreenPoint(currObj.position));
					
					rotationComp = EditorGUI.Vector4Field(Rect(3, 85, position.width-6, 20),
									"Detailed Rotation:",
									QuaternionToVector4(currObj.localRotation));
					currObj.localRotation = ConvertToQuaternion(rotationComp);
									
					currObj.localScale = EditorGUI.Vector3Field(Rect(3,120,position.width-6,20),
									"Scale:",
									currObj.localScale);
					
				} else {
					EditorGUI.DropShadowLabel(Rect(3,15,position.width,20),"Select an Object to inspect");
				}		
			}
		}
		
		function ConvertToQuaternion(v4 : Vector4) {
			return Quaternion(v4.x, v4.y, v4.z, v4.w);
		}
		function QuaternionToVector4(q : Quaternion) {
			return Vector4(q.x, q.y, q.z, q.w);
		}	
	}