GnuSmalltalkUsersGuide:AdditionalChapter1 42

From 흡혈양파의 번역工房
Revision as of 12:59, 28 January 2014 by Onionmixer (talk | contribs) (GSUG BLOX.BText 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
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

삽입점을 위젯 끝으로 이동시켜라.


Notes