wxrust_base/generated/
class_c.rs

1use super::*;
2
3// wxClassInfo
4wxwidgets! {
5    /// This class stores meta-information about classes.
6    /// - [`ClassInfo`] represents a C++ `wxClassInfo` class instance which your code has ownership, [`ClassInfoIsOwned`]`<false>` represents one which don't own.
7    /// - Use [`ClassInfo`]'s `new()` to create an instance of this class.
8    /// - See [C++ `wxClassInfo` class's documentation](https://docs.wxwidgets.org/3.2/classwx_class_info.html) for more details.
9    #[doc(alias = "wxClassInfo")]
10    #[doc(alias = "ClassInfo")]
11    class ClassInfo
12        = ClassInfoIsOwned<true>(wxClassInfo) impl
13        ClassInfoMethods
14}
15impl<const OWNED: bool> ClassInfoIsOwned<OWNED> {
16    // NOT_SUPPORTED: fn wxClassInfo()
17    pub fn none() -> Option<&'static Self> {
18        None
19    }
20}
21impl Clone for ClassInfoIsOwned<false> {
22    fn clone(&self) -> Self {
23        Self(self.0)
24    }
25}
26impl<const OWNED: bool> Drop for ClassInfoIsOwned<OWNED> {
27    fn drop(&mut self) {
28        if OWNED {
29            unsafe { ffi::wxClassInfo_delete(self.0) }
30        }
31    }
32}
33
34// wxClientData
35wxwidgets! {
36    /// All classes deriving from wxEvtHandler (such as all controls and wxApp) can hold arbitrary data which is here referred to as "client data".
37    /// - [`ClientData`] represents a C++ `wxClientData` class instance which your code has ownership, [`ClientDataIsOwned`]`<false>` represents one which don't own.
38    /// - Use [`ClientData`]'s `new()` to create an instance of this class.
39    /// - See [C++ `wxClientData` class's documentation](https://docs.wxwidgets.org/3.2/classwx_client_data.html) for more details.
40    #[doc(alias = "wxClientData")]
41    #[doc(alias = "ClientData")]
42    class ClientData
43        = ClientDataIsOwned<true>(wxClientData) impl
44        ClientDataMethods
45}
46impl<const OWNED: bool> ClientDataIsOwned<OWNED> {
47    /// Constructor.
48    ///
49    /// See [C++ `wxClientData::wxClientData()`'s documentation](https://docs.wxwidgets.org/3.2/classwx_client_data.html#acf0e79134d5fb8abd8a4a343c616e8d7).
50    pub fn new() -> ClientDataIsOwned<OWNED> {
51        unsafe { ClientDataIsOwned(ffi::wxClientData_new()) }
52    }
53    pub fn none() -> Option<&'static Self> {
54        None
55    }
56}
57impl Clone for ClientDataIsOwned<false> {
58    fn clone(&self) -> Self {
59        Self(self.0)
60    }
61}
62impl<const OWNED: bool> Drop for ClientDataIsOwned<OWNED> {
63    fn drop(&mut self) {
64        if OWNED {
65            unsafe { ffi::wxClientData_delete(self.0) }
66        }
67    }
68}