2014-06-04 3 views
1

GTK 상태 표시 줄을 사용하는 프로그램이 있는데 여기에 여러 줄의 출력이 있습니다. 내가 이맥스에서 같은 일을 기대상태 표시 줄에 줄 바꿈이 있습니다.

glyphs

:

noglyphs

약간의 검색 후 나는 그것을로 출력 여러 라인에하려고하면 아래와 같이, 나는 상형 문자 대신 얻을 , 나는 정확히 내가 원하는 것을하는 것처럼 보이는 layoutSetSingleParagraphMode을 발견했다. 대부분의 위젯에서는 기본 설정이 False로 설정되어 있으므로 어디서든 설정하면 상태 표시 줄의 기본값이 단일 단락 모드로 설정됩니다.

내 문제는이 기능을 사용할 수있는 Statusbar에서 PangoLayout으로 이동하는 방법을 모른다는 것입니다.

그때 나를 layoutEmptyPangoLayout를 얻을 수 있지만, 이름이 제안으로, 이것이 바로 조작 할 때 상태 표시 줄에 영향을 미치지 않는 별도의 PangoLayout 만들 것으로 보인다하자 widgetGetPangoContext 발견 된 온 가장 가까운 : 밀거나 텍스트의 터지는는 동작을 전에 그랬던 것처럼.

누락 된 기능이 있습니까? 틀림없이 gtk2hs은 생성 된 문서의 가독성에 기여하지 않는 OO를 에뮬레이트하기 위해 유형 클래스의 바다에서 수영합니다. 그것은 간단한 작업이어야하는 것으로 보인다.

기존 위젯에서 PangoLayout을 꺼내려는 의도가 없다면 어떻게 할 수 있습니까? 상태 표시 줄을 만들 때 단락 모드를 선택하는 옵션이없는 것 같습니다.

이 프로젝트와 관련된 GitHub 문제는 this을 참조하십시오.

답변

1

이 시도하십시오 상태 표시 줄의 텍스트 레이블이 어디

사용 statusbarGetMessageAreaGtk.Box를 얻을 수 있습니다.

그런 다음 문자 레이블을 containerGetChildren <status bar message area>으로 가져옵니다. 이 함수는 레이블이 하나 인 요소가 Gtk.Widget 인 목록을 반환합니다.

castToLabel 레이블로 위젯을 전송하십시오.

이제 멀티 라인 모드를 labelSetSingleLineMode <label> False으로 설정할 수 있습니다.

레이블 내용을 labelSetText 또는 labelSetMarkup으로 설정하십시오.

나는 GTK2를 사용하여 Hackage에서 0.12.5의 GTK2를 사용하여 GTK3로 시도하지 않았지만 성공으로 시도했다.

+0

당신은 아름다운 사람입니다. –