# GetADocUI 仕様書 ## 1. 概要 `GetADocUI` は、AsciiDoc 形式のドキュメントテンプレートを生成するためのデスクトップアプリケーションです。 ユーザーは GUI を通じて、出力先、ファイル名、ドキュメントの種類、および各種オプションを指定し、定型化された AsciiDoc ファイルの雛形を迅速に作成できます。 - **プロジェクト名:** GetADoc - **開発元:** SCREEN Graphic Solutions Co., Ltd. ## 2. 主な機能 ### 2.1. テンプレート生成 - ユーザーが指定したフォルダに、指定したファイル名で AsciiDoc のテンプレート (`.adoc`) ファイルを生成します。 - 実際のファイル生成処理は、内部で `getADoc.bat` バッチファイルを実行することで行われます。 ### 2.2. 設定可能なオプション ユーザーは UI 上で以下の項目を設定できます。 - **出力フォルダ:** テンプレートを保存するディレクトリ。 - **ファイル名:** 作成する `.adoc` ファイルの名前。 - **ドキュメントフォーマット:** 生成するドキュメントの種類を選択します。 - ノーマル - QnA 形式 - 基本設計資料 - 議事録 など - **オプション:** - `icon`: カスタムアイコンを使用するかどうか。 - `screen`: SCREEN ロゴを含めるかどうか。 - `sepa`: ドキュメントを分割形式にするかどうか。 - `free`: フリーページを追加するかどうか。 - `drawio`: Draw.io の作図ファイル (`.drawio`) を含めるかどうか。 ### 2.3. ユーザーインターフェース - WPF を使用して構築されています。 - UI 上の表示言語を日本語と英語で切り替える機能があります。 - ファイル名に使用できない文字 (`\ / : * ? " < > |`) が入力された場合、自動的に削除する機能を持っています。 ## 3. 技術仕様 - **フレームワーク:** .NET Framework 4.6 - **言語:** C# - **UI フレームワーク:** WPF - **主要な処理:** - UI から受け取った設定値を引数として、`RunBatch.cs` クラスが `System.Diagnostics.Process` を使用して `getADoc.bat` を実行します。 - `ViewModel.cs` で MVVM パターンに基づいたデータバインディングと UI ロジックが実装されています。 ## 4. 内部処理の流れ 1. ユーザーが UI 上で出力先やオプションを設定し、「作成」ボタンをクリックします。 2. `MainWindow.xaml.cs` が `ViewModel` のコマンドを実行します。 3. `ViewModel` は入力されたファイル名を検証(使用不可文字の除去)します。 4. `RunBatch.cs` の `Run` メソッドが呼び出されます。 5. `Run` メソッドは、UI で設定されたオプションをコマンドライン引数に変換し、`getADoc.bat` を実行します。 - 例: `getADoc.bat --icon --sepa --lang ja ...` 6. `getADoc.bat` が引数に基づいて AsciiDoc テンプレートファイル一式を生成します。