From 4bff55b612ecd29cd5f15685c893e7c26b1ca84c Mon Sep 17 00:00:00 2001 From: Alexander Rose <alex.rose@rcsb.org> Date: Fri, 20 Sep 2019 15:03:45 -0700 Subject: [PATCH] improve theme applicability checks --- src/mol-theme/color/carbohydrate-symbol.ts | 2 +- src/mol-theme/color/cross-link.ts | 2 +- src/mol-theme/color/model-index.ts | 2 +- src/mol-theme/color/occupancy.ts | 2 +- src/mol-theme/color/uncertainty.ts | 2 +- src/mol-theme/size/physical.ts | 2 +- src/mol-theme/size/uncertainty.ts | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/mol-theme/color/carbohydrate-symbol.ts b/src/mol-theme/color/carbohydrate-symbol.ts index 2a56f21d3..9577e1f89 100644 --- a/src/mol-theme/color/carbohydrate-symbol.ts +++ b/src/mol-theme/color/carbohydrate-symbol.ts @@ -69,5 +69,5 @@ export const CarbohydrateSymbolColorThemeProvider: ColorTheme.Provider<Carbohydr factory: CarbohydrateSymbolColorTheme, getParams: getCarbohydrateSymbolColorThemeParams, defaultValues: PD.getDefaultValues(CarbohydrateSymbolColorThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.carbohydrates.elements.length > 0 } \ No newline at end of file diff --git a/src/mol-theme/color/cross-link.ts b/src/mol-theme/color/cross-link.ts index 62d3d9a28..fe0128663 100644 --- a/src/mol-theme/color/cross-link.ts +++ b/src/mol-theme/color/cross-link.ts @@ -72,5 +72,5 @@ export const CrossLinkColorThemeProvider: ColorTheme.Provider<CrossLinkColorThem factory: CrossLinkColorTheme, getParams: getCrossLinkColorThemeParams, defaultValues: PD.getDefaultValues(CrossLinkColorThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.crossLinkRestraints.count > 0 } \ No newline at end of file diff --git a/src/mol-theme/color/model-index.ts b/src/mol-theme/color/model-index.ts index 39d398c88..4c94ef320 100644 --- a/src/mol-theme/color/model-index.ts +++ b/src/mol-theme/color/model-index.ts @@ -64,5 +64,5 @@ export const ModelIndexColorThemeProvider: ColorTheme.Provider<ModelIndexColorTh factory: ModelIndexColorTheme, getParams: getModelIndexColorThemeParams, defaultValues: PD.getDefaultValues(ModelIndexColorThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.models.length > 1 } \ No newline at end of file diff --git a/src/mol-theme/color/occupancy.ts b/src/mol-theme/color/occupancy.ts index 3f315c5c2..24a9afb2c 100644 --- a/src/mol-theme/color/occupancy.ts +++ b/src/mol-theme/color/occupancy.ts @@ -63,5 +63,5 @@ export const OccupancyColorThemeProvider: ColorTheme.Provider<OccupancyColorThem factory: OccupancyColorTheme, getParams: getOccupancyColorThemeParams, defaultValues: PD.getDefaultValues(OccupancyColorThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.models.some(m => m.atomicConformation.occupancy.isDefined) } \ No newline at end of file diff --git a/src/mol-theme/color/uncertainty.ts b/src/mol-theme/color/uncertainty.ts index d7b78dabf..d9218316e 100644 --- a/src/mol-theme/color/uncertainty.ts +++ b/src/mol-theme/color/uncertainty.ts @@ -67,5 +67,5 @@ export const UncertaintyColorThemeProvider: ColorTheme.Provider<UncertaintyColor factory: UncertaintyColorTheme, getParams: getUncertaintyColorThemeParams, defaultValues: PD.getDefaultValues(UncertaintyColorThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.models.some(m => m.atomicConformation.B_iso_or_equiv.isDefined || m.sourceData.data.ihm_sphere_obj_site.rmsf.isDefined) } \ No newline at end of file diff --git a/src/mol-theme/size/physical.ts b/src/mol-theme/size/physical.ts index d023e2f8a..01d71ca05 100644 --- a/src/mol-theme/size/physical.ts +++ b/src/mol-theme/size/physical.ts @@ -12,7 +12,7 @@ import { ParamDefinition as PD } from '../../mol-util/param-definition' import { ThemeDataContext } from '../../mol-theme/theme'; const DefaultSize = 1 -const Description = 'Assigns a physical size.' +const Description = 'Assigns a physical size, i.e. vdW radius for atoms or given radius for coarse spheres.' export const PhysicalSizeThemeParams = {} export type PhysicalSizeThemeParams = typeof PhysicalSizeThemeParams diff --git a/src/mol-theme/size/uncertainty.ts b/src/mol-theme/size/uncertainty.ts index f87579c87..39e2abf1f 100644 --- a/src/mol-theme/size/uncertainty.ts +++ b/src/mol-theme/size/uncertainty.ts @@ -57,5 +57,5 @@ export const UncertaintySizeThemeProvider: SizeTheme.Provider<UncertaintySizeThe factory: UncertaintySizeTheme, getParams: getUncertaintySizeThemeParams, defaultValues: PD.getDefaultValues(UncertaintySizeThemeParams), - isApplicable: (ctx: ThemeDataContext) => !!ctx.structure // TODO check if the structure has Uncertainty (B-factor, RMSF, ...) values + isApplicable: (ctx: ThemeDataContext) => !!ctx.structure && ctx.structure.models.some(m => m.atomicConformation.B_iso_or_equiv.isDefined || m.sourceData.data.ihm_sphere_obj_site.rmsf.isDefined) } \ No newline at end of file -- GitLab