TreeNodeDisplayProperties のカスタマイズ
Creo Elements/Direct Model Manager に表示される treeNode ラベルの色をカスタマイズできるようになりました。
表示をカスタマイズするには
1. Java ファイル用の biz ディレクトリを作成します (D:\Users\custom\src\com\acme\biz など)。詳細については、ビジネスロジックの拡張の演習を参照してください。
2. NetBeans で、CustomTreeNodeDisplayProperties クラスを作成し、DMModel3D クラスを拡張して TreeNodeDisplayProperties インターフェイスを実装します。TreeNodeDisplayProperties インターフェイスには、getForeground()getBackground() の 2 つのメソッドが含まれています。詳細については、既存のクラスの拡張を参照してください。例を以下に示します。
public class CustomTreeNodeDisplayProperties extends DMModel3D implements TreeNodeDisplayProperties
{
//code implementation
}
3. オーバーライドメソッド getForeground()getBackground()CustomTreeNodeDisplayProperties クラスに追加します。例を以下に示します。
@Override
public Color getForeground(boolean selected, EnumSet<Flags> flags) {
if (flags.contains(Flags.DISABLED) && !selected) {
return WMAttRenderer.TEXT_DISABLED_COLOR;
} else if (flags.contains(Flags.WARNING)) {
if (selected) {
return WMAttRenderer.TEXT_ERROR_SELECTED_COLOR;
} else {
return WMAttRenderer.TEXT_ERROR_COLOR;
}
} else if (flags.contains(Flags.ADDED)) {
if (selected) {
return Color.YELLOW;
} else {
return CompareAddedRenderer.getAddedColor();
}
} else if (flags.contains(Flags.DELETE_REPORT) && !selected) {
return Color.RED;
} else if (selected) {
return (UIManager.getColor("Table.selectionForeground")); //frozen
} else {
return (UIManager.getColor("Table.foreground")); //frozen
}
}
@Override
public Color getBackground(boolean selected, EnumSet<Flags> flags) {
if (flags.contains(Flags.FILTER_MATCH) && !selected) {
return Color.YELLOW;
}
if (flags.contains(Flags.DISABLED) && !selected) {
return (UIManager.getColor("Table.background")); //frozen
} else if (flags.contains(Flags.WARNING)) {
if (selected) {
return (UIManager.getColor("Table.selectionBackground")); //frozen
} else {
return (UIManager.getColor("Table.background")); //frozen
}
} else if (flags.contains(Flags.ADDED)) {
if (selected) {
return (UIManager.getColor("Table.selectionBackground")); //frozen
} else {
return (UIManager.getColor("Table.background")); //frozen
}
} else if (flags.contains(Flags.DELETE_REPORT) && !selected) {
return Color.BLACK;
} else if (selected) {
return (UIManager.getColor("Table.selectionBackground")); //frozen
} else {
return (UIManager.getColor("Table.background")); //frozen
}
}
4. <Creo Elements\Direct Manager Server installation location>\config\ にある custom.xml ファイルの <ClassDefs> セクションに、クラスの拡張を追加します。例を以下に示します。
<ClassDefs>
<Class extends="DMModel, DMReleaseProcess">
<Name catalog="awm_stda" msg_num="258">MODEL_3D</Name>
<BusinessObjectClass>com.acme.biz.CustomTreeNodeDisplayProperties</BusinessObjectClass>
</Class>
</ClassDefs>
5. 変更内容をテストするには
a. Creo Elements/Direct Model Manager で、モデルを選択します。
b. 「構造」をクリックし、「修正」グループの 「データベースから削除」をクリックします。あるいは、モデルを右クリックして、ショートカットメニューの 「データベースから削除」をクリックします。「削除」ダイアログボックスが開きます。
6. 「次」をクリックします。これで「削除」ダイアログボックスにモデル名が新しい色で表示されます。
これは役に立ちましたか?