- Home /
Question by
jwulf · Mar 05, 2017 at 07:35 PM ·
editorsceneviewguistyleeditor windoweditor scripting
Style labels in editor window (in scene view)
I am creating a editor-window inside the scene view with some inputs, but at the moment I am having trouble styling it correctly, as you can see:
The labels of all the inputs are hard to read because black on dark background. What can I do to make those texts appear white?
For reference, here my code which creates the window (I left some parts out which are not relevant for this question in order to keep the code excerpt as short as possible...):
public static class CloningTool {
static Rect windowRect;
public static void Init() {
SceneView.onSceneGUIDelegate += OnSceneGUI;
windowRect = new Rect (20, 30, 200, 200);
}
public static void Exit() {
SceneView.onSceneGUIDelegate -= OnSceneGUI;
}
static void OnSceneGUI(SceneView scn) {
int controlId = GUIUtility.GetControlID (FocusType.Passive);
windowRect = GUILayout.Window (controlId, windowRect, CloningWindowContent, "Cloning Tool");
}
static int numClones;
static Vector2 cloneDirection;
static bool showPreview = true;
static void CloningWindowContent(int id) {
// Here are the problematic controls
GUILayout.Label ("Clone Object \"" + cloned.name + "\"");
numClones = EditorGUILayout.IntField ("Times", numClones);
cloneDirection = EditorGUILayout.Vector2Field ("In Direction", cloneDirection);
showPreview = EditorGUILayout.ToggleLeft ("Show Preview", showPreview);
GUILayout.Button ("Do it!");
GUI.DragWindow ();
}
}
I already tried creating a GUIStyle like this...
whiteStyle = new GUIStyle ();
whiteStyle.normal.textColor = Color.white;
... and applied it ...
GUILayout.Label ("Clone Object \"" + cloned.name + "\"", whiteStyle);
numClones = EditorGUILayout.IntField (new GUIContent ("Times"), numClones, whiteStyle);
cloneDirection = EditorGUILayout.Vector2Field ("In Direction", cloneDirection); // Vector2Field does not take styles in any overload
showPreview = EditorGUILayout.ToggleLeft ("Show Preview", showPreview, whiteStyle);
... but that doesn't help either:
... as it seems to be applied to the value rather than the label in case of the int field and not applicable at all for the Vector2 field.
Thanks for any advice!
window-with-style.png
(8.0 kB)
window-default.png
(7.3 kB)
Comment