sakura icon indicating copy to clipboard operation
sakura copied to clipboard

タブバー描画処理のリファクタリング

Open suconbu opened this issue 3 years ago • 3 comments

PR の目的

タブバーの描画処理を変更を行いやすい状態へと改善します。

  • タブバーの描画/配置計算で使われる各種の値をマクロ定義し名前付けをします。
  • タブバーの構成の理解を助ける図 (構成図) をコメントとして追加します。
  • 構成図上の部品とそれに関連するマクロとを紐付けできるようマクロ名を設定します。(既存のマクロも変更対象)

カテゴリ

  • リファクタリング

PR の背景

#1684 の追加対応として、タブが複数段となる場合にもトップバンド (選択中タブを示す目印) を適切に表示できるよう、タブバーのオーナードロー処理に変更を入れようとしましたが、現状のオーナードロー処理では多くの意味の読み取りづらい直値が使われていて、安全に変更を入れられる状態ではないと判断しました。

トップバンド描画処理の実装に向けて、以下 3 回に分けて対応を進めていこうと考えています。

  1. タブバー描画処理について 理解 + リファクタリング + テスト方法を確立 する 【本 PR】
  2. 👆の調査中に見つけたオーナードロー処理の不具合を修正する
  3. オーナードロー処理にトップバンドの描画処理を追加する

PR のメリット

PR のデメリット (トレードオフとかあれば)

仕様・動作説明

PR の影響範囲

テスト内容

テスト1

手順

関連 issue, PR

参考資料

suconbu avatar Jun 08 '21 18:06 suconbu

テスト方法について検討中です。 変更対象が GUI 描画処理であるためユニットテストは使えず、かといって手作業で確認するには設定・状態の組み合わせが多く大変そうですので、自動操作ツール (AutoHotKey) とスクリーンショットを使って位置ずれ等がないことを確認できないか考えています。

suconbu avatar Jun 08 '21 18:06 suconbu

:white_check_mark: Build sakura 1.0.3829 completed (commit https://github.com/sakura-editor/sakura/commit/d59c33d82b by @suconbu)

AppVeyorBot avatar Jun 08 '21 18:06 AppVeyorBot