Нумерация строк из текста с использованием gtk2hs

Я работаю над программой, которая содержит текстовый редактор и будет использоваться для программирования (это означает, что шрифт моноширинный и имеет одинаковый размер во всем тексте). Таким образом, было бы полезно, если бы можно было видеть номер каждой строки (абзаца, а не отображаемой строки) сбоку от виджета TextView.

В другом вопросе (нумерация строк GTK+ для текстового представления) было сказано, что виджет SourceView выполняет свою работу, но этого виджета, похоже, нет в gtk2hs, поэтому я застрял с TextView.

Предлагает ли библиотека простое решение этой проблемы, или мне придется идти сложным путем?


person mgmillani    schedule 23.03.2014    source источник
comment
Почему бы не пропатчить gtk2hs, чтобы включить SourceView?   -  person Thomas M. DuBuisson    schedule 24.03.2014
comment
gtksourceview2 и gtksourceview3 доступны на Hackage.   -  person Daniel Wagner    schedule 24.03.2014
comment
@DanielWagner Я чувствую себя глупо из-за того, что не использовал Hackage должным образом и не смог его найти. Спасибо.   -  person mgmillani    schedule 24.03.2014


Ответы (1)


Минималистский код для использования SourceView с пронумерованными строками с Haskell и Gtk2Hs:

import Graphics.UI.Gtk
import Graphics.UI.Gtk.SourceView

main :: IO ()
main= do
  initGUI
  window <- windowNew
  set window [  windowTitle := "SourceView"
              , windowDefaultWidth := 100
              , windowDefaultHeight := 100
              , windowResizable :=True ]

  sview <- sourceViewNew
  sourceViewSetShowLineNumbers sview True

  containerAdd window sview
  onDestroy window mainQuit
  widgetShowAll window 
  mainGUI
person JeanJouX    schedule 02.03.2015