Theme
ThemeファイルはXCSSと画像ファイルで構成されたファイルをまとめたものです。デフォルトテーマは圧縮された形式で提供されますが、プロジェクトでは展開されて使用します。
テーマエディタは、Resource Explorerの「Theme」の下に表示されているテーマをダブルクリックするか、コンテキストメニューの[Edit]を選択して開くことができます。
Resource Explorerで「NexacroTheme」の下に表示されているテーマは、nexacro studioのインストール時に組み込まれているテーマです。該当テーマは、変更/削除することができません。テーマを変更するには、「Theme」の下にテーマを移す必要があります。「NexacroTheme」の下に表示されているテーマを選択し、ドラッグして、「Theme」の下に移すことができます。
「NexacroTheme」の下に表示されているテーマを編集すると、プロジェクトに該当テーマをコピーするかを確認するダイアログボックスが表示され、[Yes]を選択する場合、「Theme」の下にコピーされ、編集ウィンドウを実行します。
Image
Themeで使用する画像をツリー型で提供します。画像は追加と削除が可能であり、画像を選択すると、プレビュー画面で確認することができます。
ここで追加した画像ファイルは、XCSSソースにURL形式で入力して、テーマ画像として適用することができます。
XCSS
Themeのスタイルを定義することができるCSSを編集することができます。
XCSS
XCSSは、nexacroの画面を構成する画面要素をデザインする機能を意味します。スタイルを適用することができる要素には、コンポーネント、Form、Frame、TitleBar、StatusBar、ScrollBarなどがあります。
XCSSエディタは、Project ExplorerでXCSSファイルを選択するか、Resource ExplorerでXCSSファイルを選択してダブルクリックするか、ファイルを選択してコンテキストメニューから[Edit]を選択して編集することができます。
XCSSエディタは、セレクタ一覧をツリー型で提供します。
名前 | 説明 | |
---|---|---|
1 | Sort by Group | セレクタをコンポーネントグループで並べ替え |
Sort by Alphabet | セレクタをアルファベット順に並べ替え | |
Add Selector | セレクタ追加 | |
Add Child Selector | 選択したセレクタの子セレクタを追加 | |
Delete Selector (Delete) | 選択したセレクタを削除 | |
Delete All Selector (Ctrl+Shift+Del) | すべてのセレクタを削除 | |
Options | Native Cssでジェネレートする対象ブラウザを選択 | |
2 | Selector Tree | セレクタリストをツリーで構成 |
3 | Component Preview | 選択した項目のプレビュー領域 |
4 | Style Quick Editor | 選択したセレクタに頻繁に変更されるスタイルの簡易編集を提供 |
5 | xcss Editor | nexacro Style Sheetエディタ |
6 | Generated Code Preview | NRE/Browser別に変換されたテキストタイプのCSSプレビュー |
7 | Navigatorbar | 目的のセレクタを順番通りに検索/追加 |
ツリーからセレクタをクリックすると、該当XCSSコードとNative CSSコード、プレビューイメージを表示します。また、セレクタの各Attributeは、プロパティウィンドウで変更できます。
セレクタを表示するツリー領域でマウス右ボタンをクリックして表示されるコンテキストメニューでは、使用しないセレクタのAttributeコードを削除する機能をサポートします。
名前 | 説明 |
---|---|
View | XCSS Editor内で配置されたウィンドウの表示有無を設定します。 |
Add Selector | セレクタ追加 |
Add Child Selector | 選択したセレクタの子セレクタを追加 |
Delete Selector | 選択したセレクタを削除 |
Delete All Selector | すべてのセレクタを削除 |
Compress | 選択したコンストラクタで使用しないAttributeコードを削除 |
UnCompress | 選択したコンストラクタで削除されたAttributeコードを回復 |
Compress All | すべてのコンストラクタで使用しないAttributeコードを削除 |
UnCompress All | すべてのコンストラクタから削除されたAttributeコードを回復 |
Collapse All | セレクタツリーをすべて閉じる |
Expand All | セレクタツリーをすべて開く |
作成したスクリプトにエラーがある場合には、Error Listに表示され、エラーが発生したセレクタを表示します。
セレクタ追加
CSSエディタのツールバーで、「Add Selector」をクリックして、タイプセレクタを追加することができます。Componentsリストからチェックしたコンポーネントでタイプセレクタを追加することができます。
名前 | 説明 | |
---|---|---|
1 | Multi Selector | 同じ値を持つ複数のセレクタを纏めて指定します。 2つ以上のコンポーネントを選択するか、Statusを2つ以上選択した場合、チェックボックスの領域が活性化され、チェックすると、Multi Selectorに処理します。例えば、Button、Calendarコンポーネントを選択して、Multi Selectorをチェックすると、下記のように処理します。
.Calendar { } |
2 | Class Selector | 任意のClass名で現在のセレクターの設定値を適用します。 例えば、Buttonコンポーネントに対して「TEST」というClass名でスタイルを設定します。対象のコンポーネントのcssclassプロパティ値として「TEST」を指定すると、スタイルが適用されます。
{ background : aqua; } |
3
Use Attribute
セレクターで使用するプロパティをエディターに追加するかどうかを選択します。
チェックを入れると、該当のセレクターで使用できるプロパティの一覧がエディターに表示されます。
4
Status Combination
Status項目とUserStatus項目を両方とも選択した場合、1つに纏めて作成することができます。
例えば、Buttonコンポーネントのmouseover Statusとselected UserStatusを両方とも選択した後チェックを入れると、以下のように処理されます。(マウスオバー状態と選択状態が両方とも該当する場合)
.Button[status=mouseover][userstatus=selected]
{
}
Status項目選択時のプロパティセレクタを指定します。enabledの状態はデフォルト値として処理されて、別のプロパティセレクタを指定しません。
クラスセレクタ追加
Add SelectorウィンドウでClass Selectorを選択して、クラス名を入力します。コンポーネントをチェックして組み合わせられたクラスセレクタとしても生成することができます。
Components一覧よりControl項目を選択している場合はClass Selectorを追加することができません。
子セレクタ追加
子を持つセレクタをツリーから選択して、ツールバーのAdd Child Selectorをクリックすると、子セレクタを追加することができます。
nexacroで使用する子セレクタという表現は、CSSの子セレクタとは違います。形式は下位セレクタ(Descendant selectors)と似ています。
NavigatorBar
コンポーネント項目に直接移動もしくはサブトピックの中から目的の項目に直接移動する機能を提供します。「♦」ボタンをクリックすると、移動可能なすべてのコンポーネントリストが表示され、項目の選択時に、該当するコンポーネントコードに移動します。
セレクタもしくは子セレクタの横に表示されているボタンをクリックすると、サブ項目のリストが表示され、項目の選択時に、該当するコードに移動します。
該当項目がない場合は、「+」ボタンが表示されます。該当ボタンをクリックすると、サブ項目が追加されます。
コード編集
エディタでプロパティ値の入力時に自動的にプロパティ値の一覧と関連syntaxを表示します。エンターキーで目的のプロパティ値を選択すると、入力可能なプロパティ値のタイプを表示します。
入力可能なプロパティ値のタイプが2つ以上の場合、上/下の矢印キーを使ってプロパティ値のタイプを選択することができます。エンターキーを入力して、目的のプロパティ値のタイプを選択すると、関連する入力例を画面に表示します。
Style Quick Editor領域は展開または折りたたむことができます。必要により、Text Editor領域をより広く活用することができます。
XCSSエディタの下部のタブで「Text」を選択すると、全体コードを変更することができます。
変数宣言およびプロパティ値としての利用(Predefine)
XCSSの編集時にプロパティ値として繰り返し使用する値を変数のように予め宣言しておき、プロパティ値を直接指定する代わりに該当の変数(id)を指定することができます。プロパティ値を変更する必要がある場合はPredefine項目の中から対象のItemのvalue値を修正することでプロパティ値を反映できます。
Predefine機能はnexacro studioでのみ利用可能な機能です。
XCSSの編集時にのみ設定でき、スクリプトでItem valueにアクセスしたり変更することはできません。
CSS custom properties (variables)とは異なる機能です。
XCSSの編集時にはCSS custom properties (variables)をサポートしません。
https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties
変数宣言
XCSSの編集画面のプロパティウィンドウでPredefineタブに切り替えます。 Group項目を追加し、変数として使用するItem項目を追加します。
名前 | 説明 | |
---|---|---|
1 | Add Group | Group項目を追加します。 Group項目はItem項目を種類ごとに区別するための用途でのみ使用します。 Predefineを設定する際に1つ以上のGroup項目が必要です。 |
2 | Add Item | id、valueで構成された変数です。 Item項目の中でidの値はXCSSでプロパティ値を設定する際に使用します。同じXCSSファイル内でidはユニークである必要があります。 |
3 | Delete | 選択したGroupもしくはItemを削除します。 Groupの削除時にGroupに含まれたItemも一緒に削除されます。 2つ以上の項目を選択した後に削除することができます。 1つのGroupもしくはItemのみ削除する場合は各項目の先頭の「-」ボタンにより削除することが出います。 |
4 | Group選択フィルター | 一覧より選択したGroupに含まれたItemのみ表示されます。 「All」項目を選択した場合は全てのGroup、Itemが表示されます。 |
5 | id検索フィルター | 検索ワードを入力すると、該当の文字列が含まれたidを持つItemのみ表示されます。 |
他のGroupにItemを移動することができます。
Group内で宣言されたItemの順序は動作に影響がなく、順序を変更することはできません。
Predefineタブで宣言した変数(Item)はXCSSプロパティ値の編集時に利用することができます。
宣言した変数をプロパティ値として利用(XCSS Editor)
XCSSの編集時にインテリジェンス機能によりPredefineタブで宣言したItemを候補として表示し、選択することができます。
Itemを選択すると、下記の形式に自動変換されてプロパティ値として設定されます。
宣言した変数をプロパティ値として利用(プロパティウィンドウ)
プロパティウィンドウのPredefineタブで宣言したItemを選択するには、プロパティリストの各項目にある「Predefine」ボタンをクリックしてボタンの表示を切り替えた後に「Predefine List」ボタンで表示される画面からItemを選択します。
プロパティリストでPredefine機能を利用する場合、プロパティ単位でのみ設定することができます。
例えば、backgroundプロパティを設定する場合はPredefine機能を利用できますが、下位項目であるbackground-colorでは「Predefine」ボタンが表示されず利用できません。
Generate結果の確認
Predefine機能を利用した値はGenerateする際に該当のvalue値に変換されて反映されます。XCSSの編集時にComponent PreviewウィンドウもしくはプロパティウィンドウのComputed Styleタブより変換後の値が確認できます。
Predefineプロパティ値の共有
Predefineプロパティ値はTheme内のXCSSもしくはXCSSファイル内でのみ適用されます。設定値を共有するには、外部のテキストエディタよりXCSSファイルを開き、Predefinesタグ内の項目をコピーします。
<?xml version="1.0" encoding="utf-8"?> <XCSS version="1.1"> <Predefines> <Group id="Color"> <Define id="main_color" value="blue"/> <Define id="font_color" value="yellow"/> <Define id="sub_color" value="red"/> </Group> </Predefines> <CSSData><![CDATA[.Button { background : -nexa-define(--main_color); } ]]></CSSData> </XCSS>
使用例:gray Themeの色の変更
gray Themeでは下記の通りに選択された項目に対する色がPredefine項目に定義されています。
maincolor: #BBAAFF subcolor: #EEEBFF
Predefine項目値を任意の値(blue系の色)に変更して保存すると、変更後の値が反映されることが確認できます。
maincolor: #3E86FF subcolor: #DEF1FE