ÅؽºÆ® widgetÀº ¿©·¯ ÁÙÀÇ ÅؽºÆ®¸¦ º¸¿©Áְųª ÆíÁýÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¿©·¯°¡Áö »öÀ̳ª ±Û²ÃÀ» ¿øÇÏ´Â ´ë·Î µ¿½Ã¿¡ ¼¯¾î¼ ¾µ ¼ö ÀÖ´Ù. ¶ÇÇÑ Å°ÀԷ¿¡ ¹ÙÅÁÀ» µÐ ¸¹Àº ¼öÀÇ Emacs¿Í ȣȯ ÅؽºÆ® ÆíÁý ¸í·Éµéµµ Áö¿øÇÑ´Ù.
ÅؽºÆ® widgetÀº ÇÑ ´Ü¾î³ª ÇÑÁÙ Àüü¸¦ ¼±ÅÃ(select)ÇÏ´Â ´õºí Ŭ¸¯, Æ®¸®Çà Ŭ¸¯À» Æ÷ÇÔÇؼ ¿ÏÀüÇÑ cut-and-paste ±â´ÉÀ» °®°í ÀÖ´Ù.
ÅؽºÆ® widgetÀ» ¸¸µå´Â ÇÔ¼ö´Â ´Ü Çϳª»ÓÀÌ´Ù.
GtkWidget* gtk_text_new (GtkAdjustment *hadj,
GtkAdjustment *vadj);
ÀÎÀÚµéÀº ÇöÀç widgetÀÌ º¸¿©ÁÖ°í ÀÖ´Â ÅؽºÆ®ÀÇ À§Ä¡¸¦ ÃßÀûÇÒ ¼ö ÀÖ°Ô ÇØÁÖ´Â AdjustmentÀÇ Æ÷ÀÎÅÍÀÌ´Ù. µÎ ÀÎÀÚ Áß Çϳª³ª µÑ ¸ðµÎ¿¡ NULLÀ» ³Ñ°ÜÁÖ¸é gtk_text_new ÇÔ¼ö´Â ÀÚ±â ÀÚ½ÅÀÇ °ÍÀ» »õ·ÎÀÌ ¸¸µç´Ù.
void gtk_text_set_adjustments (GtkText *text,
GtkAdjustment *hadj,
GtkAdjustment *vadj);
À§ ÇÔ¼ö´Â ¾Æ¹« ¶§³ª ÅؽºÆ® widgetÀÇ ¼öÁ÷, ¼öÆò adjustment¸¦ ¹Ù²Ü ¼ö ÀÖ°Ô ÇØÁØ´Ù.
ÅؽºÆ® À§Á¬Àº ÅؽºÆ®ÀÇ ¾çÀÌ À©µµ¿¡ ´Ù Ãâ·ÂµÇ±â¿¡ ³Ê¹« ±æ¾îµµ ÀÚµ¿ÀûÀ¸·Î ½ºÅ©·Ñ ¹Ù¸¦ ¸¸µéÁö´Â ¾Ê´Â´Ù. ±×·¯¹Ç·Î ¿ì¸®´Â Á÷Á¢ ±×°ÍµéÀ» ¸¸µé¾î¼ Ãâ·Â ·¹À̾ƿô¿¡ Ãß°¡ÇÏ¿©¾ß ÇÑ´Ù.
vscrollbar = gtk_vscrollbar_new (GTK_TEXT(text)->vadj);
gtk_box_pack_start(GTK_BOX(hbox), vscrollbar, FALSE, FALSE, 0);
gtk_widget_show (vscrollbar);
À§ÀÇ ÄÚµå´Â ¼öÁ÷ ½ºÅ©·Ñ¹Ù¸¦ Çϳª ¸¸µé°í À̸¦ ÅؽºÆ® widgetÀÎ text
ÀÇ ¼öÁ÷
adjustment¿¡ ºÙÀδÙ. ±×¸®°í´Â Á¤»óÀûÀÎ ¹æ¹ý´ë·Î box¿¡ ³Ö´Â´Ù.
ÅؽºÆ® widgetÀ» »ç¿ëÇÏ´Â ÁÖµÈ µÎ°¡Áö ±æÀÌ ÀÖ´Ù. »ç¿ëÀÚ¿¡°Ô ÅؽºÆ®ÀÇ ³»¿ëÀ» ÆíÁýÇÒ ¼ö ÀÖ°Ô Çϰųª ¶Ç´Â »ç¿ëÀÚ¿¡°Ô ¿©·¯ ÁÙÀÇ ÅؽºÆ®¸¦ º¸¿©Áֱ⸸ ÇÒ ¼ö ÀÖ´Ù. ÀÌ µÎ°¡Áö ¸ðµå »çÀ̸¦ ¿Ô´Ù°¬´ÙÇϱâ À§Çؼ ÅؽºÆ® widgetÀº ´ÙÀ½ ÇÔ¼ö¸¦ °®°í ÀÖ´Ù.
void gtk_text_set_editable (GtkText *text,
gint editable);
ÀÎÀÚ editable
¿¡ TRUE³ª FALSE¸¦ ÁÖ¾î¼ »ç¿ëÀÚ°¡ ÅؽºÆ® widgetÀÇ ³»¿ëÀ»
ÆíÁý °¡´É, ¶Ç´Â ºÒ°¡´ÉÇϵµ·Ï ¸¸µé ¼ö ÀÖ´Ù. ÅؽºÆ® widgetÀÌ ÆíÁý °¡´ÉÇÑ
»óŸé ÇöÀç ÀÔ·Â À§Ä¡¿¡ Ä¿¼°¡ ³ªÅ¸³´Ù.
ÀÌ µÎ°¡Áö ¸ðµå¿¡¼ ÅؽºÆ® widgetÀ» ¾²´Â °ÍÀº º°´Ù¸¥ Á¦ÇÑÀÌ ¾ø´Ù. ¾Æ¹« ¶§³ª ÅؽºÆ® widgetÀÇ ÆíÁý °¡´É»óŸ¦ ¹Ù²Ü ¼ö ÀÖ°í ¾Æ¹« ¶§³ª ÅؽºÆ®¸¦ ÀÔ·ÂÇÒ ¼ö ÀÖ´Ù.
ÅؽºÆ® widgetÀº Ãâ·Â À©µµÀÇ ÇÑÁÙ¿¡ ´Ù º¸¿©Áú ¼ö ¾øÀ» ¸¸Å ±ä ÁÙµéÀ» wrappingÇÏ´Â ´É·ÂÀÌ ÀÖ´Ù. ÁÙÀÌ ³Ñ¾î°¡´Â À§Ä¡¿¡ ÀÖ´Â ´Ü¾î¸¦ ¾çÂÊÀ¸·Î ÂÉ°³´Â °ÍÀÌ ±âº» µ¿ÀÛÀÌ´Ù. ÀÌ´Â ´ÙÀ½ ÇÔ¼ö·Î ¹Ù²Ü ¼ö ÀÖ´Ù.
void gtk_text_set_word_wrap (GtkText *text,
gint word_wrap);
ÀÌ ÇÔ¼ö¸¦ ½á¼ ÅؽºÆ® widgetÀÌ ´Ü¾î¸¦ ÂÉ°³Áö ¾Ê°í wrapÇϵµ·Ï ÁöÁ¤ÇØ ÁÙ ¼ö ÀÖ´Ù.
ÀÎÀÚ word_wrap
´Â TRUE³ª FALSEÀÇ °ªÀ» °®´Â´Ù.
ÅؽºÆ® widgetÀÇ ÀÔ·Â Æ÷ÀÎÆ®´Â ´ÙÀ½ ÇÔ¼ö¸¦ ÀÌ¿ëÇÏ¿© ÁöÁ¤ÇÑ´Ù.
void gtk_text_set_point (GtkText *text,
guint index);
index
°¡ ÀÔ·Â Æ÷ÀÎÆ®ÀÇ À§Ä¡ÀÌ´Ù.
ÇöÀç ÀÔ·Â Æ÷ÀÎÆ®¸¦ ±¸ÇÏ´Â °Íµµ À¯»çÇÏ´Ù.
guint gtk_text_get_point (GtkText *text);
À§ÀÇ µÎ ÇÔ¼ö¿Í °°ÀÌ ¾²¸é ÁÁÀº ÇÔ¼ö´Â
guint gtk_text_get_length (GtkText *text);
ÀÌ´Ù. ÀÌ´Â ÅؽºÆ® widgetÀÇ ±æÀ̸¦ µ¹·Áº¸³½´Ù. ÀÌ ±æÀÌ´Â ÇÑ ÁÙÀÇ ³¡À» ³ªÅ¸³»´Â
ij¸®Áö-¸®ÅÏÀ» Æ÷ÇÔÇÑ ÅؽºÆ® ¾ÈÀÇ ¸ðµç ij¸¯ÅÍ ¼ýÀÚÀÌ´Ù.
ÇöÀç ÀÔ·Â Æ÷ÀÎÆ®¿¡ ÅؽºÆ®¸¦ ³ÖÀ¸·Á¸é ÅؽºÆ®ÀÇ »ö, ¹ÙÅÁ»ö, ±Û²ÃÀ» ÁöÁ¤µµ ÇÏ´Â gtk_text_insert ÇÔ¼ö¸¦ »ç¿ëÇÑ´Ù.
void gtk_text_insert (GtkText *text,
GdkFont *font,
GdkColor *fore,
GdkColor *back,
const char *chars,
gint length);
»ö, ¹ÙÅÁ»ö, ±Û²ÃÀ» ÁöÁ¤ÇÏ´Â ÀÎÀÚ¿¡ NULLÀ» ³ÖÀ¸¸é ÀÌ Àü¿¡ ¾²ÀÎ widget style
³»ÀÇ °ªÀÌ ÀÌ¿ëµÈ´Ù. ÀÎÀÚ length¿¡ -1
À» ³ÖÀ¸¸é ÁÖ¾îÁø ÅؽºÆ®ÀÇ ÀüºÎ°¡
´Ù ÀԷµȴÙ.
ÅؽºÆ® widgetÀº gtk_main ÇÔ¼ö ¹Û¿¡¼µµ ½º½º·Î¸¦ µ¿ÀûÀ¸·Î ´Ù½Ã ±×¸®´Â(redraw) GTK ³»¿¡¼ ¸î ¾ÈµÇ´Â Á¸ÀçÀÌ´Ù. ÀÌ´Â ÅؽºÆ® widgetÀÇ ³»¿ëÀ» º¯°æÇϸé Áï½Ã ±× È¿°ú°¡ ±×´ë·Î ³ªÅ¸³´Ù´Â ÀǹÌÀÌ´Ù. ÀÌ·¯ÇÑ °ÍÀº ÅؽºÆ®ÀÇ ³»¿ëÀ» ÇѲ¨¹ø¿¡ ¿©·¯¹ø º¯°æÇÏ´Â °æ¿ì ¹Ù¶óÁö ¾Ê´Â ÀÏÀÏ ¼öµµ ÀÖ´Ù. ÅؽºÆ® widgetÀÌ ²÷ÀÓ¾øÀÌ ½º½º·Î¸¦ ´Ù½Ã ±×¸®´Â ÀÏ ¾øÀÌ ¿©·¯¹ø º¯°æÇϱâ À§Çؼ widgetÀ» ±×·¯Áö ¸øÇϵµ·Ï Àӽ÷Π°íÁ¤ÇØ ¹ö¸± ¼ö ÀÖ´Ù. ±×¸®°í º¯°æÀÌ ´Ù ¿Ïº®È÷ ³¡³ µÚ¿¡ ´Ù½Ã widgetÀ» Ç®¾îÁÖ¸é µÈ´Ù.
´ÙÀ½ µÎ ÇÔ¼ö·Î °íÁ¤Çϰųª Ç®¾îÁÖ´Â ÀÏÀ» ÇÒ ¼ö ÀÖ´Ù.
void gtk_text_freeze (GtkText *text);
void gtk_text_thaw (GtkText *text);
ÅؽºÆ®´Â ´ÙÀ½ ÇÔ¼öµéÀ» ½á¼ ÇöÀç ÀÔ·Â Æ÷ÀÎÆ®¿¡¼ ¾ÕÂÊÀ¸·Î³ª µÞÂÊ ¹æÇâÀ¸·Î ÅؽºÆ® widget¿¡¼ Áö¿öÁú ¼ö ÀÖ´Ù.
gint gtk_text_backward_delete (GtkText *text,
guint nchars);
gint gtk_text_forward_delete (GtkText *text,
guint nchars);
ÅؽºÆ® widgetÀÇ ³»¿ëÀ» ²¨³»°í ½Í´Ù¸é ¸ÅÅ©·Î GTK_TEXT_INDEX(t, index)
°¡
ÅؽºÆ® widget t
ÀÇ index
À§Ä¡ÀÇ Ä³¸¯Å͸¦ ²¨³¾ ¼ö ÀÖ°Ô ÇØÁØ´Ù.
´õ ¸¹Àº ¾çÀÇ ÅؽºÆ®¸¦ ÇѲ¨¹ø¿¡ ²¨³¾·Á¸é ´ÙÀ½ ÇÔ¼ö¸¦ ¾´´Ù.
gchar *gtk_editable_get_chars (GtkEditable *editable,
gint start_pos,
gint end_pos);
ÀÌ°ÍÀº ÅؽºÆ® widgetÀÇ ºÎ¸ð Ŭ·¡½ºÀÇ ÇÔ¼öÀÌ´Ù. end_pos
ÀÇ °ªÀÌ -1À̸é
ÀÌ´Â ÅؽºÆ®ÀÇ ³¡À» ÀǹÌÇÑ´Ù. ÅؽºÆ®ÀÇ ½ÃÀÛÀº 0ÀÌ´Ù.
ÀÌ ÇÔ¼ö´Â ²¨³¾ ÅؽºÆ®¸¦ À§ÇÑ »õ·Î¿î ¸Þ¸ð¸® ¿µ¿ªÀ» ÇÒ´çÇÑ´Ù. ±×·¯¹Ç·Î ´Ù ÀÌ¿ëÇÑ µÚ¿¡´Â g_free ÇÔ¼ö¸¦ È£ÃâÇÏ¿© ¸Þ¸ð¸® ¿µ¿ªÀ» Ç®¾îÁÖ´Â °ÍÀ» ÀØÁö¸»¶ó.
ÅؽºÆ® widgetÀº ÆíÁý, À̵¿, ¼±ÅÃ(selection)À» À§ÇÑ ¹Ì¸® ÁöÁ¤µÈ Å°º¸µå ´ÜÃàÅ°µéÀ» °®°í ÀÖ´Ù. À̵éÀº Control, Alt Å°¿ÍÀÇ Á¶ÇÕÀÌ´Ù.
¿©±â¿¡ µ¡ºÙ¿© Ä¿¼Å°·Î À̵¿ÇÒ ¶§ Control¸¦ ´©¸£°í ÀÖÀ¸¸é Ä¿¼°¡ ÇÑ ¹®ÀÚ ´ÜÀ§°¡ ¾Æ´Ï¶ó ÇÑ ´Ü¾î ´ÜÀ§·Î ¿òÁ÷ÀδÙ. Shift¸¦ ´©¸£°í ÀÖÀ¸¸é Ä¿¼°¡ À̵¿ÇÑ ºÎºÐÀÌ ÀÚµ¿ÀûÀ¸·Î ¼±ÅõȴÙ.