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 pub use super::symbolic_paintable::{SymbolicPaintableImpl, SymbolicPaintableImplExt};
113 pub use super::{
114 actionable::{ActionableImpl, ActionableImplExt},
115 adjustment::{AdjustmentImpl, AdjustmentImplExt},
116 application::{GtkApplicationImpl, GtkApplicationImplExt},
117 application_window::{ApplicationWindowImpl, ApplicationWindowImplExt},
118 box_::BoxImpl,
119 buildable::{BuildableImpl, BuildableImplExt},
120 builder_scope::{BuilderCScopeImpl, BuilderScopeImpl, BuilderScopeImplExt},
121 button::{ButtonImpl, ButtonImplExt},
122 cell_area::{CellAreaClassExt, CellAreaImpl, CellAreaImplExt},
123 cell_area_context::{CellAreaContextImpl, CellAreaContextImplExt},
124 cell_editable::{CellEditableImpl, CellEditableImplExt},
125 cell_layout::{CellLayoutImpl, CellLayoutImplExt},
126 cell_renderer::{CellRendererImpl, CellRendererImplExt},
127 cell_renderer_text::{CellRendererTextImpl, CellRendererTextImplExt},
128 check_button::{CheckButtonImpl, CheckButtonImplExt},
129 color_chooser::{ColorChooserImpl, ColorChooserImplExt},
130 combo_box::{ComboBoxImpl, ComboBoxImplExt},
131 dialog::{DialogImpl, DialogImplExt},
132 drawing_area::{DrawingAreaImpl, DrawingAreaImplExt},
133 editable::{EditableImpl, EditableImplExt},
134 entry::{EntryImpl, EntryImplExt},
135 entry_buffer::{EntryBufferImpl, EntryBufferImplExt},
136 filter::{FilterImpl, FilterImplExt},
137 fixed::FixedImpl,
138 flow_box_child::{FlowBoxChildImpl, FlowBoxChildImplExt},
139 font_chooser::{FontChooserImpl, FontChooserImplExt},
140 frame::{FrameImpl, FrameImplExt},
141 gl_area::{GLAreaImpl, GLAreaImplExt},
142 grid::GridImpl,
143 im_context::{IMContextImpl, IMContextImplExt},
144 layout_child::LayoutChildImpl,
145 layout_manager::{LayoutManagerImpl, LayoutManagerImplExt},
146 list_box_row::{ListBoxRowImpl, ListBoxRowImplExt},
147 media_file::{MediaFileImpl, MediaFileImplExt},
148 media_stream::{MediaStreamImpl, MediaStreamImplExt},
149 native_dialog::{NativeDialogImpl, NativeDialogImplExt},
150 orientable::OrientableImpl,
151 popover::{PopoverImpl, PopoverImplExt},
152 print_operation::{PrintOperationImpl, PrintOperationImplExt},
153 print_operation_preview::PrintOperationPreviewImpl,
154 range::{RangeImpl, RangeImplExt},
155 recent_manager::{RecentManagerImpl, RecentManagerImplExt},
156 scale::{ScaleImpl, ScaleImplExt},
157 scale_button::{ScaleButtonImpl, ScaleButtonImplExt},
158 scrollable::{ScrollableImpl, ScrollableImplExt},
159 selection_model::{SelectionModelImpl, SelectionModelImplExt},
160 shortcut_manager::{ShortcutManagerImpl, ShortcutManagerImplExt},
161 sorter::{SorterImpl, SorterImplExt},
162 style_context::{StyleContextImpl, StyleContextImplExt},
163 text_buffer::{TextBufferImpl, TextBufferImplExt},
164 text_view::{TextViewImpl, TextViewImplExt},
165 toggle_button::{ToggleButtonImpl, ToggleButtonImplExt},
166 tree_drag_dest::{TreeDragDestImpl, TreeDragDestImplExt},
167 tree_drag_source::{TreeDragSourceImpl, TreeDragSourceImplExt},
168 tree_model_filter::{TreeModelFilterImpl, TreeModelFilterImplExt},
169 tree_view::{TreeViewImpl, TreeViewImplExt},
170 widget::{
171 CompositeTemplate, CompositeTemplateCallbacks, CompositeTemplateCallbacksClass,
172 CompositeTemplateClass, CompositeTemplateDisposeExt, CompositeTemplateInitializingExt,
173 CompositeTemplateInstanceCallbacksClass, TemplateChild, WidgetClassExt, WidgetImpl,
174 WidgetImplExt,
175 },
176 window::{WindowImpl, WindowImplExt},
177 window_group::WindowGroupImpl,
178 };
179}