Tag Archives: GTK+

GTK+ 메모리 관리

GTK+ 포럼에 GTK+ 메모리 관리하기라는 글이 올라왔는데 내용이 간결해서 이를 참고로 다시 정리해 보았습니다.
참조 카운터 (Reference Counting)
모든 GTK 객체는 GObject를 상속하고 있는데, GObject는 메모리 관리를 위해 참조 카운터 기능을 기본적으로 지원합니다. GObject가 새로 생성되면 참조 카운터는 1입니다. 이 참조 카운터는 g_object_ref() / g_object_unref() 함수를 이용해 증가시키거나 감소시킬 수 있습니다. 말 그대로 객체를 사용중이라면(참조하고 있다면) 참조 [...] Continue reading

Posted in Development | Tagged , | Comments Off

GtkComboBox 사용하기

CMS  프로젝트를 진행하면서 가장 많이 사용하는 위젯 중의 하나는 GtkComboBox 위젯입니다. 과거에는 gtk_combo_box_text_new() 를 이용해서 GtkComboBox위젯을 생성하는 방법을 사용했습니다. 이 경우 GtkComboBox 의 각 항목은 텍스트 형의 원소로 채워집니다. 예를 들어 ‘artnlife’, ’1′, ‘모델’ 등의 텍스트 형 값들로 채워 집니다. 하지만, 항목의 값을 … Continue reading

Posted in Development | Tagged | Leave a comment

최신 버전의 GLib 과 GTK+ 라이브러리를 이용하기 위한 개발환경 구축

주의 : [최신 버전의 GLib 과 GTK+ 라이브러리를 이용하기 위한 개발환경 구축]의 가장 최근 판은 이곳 에서 확인할 수 있습니다.

시작하며

GLib 과 GTK+ 라이브러리는 많은 오픈소스 프로젝트에서 사용하고 있는 크로스플랫폼 라이브러리로 지금도 활발하게 개발중인 인기있는 라이브러리 중 하나입니다. 대부분의 인기있는 리눅스 배포판은 개발 환경까지 패키지 관리자를 이용해서 쉽게 설치할 수 있지만, 상황에 따라 최신 버전의 라이브러리가 필요할 때도 있습니다. 시스템에 설치하는 기본 라이브러리의 의존성을 해치지 않으면서…
Continue reading

Posted in Development | Tagged , , , | Comments Off

GtkCellRenderer 이해하기

GTK+ 프로그램 개발시 GtkTreeView / GtkComboBox 위젯은 상당히 많이 사용함에도 불구하고, 주위를 둘러보면 그저 이미 만들어져 있는 코드를 복사 붙여넣기 식으로 개발하는 사람이 많습니다. 그래서 조금만 고급 기능(?)이 필요한 경우 어디부터 시작해야할 지 몰라 당황하는 사람이 대부분인 것 같습니다. 그래서, 이 글에서는 GtkTreeView / GtkComboBox 위젯 등에서 데이터를 표시하는데 사용하는 GtkCellLayout / GtkCellRenderer 객체가 어떤 [...] Continue reading

Posted in Development | Tagged | Comments Off

GTK+ / GLib 경고 메시지 추적하기

GTK+ 또는 GLib 기반 프로그래밍을 할때 g_warning() / g_return_if_fail() 등과 같은 API를 사용한 경고 메시지가 어디서 발생했는지 찾기 어려운 경우가 있습니다. 더 나아가 해당 함수를 호출하는 부분을 알아야 하는데, 사실 메시지만으로는 찾기가 매우 어려운 경우가 많습니다.
예를 들어 수만라인짜리 프로그램이 실행 도중 다음과 같은 메시지를 출력합니다.
Gtk-CRITICAL **: gtk_widget_set_sensitive: \
assertion `GTK_IS_WIDGET (widget)’ failed
아, gtk_widget_set_sensitive() 함수를 호출할때 첫번째 [...] Continue reading

Posted in Development | Tagged , | Comments Off