1pub(crate) struct PtrHolder<T, F: Fn(*mut T) + 'static>(*mut T, F);
9
10impl<T, F: Fn(*mut T) + 'static> Drop for PtrHolder<T, F> {
11 #[inline]
12 fn drop(&mut self) {
13 (self.1)(self.0)
14 }
15}
16
17#[cfg(feature = "v4_10")]
18#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
19pub mod accessible;
20#[cfg(feature = "v4_10")]
21#[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
22pub mod accessible_range;
23#[cfg(feature = "v4_14")]
24#[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
25pub mod accessible_text;
26pub mod actionable;
27pub mod adjustment;
28pub mod application;
29pub mod application_window;
30pub mod box_;
31pub mod buildable;
32pub mod builder_scope;
33pub mod button;
34pub mod cell_area;
35pub mod cell_area_context;
36pub mod cell_editable;
37pub mod cell_layout;
38pub mod cell_renderer;
39pub mod cell_renderer_text;
40pub mod check_button;
41pub mod color_chooser;
42pub mod combo_box;
43pub mod dialog;
44pub mod drawing_area;
45pub mod editable;
46pub mod entry;
47pub mod entry_buffer;
48pub mod filter;
49pub mod fixed;
50pub mod flow_box_child;
51pub mod font_chooser;
52pub mod frame;
53pub mod gl_area;
54pub mod grid;
55pub mod im_context;
56pub mod layout_child;
57pub mod layout_manager;
58pub mod list_box_row;
59pub mod media_file;
60pub mod media_stream;
61pub mod native_dialog;
62pub mod orientable;
63pub mod popover;
64pub mod print_operation;
65pub mod print_operation_preview;
66pub mod range;
67pub mod recent_manager;
68pub mod scale;
69pub mod scale_button;
70pub mod scrollable;
71#[cfg(feature = "v4_12")]
72#[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
73pub mod section_model;
74pub mod selection_model;
75pub mod shortcut_manager;
76pub mod sorter;
77pub mod style_context;
78#[cfg(feature = "v4_6")]
79#[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
80pub mod symbolic_paintable;
81pub mod text_buffer;
82pub mod text_view;
83pub mod toggle_button;
84pub mod tree_drag_dest;
85pub mod tree_drag_source;
86pub mod tree_model_filter;
87pub mod tree_view;
88pub mod widget;
89pub mod window;
90pub mod window_group;
91
92pub mod prelude {
95 #[doc(hidden)]
96 pub use gdk::subclass::prelude::*;
97
98 #[cfg(feature = "v4_10")]
99 #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
100 pub use super::accessible::{AccessibleImpl, AccessibleImplExt};
101 #[cfg(feature = "v4_10")]
102 #[cfg_attr(docsrs, doc(cfg(feature = "v4_10")))]
103 pub use super::accessible_range::{AccessibleRangeImpl, AccessibleRangeImplExt};
104 #[cfg(feature = "v4_14")]
105 #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))]
106 pub use super::accessible_text::{AccessibleTextImpl, AccessibleTextImplExt};
107 #[cfg(feature = "v4_12")]
108 #[cfg_attr(docsrs, doc(cfg(feature = "v4_12")))]
109 pub use super::section_model::{SectionModelImpl, SectionModelImplExt};
110 #[cfg(feature = "v4_6")]
111 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
112 #[cfg_attr(docsrs, doc(cfg(feature = "v4_6")))]
113 pub use super::symbolic_paintable::{SymbolicPaintableImpl, SymbolicPaintableImplExt};
114 pub use super::{
115 actionable::{ActionableImpl, ActionableImplExt},
116 adjustment::{AdjustmentImpl, AdjustmentImplExt},
117 application::{GtkApplicationImpl, GtkApplicationImplExt},
118 application_window::ApplicationWindowImpl,
119 box_::BoxImpl,
120 buildable::{BuildableImpl, BuildableImplExt},
121 builder_scope::{BuilderCScopeImpl, BuilderScopeImpl, BuilderScopeImplExt},
122 button::{ButtonImpl, ButtonImplExt},
123 cell_area::{CellAreaClassExt, CellAreaImpl, CellAreaImplExt},
124 cell_area_context::{CellAreaContextImpl, CellAreaContextImplExt},
125 cell_editable::{CellEditableImpl, CellEditableImplExt},
126 cell_layout::{CellLayoutImpl, CellLayoutImplExt},
127 cell_renderer::{CellRendererImpl, CellRendererImplExt},
128 cell_renderer_text::{CellRendererTextImpl, CellRendererTextImplExt},
129 check_button::{CheckButtonImpl, CheckButtonImplExt},
130 color_chooser::{ColorChooserImpl, ColorChooserImplExt},
131 combo_box::{ComboBoxImpl, ComboBoxImplExt},
132 dialog::{DialogImpl, DialogImplExt},
133 drawing_area::{DrawingAreaImpl, DrawingAreaImplExt},
134 editable::{EditableImpl, EditableImplExt},
135 entry::{EntryImpl, EntryImplExt},
136 entry_buffer::{EntryBufferImpl, EntryBufferImplExt},
137 filter::{FilterImpl, FilterImplExt},
138 fixed::FixedImpl,
139 flow_box_child::{FlowBoxChildImpl, FlowBoxChildImplExt},
140 font_chooser::{FontChooserImpl, FontChooserImplExt},
141 frame::{FrameImpl, FrameImplExt},
142 gl_area::{GLAreaImpl, GLAreaImplExt},
143 grid::GridImpl,
144 im_context::{IMContextImpl, IMContextImplExt},
145 layout_child::LayoutChildImpl,
146 layout_manager::{LayoutManagerImpl, LayoutManagerImplExt},
147 list_box_row::{ListBoxRowImpl, ListBoxRowImplExt},
148 media_file::{MediaFileImpl, MediaFileImplExt},
149 media_stream::{MediaStreamImpl, MediaStreamImplExt},
150 native_dialog::{NativeDialogImpl, NativeDialogImplExt},
151 orientable::OrientableImpl,
152 popover::{PopoverImpl, PopoverImplExt},
153 print_operation::{PrintOperationImpl, PrintOperationImplExt},
154 print_operation_preview::PrintOperationPreviewImpl,
155 range::{RangeImpl, RangeImplExt},
156 recent_manager::{RecentManagerImpl, RecentManagerImplExt},
157 scale::{ScaleImpl, ScaleImplExt},
158 scale_button::{ScaleButtonImpl, ScaleButtonImplExt},
159 scrollable::{ScrollableImpl, ScrollableImplExt},
160 selection_model::{SelectionModelImpl, SelectionModelImplExt},
161 shortcut_manager::{ShortcutManagerImpl, ShortcutManagerImplExt},
162 sorter::{SorterImpl, SorterImplExt},
163 style_context::{StyleContextImpl, StyleContextImplExt},
164 text_buffer::{TextBufferImpl, TextBufferImplExt},
165 text_view::{TextViewImpl, TextViewImplExt},
166 toggle_button::{ToggleButtonImpl, ToggleButtonImplExt},
167 tree_drag_dest::{TreeDragDestImpl, TreeDragDestImplExt},
168 tree_drag_source::{TreeDragSourceImpl, TreeDragSourceImplExt},
169 tree_model_filter::{TreeModelFilterImpl, TreeModelFilterImplExt},
170 tree_view::{TreeViewImpl, TreeViewImplExt},
171 widget::{
172 CompositeTemplate, CompositeTemplateCallbacks, CompositeTemplateCallbacksClass,
173 CompositeTemplateClass, CompositeTemplateDisposeExt, CompositeTemplateInitializingExt,
174 CompositeTemplateInstanceCallbacksClass, TemplateChild, WidgetClassExt, WidgetImpl,
175 WidgetImplExt,
176 },
177 window::{WindowImpl, WindowImplExt},
178 window_group::WindowGroupImpl,
179 };
180}