操作
提案 #1353
完了guiプラグインの機能追加
プラグイン名:
gui, gtk
説明
gui
プラグインにいくつかのイベントを追加します。gtk
プラグインへその実装を追加することも含みます。
このパッチにより、今までgtk
プラグインを直接操作する必要のあったいくつかの処理が、gui
のみへの依存で書けるようになります。
新たな機能は以下のとおりです。
gui_timeline_message_removed
イベント: TimelineからMessage Modelが取り除かれた際に、対応するgui
プラグインのTimelineオブジェクトと、取り除かれたオブジェクトの2つを引数にして呼ばれます。timeline_max
のアクセサ:gui
プラグインのTimelineクラスがtimeline_max
へのgetter/setterを備えます。実装側であるgtk
プラグインはfilter
経由でこれらのリクエストを受け取り、操作することができます(しなければならない、わけではない)。- Timelineに含まれるメッセージのイテレーション: Timelineが持つMessage Modelリストを、
gui
のTimelineでeach
できるようにする。同時に、include Enumerable
も行い、各種のシーケンス処理系アルゴリズムが利用できるようにする。
3が主眼です。
なお、このパッチは #1309 のサブセットです。
toshi_a 初音 さんが5年以上前に更新
良いですね。
一つ悩ましい問題があって、そのうちPlugin::GUI::WidgetをDiva::Modelにしたいと思っているんですが、Diva::ModelはEnumerableをincludeしない前提でいろいろ作っているので、このパッチは少し変えたいところです。
とはいえ、いままで Plugin::GUI::Timeline#<< でタイムラインにMessageを追加していたわけで、こちらにも手を入れるのか、という話になってしまいます。
少しこちらでいじって見るので、あとでレビューしてもらおうと思います。
toshi_a 初音 さんが5年以上前に更新
- ステータス を 分類待ち から パッチ適用待ち に変更
- 担当者 を cob odo にセット
Plugin::GUI::Timeline#messages を呼ぶと Plugin::GUI::Timeline::Messages のインスタンスを得られるようにしました。
これはEnumerableで、タイムラインのMessageを列挙します。
また、 Plugin::GUI::Timeline::Messages#<< を呼ぶと、タイムラインにMessageを追加できます。
include?とかselected_messagesも移植すべきと思いましたが、今全てやる必要はないかと思って、最低限このパッチの修正だけやりました。
操作