イベントに色を付けるにはどのようにしますか?
イベントは、選択したフィールドの内容に基づいて色が付けられます。このフィールドのことを、ドキュメントとサンプルファイルではイベントの「ステータス」を呼びますが、どのフィールドを使ってもかまいません。
色分けの設定は、まず、カレンダーを統合する際に作成した「Source No X」のレイアウト(「Source No 1」、「Source No 2」など)から始めます。このレイアウトには「colors」というタブがあります。このタブ上で色分けに使用するフィールドを特定できます。
注意:イベントのテーブルにも色のフィールドがあるため、「Event List」や「Event Details」レイアウト上でも色を表示できます。この計算フィールド(SampleEvents::z_sc_ColorCalc)は「Let()」の記述で始まっていて、色分けに使用するフィールドを特定できます。
次に、カレンダーの「設定」タブにて、「カラーを設定する」ボタンをクリックし、「ステータス」の値のそれぞれに色をドラッグします。
この作業についての参考情報……
左側のポータルは、「CalendarColors」テーブルのレコードに基づいており、「新ステータス」ボタンによってこのテーブルに新規レコードが作られます。そのため、「ステータス」はいくつでも好きなだけ作成できます。
ポータルは、「Status」の値一覧の順番でソートされるため、値一覧をこのポータルの内容と同期しておくとよいでしょう。この値一覧は、「onCalendarColors」のレコードに基づくものではなく、手入力で設定してあります。その理由は、値一覧のソート順を任意に設定できるようにしたいということと、フィールドに基づく値一覧では区切り線(「-」)を使用できないためです。
ステータスの色は、該当の行にRGB値を入力して変更できます。
「CalendarInterface::ColorRGBValues」フィールドのフィールド定義を編集して、使用できる色のパレットを簡単に変更できます。このフィールドで、パレットのRGB値を宣言しています。
フィールドではなく、ソースで色分けすることはできますか?
はい。「Load Calendar Settings - On Startup...」スクリプトの最後の方に、そのための設定があります。これを「1」に設定します。次に、画面の上の方の「statuses」に入力されている名前を、ソースの名前に変更します。「Source No X」レイアウトの先頭のタブで使用しているのと同じ名前を使用します。
イベントのプロジェクトのステータスなど、イベント以外のフィールドで色分けすることはできますか?
できます。ただし、イベントのテーブルに、関連レコード(この例ではプロジェクト)からこの値を反映する計算式を作っている場合に限ります。「Source No X」レイアウト上のフィールドはすべてそのレイアウトのベースとなっているテーブルのものであり、関連するテーブルのものではないということが必要です。
「日」の簡易表示のような色の付いた三角形を、ほかの表示で使うことはできますか?
はい、できます。「日」の簡易表示(「設定」を開き「「日」と「週」で簡易表示」をクリックします)では、色の表示方法が異なっています。イベント全体に色が付くわけではありません。
この色の付け方をほかの表示でも使用したい場合は、カレンダーの行のテーブルで「CalendarColorReptCalc」の計算式を編集します。この計算式の2行目で、モードが「日」(「日」の簡易表示モード)のときのみ三角形の表示を使うように「objecto」を設定しています。この行を編集して、ほかのモードでも三角形を使うようにします。利用可能なモードの一覧は、「カレンダーのモード」を参考にしてください。
三角形の表示に変更する際に、「週」と「月」の表示ではこの計算式の最後にある「display」の値のフォントサイズを変更したいと思うかもしれません。このような設定ができるように、サンプルの行がコメントアウトしてあります。
色のトラブルシューティング
思い通りに色分けするためのヒントをいくつか記載します。
色分けに使用するフィールドは「Source No X」レイアウト上に配置されているもので、「SampleEvents::z_sc_ColorCalc」で使用するフィールドと同じフィールドにします。
イベントに色が表示されなければ、レイアウトモードで「Calendar Rows」レイアウトを表示し、「CalendarColorGlob」フィールドに広く色が付いていることを確認します。そのようになっていなければ、「Upon Opening」スクリプトをもう一度実行します。
このフィールドに色が表示されなければ(このフィールドにカーソルが入っている状態でなければ、色が見えるはずです)、ファイルのクローン(データなしのコピー)からこのフィールドの内容をコピー&ペーストします。
まだ動作しませんか?「Load Calendar Graphics - alternate」スクリプトを実行してみてください。
最後に、使用可能なステータスの値一覧(または色分けのフィールドに使用する値一覧)が、「Assign Colors」レイアウトに表示される値の一覧と一致していることを確認します。
色ではなく黒いバーが表示されている場合は、色の名前(イベントのステータス)に演算子(数学記号またはFileMakerの式)が入っていると考えられます。なるべくこの現象が起きないように開発していますが、あり得る組み合わせはたくさんあります。演算子を使わないステータス名をいろいろ試してみてください。ステータス名は、イベントそのもの、ステータスの値一覧、設定の「イベントの色設定」の画面で変更する必要があることに注意してください。