GnuSmalltalkUsersGuide:AdditionalChapter1 27
- BLOX.BMenu
BLOX.BMenu
네임스페이스 BLOX에 정의됨
슈퍼클래스: BLOX.BMenuObject
범주: 그래픽-윈도우
- 나는 메뉴바에 속하는 Menu이다.
BLOX.BMenu 클래스: 인스턴스 생성
new: parent label: label
부모 창의 메뉴바에 캡션이 'label'로 된 새 메뉴를 추가하라 (팝업 메뉴의 경우 부모는 오른쪽 버튼을 누를 시 메뉴가 팝업되는 위젯에 해당한다).
BLOX.BMenu: 접근하기
label
위젯에 대한 라벨 옵션의 값을 응답하라.
위젯 내부에 표시될 문자열을 명시한다. 문자열이 표시되는 방식은 특정 위젯에 따라 좌우되고, 앵커와 같은 다른 옵션들에 의해 결정된다. 창(windows)의 경우 이는 창의 제목에 해당한다.
label: value
위젯에 대한 라벨 옵션의 값을 설정하라.
위젯 내부에 표시될 문자열을 명시한다. 문자열이 표시되는 방식은 특정 위젯에 따라 좌우되고, 앵커와 같은 다른 옵션들에 의해 결정된다. 창(windows)의 경우 이는 창의 제목에 해당한다.
BLOX.BMenu: 콜백 등록
addLine
메뉴 끝에 구분자(separator) 항목을 추가하라.
addMenuItemFor: anArray notifying: receiver
메뉴 끝에 anArray가 설명하는 메뉴 항목을 추가하라. anArray가 비어 있는 경우 구분행(separator line)을 삽입하라. anArray가 단일 항목을 가진 경우 콜백 없이 메뉴 항목이 생성된다. anArray가 두 개 또는 세 개의 항목을 가진 경우, 두 번째 항목이 수신자에게 전송되는 선택자로 사용되고, 세 번째 항목(이 있는 경우)은 선택자에게 전달된다.
callback: receiver using: selectorPairs
메뉴 끝에 anArray가 설명하는 메뉴 항목을 추가하라. selectorPairs의 각 요소는 BMenu>>#addMenuItemFor:-notifying: 에 설명된 포맷이어야 한다. 모든 콜백은 수신자로 전송될 것이다.
destroy
메뉴 위젯을 파기하라; 다시 말하자면, 부모 메뉴 바로부터 스스로를 제거하면 된다.
empty
메뉴 위젯을 비워라; 모든 자식들을 제거하면 된다.