投稿を表示しています。投稿を表示しています。it.みなさま、こんにちは!!ついに2019年も半分が過ぎました。巷ではオリンピックチケットがあたったとか、あたらなかったとか・・・ちなみに筆者は現時点では申し込まず、蚊帳の外でございます。7月ということで我々が大きく関与しておりましたICS部門ですが、ついに大きなプレスリリースが行われました。HCLテクノロジーズ、IBM製品の買収完了を発表ということで、2年連続で任命頂きましたIBMチャンピオンの称号も残すところあと半年ということになりました。HCL社でも引き続きそのような任命制度がとの噂もありますので、そのような場合はなんとかトライしたいものです。5都市を廻る一大イベントになります。多くのIBMチャンピオンが各地に参上し、・・・以降、ヒ・ミ・ツ・・・ぜひ近隣開催へご参加ください!!前置きが長くなりましたが、本題です。昨年行われましたテクてくLotus技術者夜会での今後の製品への要望セッションの中で、私含めたくさんの方が要望されたものに、ノーツアプリケーションのCSS対応というものがございました。要はデザイン部分について、CSSを適用することで統一化や作業軽減を図るというものになります。ちなみに今年リリース予定のV11はNotesクライアント側の強化が予定されているという噂です。Designerを使わずにアプリが作れるようになるかも!!ということで、先の話は置いておいて、今回はよくSaasサービスなどであるような、フォームの色を個人の好みで変更できるようにしてみましたので、記事に致します。イメージとしては、数種類の色のサブフォームを準備し、ユーザーがその中から色を選択して使うというものです。一度設定した内容は次回以降も引き継ぐよう想定してあります。今回もスクリプトなしで完結させています。この機能を実現する手順のキーワードは、[サブフォーム]と[環境変数]です。いうことで、早速ですがサブフォームを作成します。今回は切り替えの試験のみですので、簡単に色違いの4種類のサブフォームを作成しました。[Red]作り方は簡単ですよね。ひとつ作成して、それをコピー。罫線と文字の色を変えただけになります。サブフォームができたら、実際に使用するフォームを作成します。フォームには環境変数を呼び出す計算結果フィールド[refTheme]とサブフォームを配置します。計算結果フィールドです。式には以下を設定して、環境変数[TestTheme]に値があるときはそちらを。なければブランクを表示するようにしてあります。本来はこちらを非表示にしておくべきなのですが、動きの確認のため表示したままとしてあります。THEME:=@Environment("TestTheme");@If(THEME!="";THEME;"")続いてサブフォームです。[作成]-[リソース]-[サブフォームの挿入]をクリックします。サブフォームの挿入ダイアログが表示されますので、[式の定義によりサブフォームを挿入]にチェックし、[OK]します。すると以下のように<サブフォームの計算結果>が表示されますので、こちらの式を設定します。今回は4つのサブフォームを@Ifのネストで組んであります。・・・Caseが利用できるともう少し式が綺麗なのですが・・・@If(refTheme="Red";"Red";@If(refTheme="Green";"Green";@If(refTheme="Blue";"Blue";"Black")))以上でフォームはできあがりました。それでは肝心の環境変数をセットするプログラムです。選択用のフォームを作ってもいいのですが、ダイアログで選択するだけで画面一面を使うのはちょっと・・・ということで、今回は@PickListを使うことにしました。ユーザーはこのビューで文書を複数選択できます。選択された文書の列の値を返します。パラメーターの指定により、複数でなく1つしか選択できないようにすることが可能です。それではまずは@PickListで使用するビューを作らなければなりません。その元となるフォームも必要です。今回は4文書を登録するだけですので、単純にフィールド[Color]ひとつのフォームを作成しました。こちらをNotesでプレビューし、以下4つの値の文書を追加してあります。[Red]続いてビューです。こちらも単に1列だけ、先ほどの[Color]を表示するだけのビューを作成します。わかりやすいように、昇順に並べてあります。続いてビューにアクションを追加します。今回は便宜上、このビューしか作成しておりませんので、こちらに[テーマ選択]と[新規作成]のアクションを追加します。[新規作成]ボタンは、先に作成しましたサブフォームが埋め込まれたフォームを新規で作成する設定を施します。@Command([Compose];"theme")次に[テーマ選択]ボタンです。こちらには先ほど記載しました@PickListを使用して、選択した値を取得し、環境変数にセットするという式を設定します。"テーマカラーを選択してください。)それでは動きを確認してみましょう。