GnuSmalltalkUsersGuide:AdditionalChapter1 42
- BLOX.BText
BLOX.BText
네임스페이스 BLOX에 정의됨
슈퍼클래스: BLOX.BViewport
범주: 그래픽-윈도우
- 나는 꽤 괜찮은 포맷팅 옵션이 포함된 텍스트 뷰어를 나타낸다.
BLOX.BText 클래스: 접근하기
emacsLike
우리가 현재 Emacs 또는 Motif 키 바인딩을 이용하고 있는지를 응답하라.
emacsLike: aBoolean
우리가 현재 Emacs 또는 Motif 키 바인딩을 이용하는지를 설정하라.
BLOX.BText 클래스: 인스턴스 생성
newReadOnly: parent
읽기만 가능한 새 텍스트 위젯을 응답하라 (읽기만 가능한 상태는 그 상태를 비활성으로 단순히 설정하면 가능하다).
BLOX.BText: 접근하기
backgroundColor
위젯에 대한 backgroundColor 옵션의 값을 응답하라.
위젯을 표시할 때 사용할 일반 배경색을 명시한다.
backgroundColor: value
위젯에 대한 backgroundColor 옵션의 값을 설정하라.
위젯을 표시할 때 사용할 일반 배경색을 명시한다.
callback
수신자를 수정하면 전송되는 DirectedMessage를 응답하고, 준비된 내용이 없을 경우 nil을 응답하라.
callback: aReceiver message: aSymbol
수신자를 수정하면 aReceiver에 aSymbol 메시지(0-인자 또는 1-인자 선택자의 이름)가 전송되도록 준비하라. 메서드가 인자를 수락하면 수신자가 전달된다.
contents
위젯의 내용을 리턴하라.
contents: aString
위젯의 내용을 설정하라.
font
위젯에 대한 폰트 옵션의 값을 응답하라.
위젯 내부에서 텍스트를 그릴 때 사용할 폰트를 명시한다. 폰트는 X 폰트명이나 Blox 폰트 설명 문자열로 주어질 수 있다.
X 폰트명은 다수의 필드로서 주어지는데, 각 필드 앞에는 - 표시가 되어 있고, 기본값이 괜찮음을 나타내기 위해 각 -는 *로 대체될 수 있다: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (관습에 따라 픽셀 크기와 동일), horizontal resolution, vertical resolution, spacing, width, charset, character encoding.
Blox 폰트 설명 문자열은 3개의 필드로 구성되는데, 각 필드는 공백(space)으로 구분되어야 하나 첫 번째 공백만 의무적이다: 글꼴 집합(font family), 폰트의 포인트 크기 (음수값이 제공될 경우 픽셀로), 공백으로 구분된 스타일 수(유효한 스타일로는 보통, 굵게, 이탤릭체, 밑줄, 오버스트라이크가 있다). 유효한 폰트의 예로, "Helvetica 10 Bold", "Times -14", "Futura Bold Underline"가 있다. 두 개 이상의 단어로 이루어진 경우 글꼴 집합을 괄호로 닫아야 한다.
font: value
위젯에 대한 폰트 옵션의 값을 설정하라.
위젯 내부에서 텍스트를 그릴 때 사용할 폰트를 명시한다. 폰트는 X 폰트명이나 Blox 폰트 설명 문자열로 주어질 수 있다.
X 폰트명은 다수의 필드로서 주어지는데, 각 필드 앞에는 - 표시가 되어 있고, 기본값이 괜찮음을 나타내기 위해 각 -는 *로 대체될 수 있다: foundry, family, weight, slant, setwidth, addstyle, pixel size, point size (관습에 따라 픽셀 크기와 동일), horizontal resolution, vertical resolution, spacing, width, charset, character encoding.
Blox 폰트 설명 문자열은 3개의 필드로 구성되는데, 각 필드는 공백(space)으로 구분되어야 하나 첫 번째 공백만 의무적이다: 글꼴 집합(font family), 폰트의 포인트 크기 (음수값이 제공될 경우 픽셀로), 공백으로 구분된 스타일 수(유효한 스타일로는 보통, 굵게, 이탤릭체, 밑줄, 오버스트라이크가 있다). 유효한 폰트의 예로, "Helvetica 10 Bold", "Times -14", "Futura Bold Underline"가 있다. 두 개 이상의 단어로 이루어진 경우 글꼴 집합을 괄호로 닫아야 한다.
foregroundColor
위젯에 대한 foregroundColor 옵션의 값을 응답하라.
위젯을 표시할 때 사용할 일반 전경색을 명시한다.
foregroundColor: value
위젯에 대한 foregroundColor 옵션의 값을 설정하라.
위젯을 표시할 때 사용할 일반 전경색을 명시한다.
getSelection
위젯이 선택내용을 갖고 있지 않은 경우 빈 문자열을 응답하고, 그 외의 경우 현재 선택된 텍스트를 응답하라.
selectBackground
위젯에 대한 selectBackground 옵션의 값을 응답하라.
위젯의 선택된 부분을 표시할 때 사용할 배경색을 명시한다.
selectBackground: value
위젯에 대한 selectBackground 옵션의 값을 설정하라.
위젯의 선택된 부분을 표시할 때 사용할 배경색을 명시한다.
selectForeground
위젯에 대한 selectForeground 옵션의 값을 응답하라.
위젯의 선택된 부분을 표시할 때 사용할 전경색을 명시한다.
selectForeground: value
위젯에 대한 selectForeground 옵션의 값을 설정하라.
위젯의 선택된 부분을 표시할 때 사용할 전경색을 명시한다.
wrap
위젯에 대한 wrap 옵션의 값을 응답하라.
텍스트에서 텍스트 창의 단일행에 표시하기에 너무 긴 행을 어떻게 처리할 것인지 명시한다. 값은 #none, #char, #word 중 하나가 가능하다. Wrap의 none 모드는 텍스트 각 행이 화면의 한 행과 정확히 똑같이 표시됨을 의미한다; 화면에 차지 않는 추가 문자는 표시되지 않는다. 다른 모드에서 각 텍스트 행은 필요 시 모든 문자를 표시할 수 있도록 여러 개의 화면 행(screen line)으로 나누어질 것이다. Char 모드에서는 어떤 문자 뒤에서든 화면 행 바꿈이 따라올 수 있다; word 모드에서는 단어를 기준으로 하여 행 바꿈이 이루어진다.
wrap: value
위젯에 대한 wrap 옵션의 값을 설정하라.
텍스트에서 텍스트 창의 단일행에 표시하기에 너무 긴 행을 어떻게 처리할 것인지 명시한다. 값은 #none, #char, #word 중 하나가 가능하다. Wrap의 none 모드는 텍스트 각 행이 화면의 한 행과 정확히 똑같이 표시됨을 의미한다; 화면에 차지 않는 추가 문자는 표시되지 않는다. 다른 모드에서 각 텍스트 행은 필요 시 모든 문자를 표시할 수 있도록 여러 개의 화면 행(screen line)으로 나누어질 것이다. Char 모드에서는 어떤 문자 뒤에서든 화면 행 바꿈이 따라올 수 있다; word 모드에서는 단어를 기준으로 하여 행 바꿈이 이루어진다.
BLOX.BText: 속성
insertAtEnd: aString attribute: attr
선택내용을 제거하고 위젯의 끝에 aString을 붙여라. 주어진 속성을 텍스트의 포맷팅에 이용하라.
insertText: aString attribute: attr
현재 삽입 지점에서 위젯 내 aString을 삽입하고 현재 선택된 텍스트(가 있을 경우)를 대체하라. 주어진 속성을 텍스트의 포맷팅에 이용하라.
removeAttributes
위젯 내 텍스트로부터 포맷팅 유형은 모두 제거하라.
removeAttributesFrom: aPoint to: endPoint
주어진 끝점 사이에 있는 위젯 내 텍스트로부터 포맷팅 유형은 모두 제거하라. 두 개의 끝점은 두 좌표 모두 1부터 시작되는 Point 객체들이다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
setAttributes: attr from: aPoint to: endPoint
attr에 의해 주어진 포맷팅을 주어진 끝점 사이의 위젯 내 텍스트로 추가하라. 두 개의 끝점은 두 좌표 모두 1부터 시작되는 Point 객체들이다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
BLOX.BText: 기하도형 관리
child: child height: value
주어진 자식의 높이를 'value' 픽셀이 되도록 설정하라.
child: child heightOffset: value
주어진 자식의 높이를 'value' 픽셀만큼 더 주어지도록 조정하라.
child: child width: value
주어진 자식의 너비를 'value' 픽셀이 되도록 설정하라.
child: child widthOffset: value
주어진 자식의 너비를 'value' 픽셀만큼 더 주어지도록 조정하라.
child: child x: value
절대 실패하지 않고 아무 일도 하지 않는다. 자식들은 각 자식이 위젯으로 추가될 당시 텍스트가 끝났던 곳에 남는다.
child: child xOffset: value
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.
child: child y: value
절대 실패하지 않고 아무 일도 하지 않는다. 자식들은 각 자식이 위젯으로 추가될 당시 텍스트가 끝났던 곳에 남는다.
child: child yOffset: value
이 클래스의 인스턴스를 대상으로 해당 메서드를 호출해서는 안 된다.
heightChild: child
주어진 자식의 높이를 픽셀로 응답하라.
widthChild: child
주어진 자식의 너비를 픽셀로 응답하라.
xChild: child
주어진 자식의 상단 좌측 모서리의 x 좌표를 응답하라. 자식들은 사실상 텍스트 위젯을 스크롤 할 때 이동하므로 우리는 항상 0을 응답한다.
yChild: child
주어진 자식의 상단 좌측 모서리의 y 좌표를 응답하라. 자식들은 사실상 텍스트 위젯을 스크롤 할 때 이동하므로 우리는 항상 0을 응답한다.
BLOX.BText: 이미지
insertImage: anObject
현재 위젯에 삽입점이 위치한 곳에 이미지를 삽입하라. anObject는 이미지 데이터(Base-64 encoded GIF 데이터, XPM 데이터 또는 PPM 데이터)를 포함하는 String이거나, #registerImage: 로 이미지를 등록한 결과일 수 있다.
insertImage: anObject at: position
위젯 내 주어진 위치에 이미지를 삽입하라. 위치는 두 좌표 모두 1부터 시작되는 Point 객체이다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다. anObject는 이미지 데이터(Base-64 encoded GIF 데이터, XPM 데이터 또는 PPM 데이터)를 포함하는 String이거나, #registerImage: 로 이미지를 등록한 결과일 수 있다.
insertImageAtEnd: anObject
위젯 텍스트의 끝에 이미지를 삽입하라. anObject는 이미지 데이터(Base-64 encoded GIF 데이터, XPM 데이터 또는 PPM 데이터)를 포함하는 String이거나, #registerImage: 로 이미지를 등록한 결과일 수 있다.
registerImage: anObject
위젯에 사용될 이미지를 등록하라 (데이터는 anObject에 포함되어 있고, Base-64 encoded GIF 데이터, XPM 데이터, 또는 PPM 데이터를 포함하는 String). 같은 이미지가 여러 번 사용되어야 하는 경우 한 번만 등록한 후 이미지 삽임 메서드로 #registerImage: 의 결과를 전달하는 편이 낫다. 등록된 이미지는 각 BText 위젯마다 private하다. 위젯으로 이미지를 등록하여 다른 위젯으로 사용하는 경우 예상치 못한 결과를 야기할 수 있다.
BLOX.BText: 텍스트 삽입하기
insertAtEnd: aString
선택내용을 제거하고 위젯의 끝에 aString을 붙여라.
insertSelectedText: aString
위젯에서 aString을 현재 삽입점에 삽입하여 현재 선택된 텍스트(가 있을 경우)는 제자리에 남겨두고 텍스트를 선택하라.
insertText: aString
위젯에서 aString을 현재 삽입 지점에 삽입하고 현재 선택된 텍스트(가 있을 경우)를 대체하라.
insertText: aString at: position
위젯에서 aString을 현재 주어진 위치에 삽입하고, 현재 선택된 텍스트(가 있을 경우)를 대체하라. 위치는 두 좌표 모두 1부터 시작되는 Point 객체이다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
insertTextSelection: aString
위젯에서 aString을 현재 선택내용 다음에 삽입하고, 현재 선택된 텍스트(가 있을 경우)는 손대지 않고 그대로 남겨두어라.
invokeCallback
종합적 콜백(synthetic callback)을 생성하라..
nextPut: aCharacter
선택내용을 제거하고 위젯의 끝에 aCharacter를 붙여라.
nextPutAll: aString
선택내용을 제거하고 위젯의 끝에 aString을 붙여라.
nl
선택내용을 제거하고 위젯의 끝에 linefeed 문자를 붙여라.
refuseTabs
Tab 문자를 위젯에 삽입하는 대신 부모 창에서 위젯을 가로지르도록(traverse) 배열하라.
replaceSelection: aString
현재 삽입 지점에서 위젯 내 aString을 삽입하고 현재 선택된 텍스트(가 있을 경우)를 대체하여 선택된 텍스트를 남겨두라.
searchString: aString
위젯에서 aString을 검색하라. 찾을 수 없는 경우 0을 응답하고, 그 외의 경우 0부터 시작하는 행 번호를 응답하며, 문자열이 발견된 장소로 삽입점을 이동시켜라.
space
선택내용을 제거하고 위젯 끝에 공백(space)을 붙여라.
BLOX.BText: 위치 & 행
charsInLine: number
number 번째 행에 포함된 문자 수를 응답하라.
currentColumn
현재 삽입점이 위치한 곳을 1부터 시작하는 열 번호로 응답하라.
currentLine
현재 삽입점이 위치한 곳을 1부터 시작하는 행 번호로 응답하라.
currentPosition
현재 삽입점이 위치한 곳을 나타내는 Point를 응답하라. 응답의 두 좌표는 모두 1부터 시작된다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
currentPosition: aPoint
삽입점을 aPoint에 의해 주어진 위치로 이동시켜라. aPoint 내 두 좌표는 1부터 시작되는 것으로 해석한다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
gotoLine: line end: aBoolean
aBoolean이 true인 경우, line 번째 행의 마지막 문자로 삽입점을 이동시켜라 (1은 위젯에서 첫 행을 의미); Boolean이 false인 경우 line번째 행의 시작점로 이동시켜라.
indexAt: point
제공된 Point 객체에 의해 텍스트의 창에 좌표가 주어지는 픽셀을 가리는 문자의 위치를 응답하라.
lineAt: number
위젯 내 텍스트의 number 번째 행을 응답하라.
numberOfLines
위젯 내 행의 수를 응답하라.
====selectFrom: first to: last
주어진 끝점 사이의 텍스트를 선택하라. 두 끝점은 위치는 두 좌표 모두 1부터 시작되는 Point 객체들이다: 첫 행은 line 1이고, 첫 행에서 첫 문자는 character 1이다.
setToEnd
삽입점을 위젯 끝으로 이동시켜라.