Add helper methods on Visibility (#14898)
				
					
				
			Fixes #14825 Edit: After feedback, these are the updated methods: - `toggle_inherited_visible(&mut self)` - Toggles between `Visibility::Inherited` and `Visibility::Visible`. If the value is `Visibility::Hidden`, it remains unaffected. - `toggle_inherited_hidden(&mut self)` - Toggles between `Visibility::Inherited` and `Visibility::Hidden`. If the value is `Visibility::Visible`, it remains unaffected. - `toggle_visible_hidden(&mut self)` - Toggles between `Visibility::Visible` and `Visibility::Hidden`. If the value is `Visibility::Inherited`, it remains unaffected. --------- Co-authored-by: Chris Russell <8494645+chescock@users.noreply.github.com>
This commit is contained in:
		
							parent
							
								
									cccc1137b4
								
							
						
					
					
						commit
						0070bdccd8
					
				| @ -47,6 +47,39 @@ pub enum Visibility { | ||||
|     Visible, | ||||
| } | ||||
| 
 | ||||
| impl Visibility { | ||||
|     /// Toggles between `Visibility::Inherited` and `Visibility::Visible`.
 | ||||
|     /// If the value is `Visibility::Hidden`, it remains unaffected.
 | ||||
|     #[inline] | ||||
|     pub fn toggle_inherited_visible(&mut self) { | ||||
|         *self = match *self { | ||||
|             Visibility::Inherited => Visibility::Visible, | ||||
|             Visibility::Visible => Visibility::Inherited, | ||||
|             _ => *self, | ||||
|         }; | ||||
|     } | ||||
|     /// Toggles between `Visibility::Inherited` and `Visibility::Hidden`.
 | ||||
|     /// If the value is `Visibility::Visible`, it remains unaffected.
 | ||||
|     #[inline] | ||||
|     pub fn toggle_inherited_hidden(&mut self) { | ||||
|         *self = match *self { | ||||
|             Visibility::Inherited => Visibility::Hidden, | ||||
|             Visibility::Hidden => Visibility::Inherited, | ||||
|             _ => *self, | ||||
|         }; | ||||
|     } | ||||
|     /// Toggles between `Visibility::Visible` and `Visibility::Hidden`.
 | ||||
|     /// If the value is `Visibility::Inherited`, it remains unaffected.
 | ||||
|     #[inline] | ||||
|     pub fn toggle_visible_hidden(&mut self) { | ||||
|         *self = match *self { | ||||
|             Visibility::Visible => Visibility::Hidden, | ||||
|             Visibility::Hidden => Visibility::Visible, | ||||
|             _ => *self, | ||||
|         }; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| // Allows `&Visibility == Visibility`
 | ||||
| impl PartialEq<Visibility> for &Visibility { | ||||
|     #[inline] | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Thomas Alban
						Thomas Alban