プロジェクト

全般

プロフィール

提案 #1353

完了

guiプラグインの機能追加

cob odo さんがほぼ5年前に追加. ほぼ5年前に更新.

ステータス:
終了
優先度:
通常
担当者:
対象バージョン:
プラグイン名:
gui, gtk

説明

guiプラグインにいくつかのイベントを追加します。gtkプラグインへその実装を追加することも含みます。
このパッチにより、今までgtkプラグインを直接操作する必要のあったいくつかの処理が、guiのみへの依存で書けるようになります。

新たな機能は以下のとおりです。

  1. gui_timeline_message_removed イベント: TimelineからMessage Modelが取り除かれた際に、対応するguiプラグインのTimelineオブジェクトと、取り除かれたオブジェクトの2つを引数にして呼ばれます。
  2. timeline_maxのアクセサ: guiプラグインのTimelineクラスがtimeline_maxへのgetter/setterを備えます。実装側であるgtkプラグインはfilter経由でこれらのリクエストを受け取り、操作することができます(しなければならない、わけではない)。
  3. 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も移植すべきと思いましたが、今全てやる必要はないかと思って、最低限このパッチの修正だけやりました。

cob odo さんがほぼ5年前に更新

  • ステータスパッチ適用待ち から レビュー待ち に変更
  • ブランチtopic/1353-add-more-interface-to-gui にセット

ありがとうございます。大丈夫そうです。

cob odo さんがほぼ5年前に更新

  • ステータスレビュー待ち から マージ待ち に変更

一応、手順を踏みつつ、マージしてしまいます。

cob odo さんがほぼ5年前に更新

  • ステータスマージ待ち から 終了 に変更

マージしました。

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