2012-01-29 4 views
0

MacRuby에서 전역 UI 선택을 읽으려면 어떻게해야합니까? 예를 들어 미리보기에서 선택한 텍스트MacRuby를 사용하여 전체 선택을 읽는 방법?

Ruby와 Cocoa에 대한 경험이 없기 때문에 나는 번역을 돕기 위해 작은 사전 응용 프로그램을 작성하기로 결정했습니다. 모든 부분이 준비되었습니다. 핫키에서 선택한 텍스트를 읽는 방법을 알아야합니다.

답변

1

없기 때문에 불가능합니다.

하나의 전체 선택 항목이 없습니다. 텍스트보기 (또는 기타 선택 가능한 텍스트 포함보기) 당 하나의 텍스트 선택이 있습니다. 창에는 이러한 뷰가 여러 개있을 수 있으며 응용 프로그램에는 이러한 창을 여러 개 열어 둘 수 있으며 사용자는 이러한 응용 프로그램을 여러 개 실행할 수 있습니다.

추가 문제는 모든 응용 프로그램이 코코아가 아니라는 것입니다. 그 중, 은 대부분입니다. 커스텀 뷰 (custom views)가 당신을 떠올리게 할 수도 있습니다 (예를 들어 그래픽 편집기의 텍스트 도구를 생각해보십시오). 사용자가 비 Cocoa 응용 프로그램에서 텍스트를 선택하면 해당 텍스트를 읽을 수 없습니다.

초점이 맞춰진 응용 프로그램의 집중된보기에서 선택된 텍스트에 액세스하려면 가장 가까운 방법은 응용 프로그램에서 Service을 제공하는 것입니다. 사용자는 거의 모든 코코아 응용 프로그램에서 호출 할 수 있습니다 그리고 좀 더 계몽 된 Carbon 어플리케이션의 일부. 그게 당신이 할 수있는 최선의 방법입니다.

Apple 고유의 사전은 Cocoa 및 Carbon 응용 프로그램에서 Floating Dictionary 패널을 포함하여 AppKit에서 특별한 대우를 받지만 다른 방식으로 작동합니다. 모든 서비스 메뉴에 표시되는 서비스를 제공합니다 (사용자가 그것을 끄지 않았다).

+0

고마워요, 피터. Objective-C/Cocoa에서 서비스를 구현해야한다는 의미입니까, 아니면 MacRuby를 사용할 수 있습니까? MacRuby를 사용하는 Service API 초보자를위한 좋은 예를 알고 있다면 감사하게 생각합니다. 건배 – user1177059

+0

@ user1177059 : Carbon을 사용할 수 있다고 생각하지만 Cocoa를 사용해야합니다. MacRuby에서 그렇게 할 수 있습니다. –