独自ボックスライブラリの作成と管理

ここまでで、Choregrapheでは、[フローダイアグラムボックス](http://qiita.com/Atelier-Akihabara/items/7a898f5e4d878b1ad889#%E7%8B%AC%E8%87%AA%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%81%AE%E4%BD%9C%E6%88%90)や[Pythonボックス](http://qiita.com/Atelier-Akihabara/items/f6a05ca14be786f9a94c)といった形で、標準ボックスライブラリ以外に独自のボックスが作れることを見てきました。

これらのボックスを独自のボックスライブラリとしてまとめる方法について説明していきます。

#ボックスライブラリパネル

ボックスライブラリは、これまで見てきたとおり、ボックスとボックスから利用される添付ファイルをライブラリとしてまとめたものです。ボックスライブラリからフローダイアグラムにドラッグ＆ドロップすることで、簡単にボックスを配置することができます。

ボックスライブラリに関する操作は、[ボックスライブラリ]パネルでおこなうことができます。
なお、ボックスライブラリパネルがChoregraphe中に表示されていない場合は、[表示]メニューの[ボックスライブラリ]のチェックがされていることを確認してみてください。

![box-libraries.png](https://qiita-image-store.s3.amazonaws.com/0/54394/2ec7426e-aa90-eafb-223f-dda58e64650f.png)

ボックスライブラリは以下の機能を備えています。

1. [新規ボックスライブラリ]ボタン ... 空のボックスライブラリを作成する
2. [ボックスライブラリを開く]ボタン ... ボックスライブラリのファイルもしくはディレクトリを開く
3. [ボックスライブラリを保存]ボタン ... 現在選択しているボックスライブラリを保存する
4. [ボックスライブラリに名前を付けて保存]ボタン ... 現在選択しているボックスライブラリを名前を付けて保存する
5. [すべてのオープンボックスライブラリを保存]ボタン ... 現在開いているすべてのボックスライブラリを保存する
6. ボックスライブラリタブ ... 開いているボックスライブラリを示すタブ
7. 検索タブ ... ボックスを検索する機能を提供するタブ
8. ボックスリスト ... ボックスの一覧
9. ボックス説明 ... 現在選択しているボックスに関する説明

ここでは、独自ボックスライブラリの作成にかかわる機能についてみていきます。

#独自ボックスライブラリの作成

standardボックスライブラリやadvancedボックスライブラリと同様に、独自のボックスライブラリを作成することが可能です。

##空のボックスライブラリの作成

独自のボックスライブラリを作成するには、**[新規ボックスライブラリ]ボタン**をクリックします。

![new-box-library.png](https://qiita-image-store.s3.amazonaws.com/0/54394/7455bc30-72bc-a7bb-6357-e44c66e3123c.png)

すると、以下のように**[無題]ボックスライブラリ**が作成されます。

![new-box-library-created.png](https://qiita-image-store.s3.amazonaws.com/0/54394/f60c18f7-9d6c-9738-40c8-1a0fdc0d6f39.png)

なお、作成したボックスライブラリを現在表示しているタブから除外するには、タブの**[×]**をクリックします。このボックスライブラリが保存されていれば、再度開くことでボックスライブラリが使えるようになります。この方法については、[ボックスライブラリファイルの管理]で詳しく説明していきます。

##ボックスライブラリへのボックスの追加

ボックスライブラリにボックスを追加する場合は、フローダイアグラム上のボックスライブラリに追加したいボックスを、ボックスリストに対して**ドラッグ＆ドロップ**してください。

![dnd-box.png](https://qiita-image-store.s3.amazonaws.com/0/54394/044f566b-e0fd-b5d5-5bb6-b5c37028c14f.png)


これで、現在選択しているボックスライブラリに対してボックスを追加することができます。
また、ボックスリスト上で右クリックすることで、ボックスリスト中にフォルダを作成したり、すでにあるボックスの変更などをおこなうことができます。

![box-library-context-menu.png](https://qiita-image-store.s3.amazonaws.com/0/54394/2939ffa1-ae95-8b7a-613a-3c2e51d257d2.png)

> ####![info.png](https://qiita-image-store.s3.amazonaws.com/0/54394/ed7863bd-4c2e-7710-58db-0e38a4f26959.png) (Tips)ボックス名に日本語を使う
> ボックス名を日本語のみで設定しようとした場合、以下のようなエラーメッセージが表示されてしまい、登録に失敗してしまいます。
> ![kanji-error.png](https://qiita-image-store.s3.amazonaws.com/0/54394/1b0ce0fe-3296-4f08-50cd-8d08aadf38e0.png)
> ボックス名に半角英数字を含めることで、このエラーを回避することができます。（たとえば01_などとボックス名にインデックスをつけるなど）

#ボックスライブラリファイルの管理

作成したボックスライブラリは、ファイルに保存しておくことで、次回Choregrapheの利用時にこのファイルを読み込んで再び利用することができます。
ボックスライブラリの保存形式は2種類あり、それぞれ以下のような使い分けができます。

- **ボックスライブラリファイル(拡張子.cbl)**として保存 ... ボックスライブラリに関するファイルを1つの圧縮ファイルにまとめたものです。他の人にボックスライブラリを提供する際に便利なフォーマットです
- **ディレクトリ**に保存 ... ボックスライブラリに関するファイルをディレクトリ内に配置したものです。ボックスごとにファイル編集などしやすいため、共同作業、バージョン管理などに向いています

ここでは、ボックスライブラリの保存方法と読み込み方法について説明します。

##ボックスライブラリの保存

現在開いているボックスライブラリを保存するためには、以下の手順で操作します。

1. **[ボックスライブラリを保存]もしくは[ボックスライブラリに名前を付けて保存]** をクリックします
    ![save-box-library.png](https://qiita-image-store.s3.amazonaws.com/0/54394/eb1ecde8-25e7-510a-c50d-4560d5e747c2.png)

2. 保存形式を選択します。ここでは例として、ボックスライブラリファイル(.cblファイル)として保存してみます
    ![select-format.png](https://qiita-image-store.s3.amazonaws.com/0/54394/107b7d5f-7c82-1e25-d603-238c7bde438f.png)

3. **ファイル名を入力**し、[保存]ボタンをクリックします
    ![input-filename.png](https://qiita-image-store.s3.amazonaws.com/0/54394/ac9083e3-1fc2-4d57-f077-c56cdcf02476.png)

これで、選択しているボックスライブラリが `test.cbl` として保存されます。なお、保存をおこなうと、タブ名が保存したファイル名に変化します。

![changed-tab-name.png](https://qiita-image-store.s3.amazonaws.com/0/54394/efafd81f-41ea-f248-ea70-ce2fe93c9051.png)

##ボックスライブラリの読み込み

ボックスライブラリパネルに追加したタブは、Choregrapheを終了し、再度起動するとリセットされてしまいます。
そのため、再度ボックスライブラリパネルから利用できるようにするには、保存したボックスライブラリファイルを読み込む必要があります。


このような場合、**[ボックスライブラリを開く]**をクリックします。

![load-box-library.png](https://qiita-image-store.s3.amazonaws.com/0/54394/6abc3559-66ca-0a22-1f5f-3e7ce1481524.png)

[ファイルの種類]から.cblファイル、ディレクトリのいずれかを選択し、開きたいボックスライブラリファイルを選択し、[オープン]をクリックします。

![load-box-library-dialog.png](https://qiita-image-store.s3.amazonaws.com/0/54394/a850b2ae-044c-ce9b-1a5b-9aa822abca08.png)

これで、ボックスライブラリがロードされ、ボックスライブラリが利用できるようになります。

![changed-tab-name.png](https://qiita-image-store.s3.amazonaws.com/0/54394/efafd81f-41ea-f248-ea70-ce2fe93c9051.png)

以上のように、独自にボックスライブラリを作成し、よく使う処理などをまとめるなどして、より効率的にChoregrapheで開発をおこなうことができます。また、ボックスライブラリを保存、共有することで、共同作業をしやすくすることができます。

> ####![info.png](https://qiita-image-store.s3.amazonaws.com/0/54394/ed7863bd-4c2e-7710-58db-0e38a4f26959.png) (Tips)Choregraphe起動時に自動的にボックスライブラリを読み込ませる
> 
> Choregraphe起動時に独自のボックスライブラリをロードさせるように設定するには、[編集]メニューの[設定]ダイアログを使います。
> 
> ![user-box-library.png](https://qiita-image-store.s3.amazonaws.com/0/54394/198ee7f7-22cf-c475-d7bd-c5780db536cd.png)
> 
> [ユーザボックスライブラリ]の項目で、 **[+]**ボタンでボックスライブラリファイルへの参照を追加することができます。[OK]ボタンを押したのち、再起動すると、指定したボックスライブラリが自動的にボックスライブラリパネルに追加されます。