2010-07-29 8 views
3

GTK 및 gtksourceview2.0에서 간단한 코드 편집기를 만들고 있습니다. 내 편집기에 코드 완성 창을 추가하고 싶습니다. 10-15 개의 키워드가 있어야합니다 (항상 동일한 키워드).기본 코드 자동 완성을 만드는 방법은 무엇입니까?

누구나 나에게 약간의 자습서를 제공하거나 gtk_source_completion_XXX 기능의 사용법을 설명 할 수 있습니까?

답변

6

사용자 입력을 key-press-event 신호 (또는 유사한 신호)로 구문 분석하면됩니다.

  • 는 gtk_text_view_get_buffer를 호출하여 GtkTextBuffer를 가져옵니다.
  • gtk_text_buffer_get_insert를 호출하여 GtkTextMark을 가져 오십시오.
  • gtk_text_buffer_get_iter_at_mark를 호출하여 GtkTextIter을 가져 오십시오.
  • GtkTextIter이 gtk_text_iter_ends_word에 의해 단어 끝에 있는지 확인하십시오. 이
    • 라면
    • 다음 단어의 시작에 대한 GtkTextIter를 얻을 수 gtk_text_iter_backward_word_start를 사용합니다.
    • gtk_text_buffer_get_text를 호출하여 완료되지 않은 단어를 가져옵니다.
    • 관련 식별자를 검색하여 GTK_WINDOW_POPUP 유형의 GtkWindow에있는 GtkTreeView에 표시합니다. 당신이 . 또는 :: 또는 -> 후 자동 완성 목록을 표시하려면

는, 당신은 위 같은 방법으로 이전 단어를 얻어야한다.

관련 문제