FoundationsofGTKDevelopment:Appendix C

From 흡혈양파의 번역工房
Revision as of 05:07, 9 May 2014 by Onionmixer (talk | contribs) (GTKD 부록 C GTK+ 스타일 페이지 추가)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
부록 C GTK+ 스타일

GTK+ 스타일

GTK+는 위젯의 스타일을 맞춤설정할 수 있도록 많은 방도를 제공한다. 위젯 스타일의 맞춤설정 대부분은 스타일 프로퍼티와 자원(RC) 파일을 통해 이루어지는데, 이는 본 서적의 제 4장 "위젯 스타일" 절에서 다룬 바 있다.


제 4장에 실린 정보를 비롯해 이번 부록은 모든 위젯, Pango 텍스트 마크업 언어, GtkTextTag 스타일에 적용할 수 있는 기본 RC 파일 요소에 대한 참고자료를 제공하고자 한다.


기본 RC 파일 스타일

자원 파일은 제 4장에서 소개했지만 이번 절에 실린 내용을 모든 위젯이 지원하는 기본 스타일에 대한 참고자료로 사용한다면 좋겠다.


개발자는 배경색, 전경색, 기본색(base color), 텍스트 색상 스타일을 비롯해 다수의 스타일을 적용할 위젯 상태를 명시할 필요가 있다. 상태는 일부 함수에 대한 스톡 아이콘을 명시할 때에도 필요하다. 아래에는 다섯 가지의 위젯 상태를 소개하겠다.

  • NORMAL: 정상적인 작동 시 위젯의 상태.
  • ACTIVE: 토글을 누름 해제할 때와 같이 활성화된 위젯의 상태.
  • PRELIGHT: 마우스가 위젯 위에 있으며, 버튼의 클릭에 응답할 것이다.
  • SELECTED: 위젯 또는 위젯 텍스트가 선택되었다.
  • INSENSITIVE: 위젯이 비활성화되어 사용자에게 응답하지 않을 것이다.


색상은 다수의 포맷으로 명시가 가능하다. 이러한 포맷으로 #RGB, #RRGGBB, #RRRGGGBBB, #RRRRGGGGBBBB와 같은 16진 포맷들이 있는데, 여기서 R, G, B는 각각 적색, 녹색, 청색을 나타내는 16진 숫자다. 색상을 {R, G, B}와 같이 명시할 수도 있는데, 여기서 값은 0과 65,535 사이의 정수이거나 0.0과 1.0 사이의 부동 소수점 값으로 주어진다.


표 C-1은 GTK+ 2.10 버전부터 지원되는 기본 RC 파일 스타일을 전부 열거한다. 스타일 설명 중 일부는 구현 방법의 예제도 포함한다.

스타일 설명
base[state] 다섯 가지 상태 중 하나로 텍스트의 편집을 허용하는 위젯의 (예: GtkEntry) 배경색을 설정하라. 예제: base[ACTIVE] = { 0.5, 0.3, 1.0 }
bg[state] 대부분 위젯의 배경색을 다섯 가지 상태 중 하나로 설정하라. 예제: bg[NORMAL] = "#036"
bg_pixmap[state] 위젯의 배경으로 사용할 이미지를 다섯 가지 상태 중 하나로 설정하라.이미지 파일이 상대적일 경우 pixmap_path가 명시한 경로 중 하나가 검색될 것이다. 예제: bg_pixmap[SELECTED] = "image.xpm"
class::property 구체적인 위젯 클래스에 대한 스타일 프로퍼티를 설정하라. 예를 들어, GtkWidget 프로퍼티는 cursor-aspect-ratio, cursor-color, draw-border를 포함한다. 예제: class::cursor-aspect-ratio = 0.1
color["color_name"] GTK+ 2.10 버전부터 개발자는 자신만의 색상을 정의할 수 있다. 색상은 @color_name으로 참조된다. 아래 소개된 표에서 더 상세한 정보를 찾을 수 있다.
engine 테마 엔진은 RC 파일로부터 자신만의 위젯 스타일을 정의하도록 해준다. 엔진의 사용에 관한 추가 정보는 GTK+ 문서에서 찾을 수 있다.
fg 대부분 위젯의 전경색을 다섯 가지 상태 중 하나로 설정하라. 예제: fg[PRELIGHT] = "#123456"
font_name 이 스타일을 위해 GTK+ 2.10 버전부터 font와 fontset 스타일이 무시된다. Pango Font Description 문자열과 마찬가지로 이 글꼴의 이름을 명시해야 한다.예제: font_name = "Sans Bold 12"
stock["stockid"] 애플리케이션이 사용할 수 있는 새로운 스톡 항목을 정의하라. 스톡 항목은 이미지 파일명, 텍스트 방향(왼쪽으로 오른쪽, 혹은 오른쪽에서 왼쪽으로), 위젯 상태, 크기를 수락한다. 크기로는 gtk-menu, gtk-small-toolbar, gtk-large-toolbar, gtk-button, gtk-dialog가 있다. 마지막 세 개의 매개변수에서는 별표(*) 문자를 와일드카드로 사용할 수 있다. 예제: stock["myitem"] = { "myitem.png", LTR, NORMAL, "gtk- menu" }
text[state] GtkEntry와 같은 위젯에 텍스트 색상을 설정하라. 예제: fg[PRELIGHT] = { 0, 65535, 0 }
xthickness GTK+의 다양한 값에 대한 수평적 패딩을 설정하라. 이 값은 정수로 명시된다.
ythickness GTK+의 다양한 값에 대한 수직적 패딩을 설정하라. 이 값은 정수로 명시된다.
표 C-1. RC 파일 스타일


GTK+ 2.10 버전부터는 자신만의 색상을 정의할 수가 있다. 기존 색상을 변경하도록 4개의 함수가 제공되기도 한다. 아래 네 가지 방법들은 각각 지원되는 색상 표현식을 모두 수락한다.

  • shade (factor, color): 명시된 색상을 연하거나 진하게 만든다. factor는 부동 소수점 수가 될 수 있으며, 1.0은 색상을 그대로 둔다. factor가 작을수록 색상은 어두워지고 클수록 연해진다.
  • dark (color): 이 표현식은 shade (0.7, color)와 동일하다.
  • lighter (color): 이 표현식은 shade (1.3, color)와 동일하다.
  • mix (factor, color1, color2): 두 가지 색상을 섞어 새로운 색상을 생성하는데, factor가 0.0이면 color2가 나오고 1.0이면 color1이 된다.


이러한 방법들을 모두 이용해 색상을 생성할 수도 있다. 이해를 돕기 위해 색상 생성 표현식의 예를 몇 가지 소개하겠다.

color["blackwhite"] = mix (0.5, "#000000", "#FFFFFF")
color["darker"] = shade (0.5, @blackwhite)
color["multiple"] = shade (1.4, mix (0.1, "#369", { 0, 1.0, 0 }))


Pango 텍스트 마크업 언어

Pango 텍스트 마크업 언어는 GtkLabel을 비롯해 몇 가지 위젯에서 XML 태그로 된 텍스트의 스타일을 변경할 수 있도록 해준다.


여러 속성과 함께 <span> 태그를 이용해 텍스트 스타일을 정의할 수 있다. 예를 들어 <span font_desc='Sans Bold 12'>Text</span>은 태그들 사이의 텍스트를 명시된 글꼴로 설정한다. 표 C-2에서는 <span> 태그에 지원되는 속성의 리스트를 제공하겠다.

속성 설명
background 배경색을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다.
face Sans 또는 Monospace와 같은 폰트 패밀리명. 이 태그는 font_family와 동일하다.
fallback 기본적으로 활성화되는데, 활성화 시 시스템은 명시된 글꼴에 가장 가깝게 일치하는 글꼴의 검색을 시도할 것이다. 이 속성을 꺼서는 안 되지만, 불가피한 경우 false의 값을 사용해야 한다.
font_desc "Sans Bold 12"와 같이 PangoFontDescription이 지원하는 글꼴 설명 문자열.
font_family Sans 또는 Monospace와 같은 폰트 패밀리명. 이 태그는 face와 동일하다.
foreground 전경색을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다.
lang 텍스트 문자열이 어떤 언어로 되어 있는지를 나타내는 언어 코드.
rise 이 값은 em 단위를 10,000로 나누어(10,000ths of an em unit) 수직 변위(vertical displacement)를 명시함으로써 슈퍼스크립트와 서브스크립트의 생성을 허용한다. 음의 값은 서브스크립트를, 양의 값은 슈퍼스크립트를 생성한다.
size 포인트를 1,024로 나누어(1,024ths of a point) 표시된 글꼴 크기. xx-small, x-small, small, medium, large, x-large, xx-large, larger, smaller 또한 사용 가능하다. 절대 크기는 font_desc를 이용 시 명시하기가 수월하다.
stretch 텍스트가 얼마나 늘어날 것인지 정의한다. ultracondensed, extracondensed, condensed, semicondensed, normal, semiexpanded, expanded, extraexpanded, ultraexpanded와 같은 값이 가능하다.
strikethrough 텍스트를 통해 단일 행을 위치시키려면 true를, 속성을 끄려면 false를 명시해야 한다.
strikethrough_color 취소선(strikethrough line) 색상을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다.
style 이탤릭 스타일의 텍스트. normal, oblique, 또는 italic과 같은 값이 가능하다.
underline 텍스트에 밑줄 긋는 방식을 설명하는 값. single, double, low, 또는 none과 같은 값이 가능하다.
underline_color 밑줄 색상을 설명하는 값. #RRGGBB와 같은 형태로 된 16진 RGB 값 또는 blue와 같이 지원하는 색상명이 가능하다.
variant normal 또는 smallcaps의 값으로, 텍스트를 모두 대문자로 렌더링하도록 해준다.
weight 텍스트의 굵기. ultralight, light, normal, bold, ultrabold, heavy, 또는 수치로 된 굵기 값이 가능하다.
표 C-2. Span 태그 속성


Pango 텍스트 마크업 언어는 수많은 편의(convenience) 태그를 제공하기도 한다. 이러한 태그는 다양한 <span> 속성을 대신해 사용이 가능하다. <span> 태그와 마찬가지로 항상 닫는 태그를 제공해야 한다 (예: </span>).

  • <b>: 글꼴을 볼드체로 만들며, <span weight="bold">와 동일하다.
  • <big>: 글꼴을 현재 글꼴보다 크게 만들며, <span size="larger">와 동일하다.
  • <i>: 글꼴을 이탤릭체로 만들며, <span style="italic">와 동일하다.
  • <s>: 텍스트에 취소선을 그리며, <span strikethrough="true">와 동일하다.
  • <sub>: 텍스트 문자열 서브스크립트를 만든다. 서브스크립트 텍스트에 기본 값을 사용한다.
  • <sup>: 텍스트 문자열 슈퍼스크립트를 만든다. 슈퍼스크립트 텍스트에 기본 값을 사용한다.
  • <small>: 글꼴을 현재 글꼴보다 작게 만들며, <span size="smaller">와 동일하다.
  • <tt>: 글꼴을 monospace 글꼴로 만든다. 고정폭 간격을 요하는 코드 세그먼트나 문자열에 사용할 수 있다.
  • <u>: 텍스트에 밑줄을 그으며, <span underline="single">과 동일하다.


GtkTextTag 스타일

텍스트 태그는 GtkTextBuffer의 구체적인 섹션에 스타일을 정의하도록 해준다. 표 C-3은 GtkTextTag가 지원하는 스타일과 각 스타일이 지원하는 값의 타입에 대한 설명을 제공한다.

프로퍼티 타입 설명
background gchararray 16진수 문자열로 된 배경색. 16진수 문자열로 된 배경색. 문자열은 #RRGGBB 포맷으로 명시되어야 한다.
background-full-height gboolean 배경색이 행의 전체 높이를 채우는지 아니면 각 문자의 높이만큼만 채우는지 나타낸다.
background-gdk GdkColor 배경색.
background-stipple GdkPixmap 위젯의 배경으로 그릴 비트맵.
direction GtkTextDirection 기본 텍스트 방향으로, GTK_TEXT_DIR_NONE, GTK_TEXT_DIR_LTR, GTK_TEXT_DIR_RTL 중 하나로 설정된다.
editable gboolean 텍스트가 수정 가능한지 나타낸다.
family gchararray Sans 또는 Monospace와 같은 폰트 패밀리의 공식 명칭.
font gchararray PangoFontDescription이 허용하는 형태로 전체 글꼴을 설명하는 문자열.
font-desc PangoFontDescription 위젯에 적용할 글꼴. 실제 글꼴 문자열을 명시하기 위해 font를 사용할 수도 있다.
foreground gchararray 16진수 문자열로 된 전경색. 문자열은 #RRGGBB 포맷으로 명시되어야 한다.
foreground-gdk GdkColor 전경색.
foreground-stipple GdkPixmap 전경 마스크(foreground mask)로 사용할 비트맵.
indent gint 문단을 들여쓰기할 픽셀 수를 설정하는 정수.
invisible gboolean 텍스트의 숨김 여부를 나타낸다.
justification GtkJustification 맞춤(justification 타입)으로, GTK_JUSTIFY_LEFT, GTK_JUSTIFY_RIGHT, GTK_JUSTIFY_CENTER 중 하나로 설정된다.
language gchararray 기본 언어의 ISO 코드. 이전 설정을 제거하려면 NULL을 사용하라.
left-margin gint 왼쪽 여백의 너비를 픽셀로 나타낸 값.
name gchararray 텍스트 태그의 이름으로 사용할 수 있는 문자열. 이전 설정을 제거하려면 NULL을 사용하라.
paragraph-background gchararray 16진수 문자열로 된 문단 배경색.문자열은 #RRGGBB 포맷으로 명시되어야 한다.
paragraph-background-gdk GdkColor 문단 배경색.
pixels-above-lines gint 문단 위에 추가할 공간의 픽셀 수.
pixels-below-lines gint 문단 아래에 추가할 공간의 픽셀 수.
pixels-inside-wrap gint 래핑된 행 사이에 추가할 공간의 픽셀 수.
right-margin gint 오른쪽 여백의 너비를 픽셀로 나타낸 값.
rise gint 행의 하단면 위에 텍스트의 오프셋.
scale gdouble Pango 스케일 값으로 된 글꼴 크기로, PANGO_SCALE_XX_SMALL, PANGO_SCALE_X_SMALL, PANGO_SCALE_SMALL, PANGO_SCALE_MEDIUM, PANGO_SCALE_LARGE, PANGO_SCALE_X_LARGE, PANGO_SCALE_XX_LARGE 중 하나로 설정된다.
size gint Pango 단위로 된 글꼴 크기.
size-points gdouble 포인트로 된 글꼴 크기.
stretch PangoStretch 텍스트가 얼마나 늘어날 것인지 정의하는 값으로, PANGO_STRETCH_ULTRA_CONDENSED, PANGO_STRETCH_EXTRA_CONDENSED, PANGO_STRETCH_CONDENSED, PANGO_STRETCH_SEMI_CONDENSED, PANGO_STRETCH_NORMAL, PANGO_STRETCH_SEMI_EXPANDED, PANGO_STRETCH_EXPANDED, PANGO_STRETCH_EXTRA_EXPANDED, PANGO_STRETCH_ULTRA_EXPANDED 중 하나로 설정된다.
strikethrough gboolean 텍스트에 취소선을 그을 것인지 나타낸다.
style PangoStyle 글꼴 스타일 값으로, PANGO_STYLE_NORMAL, PANGO_STYLE_OBLIQUE, PANGO_STYLE_ITALIC 중 하나로 설정된다.
tabs PangoTabArray 태그의 범위 내 모든 탭 문자에 사용할 커스텀 탭 배열.
underline PangoUnderline 밑줄 스타일로, PANGO_UNDERLINE_NONE, PANGO_UNDERLINE_SINGLE, PANGO_UNDERLINE_DOUBLE, PANGO_UNDERLINE_LOW, PANGO_UNDERLINE_ERROR 중 하나로 설정된다.
variant PangoVariant 모든 텍스트가 모두 대문자 (PANGO_VARIANT_SMALL_CAPS) 또는 정상적으로 (PANGO_VARIANT_NORMAL) 렌더링되어야 한다.
weight gint 글꼴 굵기로, PANGO_WEIGHT_ULTRALIGHT, PANGO_WEIGHT_LIGHT, PANGO_WEIGHT_NORMAL, PANGO_WEIGHT_SEMIBOLD, PANGO_WEIGHT_BOLD, PANGO_WEIGHT_ULTRABOLD, PANGO_WEIGHT_HEAVY 중 하나로 설정된다.
wrap-mode GtkWrapMode 래핑 방식으로, GTK_WRAP_NONE, GTK_WRAP_CHAR, GTK_WRAP_WORD, GTK_WRAP_WORD_CHAR 중 하나로 설정된다.
표 C-3. GtkTextTag 스타일 프로퍼티


위젯 스타일 프로퍼티

많은 위젯들이 RC 파일을 이용해 변경될 수 있는 스타일 프로퍼티들을 갖는다. 표 C-4부터 C-32까지는 이 방법을 이용해 맞춤설정이 가능한 위젯들이 제공하는 스타일을 모두 제공하겠다.

프로퍼티 타입 설명
arrow-scaling gfloat 화살표 크기의 스케일링에 사용된 0.0과 1.0 사이의 숫자로, 기본값은 0.7이다.
표 C-4. GtkArrow 스타일 프로퍼티


프로퍼티 타입 설명
content-padding gint 각 페이지 내용 주위에 추가되는 패딩의 픽셀 수.
header-padding gint 각 페이지의 헤더 주위에 추가되는 패딩의 픽셀 수.
표 C-5. GtkAssistant 스타일 프로퍼티


프로퍼티 타입 설명
child-displacement-x gint 버튼의 자식 위젯의 수평 변위(horizontal displacement)로, 버튼을 누르면 발생할 것이다.
child-displacement-y gint 버튼의 자식 위젯의 수직 변위(vertical displacement)로, 버튼을 누르면 발생할 것이다.
default-border GtkBorder 버튼이 기본 위젯이 될 수 있을 때 버튼을 따라 추가할 추가 테두리.
default-outside-border GtkBorder 버튼이 기본 위젯이 될 수 있을 때 버튼 외부를 따라 추가할 추가 테두리.
displace-focus gboolean TRUE로 설정 시 자식 변위 스타일 프로퍼티가 사용될 것이다.
image-spacing gint 버튼에 포함된 텍스트와 이미지 사이에 추가할 공간의 픽셀 수.
inner-border GtkBorder 버튼의 면과 그 자식 위젯의 면을 따라 위치시킬 테두리.
표 C-6. GtkButton 스타일 프로퍼티


프로퍼티 타입 설명
child-internal-pad-x gint 패딩이 각 자식 위젯의 한 면에 위치된다.
child-min-height gint 컨테이너 내에서 각 버튼의 최소 높이.
표 C-7. GtkButtonBox 스타일 프로퍼티


프로퍼티 타입 설명
indicator-size gint 체크 버튼이나 라디오 버튼의 크기를 픽셀로 나타낸 값.
indicator-spacing gint 체크 버튼 표시기(indicator) 주위에 추가할 패딩.
표 C-8. GtkCheckButton 스타일 프로퍼티


프로퍼티 타입 설명
indicator-size gint 체크 버튼 표시기의 크기를 픽셀로 나타낸 값.
표 C-9. GtkCheckMenuItem 스타일 프로퍼티


프로퍼티 타입 설명
appears-as-list gboolean TRUE로 설정 시 위젯이 활성화되면 표시되는 드롭 다운 창이 메뉴 대신 리스트로 나타날 것이다.
arrow-size gint 콤보 박스가 표시하는 화살표의 크기를 픽셀로 나타낸 값. 이는 최소값으로, 글꼴 크기가 커지면 값도 증가할 것이다.
표 C-10. GtkComboBox 스타일 프로퍼티


프로퍼티 타입 설명
action-area-border gint 액션 영역 주위에 위치시킬 패딩의 픽셀 수로, 대화상자 하단면을 따라 발견된다.
button-spacing gint 대화상자 액션 영역 내에서 버튼들 사이에 추가할 공간.
content-area-border gint 대화상자의 주요 내용 주위에 위치시킬 패딩의 픽셀 수.
표 C-11. GtkDialog 스타일 프로퍼티


프로퍼티 타입 설명
inner-border GtkBorder GtkEntry 위젯의 텍스트와 그 면 사이에 위치시킬 패딩의 픽셀 수.
표 C-12. GtkEntry 스타일 프로퍼티


프로퍼티 타입 설명
expander-size gint 익스팬더 화살표의 크기를 픽셀로 나타낸 값.
expander-spacing gint 익스팬더 화살표 주위에 위치시킬 패딩을 픽셀로 나타낸 값.
표 C-13. GtkExpander 스타일 프로퍼티


프로퍼티 타입 설명
selection-box-alpha guchar 선택(selection box) 박스의 알파값으로, 기본값으로 64가 설정된다.
selection-box-color GdkColor 선택 박스가 표시하는 색상.
표 C-14. GtkIconView 스타일 프로퍼티


프로퍼티 타입 설명
double-arrow gboolean TRUE로 설정 시 메뉴를 통해 스크롤링하면 두 개의 화살표가 모두 표시될 것이다.
horizontal-offset gint 하위메뉴의 본래 위치로부터 수평적 오프셋을 픽셀로 나타낸 값. 양수 또는 음수 값이 가능하다! 사실 기본값은 -1에 해당한다.
horizontal-padding gint 메뉴의 좌측면과 우측면을 따라 추가할 패딩의 픽셀 수.
vertical-offset gint 하위메뉴의 본래 위치로부터 수직적 오프셋을 픽셀로 나타낸 값. 양수 또는 음수 값이 가능하다!
vertical-padding gint 메뉴의 상단면과 하단면을 따라 추가할 패딩의 픽셀 수.
표 C-15. GtkMenu 스타일 프로퍼티


프로퍼티 타입 설명
internal-padding gint 메뉴 표시줄의 면과 메뉴 항목 사이에 위치시킬 패딩.
shadow-type GtkShadowType 메뉴 표시줄의 면 주위에 위치시킬 그림자 타입.
표 C-16. GtkMenuBar 스타일 프로퍼티


프로퍼티 타입 설명
arrow-spacing gint 항목이 하위메뉴를 포함할 때 메뉴 항목의 라벨과 화살표 사이에 추가할 패딩.
horizontal-padding gint 메뉴 항목의 한쪽 면에 위치한 패딩의 픽셀 수.
selected-shadow-type GtkShadowType 메뉴 항목의 면 주위에 위치시킬 그림자 타입.
toggle-spacing gint 메뉴 항목의 텍스트와 아이콘 사이에 위치시킬 패딩의 픽셀 수.
표 C-17. GtkMenuItem 스타일 프로퍼티


프로퍼티 타입 설명
message-border gint 메시지 대화상자에서 라벨과 이미지 주변에 추가할 패딩.
use-separator gboolean TRUE로 설정 시 메시지 대화상자의 내용과 그 버튼 사이에 구분자가 그려질 것이다.
표 C-18. GtkMessageDialog 스타일 프로퍼티


프로퍼티 타입 설명
arrow-spacing gint 스크롤 화살표와 GtkNotebook 위젯의 탭 사이에 위치시킬 패딩.
has-backward-stepper gboolean TRUE로 설정 시 후방향(backward) 스크롤 화살표가 표시될 것이다.
has-forward-stepper gboolean TRUE로 설정 시 전방향(forward) 스크롤 화살표가 표시될 것이다.
has-secondary-backward-stepper gboolean TRUE로 설정 시 두 번째 후방향 스크롤 화살표가 탭의 다른 면에 위치될 것이다.
has-secondary-forward-stepper gboolean TRUE로 설정 시 두 번째 전방향 스크롤 화살표가 탭의 다른 면에 위치될 것이다.
tab-curvature gint 선택된 탭과 선택 해제된 탭의 크기 차이.
tab-overlap gint 주변에 탭이 겹치게 될 픽셀 수.
표 C-19. GtkNotebook 스타일 프로퍼티


프로퍼티 타입 설명
handle-size gint 두 개의 패인 사이에 위치한 구분자의 너비 또는 높이.
표 C-20. GtkPaned 스타일 프로퍼티


프로퍼티 타입 설명
xspacing gint 위젯의 너비에 추가된 수평적 공간.
yspacing gint 위젯의 높이에 추가된 수직적 공간.
표 C-21. GtkProgressBar 스타일 프로퍼티


프로퍼티 타입 설명
activate-slider gboolean TRUE로 설정 시 슬라이더를 드래그하면 활성화(active) 상태로 그려지고, 그에 따라 그림자가 안쪽으로 그려질 것이다.
arrow-displacement-x gint 수평 화살표를 누르면 화살표가 가리키는 방향으로 그만큼 범위가 이동할 것이다.
arrow-displacement-y gint 수직 화살표를 누르면 화살표가 가리키는 방향으로 그만큼 범위가 이동할 것이다.
slider-width gint 위젯의 방향에 따라 실제 스크롤바 또는 스케일 영역의 너비나 높이.
stepper-size gint 스텝퍼(stepper) 버튼의 크기로, 범위 위젯의 타입에 따라 좌우된다.
stepper-spacing gint 스텝퍼 버튼과 thumb 사이에 추가할 패딩의 양. 양수로 설정 시 through-under-steppers가 설정될 것이다.
trough-border gint 스텝퍼와 외부 trough 사이에 추가할 패딩.
trough-side-details gboolean TRUE로 설정 시 스텝퍼의 면에 세부 내용이 표시될 것이다.
trough-upper-steppers gboolean TRUE로 설정 시 전체 범위를 따라 trough가 그려질 것이다.
표 C-22. GtkRange 스타일 프로퍼티


프로퍼티 타입 설명
slider-length gint 픽셀로 된 GtkScale의 슬라이더 길이.
value-spacing gint 스케일의 값과 trough 간에 패딩이 표시될 경우 패딩의 양.
표 C-23. GtkScale 스타일 프로퍼티


프로퍼티 타입 설명
fixed-slider-length gboolean TRUE로 설정 시 범위의 크기와 무관하게 슬라이더는 강제로 최소 길이로 유지될 것이다.
has-backward-stepper gboolean TRUE로 설정 시 후방향 화살표가 표시될 것이다.
has-forward-stepper gboolean TRUE로 설정 시 전방향 화살표가 표시될 것이다.
has-secondary-backward-stepper gboolean TRUE로 설정 시 2차 후방향 화살표가 스크롤바의 반대편에 위치할 것이다.
has-secondary-forward-stepper gboolean TRUE로 설정 시 2차 전방향 화살표가 스크롤바의 반대편에 위치할 것이다.
min-slider-length gint 슬라이더의 최소 길이. fixed-slider-length가 TRUE로 설정된 경우 이것은 일정한 스크롤러 크기가 될 것이다.
표 C-24. GtkScrollbar 스타일 프로퍼티


프로퍼티 타입 설명
scrollbar-spacing gint 스크롤이 있는 창의 내용과 스크롤바 사이에 위치시킬 패딩의 픽셀 수.
표 C-25. GtkScrolledWindow 스타일 프로퍼티


프로퍼티 타입 설명
shadow-type GtkShadowType 스핀 버튼 주위에 그릴 그림자 타입. 그림자 기본 타입은 GTK_SHADOW_IN이다.
표 C-26. GtkSpinButton 스타일 프로퍼티


프로퍼티 타입 설명
shadow-type GtkShadowType 상태 표시줄의 내용 주위에 그릴 그림자 타입. 그림자 기본 타입은 GTK_SHADOW_IN이다.
표 C-27. GtkStatusbar 스타일 프로퍼티


프로퍼티 타입 설명
error-underline-color GdkColor 오류가 표시된 텍스트 아래 밑줄을 그릴 때 사용할 색상.
표 C-28. GtkTextView 스타일 프로퍼티


프로퍼티 타입 설명
button-relief GtkReliefStyle 툴바 버튼 주위에 위치시킬 테두리 타입.
internal-padding gint 툴바의 테두리와 툴바 버튼 사이에 위치시킬 패딩의 픽셀 수.
max-child-expand gint 각 툴 항목의 크기를 조정할 수 있는 최대 너비 또는 높이.
shadow-type GtkShadowType 툴바 주위에 그릴 그림자 타입. 기본 그림자 타입은 GTK_SHADOW_OUT이다.
space-size gint 툴바에서 발견되는 간격(spacer)의 너비 또는 높이.
space-style GtkToolbarSpaceStyle 툴바가 표시하게 될 간격의 타입. GTK_TOOLBAR_SPACE_EMPTY 또는 GTK_TOOLBAR_SPACE_LINE으로 설정 가능한데, 각각 빈 패딩과 하나의 행을 표시할 것이다.
표 C-29. GtkToolbar 스타일 프로퍼티


프로퍼티 타입 설명
icon-spacing gint 툴 버튼의 라벨과 아이콘 사이에 위치시킬 패딩의 픽셀 수.
표 C-30. GtkToolButton 스타일 프로퍼티


프로퍼티 타입 설명
allow-rules gboolean TRUE로 설정 시 두 개의 색을 교대로 이용해(alternating) 행을 그릴 수 있다. 당시에 작업을 실행할 뿐, 이 기능을 활성화하지는 않음을 주의하라!
even-row-color GdkColor 두 개의 행마다 다른 색으로 그릴 때 짝수 행의 배경색.
expander-size gint 행 익스팬더의 크기를 픽셀로 나타낸 값으로, 기본값은 12다.
grid-line-pattern gchararray 트리 뷰에서 격자선에 사용할 패턴.
grid-line-width gint 트리 뷰에 그린 격자선의 너비.
horizontal-separator gint 셀들 간 위치시킬 수평 공간으로, 양으로 된 짝수여야 한다.
indent-expanders gboolean TRUE로 설정 시 행의 내용이 증가하면 익스팬더가 들여 써질 것이다.
odd-row-color GdkColor 두 개의 행마다 다른 색으로 그릴 때 홀수 행의 배경색.
row-ending-details gboolean TRUE로 설정 시 행의 배경 테마(background theming)가 활성화될 것이다.
tree-line-pattern gchararray 트리 뷰 직선을 그리는데 사용된 패턴을 설명하는 문자열.
tree-line-width gint 트리 뷰 직선의 너비를 픽셀로 나타낸 값.
vertical-separator gint 셀들 간 위치시킬 수직 공간으로, 양으로 된 짝수여야 한다.
표 C-31. GtkTreeView 스타일 프로퍼티


프로퍼티 타입 설명
cursor-aspect-ratio gfloat 삽입 커서를 그릴 변의 가로세로비(aspect ratio)로, 0.0과 1.0 사이의 값이어야 하며 기본값은 0.04다.
cursor-color GdkColor 삽입 커서를 그리는 데 사용할 색상.
draw-border GtkBorder 위젯의 초기 할당 외에 위치시킬 테두리의 양.
focus-line-pattern gchararray 위젯에 포커스가 있을 때 위젯 주위에 그려지는 패턴을 설명하는 문자열.
focus-line-width gint 위젯에 포커스가 있을 때 그려지는 직선의 너비.
focus-padding gint 포커스 선과 위젯의 면 사이에 위치시킬 패딩의 픽셀 수.
interior-focus gboolean TRUE로 설정 시 위젯에 대해 포커스 선이 그려질 것이다.
link-color GdkColor 방문하지 않은 링크를 그리는 데 사용할 색상.
scroll-arrow-hlength gint 수평 스크롤 화살표가 있는 위젯에서 화살표의 길이.
scroll-arrow-vlength gint 수직 스크롤 화살표가 있는 위젯에서 화살표의 길이.
secondary-cursor-color GdkColor 2차 삽입 커서를 그리는 데 사용할 색상. 이 커서는 좌측에서 우측 방향의 텍스트와 우측에서 좌측 방향의 텍스트를 동시에 편집할 때 표시된다.
separator-height gint 여러 위젯에 표시되는 다양한 타입의 구분자의 높이. 이 프로퍼티는 wide-separators가 설정되었을 때에만 작동할 것이다.
separator-width gint 여러 위젯에 표시되는 다양한 타입의 구분자의 너비. 이 프로퍼티는 wide-separators가 설정되었을 때에만 작동할 것이다.
visited-link-color GdkColor 방문한 링크를 그릴 때 사용할 색상.
wide-separators gboolean TRUE로 설정 시 separator-width 와 separator-height을 이용해 구분자의 너비와 높이 프로퍼티를 설정할 수 있다. 이런 경우 직선 대신 박스로 그려질 것이다.
표 C-32. GtkWidget 스타일 프로퍼티


Notes