/
GLMRubEditingAreaBrick.class.st
133 lines (106 loc) · 2.97 KB
/
GLMRubEditingAreaBrick.class.st
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
"
A GLMRubEditingAreaBrick is basic text editor brick used for multi line input fields.
vShrinkWrap - height fits text size + vertical paddings
hShrinkWrap - doesn't make any sense.
vSpaceFill - fills parent vertically. Actual text editor height = parent height - vertical paddings
hSpaceFill - doesn't really makes sense, since text area still shrinks to fit text
"
Class {
#name : #GLMRubEditingAreaBrick,
#superclass : #GLMRubScrolledTextBrick,
#category : #'Glamour-Morphic-Brick-Widgets-Basic'
}
{ #category : #'examples - open' }
GLMRubEditingAreaBrick class >> exampleBandOpen [
self gtExampleBand openInBrickWindow
]
{ #category : #'examples - open' }
GLMRubEditingAreaBrick class >> exampleFillOpen [
self gtExampleFill openCenteredInBrickWindow
]
{ #category : #'examples - open' }
GLMRubEditingAreaBrick class >> exampleOpen [
self gtExample openCenteredInBrickWindow
]
{ #category : #'examples - open' }
GLMRubEditingAreaBrick class >> exampleScrollPaneOpen [
self gtExampleScrollPane openInBrickWindowLabeled: 'Rubric in ScrollPane'
]
{ #category : #examples }
GLMRubEditingAreaBrick class >> gtExample [
<gtExample>
<label: 'Basic Rubric Editing Area'>
^ self gtExampleBasic
updateTextWith: 'Hello world!';
yourself
]
{ #category : #examples }
GLMRubEditingAreaBrick class >> gtExampleBand [
<gtExample>
<label: 'Two rubric text areas in band'>
^ GLMBandBrick new
padding: #(20 20);
hSpaceFill;
vShrinkWrap;
width: 350;
height: 200;
color: Color veryVeryLightGray;
addAllBricks: { self gtExampleBasic. self gtExampleBasic };
yourself
]
{ #category : #examples }
GLMRubEditingAreaBrick class >> gtExampleBasic [
<gtExample>
<label: 'Basic Rubric Editing Area with padding and border'>
^ self new
padding: 20;
borderWidth: 20;
margin: 5;
width: 300;
height: 200;
borderColor: Color veryLightGray
]
{ #category : #examples }
GLMRubEditingAreaBrick class >> gtExampleFill [
<gtExample>
<label: 'Basic Rubric Editing Area that fills parent'>
^ self gtExampleBasic
vSpaceFill;
updateTextWith: 'Hello world!';
yourself
]
{ #category : #examples }
GLMRubEditingAreaBrick class >> gtExampleScrollPane [
<gtExample>
<label: 'Multiple rubric text areas in scroll pane'>
^ GLMScrollPaneBrick new
hSpaceFill;
vSpaceFill;
color: Color veryVeryLightGray;
layoutMorphs: true;
width: 350;
height: 200;
addAllBricks: ((1 to: 20) collect: [ :i | self gtExampleBasic ]);
yourself
]
{ #category : #initialization }
GLMRubEditingAreaBrick >> initialize [
super initialize.
self
hSpaceFill;
vShrinkWrap
]
{ #category : #'rubric - brick-creation' }
GLMRubEditingAreaBrick >> newRubricMorph [
^ GLMRubEditingArea new beWrapped
]
{ #category : #'brick - geometry' }
GLMRubEditingAreaBrick >> shrinkingWidth [
self rubric width: self rubric textArea width.
self onLayouted.
^ self rubric textArea width
]
{ #category : #'brick - properties' }
GLMRubEditingAreaBrick >> withoutBackground [
self rubric color: Color transparent
]