@@ -1802,6 +1802,39 @@ impl NSWindow for id {
1802
1802
// TODO: Constraint-Based Layouts
1803
1803
}
1804
1804
1805
+ pub trait NSPanel : Sized {
1806
+ unsafe fn alloc ( _: Self ) -> id {
1807
+ msg_send ! [ class!( NSPanel ) , alloc]
1808
+ }
1809
+
1810
+ // NSPanel subclasses NSWindow, hence we only add the added methods
1811
+ // https://developer.apple.com/documentation/appkit/nspanel
1812
+ unsafe fn setBecomesKeyOnlyIfNeeded ( self , becomesKeyOnlyIfNeeded : BOOL ) ;
1813
+ unsafe fn becomesKeyOnlyIfNeeded ( self ) -> BOOL ;
1814
+ unsafe fn setFloatingPanel ( self , floatingPanel : BOOL ) ;
1815
+ unsafe fn floatingPanel ( self ) -> BOOL ;
1816
+ }
1817
+
1818
+ impl NSPanel for id {
1819
+ // NSPanel subclasses NSWindow, hence we only add the added methods
1820
+ // https://developer.apple.com/documentation/appkit/nspanel
1821
+ unsafe fn setBecomesKeyOnlyIfNeeded ( self , becomesKeyOnlyIfNeeded : BOOL ) {
1822
+ msg_send ! [ self , setBecomesKeyOnlyIfNeeded: becomesKeyOnlyIfNeeded]
1823
+ }
1824
+
1825
+ unsafe fn becomesKeyOnlyIfNeeded ( self ) -> BOOL {
1826
+ msg_send ! [ self , becomesKeyOnlyIfNeeded]
1827
+ }
1828
+
1829
+ unsafe fn setFloatingPanel ( self , floatingPanel : BOOL ) {
1830
+ msg_send ! [ self , setFloatingPanel: floatingPanel]
1831
+ }
1832
+
1833
+ unsafe fn floatingPanel ( self ) -> BOOL {
1834
+ msg_send ! [ self , isFloatingPanel]
1835
+ }
1836
+ }
1837
+
1805
1838
#[ repr( i64 ) ]
1806
1839
#[ derive( Clone , Copy , Debug , PartialEq ) ]
1807
1840
pub enum NSModalResponse {
0 commit comments