#22011年12月28日かけがわ(73)1この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。前回に引き続き、SkinnableComponentを拡張したツールチップを作成します。今回はツールチップを固定位置に表示するボタンを作成します。固定位置にツールチップを表示するボタンツールチップをボタンの上下左右の固定位置に表示させるボタンコンポーネントを作成します。以下はコンポーネントのソースコードです。}}拡張したボタンコンポーネントのスキンクラスのソースコードです。</s:SparkSkin>では、ソースコードを見ていきましょう。ツールチップコンポーネントコンポーネント側では、固定位置に表示するツールチップをスキンパーツとして宣言します。toolTipComponent:IFactory;スキン側では、先ほど作成したツールチップコンポーネントをパーツとして定義します。skinClass="jp.classmethod.sample.skins.FixedPositionToolTipSkin"/></fx:Component>ツールチップコンポーネントを表示リストに追加するのはToolTipManagerの役割になりますので、スキンクラスでは表示リスト上の子として定義せずに、Componentタグでクラス情報を保持します。コンポーネント側でスキンパーツを宣言している変数の型がIFactory型になっているのはこのためで、コンポーネント側の変数toolTipComponentにはインスタンス化されたツールチップではなく、ツールチップをインスタンス化するための情報を保持しているClassFactory型のオブジェクトがセットされます。後程このオブジェクトを利用してツールチップをインスタンス化します。ツールチップイベントツールチップが生成・破棄される過程で、ツールチップ表示のトリガーとなったコンポーネントで以下のイベントが発生します。ToolTipEvent.TOOL_TIP_STARTToolTipEvent.TOOL_TIP_CREATEToolTipEvent.TOOL_TIP_SHOWToolTipEvent.TOOL_TIP_SHOWNToolTipEvent.TOOL_TIP_HIDEToolTipEvent.TOOL_TIP_END今回はToolTipEvent.TOOL_TIP_CREATEイベントとToolTipEvent.TOOL_TIP_SHOWイベントを利用して表示するツールチップをカスタマイズします。ToolTipEvent.TOOL_TIP_CREATEイベントのイベントハンドラでの処理を見ていきましょう。IToolTip;}ToolTipEvent.TOOL_TIP_CREATEイベントはツールチップを生成するタイミングで発生します。このイベントハンドラ内でイベントのtoolTipプロパティにツールチップコンポーネントをセットすることで、表示するツールチップを任意のIToolTip実装コンポーネントに差し替えることができます。ここでは、スキンに定義したツールチップコンポーネントのファクトリオブジェクトからコンポーネントをインスタンス化して、ToolTipイベントのtoolTipプロパティにセットしています。次はToolTipEvent.TOOL_TIP_SHOWイベントのイベントハンドラでの処理を見ていきましょう。break;}ToolTipEvent.TOOL_TIP_SHOWイベントはツールチップを表示する直前に発生します。イベントのtoolTipプロパティにはツールチップコンポーネントのインスタンスがセットされているので、このインスタンスの座標を変更することでツールチップの表示位置を変更することができます。ここでは、自コンポーネントの位置を基準にtoolTipDirectionとtoolTipGapの値に応じてツールチップを表示する位置を設定しています。ツールチップが表示リストに追加される際にはツールヒントレイヤーに追加されますので、ツールチップの位置はグローバル座標で設定します。これで固定位置にツールチップを表示するボタンが完成しました。動作確認では、完成したコンポーネントの動作を見てみましょう。以下はサンプルアプリケーションのソースコードです。skinClass="jp.classmethod.sample.skins.FixedPositionToolTipButtonSkin"/></s:Application>サンプルアプリケーションです。9固定位置にカスタマイズされたツールチップが表示されているのが確認できるかと思います。まとめ今回作成したツールチップコンポーネントはスキン可能ですので、もちろん別のスキンクラスを作成すればまた違う外観にすることができます。いった細かいカスタマイズが比較的簡単にできるのがSparkコンポーネントのいいところですね。スキン可能コンポーネントを作成したことがなかった方も、ぜひこれを機に挑戦してみてください。733,868まだプロフィールが設定されていません。リモート】クラスメソッドの会社説明会を開催しますクラスメソッドでは、AWS・AI・ビッグデータ・モバイルなどの技術職や営業のメンバーとして一緒にお仕事をする仲間を大募集しています。#cmdevio新型コロナウイルスの感染拡大を受け、本イベントを延期させていただくことになりました(開催時期未定)。お申し込みいただいた皆様には大変申し訳ございませんが、何卒ご理解いただけますようよろしくお願いいたします。AWSについてライトに色んな情報交換をしましょう。カフェ店長のオカノです。今日はオフィスに用があるので、通勤ラッシュを避けて出社しました。この子は新メンバーのさめくんです。在宅勤務が推奨されているのでオフィスが閑散としており、すこしさみしそうです。夏目祐樹147こんにちは、CX事業本部の夏目です。MacのタッチバーのタッチIDが非常に便利なのですが、Terminalでsudoを叩かないと行けないときに使えたらなぁと思ったので、情報を共有します。タイトルがすべてなのですが、社内で「登壇勉強会」が開催されたので、「登壇は最強の生存戦略である」というタイトルで登壇しました。本が出ていたので読んでみたところよかったので紹介させていただきます。臼田佳祐295ワークフロー自動化OSSのn8nをAWS環境で建てて検証してみました。非常に期待できるサービスです。Fargateの勉強をしています。使ってみたい方は参考にしてください。洋介255SnowflakeがAWSの東京リージョン上で稼働するようになりました。データを日本に置けます。芳賀健233こんにちは!猫様の忠実なるしもべ、芳賀健です。Tokyoで開催されました。カフェ店長のオカノです。クラスメソッド株式会社が運営するAWS・iOS・HTML5に関する技術情報サイトです。