Redmineダウンローダ開発メモ(3) ソフト開発 - ドナドナされるプログラマのメモ の続き。
まずは簡単なテストコードを作り、RedmineサーバーからIssue一覧を取得できるようにした。
次に、ちゃちゃっとダイアログを作った。数百Issueを取得するため、中断ボタンも実装。また、相手サーバーに迷惑をかけないようGET間のインターバル時間を設定できるようにした。

データのダウンロード処理はワーカースレッドで実行する。ワーカースレッドからは直接GUIをいじれないため、Status等はユーザー定義のメッセージで更新通知を投げる。データそのものはスレッド間で共有するメモリ経由で受け渡す。
ワーカースレッドは実行ボタンで起動し、中止ボタンでセットされるフラグをチェック、フラグがセットされていたらシグナルをセットし中断する。中止ボタンはシグナルがセットされたらボタン状態を切り替える。
・・・ふむ。詳細設計はこんなところか。あとは実装だけだ!
次: