プロジェクト

全般

プロフィール

バグ #1514

完了

機能 #887: gtk3

gtk3: core/mui/gtk_userlist.rb で visible_range と :expose_event が参照されている

Izumi Tsutsui さんが2年以上前に追加. 2年以上前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
クラッシュする:
いいえ

説明

source:core/mui/cairo_timeline.rb@0b99c704#L55 によれば

    @tl.ssc(:draw){
      # FIXME: gtk3, visible_rangeが実装されていないのでemit_expose_miraclepainterを呼べない
      # emit_expose_miraclepainter
      false }

とあるのですが、同様に source:core/mui/gtk_userlist.rb@0b99c704#L76 でも
visible_range が使われています。

  def emit_expose_user
    if @listview.visible_range
      current, last = @listview.visible_range
      Enumerator.new{|y|
        while (current <=> last) < 1
          y << @listview.model.get_iter(current)
          break if not current.next!
        end

visible_range が動かないのは gtk3 の問題なのか gem の問題なのかはよくわかりませんが。
https://social.mikutter.hachune.net/@tsutsuii/107134273975221621

https://docs.gtk.org/gtk3/method.TreeView.get_visible_range.html
visible_range は GTK3 には存在するが gtk3 gem に無いという事なのだろうか

また、呼び出し元に :expose_event がありますが gtk3 では :draw に置き換える必要あるのでは、とのこと:

    @listview.ssc(:expose_event){
      emit_expose_user
      false
    }

https://social.mikutter.hachune.net/@shibafu528/107133833736822126

“expose-event” signal has been replaced by a new GtkWidget::draw signal
https://docs.gtk.org/gtk3/migrating-2to3.html#the-gtkwidgetdraw-signal


ファイル

0001-core-mui-gtk_userlist.rb-visible_range-expose_event-.patch (1.21 KB) 0001-core-mui-gtk_userlist.rb-visible_range-expose_event-.patch Izumi Tsutsui, 2021-10-22 22:36
ruby-gtk3-TreeView.rb (1.46 KB) ruby-gtk3-TreeView.rb TreeView.visible_range テストプログラム Izumi Tsutsui, 2021-10-30 11:42
treeview-visible_range-gtk2.png (4.89 KB) treeview-visible_range-gtk2.png GTK2 での返り値 1つ目と2つ目 Izumi Tsutsui, 2021-10-30 11:42
treeview-visible_range-gtk3.png (5.24 KB) treeview-visible_range-gtk3.png GTK3 での返り値 1つ目と2つ目 Izumi Tsutsui, 2021-10-30 11:42
mikutter_gtk3-UserList-visible_range.mp4 (785 KB) mikutter_gtk3-UserList-visible_range.mp4 UserList でのアイコン表示 Izumi Tsutsui, 2021-10-30 11:45
0001-core-mui-gtk_userlist.rb-expose_event-refs-1514.patch (1.04 KB) 0001-core-mui-gtk_userlist.rb-expose_event-refs-1514.patch :expose_event の置き換え Izumi Tsutsui, 2021-10-30 11:49
0002-GTK3-TreeView-visible_range-refs-1514.patch (2.12 KB) 0002-GTK3-TreeView-visible_range-refs-1514.patch visible_range の仕様変更対応修正 Izumi Tsutsui, 2021-10-30 11:49

他の形式にエクスポート: Atom PDF