File: StringGui.sc

package info (click to toggle)
supercollider 1%3A3.10.0%2Brepack-1
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 45,496 kB
  • sloc: cpp: 283,513; lisp: 74,040; ansic: 72,252; sh: 23,016; python: 7,175; makefile: 1,087; perl: 766; java: 677; yacc: 314; lex: 175; ruby: 136; objc: 65; xml: 15
file content (39 lines) | stat: -rw-r--r-- 885 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
// just a label with the name of the object

StringGui : ObjectGui {

	writeName {}
	gui { arg parent, bounds ... args;
		var layout,string,font;
		var width,height;
		layout=this.guify(parent,bounds);
		font = Font.new(*GUI.skin.fontSpecs);
		if(model.isString,{
			string = " "++model;
		},{
			// floats, integers, symbols will show more clearly what they are
			string = " "++model.asCompileString;
		});
		if(string.size > 1024,{
			string = string.copyRange(0,1024) ++ "...";
		});
		if(bounds.notNil,{
			bounds = bounds.asRect;
		},{
			bounds = Rect(0,0,
						string.bounds.width(font).max(30),
						GUI.skin.buttonHeight);
		});
		this.view = StaticText.new(layout,bounds)
			.stringColor_(GUI.skin.fontColor)
			.font_(font)
			.background_(GUI.skin.background)
			.align_(\left)
			.object_(string);

		if(parent.isNil,{
			layout.resizeToFit;
			layout.front
		});
	}
}