Closed bordoray closed 2 months ago
この変更セットは、複数のファイルにわたって大規模なリファクタリングと機能追加を行いました。主な変更点は、ElevationTileConverter
クラスをQThread
のサブクラスに変換し、進捗バーのサポートを追加しました。また、ElevationArray
クラスから不要なメソッドと例外を削除し、UIコンポーネントの調整も行いました。
ファイル | 変更内容の概要 |
---|---|
.../elevation_tile_array.py | TileQuantityException とUserTerminationException を削除、fetch_all_tiles メソッドを削除し、count_tiles メソッドを追加 |
.../elevation_tile_converter.py | ElevationTileConverter クラスをQThread のサブクラスに変更、新しいシグナルとメソッドを追加 |
get_tiles.py | QThreadとProgressDialogのインポート、進捗ダイアログと新しい方法での処理フローの統合 |
progress_dialog.py | ProgressDialog クラス追加、進捗バーとメッセージ表示、プロセス中断の機能 |
progress_dialog.ui | 進捗バー、ラベル、「中断」ボタンを含む新しいダイアログウィンドウ |
sequenceDiagram
participant User
participant MainThread
participant ProgressDialog
participant ElevationTileConverter
User ->> MainThread: Start tile processing
MainThread ->> ProgressDialog: Initialize and show
MainThread ->> ElevationTileConverter: Start thread
ElevationTileConverter ->> ProgressDialog: Update progress
ElevationTileConverter ->. User: Waits for completion or abort
ProgressDialog ->> ElevationTileConverter: Abort signal (on abort)
ElevationTileConverter -->> MainThread: Notify completion or failure
MainThread ->> User: Show completion message
Objective | Addressed | Explanation |
---|---|---|
Progress bar implementation (#34) | ✅ |
タイルを並べ山となり、 進捗バーが光る道。 中断ボタンも控えめに、 ユーザーのための旅路かな。 🐇✨
Close #34
Description(変更内容)
タイル数を進捗バーを表示![image](https://github.com/MIERUNE/ElevationTile4JP/assets/26103833/3828e38c-fa92-42c1-9de5-f067fc463fa4)
Manual Testing(手動テスト)
Test with various patterns:
Summary by CodeRabbit
ElevationTileConverter
クラスがQThread
を継承するように変更され、スレッド操作を処理するためのシグナルとメソッドが追加されました。abort_flag
、np_array
が追加されました。count_tiles
メソッドに変更され、タイルの検証ロジックが削除されました。