2012-07-13 43 views
1

我有一個GtkTextView,我希望能夠在中心垂直居中光標。GtkTextView光標一直在中心線上

如果光標移動,文本應該向上(或向下)滾動,但光標仍應保持在中心位置。

我嘗試了幾件事:在textview的第一個和最後一個字符上添加邊距,但是在第一個和最後一個字符後面添加文本時會出現問題。另外,如果選擇第一行,選擇顏色會擴展到「空白」房間,這也不是很好。

總之,我需要:

  1. 添加保證金的第一線
  2. 之前添加保證金的最後一行後
  3. 滾動文本上cursor_movetext_changed中心(目前我解決了這個與
cursor_iter = self.TextBuffer.get_iter_at_mark(cursor) 
fflines = round(self.window_height/(2*20)) 
cursor_iter.forward_visible_lines(fflines) 
self.TextEditor.scroll_to_iter(cursor_iter, 0.0, True, 0, 0.5) 

但是,使用這種方法,我需要幾個在我的textview結尾的換行符。所以如果有人知道更好的解決方案,我很樂意聽到它)

我正在考慮做pixelbased滾動,但我不知道如何去做這件事。

我很樂意聽到一些建議!

回答

1

顯然沒有人想出答案。

我終於黑了一起,這是在某種程度上工作。 它可能不是最乾淨的代碼,但誰在乎?

實際上,由於無法向文本框添加填充,因此它會在文本文件的開頭和結尾處添加換行符以獲得某種填充。

你可以在這裏找到我的實現:Launchpad project for UberWriter

如果您想了解更多,請隨時通過郵件來問我。

乾杯,狼