バグ #1514 » 0002-GTK3-TreeView-visible_range-refs-1514.patch
core/mui/cairo_timeline.rb | ||
---|---|---|
@tl.set_size_request(100, 100)
|
||
@tl.get_column(0).sizing = Gtk::TreeViewColumn::FIXED
|
||
@tl.ssc(:draw){
|
||
# FIXME: gtk3, visible_rangeが実装されていないのでemit_expose_miraclepainterを呼べない
|
||
# emit_expose_miraclepainter
|
||
emit_expose_miraclepainter
|
||
false }
|
||
init_remover
|
||
... | ... | |
# スクロールなどの理由で新しくTLに現れたMiraclePainterにシグナルを送る
|
||
def emit_expose_miraclepainter
|
||
@exposing_miraclepainter ||= []
|
||
if @tl.visible_range
|
||
current, last = @tl.visible_range.map{ |path| @tl.model.get_iter(path) }
|
||
val, current, last = @tl.visible_range.map{ |path| @tl.model.get_iter(path) }
|
||
if val
|
||
messages = Set.new
|
||
while current[0].to_i >= last[0].to_i
|
||
messages << current[1]
|
core/mui/gtk_userlist.rb | ||
---|---|---|
private
|
||
def emit_expose_user
|
||
if @listview.visible_range
|
||
current, last = @listview.visible_range
|
||
val, current, last = @listview.visible_range
|
||
if val
|
||
Enumerator.new{|y|
|
||
while (current <=> last) < 1
|
||
y << @listview.model.get_iter(current)
|