Skip to content

Commit b54feaf

Browse files
committed
show/hide all labels convenience functions
Issue #808
1 parent 13d8fc5 commit b54feaf

5 files changed

+57
-3
lines changed

src/GLShape.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1675,6 +1675,8 @@ export interface CylinderSpec extends ShapeSpec {
16751675
dashLength?: number;
16761676
/** Length of gaps (default 0.25) */
16771677
gapLength?: number;
1678+
/** hidden */
1679+
hidden?: boolean;
16781680
};
16791681

16801682
/**

src/GLViewer.ts

Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2581,6 +2581,55 @@ export class GLViewer {
25812581
return this;
25822582
};
25832583

2584+
/**
2585+
* Hide all labels in viewer
2586+
*
2587+
* @example
2588+
$3Dmol.download("pdb:1ubq",viewer,{},function(){
2589+
2590+
viewer.addResLabels();
2591+
viewer.setStyle({},{stick:{}});
2592+
viewer.render( ); //show labels
2593+
2594+
viewer.hideAllLabels();
2595+
viewer.render(); //hide labels
2596+
});
2597+
*/
2598+
public hideAllLabels() {
2599+
for (var i = 0; i < this.labels.length; i++) {
2600+
if (this.labels[i]) {
2601+
this.labels[i].hide();
2602+
}
2603+
}
2604+
this.show();
2605+
return this;
2606+
};
2607+
2608+
/**
2609+
* Show all labels in viewer
2610+
*
2611+
* @example
2612+
$3Dmol.download("pdb:1ubq",viewer,{},function(){
2613+
2614+
viewer.addResLabels();
2615+
viewer.setStyle({},{stick:{}});
2616+
viewer.render( ); //show labels
2617+
2618+
viewer.hideAllLabels();
2619+
viewer.showAllLabels();
2620+
viewer.render(); //hide labels
2621+
});
2622+
*/
2623+
public showAllLabels() {
2624+
for (var i = 0; i < this.labels.length; i++) {
2625+
if (this.labels[i]) {
2626+
this.labels[i].show();
2627+
}
2628+
}
2629+
this.show();
2630+
return this;
2631+
};
2632+
25842633
// Modify label style
25852634
/**
25862635
* Modify existing label's style

src/Label.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,16 @@ export class Label {
125125

126126
/** Hide this label. */
127127
public hide() {
128-
this.sprite.visible = false;
128+
if(this.sprite) {
129+
this.sprite.visible = false;
130+
}
129131
}
130132

131133
/** Show a hidden label. */
132134
public show() {
133-
134-
this.sprite.visible = true;
135+
if(this.sprite) {
136+
this.sprite.visible = true;
137+
}
135138
}
136139

137140
setContext() {

0 commit comments

Comments
 (0)