最近のアクセス:
テーマクラス

テーマは、GeneXus コントロールに対応する事前定義済みのクラスのグループで構成されています。

クラスには構成可能な一連のプロパティがあり、これらが GeneXus コントロールのタイプの「デザイン」を構成します。

クラスは、プロパティを設定することにより、いくつかの側面を一度定義するだけで、同タイプの複数のコントロールにその定義を同時に適用することができます。

アプリケーションのコントロールはこれらのクラスに (コントロールの [ Class ] プロパティによって) 関連付けられ、設定されているプロパティを継承します。
後で特定のタイプのコントロールの見た目を変更したい場合は、1 か所 (オブジェクトに関連付けられているテーマの対応するクラス) で設定を変更するだけで済みます。
 

Messages クラス

Messages クラスは GeneXus コントロールに対応していないという意味では例外のクラスであり、Web クライアントの画面に表示する検証メッセージの設定に使用されます。

ErrorMessages: すべての error ルールがこのクラスに関連付けられます。
WarningMessages: すべての msg ルールがこのクラスに関連付けられます。

このクラスも、ほかのクラスと同じようにプロパティを構成する必要があります。相違点は、このクラスには関連付ける GeneXus コントロールがないことです。ErrorMessages および WarningMessages との関連付けは、それぞれ error ルール、msg ルールに対して自動的に行われます。

イメージ:6255.jpg


ボタン用の特別なクラス

Web トランザクションや Web プロンプトで、GeneXus によって自動的に生成されるオブジェクトに対応する特定のボタンクラスがあります。  そのようなオブジェクトが作成されると、ボタンは対応するクラスに関連付けられます。
これらのクラスは、Button クラスの子である SpecialButtons クラスの直接の子孫となります。

· BtnCancel
· BtnCheck
· BtnDelete
· BtnEnter
· BtnFirst
· BtnGet
· BtnHelp
· BtnLast
· BtnNext
· BtnPrevious
· BtnRefresh
· BtnSelect
個々のボタンクラス (またはその子孫) のスタイルは、 [ BorderStyle ] プロパティで設定できます。
イメージ:6472.jpg

丸みのあるボタンの場合、プロパティを構成するだけで左右および背景の画像を構成できます。また、 [ Create Image ] リンクをクリックすると表示される次のダイアログで画像を作成することもできます。この画像はほかの画像と同様にナレッジベースに追加されます。
 イメージ:6473.jpg

項目属性から派生した特別なクラス

テーマエディター (X という名前とします) で項目属性から派生したクラスを定義すると、4 つのクラスが追加されます。

1.ReadOnlyX (X の子孫)

Blob:

2.BlobContentX (X の子孫)
3.ReadonlyBlobContentX (BlobContentX の子孫)
4.BlobInputX

BlobContentX と BlobInputX は、実行時に Blob コントロールに割り当てられるクラスです。Blob コントロールは、コンテンツとアップロードコントロール (プラス記号ボタンで編集) で構成されます。設計時に X クラスを Blob に関連付けた場合、コンテンツには BlobContentX クラスが割り当てられ、アップロードコントロールには BlobInputX クラスが割り当てられます。

この設定は設計時には確認できません。実行時にのみ表示されます。ReadOnlyBlobContentX クラスは、設計時に X クラスに関連付けられた読み取り専用の Blob に実行時に割り当てられます。親クラスの名前を変更した場合、ここまでに説明したすべてのクラスの名前が変更されます。たとえば X という名前を Y に変更すると、次のようになります:

1.ReadOnlyY

Blob:

2. BlobContentY
3. ReadOnlyBlobContentY
4. BlobInputY
 

派生クラス

事前定義済みのクラスからクラスを派生させることができます。クラスを定義するには、親クラスを右クリックして [ クラスを追加 ] を選択します。これにより、親の名前に連番が付加された新しいクラスが表示されます。この新しいクラスに別の名前を割り当て、対応するプロパティを設定して変更します。
子クラス (派生クラス) は、派生元のクラスからの継承が維持されています。したがって、親クラスに加えられた変更は、一部の例外を除いて子クラスに反映されます。変更とは、クラスの一部のプロパティの値の変更を指します。
エディタークラスレベルの階層は、CSS レベルのクラスと概念的な関係はありません。これは、ユーザーが容易にメンテナンスできるようにするための「継承」関係です。
親クラスに変更を加えると、子クラスの同じプロパティが変更されます。

継承されていない場合、親クラスのプロパティに加えられた変更は子クラスには反映されません。子クラスのプロパティを変更すると、そのプロパティ値の継承関係は失われます。

継承

既定で、すべてのクラスは親と同じプロパティを持っています。プロパティを変更すると、対応する値は失われます。クラスのプロパティの値を変更しても、変更を元に戻すことができます。該当するプロパティを右クリックして [ 既定を使用 ] を選択すると、親クラスの同じプロパティの値が再び継承されます。

イメージ:6260.jpg

クラスの派生と継承により、設計が明確になるだけではなく、クラスのメンテナンスがしやすくなります。

たとえば、Text Block から派生した Bullet クラスは、箇条書き形式のリストのテキストプロパティを設定するために定義します。

Bullet クラスに関連付けられたテキストにネストされたテキストがあり、それに別のクラスを使用することで、インデント以外は Bullet クラスと同じ特性を持たせたいとします。このクラスを SubBullet という名前で、Bullet の子として作成します。このクラスは、 [ Text Indent ] プロパティだけが親と異なっています。つまり、これは継承されない唯一のプロパティです。親の [ Text Indent ] プロパティが変更されても、SubBullet クラスの [ Text Indent ] プロパティには反映されません。

詳細情報

クラスのプロパティとその値の詳細については、CSS のドキュメンテーションを参照してください。



サブページ
Created: 14/09/18 03:18 by Admin Last update: 21/05/20 06:19 by Admin
カテゴリ
Powered by GXwiki 3.0