feat: view.getVisible() (#45409)
* feat: view.getVisible() Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> * test: visible apis Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> * docs: clarify getVisible Co-authored-by: Samuel Maddock <smaddock@slack-corp.com> --------- Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Samuel Maddock <smaddock@slack-corp.com>
This commit is contained in:
parent
a07de0099c
commit
f40fc49461
4 changed files with 26 additions and 1 deletions
|
@ -106,6 +106,12 @@ Examples of valid `color` values:
|
|||
|
||||
* `visible` boolean - If false, the view will be hidden from display.
|
||||
|
||||
#### `view.getVisible()`
|
||||
|
||||
Returns `boolean` - Whether the view should be drawn. Note that this is
|
||||
different from whether the view is visible on screen—it may still be obscured
|
||||
or out of view.
|
||||
|
||||
### Instance Properties
|
||||
|
||||
Objects created with `new View` have the following properties:
|
||||
|
|
|
@ -387,6 +387,10 @@ void View::SetVisible(bool visible) {
|
|||
view_->SetVisible(visible);
|
||||
}
|
||||
|
||||
bool View::GetVisible() const {
|
||||
return view_ ? view_->GetVisible() : false;
|
||||
}
|
||||
|
||||
void View::OnViewBoundsChanged(views::View* observed_view) {
|
||||
ApplyBorderRadius();
|
||||
Emit("bounds-changed");
|
||||
|
@ -445,7 +449,8 @@ void View::BuildPrototype(v8::Isolate* isolate,
|
|||
.SetMethod("setBackgroundColor", &View::SetBackgroundColor)
|
||||
.SetMethod("setBorderRadius", &View::SetBorderRadius)
|
||||
.SetMethod("setLayout", &View::SetLayout)
|
||||
.SetMethod("setVisible", &View::SetVisible);
|
||||
.SetMethod("setVisible", &View::SetVisible)
|
||||
.SetMethod("getVisible", &View::GetVisible);
|
||||
}
|
||||
|
||||
} // namespace electron::api
|
||||
|
|
|
@ -45,6 +45,7 @@ class View : public gin_helper::EventEmitter<View>,
|
|||
void SetBackgroundColor(std::optional<WrappedSkColor> color);
|
||||
void SetBorderRadius(int radius);
|
||||
void SetVisible(bool visible);
|
||||
bool GetVisible() const;
|
||||
|
||||
// views::ViewObserver
|
||||
void OnViewBoundsChanged(views::View* observed_view) override;
|
||||
|
|
|
@ -79,4 +79,17 @@ describe('View', () => {
|
|||
v.setBorderRadius(9999999);
|
||||
v.setBorderRadius(-9999999);
|
||||
});
|
||||
|
||||
describe('view.getVisible|setVisible', () => {
|
||||
it('is visible by default', () => {
|
||||
const v = new View();
|
||||
expect(v.getVisible()).to.be.true();
|
||||
});
|
||||
|
||||
it('can be set to not visible', () => {
|
||||
const v = new View();
|
||||
v.setVisible(false);
|
||||
expect(v.getVisible()).to.be.false();
|
||||
});
|
||||
});
|
||||
});
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue