2008-09-15 4 views
0

창문에 GtkHBoxGtkTreeView이있는 Glade GUI 설명 파일이 있습니다. row_activated 신호 처리기가 있습니다. 이제, Glade는 자동으로 해당 트리 뷰의 "events"속성 (GtkWidget에서 상속)을 약간의 값 (GDK_POINTER_MOTION_MASK | GDK_POINTER_MOTION_HINT_MASK | GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK)으로 설정합니다. 그리고이 이상한 이와 일들이 있습니다 : (나는 기압이 적어도 이전 GTK 2.10) 응용 프로그램을 중단하지 않는 것 (속성이 비어 있도록) 사전 설정 값을 제거GtkTreeView 위젯과 같은 GtkWidget.events 속성의 목적은 무엇입니까?

  • 은 .
  • 실제로, 이전에 본 성가신 버그 (트리보기 항목이 클릭 수를 확장하거나 축소하는 데 제대로 반응하지 않음)가 사라졌습니다.

아직 새로운 GTK 버전으로 테스트 해 보았습니다.하지만 질문은 이미 있습니다.이 events 속성의 목적은 무엇입니까? Glade가 왜 자동으로 불필요하게 값을 설정합니까? 이것에는 내가 모르고있는 부작용이 있습니까?

답변

0

이 마스크는 수신하려는 이벤트를 나타내지 않습니까? 이 경우 사용자가 GtkTreeView에서 항목을 클릭하거나 두 번 클릭했음을 알리고 해당 이벤트를 처리하기 위해 콜백을 등록하려고합니다.

0

me.yahoo.com/a/kUQ7zeQ : 그러나 언급 한대로 빈 문자열로 속성을 설정하더라도 행을 두 번 클릭하거나 Enter 키 또는 Space 키를 누를 때 row_activated 핸들러가 여전히 호출됩니다. 그래서 트리 뷰는 여전히 이벤트를 얻습니다 ...

1

빈터 버그는 항상 생성하는 위젯의 이벤트 속성을 설정합니다. 프로퍼티의 디폴트 값에 대한 개념이 없기 때문에 항상 프로퍼티를 설정합니다.

관련 문제