add new sigc++2 directory
[ardour.git] / libs / gtkmm2 / tools / m4 / convert_gtk.m4
1 dnl $Id: convert_gtk.m4 927 2007-11-04 12:04:14Z murrayc $
2
3 include(convert_glib.m4)
4
5 #
6 # Table of widgets
7 #
8
9 _EQUAL(gboolean,int)
10 _EQUAL(gint,int)
11 _EQUAL(gint*,int*)
12 _EQUAL(gint&,int&)
13 _EQUAL(guint,unsigned int)
14 _EQUAL(guint*,unsigned int*)
15 _EQUAL(guint&,unsigned int&)
16 _EQUAL(gdouble,double)
17 _EQUAL(gdouble*,double*)
18 _EQUAL(gfloat, float)
19 _EQUAL(float*,gfloat[])
20
21 _EQUAL(GdkAtom,Gdk::Atom)
22 _EQUAL(const-char*,const-gchar*)
23 _EQUAL(return-char*,return-gchar*)
24 _EQUAL(gpointer,void*)
25 _EQUAL(gconstpointer,const void*)
26
27 #
28 # Basic Types
29 _CONVERSION(`int',`bool',`$3')
30 _CONVERSION(`bool',`int',`static_cast<int>($3)')
31 _CONVERSION(`unsigned int',`bool',`$3')
32 _CONVERSION(`bool',`unsigned int',`static_cast<unsigned int>($3)')
33 _CONVERSION(`int&',`gint*',`&($3)')
34 _CONVERSION(`gint*',`int&',`*($3)')
35 _CONVERSION(`guint&',`guint*',`&($3)')
36 _CONVERSION(`double&',`gdouble*',`&($3)')
37 _CONVERSION(`float&',`gfloat*',`&($3)')
38 _CONVERSION(`gchar**',`char**',`$3')
39 _CONVERSION(`char**',`gchar**',`$3')
40 _CONVERSION(`gpointer&',`gpointer*',`&($3)')
41 _CONVERSION(`void*&',`gpointer*',`&($3)')
42
43 _CONVERSION(`time_t&',`time_t*',`&($3)')
44
45 _CONVERSION(`GError*&',`GError**',`&($3)')
46
47 _CONVERSION(`ui_merge_id',`guint',`$3')
48 _CONVERSION(`guint',`ui_merge_id',`$3')
49
50 # Enums: TODO: It would be nice if gmmproc knew about these automatically.
51 _CONV_ENUM(Gtk,AccelFlags)
52 _CONV_ENUM(Gtk,ArrowType)
53 _CONV_ENUM(Gtk,AttachOptions)
54 _CONV_ENUM(Gtk,ButtonBoxStyle)
55 _CONV_ENUM(Gtk,ButtonsType)
56 _CONV_ENUM(Gtk,CalendarDisplayOptions)
57 _CONV_ENUM(Gtk,CellRendererMode)
58 _CONV_ENUM(Gtk,CellRendererState)
59 _CONV_ENUM(Gtk,CornerType)
60 _CONV_ENUM(Gtk,CurveType)
61 _CONV_ENUM(Gtk,DeleteType)
62 _CONV_ENUM(Gtk,DestDefaults)
63 _CONV_ENUM(Gtk,DirectionType)
64 _CONV_ENUM(Gtk,ExpanderStyle)
65 _CONV_ENUM(Gtk,ImageType)
66 _CONV_ENUM(Gtk,Justification)
67 _CONV_ENUM(Gtk,MenuDirectionType)
68 _CONV_ENUM(Gtk,MessageType)
69 _CONV_ENUM(Gtk,MetricType)
70 _CONV_ENUM(Gtk,MovementStep)
71 _CONV_ENUM(Gtk,NotebookTab)
72 _CONV_ENUM(Gtk,Orientation)
73 _CONV_ENUM(Gtk,PackType)
74 _CONV_ENUM(Gtk,PolicyType)
75 _CONV_ENUM(Gtk,PositionType)
76 _CONV_ENUM(Gtk,PreviewType)
77 _CONV_ENUM(Gtk,ProgressBarOrientation)
78 _CONV_ENUM(Gtk,ProgressBarStyle)
79 _CONV_ENUM(Gtk,ReliefStyle)
80 _CONV_ENUM(Gtk,ResizeMode)
81 _CONV_ENUM(Gtk,ScrollType)
82 _CONV_ENUM(Gtk,SelectionMode)
83 _CONV_ENUM(Gtk,ShadowType)
84 _CONV_ENUM(Gtk,SizeGroupMode)
85 _CONV_ENUM(Gtk,SortType)
86 _CONV_ENUM(Gtk,SpinButtonUpdatePolicy)
87 _CONV_ENUM(Gtk,SpinType)
88 _CONV_ENUM(Gtk,StateType)
89 _CONV_ENUM(Gtk,TargetFlags)
90 _CONV_ENUM(Gtk,TextDirection)
91 _CONV_ENUM(Gtk,TextSearchFlags)
92 _CONV_ENUM(Gtk,TextWindowType)
93 _CONV_ENUM(Gtk,ToolbarChildType)
94 _CONV_ENUM(Gtk,ToolbarStyle)
95 _CONV_ENUM(Gtk,TreeModelFlags)
96 _CONV_ENUM(Gtk,TreeViewColumnSizing)
97 _CONV_ENUM(Gtk,TreeViewDropPosition)
98 _CONV_ENUM(Gtk,TreeViewGridLines)
99 _CONV_ENUM(Gtk,UpdateType)
100 _CONV_ENUM(Gtk,Visibility)
101 _CONV_ENUM(Gtk,WidgetHelpType)
102 _CONV_ENUM(Gtk,WindowPosition)
103 _CONV_ENUM(Gtk,WindowType)
104 _CONV_ENUM(Gtk,WrapMode)
105 _CONV_ENUM(Gtk,UIManagerItemType)
106 _CONV_ENUM(Gtk,FileChooserAction)
107 _CONV_ENUM(Gtk,FileFilterFlags)
108 _CONV_ENUM(Gtk,IconLookupFlags)
109 _CONV_ENUM(Gtk,IconThemeError)
110 _CONV_ENUM(Gtk,FileChooserConfirmation)
111 _CONV_ENUM(Gtk,SensitivityType)
112 _CONV_ENUM(Gtk,AssistantPageType)
113 _CONV_ENUM(Gtk,IconViewDropPosition)
114 _CONV_ENUM(Gtk,RecentFilterFlags)
115 _CONV_ENUM(Gtk,RecentManagerError)
116 _CONV_ENUM(Gtk,RecentSortType)
117 _CONV_ENUM(Gtk,Unit)
118 _CONV_ENUM(Gtk,PageOrientation)
119 _CONV_ENUM(Gtk,PrintDuplex)
120 _CONV_ENUM(Gtk,PrintQuality)
121 _CONV_ENUM(Gtk,PrintPages)
122 _CONV_ENUM(Gtk,PageSet)
123 _CONV_ENUM(Gtk,PrintStatus)
124 _CONV_ENUM(Gtk,PrintOperationResult)
125 _CONV_ENUM(Gtk,PrintOperationAction)
126 _CONV_ENUM(Gtk,PrintError)
127 _CONV_ENUM(Gtk,PrintCapabilities)
128
129 _CONVERSION(`GtkIconSize',`IconSize',`IconSize(static_cast<int>($3))')
130 _CONVERSION(`GtkIconSize',`Gtk::IconSize',`Gtk::IconSize(static_cast<int>($3))')
131 _CONVERSION(`IconSize',`GtkIconSize',`static_cast<GtkIconSize>(int($3))')
132 _CONVERSION(`Gtk::IconSize',`GtkIconSize',`static_cast<GtkIconSize>(int($3))')
133 include(convert_atk.m4)
134 include(convert_pango.m4)
135 include(convert_gdk.m4)
136
137 _CONVERSION(`guint',`WindowType',`static_cast<WindowType>($3)')
138 _CONVERSION(`PolicyType&',`GtkPolicyType*',`(($2) &($3))')
139 _CONVERSION(`SortType&',`GtkSortType*',`(($2) &($3))')
140 _CONVERSION(`SortType*',`GtkSortType*',`(($2) ($3))')
141 _CONVERSION(`GtkSortType*',`SortType*',`(($2) ($3))')
142 _CONVERSION(`guint8',`Gtk::StateType',`static_cast<StateType>($3)')
143
144
145
146 # StockID:
147 _CONVERSION(`const StockID&',`const char*',`($3).get_c_str()')
148 _CONVERSION(`const Gtk::StockID&',`const char*',`($3).get_c_str()')
149 _CONVERSION(`char*',`StockID',`StockID($3)') # the StockID ctor handles 0
150 _CONVERSION(`const char*',`StockID',`StockID($3)') # the StockID ctor handles 0
151
152
153 #
154 # Ptr (gtk+) -> Ptr (gtkmm)
155 define(`__FP2P',`($`'2)Glib::unwrap($`'3)')
156 define(`__RP2P',`Glib::wrap($`'3)')
157 define(`__RP2PD',`Glib::wrap((tran`'slit($`'2,:,))($`'3))')
158 define(`__RP2CPD',`Glib::wrap((tran`'slit(pat`'subst($`'2,^const ,),:,))($`'3))')
159
160 _CONVERSION(`GtkAdjustment*',`Gtk::Adjustment*',__RP2P)
161 _CONVERSION(`GtkAdjustment*',`Adjustment*',__RP2P)
162 _CONVERSION(`GtkWidget*',`Gtk::Widget*',__RP2P)
163 _CONVERSION(`GtkWidget*',`Widget*',__RP2P)
164 _CONVERSION(`GtkWindow*',`Window*',__RP2P)
165 _CONVERSION(`GtkMenu*',`Menu*',__RP2P)
166 _CONVERSION(`GtkToolItem*',`ToolItem*',__RP2P)
167
168 # Ptr (gtk+) -> const Ptr (gtkmm)
169 _CONVERSION(`GtkAdjustment*',`const Gtk::Adjustment*',__RP2P)
170 _CONVERSION(`GtkAdjustment*',`const Adjustment*',__RP2P)
171 _CONVERSION(`GtkWidget*',`const Gtk::Widget*',__RP2P)
172 _CONVERSION(`GtkWidget*',`const Widget*',__RP2P)
173 _CONVERSION(`GtkWindow*',`const Window*',__RP2P)
174 _CONVERSION(`GtkToolItem*',`const ToolItem*',__RP2P)
175
176 # Style:
177 _CONVERSION(`GtkStyle*',`Glib::RefPtr<Style>',`Glib::wrap($3)')
178 _CONVERSION(`GtkStyle*',`Glib::RefPtr<const Style>',`Glib::wrap($3)')
179 _CONVERSION(`const Glib::RefPtr<Style>&',`GtkStyle*',__CONVERT_REFPTR_TO_P)
180 _CONVERSION(`Glib::RefPtr<Style>',`GtkStyle*',__CONVERT_REFPTR_TO_P)
181 _CONVERSION(`GtkRcStyle*',`Glib::RefPtr<RcStyle>',`Glib::wrap($3)')
182 _CONVERSION(`GtkRcStyle*',`Glib::RefPtr<const RcStyle>',`Glib::wrap($3)')
183 _CONVERSION(`const Glib::RefPtr<RcStyle>&',`GtkRcStyle*',__CONVERT_REFPTR_TO_P)
184 _CONVERSION(`Glib::RefPtr<RcStyle>',`GtkRcStyle*',__CONVERT_REFPTR_TO_P)
185
186 # AccelGroup:
187 _CONVERSION(`GtkAccelGroup*',`Glib::RefPtr<AccelGroup>',`Glib::wrap($3)')
188 _CONVERSION(`GtkAccelGroup*',`Glib::RefPtr<const AccelGroup>',`Glib::wrap($3)')
189 _CONVERSION(`const Glib::RefPtr<AccelGroup>&',`GtkAccelGroup*',__CONVERT_REFPTR_TO_P)
190 _CONVERSION(`Gtk::Object&',`GObject*', `($3).Glib::Object::gobj()')
191
192 #
193 # Ptr (Gtkmm) -> Ptr (gtk+)
194 _CONVERSION(`Gtk::Adjustment*',`GtkAdjustment*',__FP2P)
195 _CONVERSION(`Adjustment*',`GtkAdjustment*',__FP2P)
196 _CONVERSION(`Gtk::Widget*',`GtkWidget*',__FP2P)
197 _CONVERSION(`Widget*',`GtkWidget*',__FP2P)
198 _CONVERSION(`Menu*',`GtkMenu*',__FP2P)
199
200 #
201 # Ptr (gtk+) -> Ptr (gtkmm) (downcast)
202 _CONVERSION(`GtkWidget*',`Button*',`Glib::wrap((GtkButton*)($3))')
203 _CONVERSION(`GtkWidget*',`Box*',`Glib::wrap((GtkBox*)($3))')
204 _CONVERSION(`GtkWidget*',`HBox*',`Glib::wrap((GtkHBox*)($3))')
205 _CONVERSION(`GtkWidget*',`VBox*',`Glib::wrap((GtkVBox*)($3))')
206 _CONVERSION(`GtkWidget*',`ColorSelection*',`Glib::wrap((GtkColorSelection*)($3))')
207 _CONVERSION(`GtkWidget*',`Gtk::CheckButton*',__RP2PD)
208 _CONVERSION(`GtkWidget*',`Container*',`Glib::wrap((GtkContainer*)($3))')
209 _CONVERSION(`GtkWidget*',`const Container*',`Glib::wrap((GtkContainer*)($3))')
210 _CONVERSION(`GtkWidget*',`Entry*',`Glib::wrap((GtkEntry*)($3))')
211 _CONVERSION(`GtkWidget*',`FontSelection*',`Glib::wrap((GtkFontSelection*)($3))')
212 _CONVERSION(`GtkWidget*',`Label*',`Glib::wrap((GtkLabel*)($3))')
213 _CONVERSION(`GtkWidget*',`Menu*',`Glib::wrap((GtkMenu*)($3))')
214 _CONVERSION(`GtkWidget*',`MenuItem*',`Glib::wrap((GtkMenuItem*)($3))')
215 _CONVERSION(`GtkWidget*',`OptionMenu*',`Glib::wrap((GtkOptionMenu*)($3))')
216 _CONVERSION(`GtkWidget*',`RadioButton*',`Glib::wrap((GtkRadioButton*)($3))')
217 _CONVERSION(`GtkWidget*',`Gtk::Scrollbar*',__RP2PD)
218 _CONVERSION(`GtkWidget*',`Gtk::HScrollbar*',__RP2PD)
219 _CONVERSION(`GtkWidget*',`Gtk::VScrollbar*',__RP2PD)
220 _CONVERSION(`GtkWidget*',`Table*',`Glib::wrap((GtkTable*)($3))')
221 _CONVERSION(`GtkWidget*',`Gtk::Tree*',__RP2PD)
222 _CONVERSION(`GtkWidget*',`ScrolledWindow*',`Glib::wrap((GtkScrolledWindow*)($3))')
223 _CONVERSION(`GtkWidget*',`Window*',`Glib::wrap((GtkWindow*)($3))')
224 _CONVERSION(`GtkWidget*',`TreeView*',`Glib::wrap((GtkTreeView*)($3))')
225 _CONVERSION(`GtkWidget*',`HButtonBox*',`Glib::wrap((GtkHButtonBox*)($3))')
226 _CONVERSION(`GtkWidget*',`ComboDropDown*',`Glib::wrap((GtkList*)($3))')
227 _CONVERSION(`GtkWidget*',`Image*',`Glib::wrap((GtkImage*)($3))')
228 _CONVERSION(`GtkWidget*',`ToolItem*',`Glib::wrap((GtkToolItem*)($3))')
229 _CONVERSION(`GtkWidget*',`FileChooserDialog*',`Glib::wrap((GtkFileChooserDialog*)($3))')
230
231 # Ptr (gtk+) -> const Ptr (gtkmm) (downcast)
232 _CONVERSION(`GtkWidget*',`const Button*',`Glib::wrap((GtkButton*)($3))')
233 _CONVERSION(`GtkWidget*',`const Box*',`Glib::wrap((GtkBox*)($3))')
234 _CONVERSION(`GtkWidget*',`const HBox*',`Glib::wrap((GtkHBox*)($3))')
235 _CONVERSION(`GtkWidget*',`const VBox*',`Glib::wrap((GtkVBox*)($3))')
236 _CONVERSION(`GtkWidget*',`const ColorSelection*',`Glib::wrap((GtkColorSelection*)($3))')
237 _CONVERSION(`GtkWidget*',`const Gtk::CheckButton*',__RP2CPD)
238 _CONVERSION(`GtkWidget*',`const Entry*',`Glib::wrap((GtkEntry*)($3))')
239 _CONVERSION(`GtkWidget*',`const FontSelection*',`Glib::wrap((GtkFontSelection*)($3))')
240 _CONVERSION(`GtkWidget*',`const Label*',`Glib::wrap((GtkLabel*)($3))')
241 _CONVERSION(`GtkWidget*',`const Menu*',`Glib::wrap((GtkMenu*)($3))')
242 _CONVERSION(`GtkWidget*',`const MenuItem*',`Glib::wrap((GtkMenuItem*)($3))')
243 _CONVERSION(`GtkWidget*',`const OptionMenu*',`Glib::wrap((GtkOptionMenu*)($3))')
244 _CONVERSION(`GtkWidget*',`const RadioButton*',`Glib::wrap((GtkRadioButton*)($3))')
245 _CONVERSION(`GtkWidget*',`const Gtk::Scrollbar*',__RP2CPD)
246 _CONVERSION(`GtkWidget*',`const Gtk::HScrollbar*',__RP2CPD)
247 _CONVERSION(`GtkWidget*',`const Gtk::VScrollbar*',__RP2CPD)
248 _CONVERSION(`GtkWidget*',`const Table*',`Glib::wrap((GtkTable*)($3))')
249 _CONVERSION(`GtkWidget*',`const Gtk::Tree*',__RP2CPD)
250 _CONVERSION(`GtkWidget*',`const ScrolledWindow*',`Glib::wrap((GtkScrolledWindow*)($3))')
251 _CONVERSION(`GtkWidget*',`const Window*',`Glib::wrap((GtkWindow*)($3))')
252 _CONVERSION(`GtkWidget*',`const TreeView*',`Glib::wrap((GtkTreeView*)($3))')
253 _CONVERSION(`GtkWidget*',`const HButtonBox*',`Glib::wrap((GtkHButtonBox*)($3))')
254 _CONVERSION(`GtkWidget*',`const ComboDropDown*',`Glib::wrap((GtkList*)($3))')
255 _CONVERSION(`GtkWidget*',`const FileChooserDialog*',`Glib::wrap((GtkFileChooserDialog*)($3))')
256
257 # Ptr (gtk+) -> Ref (Gtkmm)
258 _CONVERSION(`GtkWidget*', `Widget&', `*Glib::wrap($3)')
259
260 # Ref (Gtkmm) -> GtkWidget* Ptr (gtk+)
261 define(`__FR2PD',`($`'3).Gtk::Widget::gobj()')
262 _CONVERSION(`MenuShell&',`GtkWidget*',__FR2PD)
263 _CONVERSION(`MenuItem&',`GtkWidget*',__FR2PD)
264 _CONVERSION(`Menu&',`GtkWidget*',__FR2PD)
265 _CONVERSION(`Gtk::TreeItem&',`GtkWidget*',__FR2PD)
266 _CONVERSION(`FileChooserDialog&',`GtkWidget*',__FR2PD)
267
268 # Ref (Gtkmm) -> Ptr (gtk+)
269 define(`__FR2P',`($`'3).gobj()')
270 define(`__FCR2P',`const_cast<$`'2>(($`'3).gobj())')
271 _CONVERSION(`Gtk::Adjustment&',`GtkAdjustment*',__FR2P)
272 _CONVERSION(`Adjustment&',`GtkAdjustment*',__FR2P)
273 _CONVERSION(`Gtk::Style&',`GtkStyle*',__FR2P)
274 _CONVERSION(`Gtk::Widget&',`GtkWidget*',__FR2P)
275 _CONVERSION(`Widget&',`GtkWidget*',__FR2P)
276 _CONVERSION(`Window&',`GtkWindow*',__FR2P)
277 _CONVERSION(`CellRenderer&',`GtkCellRenderer*',__FR2P)
278 _CONVERSION(`const CellRenderer&',`GtkCellRenderer*',__FCR2P)
279 _CONVERSION(`ToolItem&',`GtkToolItem*',__FR2P)
280 _CONVERSION(`const ToolItem&',`GtkToolItem*',__FCR2P)
281
282 # Glib::ListHandle<> (gtkmm) -> GList (gtk+)
283 _CONVERSION(`const Glib::ListHandle<Glib::ustring>&',`GList*',`$3.data()')
284 _CONVERSION(`const Glib::ListHandle<Widget*>&',`GList*',`$3.data()')
285 _CONVERSION(`const Glib::ListHandle<const Widget*>&',`GList*',`$3.data()')
286 _CONVERSION(`const Glib::ListHandle<Window*>&',`GList*',`$3.data()')
287 _CONVERSION(`const Glib::ListHandle<const Window*>&',`GList*',`$3.data()')
288 _CONVERSION(`const Glib::SListHandle< Glib::RefPtr<RadioAction> >&',`GSList*',`$3.data()')
289 _CONVERSION(`const Glib::SListHandle< Glib::RefPtr<const RadioAction> >&',`GSList*',`$3.data()')
290
291 # GList (gtk+) -> Glib::ListHandle<> (gtkmm)
292 define(`__FL2H_DEEP',`$`'2($`'3, Glib::OWNERSHIP_DEEP)')
293 define(`__FL2H_SHALLOW',`$`'2($`'3, Glib::OWNERSHIP_SHALLOW)')
294 define(`__FL2H_NONE',`$`'2($`'3, Glib::OWNERSHIP_NONE)')
295
296 _CONVERSION(`GList*',`Glib::ListHandle<Widget*>',__FL2H_SHALLOW)
297 _CONVERSION(`GList*',`Glib::ListHandle<const Widget*>',__FL2H_SHALLOW)
298 _CONVERSION(`GSList*',`Glib::SListHandle<Widget*>',__FL2H_SHALLOW)
299 _CONVERSION(`GSList*',`Glib::SListHandle<const Widget*>',__FL2H_SHALLOW)
300 _CONVERSION(`GList*',`Glib::ListHandle<Window*>',__FL2H_SHALLOW)
301 _CONVERSION(`GList*',`Glib::ListHandle<TreeViewColumn*>',__FL2H_SHALLOW)
302 _CONVERSION(`GList*',`Glib::ListHandle<const TreeViewColumn*>',__FL2H_SHALLOW)
303 _CONVERSION(`GList*',`Glib::ListHandle<CellRenderer*>',__FL2H_SHALLOW)
304 _CONVERSION(`GList*',`Glib::ListHandle<const CellRenderer*>',__FL2H_SHALLOW)
305 _CONVERSION(`GList*',`Glib::ListHandle<TreeModel::Row>',__FL2H_SHALLOW)
306 _CONVERSION(`GList*',`Glib::ListHandle<const TreeModel::Row>',__FL2H_SHALLOW)
307 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<Action> >',__FL2H_SHALLOW)
308 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const Action> >',__FL2H_SHALLOW)
309 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<ActionGroup> >',__FL2H_SHALLOW)
310 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<const ActionGroup> >',__FL2H_SHALLOW)
311 _CONVERSION(`GList*',`Glib::ListHandle< Glib::RefPtr<RecentInfo> >',__FL2H_SHALLOW)
312 _CONVERSION(`GList*',`Glib::ListHandle<RecentInfo>',__FL2H_SHALLOW)
313 _CONVERSION(`GList*',`Glib::ListHandle<const RecentInfo>', __FL2H_SHALLOW)
314 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<Tag> >',__FL2H_SHALLOW)
315 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const Tag> >',__FL2H_SHALLOW)
316 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextTag> >',__FL2H_SHALLOW)
317 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextTag> >',__FL2H_SHALLOW)
318 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextMark> >',__FL2H_SHALLOW)
319 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextMark> >',__FL2H_SHALLOW)
320 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<TextBuffer::Mark> >',__FL2H_SHALLOW)
321 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const TextBuffer::Mark> >',__FL2H_SHALLOW)
322 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<RadioAction> >',__FL2H_SHALLOW)
323 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const RadioAction> >',__FL2H_SHALLOW)
324
325 _CONVERSION(`GSList*',`Glib::SListHandle< FileFilter* >',__FL2H_SHALLOW)
326 _CONVERSION(`GSList*',`Glib::SListHandle< const FileFilter* >',__FL2H_SHALLOW)
327 _CONVERSION(`GSList*',`Glib::SListHandle<Glib::ustring>',__FL2H_DEEP)
328 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<PixbufFormat> >',__FL2H_SHALLOW)
329 _CONVERSION(`GSList*',`Glib::SListHandle< Glib::RefPtr<const PixbufFormat> >',__FL2H_SHALLOW)
330 _CONVERSION(`GSList*',`SListHandle_PixbufFormat',__FL2H_DEEP)
331 _CONVERSION(`GSList*',`Glib::SListHandle<RecentFilter*>',__FL2H_SHALLOW)
332 _CONVERSION(`GSList*',`Glib::SListHandle<const RecentFilter*>', __FL2H_SHALLOW)
333
334 _CONVERSION(`const Widget&',`GtkWidget*',__FCR2P)
335
336 _CONVERSION(`int&',`int*',`&$3',`*$3')
337
338 dnl
339 dnl # TODO: These are for fixmegtkconst
340 _CONVERSION(`gdouble*',`const gdouble*',`const_cast<const gdouble*>($3)',`$3')
341 _CONVERSION(`const double*',`gdouble*',`const_cast<gdouble*>($3)',`$3')
342 _CONVERSION(`const guchar*',`guchar*',`const_cast<guchar*>($3)',`$3')
343
344 #_CONVERSION(`GSList*',`const Group&',`Group($3)')
345 _CONVERSION(`GSList*',`Group',`Group($3)')
346 _CONVERSION(`Group&',`GSList*',`$3.group_')
347 _CONVERSION(`Group',`GSList*',`$3.group_')
348
349 _CONVERSION(`Gtk::Item&',`GtkItem*',__FR2P)
350 _CONVERSION(Gtk::Notebook_Helpers::Page*,GtkNotebookPage*,`($1)((void*)($3))',`($2)((void*)($3))')
351
352 _CONVERSION(`GtkSettings*',`Glib::RefPtr<Settings>', Glib::wrap($3))
353
354 _CONVERSION(`IconSet&',`GtkIconSet*',__FR2P)
355 _CONVERSION(`const IconSet&',`GtkIconSet*',`const_cast<GtkIconSet*>(($3).gobj())')
356 _CONVERSION(`GtkIconSet*',`IconSet',`Glib::wrap($3)')
357 _CONVERSION(`IconSource&',`GtkIconSource*',__FR2P)
358 _CONVERSION(`const IconSource&',`const GtkIconSource*',__FR2P)
359 _CONVERSION(`const GtkIconSource*',`const IconSource&',`Glib::wrap(const_cast<GtkIconSource*>($3), true)')
360
361 _CONVERSION(`GtkIconTheme*',`Glib::RefPtr<IconTheme>',`Glib::wrap($3)')
362 _CONVERSION(`GList*',`Glib::ListHandle<Glib::ustring>',__FL2H_SHALLOW)
363
364 _CONVERSION(`GtkWindowGroup*',`Glib::RefPtr<WindowGroup>',`Glib::wrap($3)')
365 _CONVERSION(`GtkWindowGroup*',`Glib::RefPtr<const WindowGroup>',`Glib::wrap($3)')
366
367 # gpointer conversions:
368 # There's doesn't seem to be a way to tell g_signal_new that it's a pointer to a gint, for instance:
369 #_CONVERSION(`int*',`gpointer',`($1)$3')
370 #_CONVERSION(`gpointer',`int*',`($1)$3')
371
372
373 # Text:
374 _CONVERSION(`GtkTextTagTable*',`Glib::RefPtr<TextTagTable>',`Glib::wrap($3)')
375 _CONVERSION(`GtkTextTagTable*',`Glib::RefPtr<TagTable>',`Glib::wrap($3)')
376 _CONVERSION(`GtkTextTagTable*',`Glib::RefPtr<TextBuffer::TagTable>',`Glib::wrap($3)')
377 _CONVERSION(`GtkTextTagTable*',`Glib::RefPtr<const TextBuffer::TagTable>',`Glib::wrap($3)')
378 _CONVERSION(`GtkTextMark*',`Glib::RefPtr<Mark>',`Glib::wrap($3)')
379 _CONVERSION(`GtkTextMark*',`Glib::RefPtr<TextBuffer::Mark>',`Glib::wrap($3)')
380 _CONVERSION(`GtkTextMark*',`Glib::RefPtr<const TextBuffer::Mark>',`Glib::wrap($3)')
381 _CONVERSION(`const Glib::RefPtr<Mark>&',`GtkTextMark*',__CONVERT_REFPTR_TO_P)
382 _CONVERSION(`const Glib::RefPtr<TextBuffer::Mark>&',`GtkTextMark*',__CONVERT_REFPTR_TO_P)
383 _CONVERSION(`GtkTextTag*',`Glib::RefPtr<TextTag>',`Glib::wrap($3)')
384 _CONVERSION(`GtkTextTag*',`Glib::RefPtr<const TextTag>',`Glib::wrap($3)')
385 _CONVERSION(`const Glib::RefPtr<TextTag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
386 _CONVERSION(`const Glib::RefPtr<const TextTag>&',`GtkTextTag*',__CONVERT_CONST_REFPTR_TO_P_SUN(TextTag))
387 _CONVERSION(`const Glib::RefPtr<Tag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
388 _CONVERSION(`const Glib::RefPtr<TextBuffer::Tag>&',`GtkTextTag*',__CONVERT_REFPTR_TO_P)
389 _CONVERSION(`GtkTextBuffer*',`Glib::RefPtr<TextBuffer>',`Glib::wrap($3)')
390 _CONVERSION(`GtkTextBuffer*',`Glib::RefPtr<const TextBuffer>',`Glib::wrap($3)')
391 _CONVERSION(`TextIter&',`GtkTextIter*',__FR2P)
392 _CONVERSION(`TextBuffer::iterator&',`GtkTextIter*',__FR2P)
393 _CONVERSION(`iterator&',`GtkTextIter*',__FR2P)
394 _CONVERSION(`const TextIter&',`const GtkTextIter*',__FR2P)
395 _CONVERSION(`const TextBuffer::iterator&',`const GtkTextIter*',__FR2P)
396 _CONVERSION(`const iterator&',`const GtkTextIter*',__FR2P)
397 _CONVERSION(`TextAttributes&',`GtkTextAttributes*',__FR2P)
398 _CONVERSION(`GtkTextAttributes*',`TextAttributes',TextAttributes($3))
399 _CONVERSION(`const Glib::RefPtr<TextTagTable>&',`GtkTextTagTable*',__CONVERT_REFPTR_TO_P)
400 _CONVERSION(`const Glib::RefPtr<TextBuffer>&',`GtkTextBuffer*',__CONVERT_REFPTR_TO_P)
401 _CONVERSION(`const Glib::RefPtr<TextChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
402 _CONVERSION(`const Glib::RefPtr<ChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
403 _CONVERSION(`const Glib::RefPtr<TextBuffer::ChildAnchor>&',`GtkTextChildAnchor*',__CONVERT_REFPTR_TO_P)
404 _CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<ChildAnchor>',`Glib::wrap($3)')
405 _CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<TextChildAnchor>',`Glib::wrap($3)')
406 _CONVERSION(`GtkTextChildAnchor*',`Glib::RefPtr<const TextChildAnchor>',`Glib::wrap($3)')
407
408 # Tree:
409 #_CONVERSION(`const TreeIter&',`const GtkTreeIter*',__FR2P)
410 _CONVERSION(`const iterator&',`const GtkTreeIter*',__FR2P)
411 #_CONVERSION(`const TreeIter&',`GtkTreeIter*',__FCR2P)
412 _CONVERSION(`const iterator&',`GtkTreeIter*',__FCR2P)
413 _CONVERSION(`const TreeModel::Row&',`GtkTreeIter*',__FCR2P)
414 _CONVERSION(`iterator&',`GtkTreeIter*',__FR2P)
415 _CONVERSION(`const TreeModel::iterator&',`GtkTreeIter*',__FCR2P)
416 _CONVERSION(`const iterator&',`GtkTreeIter*',__FCR2P)
417 _CONVERSION(`TreeViewColumn&',`GtkTreeViewColumn*',__FR2P)
418 _CONVERSION(`GtkTreeViewColumn*',`TreeViewColumn*',`Glib::wrap($3)')
419 _CONVERSION(`GtkTreeViewColumn*',`const TreeViewColumn*',`Glib::wrap($3)')
420 _CONVERSION(`TreePath&',`GtkTreePath*',__FR2P)
421 _CONVERSION(`const TreePath&',`const GtkTreePath*',__FR2P)
422 _CONVERSION(`const TreePath&',`GtkTreePath*',__FCR2P)
423 _CONVERSION(`const Path&',`GtkTreePath*',__FCR2P)
424 _CONVERSION(`const TreeModel::Path&',`GtkTreePath*',__FCR2P)
425 _CONVERSION(`GtkTreeView*',`TreeView*',`Glib::wrap($3)')
426 _CONVERSION(`GtkTreeView*',`const TreeView*',`Glib::wrap($3)')
427 _CONVERSION(`GtkTreeModel*',`Glib::RefPtr<TreeModel>',`Glib::wrap($3)')
428 _CONVERSION(`GtkTreeModel*',`Glib::RefPtr<const TreeModel>',`Glib::wrap($3)')
429 _CONVERSION(`const Glib::RefPtr<TreeModel>&',`GtkTreeModel*',__CONVERT_REFPTR_TO_P)
430 _CONVERSION(`GtkTreeSelection*',`Glib::RefPtr<TreeSelection>',`Glib::wrap($3)')
431 _CONVERSION(`GtkTreeSelection*',`Glib::RefPtr<const TreeSelection>',`Glib::wrap($3)')
432 _CONVERSION(`const TreeModelColumnBase&',`int',`($3).index`'()')
433 _CONVERSION(`GtkTreePath*',`TreePath', `Gtk::TreePath($3, false)')
434 _CONVERSION(`GtkTreePath*',`Path', `Gtk::TreePath($3, false)')
435 _CONVERSION(`GtkTreePath*',`TreeModel::Path', `Gtk::TreePath($3, false)')
436 _CONVERSION(`GtkIconSet*&',`GtkIconSet**',`&($3)')
437 _CONVERSION(`GtkIconSize&',`GtkIconSize*',`&($3)')
438 _CONVERSION(`GtkCellEditable*',`CellEditable*',`dynamic_cast<$2>(Glib::wrap_auto((GObject*)($3), false))')
439 _CONVERSION(`CellEditable*',`GtkCellEditable*',`Glib::unwrap($3)')
440
441
442 #_CONVERSION(`Clipboard&',`GtkClipboard*',`($3).gobj()')
443 _CONVERSION(`GtkClipboard*',`Glib::RefPtr<Clipboard>',`Glib::wrap($3)')
444 _CONVERSION(`GtkClipboard*',`Glib::RefPtr<const Clipboard>',`Glib::wrap($3)')
445 _CONVERSION(`const Glib::RefPtr<Clipboard>&',`GtkClipboard*',__CONVERT_REFPTR_TO_P($3))
446 #_CONVERSION(`GtkClipboard*',`Gtk::Clipboard&',`Glib::wrap($3, true)')
447
448 _CONVERSION(`SelectionData',`GtkSelectionData*', `($3).gobj()')
449 _CONVERSION(`const SelectionData&',`GtkSelectionData*', __FCR2P)
450 _CONVERSION(`SelectionData&',`GtkSelectionData*', __FR2P)
451 #_CONVERSION(`GtkSelectionData*',`SelectionData', `Gtk::SelectionData(($3), true)')
452
453 _CONVERSION(`GtkAction*',`Glib::RefPtr<Action>',`Glib::wrap($3)')
454 _CONVERSION(`GtkAction*',`Glib::RefPtr<const Action>',`Glib::wrap($3)')
455 _CONVERSION(`const Glib::RefPtr<Action>&',`GtkAction*',__CONVERT_REFPTR_TO_P($3))
456 _CONVERSION(`const Glib::RefPtr<RadioAction>&',`GtkRadioAction*',__CONVERT_REFPTR_TO_P($3))
457
458 _CONVERSION(`GtkActionGroup*',`Glib::RefPtr<ActionGroup>',`Glib::wrap($3)')
459 #_CONVERSION(`GtkActionGroup*',`Glib::RefPtr<const ActionGroup>',`Glib::wrap($3)')
460 _CONVERSION(`const Glib::RefPtr<ActionGroup>&',`GtkActionGroup*',__CONVERT_REFPTR_TO_P($3))
461
462 _CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<EntryCompletion>',`Glib::wrap($3)')
463 _CONVERSION(`GtkEntryCompletion*',`Glib::RefPtr<const EntryCompletion>',`Glib::wrap($3)')
464 _CONVERSION(`const Glib::RefPtr<EntryCompletion>&',`GtkEntryCompletion*',__CONVERT_REFPTR_TO_P($3))
465
466 _CONVERSION(`GtkFileFilter*',`FileFilter*',`Glib::wrap($3)')
467 _CONVERSION(`GtkFileFilter*',`const FileFilter*',`Glib::wrap($3)')
468 _CONVERSION(`const FileFilter&',`GtkFileFilter*',__FCR2P)
469
470 _CONVERSION(`GdkPixbufFormat*',`PixbufFormat',`PixbufFormat($3)')
471
472 _CONVERSION(const Gtk::Widget&,GtkWidget*,__CFR2P)
473
474 #_CONVERSION(`GtkTooltips*',`Tooltips&', `Glib::wrap($3)')
475 _CONVERSION(`GtkTooltips*',`Tooltips*', `Glib::wrap($3)')
476 _CONVERSION(`Tooltips*',`GtkTooltips*',`Glib::unwrap($3)')
477 _CONVERSION(`Tooltips&',`GtkTooltips*',__FR2P)
478
479 _CONVERSION(`const Glib::RefPtr<Tooltip>&',`GtkTooltip*',__CONVERT_REFPTR_TO_P)
480
481 _CONVERSION(`Allocation&',`GtkAllocation*',`($2)($3.gobj())')
482 #_CONVERSION(`GtkAllocation*',`Allocation&',`($2)(Glib::wrap($3))')
483
484 #TargetList
485 _CONVERSION(`const Glib::RefPtr<TargetList>&',`GtkTargetList*',__CONVERT_CONST_REFPTR_TO_P)
486 _CONVERSION(`Glib::RefPtr<TargetList>&',`GtkTargetList*',__CONVERT_REFPTR_TO_P($3))
487 _CONVERSION(`GtkTargetList*',`Glib::RefPtr<TargetList>',`Glib::wrap($3)')
488 _CONVERSION(`GtkTargetList*',`Glib::RefPtr<const TargetList>',`Glib::wrap($3)')
489
490 #IconInfo
491 _CONVERSION(`GtkIconInfo*',`IconInfo',`Glib::wrap($3)')
492
493 _CONVERSION(`Requisition&', `GtkRequisition*', `($2)(&$3)')
494 _CONVERSION(`const Requisition&', `GtkRequisition*', `($2)(&$3)')
495 _CONVERSION(`GtkRequisition*', `Requisition&', `($2)(*$3)')
496 _CONVERSION(`GtkRequisition*', `Requisition*', `($2)($3)')
497 _CONVERSION(`Requisition*', `GtkRequisition*', `($2)($3)')
498 _CONVERSION(`GtkRequisition', `Requisition', `($2)($3)')
499
500 _CONVERSION(`Allocation&',`GtkAllocation*',`($2)($3.gobj())')
501 _CONVERSION(`const Allocation&',`GtkAllocation*',`($2)($3.gobj())')
502 _CONVERSION(`GtkAllocation',`Allocation',`($2)(Glib::wrap(&$3))')
503 _CONVERSION(`GtkAllocation*',`Allocation&',`($2)(Glib::wrap($3))')
504 _CONVERSION(`Allocation',`GtkAllocation',`($2)(*($3.gobj()))')
505
506 _CONVERSION(`GtkEntry*',`Entry*',__RP2P)
507 _CONVERSION(`GtkEntry*',`const Entry*',__RP2P)
508 _CONVERSION(`Entry&',`GtkEntry*',__FR2P)
509
510
511 _CONVERSION(`const Border&',`const GtkBorder*',`&($3)')
512 _CONVERSION(`const GtkBorder*',`Border',`*($3)')
513
514 #RecentFilter
515 _CONVERSION(`GtkRecentFilterFlags',`RecentFilterFlags',`($2)$3')
516 _CONVERSION(`const RecentFilter&', `GtkRecentFilter*', __FCR2P)
517 _CONVERSION(`GtkRecentFilter*',`RecentFilter*', `Glib::wrap($3)')
518 _CONVERSION(`GtkRecentFilter*',`const RecentFilter*', `Glib::wrap($3)')
519 _CONVERSION(`GtkRecentFilter*', `RecentFilter&', `*Glib::wrap($3)')
520 _CONVERSION(`GtkRecentFilter*', `const RecentFilter&', `*Glib::wrap($3)')
521
522 #RecentInfo
523 _CONVERSION(`GtkRecentInfo*',`Glib::RefPtr<RecentInfo>',`Glib::wrap($3)')
524 _CONVERSION(`GtkRecentInfo*',`Glib::RefPtr<const RecentInfo>',`Glib::wrap($3)')
525 _CONVERSION(`const Glib::RefPtr<RecentInfo>&',`GtkRecentInfo*',__CONVERT_REFPTR_TO_P)
526 _CONVERSION(`const Glib::RefPtr<const RecentInfo>&',`GtkRecentInfo*',__CONVERT_CONST_REFPTR_TO_P_SUN(Gtk::RecentInfo))
527
528 _CONVERSION(`Glib::StringArrayHandle&',`gchar**',`const_cast<gchar**>(($3).data())')
529 _CONVERSION(`gchar**',`Glib::StringArrayHandle',`Glib::StringArrayHandle($3)')
530
531 #RecentManager
532 _CONVERSION(`GtkRecentManager*',`Glib::RefPtr<RecentManager>',`Glib::wrap($3)')
533 _CONVERSION(`GtkRecentManager*',`Glib::RefPtr<const RecentManager>',`Glib::wrap($3)')
534 _CONVERSION(`const Glib::RefPtr<RecentManager>&',`GtkRecentManager*',__CONVERT_REFPTR_TO_P)
535 _CONVERSION(`Glib::RefPtr<RecentManager>',`GtkRecentManager*',__CONVERT_REFPTR_TO_P)
536 _CONVERSION(`Glib::RefPtr<const RecentManager>', `GtkRecentManager*', __CONVERT_CONST_REFPTR_TO_P_SUN(Gtk::RecentManager))
537
538 #PaperSize
539 _CONVERSION(`GtkPaperSize*',`PaperSize',`Glib::wrap($3, true)')
540 _CONVERSION(`GtkPaperSize*',`const PaperSize',`Glib::wrap($3, true)')
541 _CONVERSION(`const PaperSize&',`GtkPaperSize*',__FCR2P)
542
543 #PageSetup
544 _CONVERSION(`GtkPageOrientation',`PageOrientation',`($2)$3')
545
546 _CONVERSION(`PageSetup&',`GtkPageSetup*',__FR2P)
547 _CONVERSION(`const PageSetup&',`GtkPageSetup*',__FCR2P)
548 _CONVERSION(`GtkPageSetup*',`Glib::RefPtr<PageSetup>',`Glib::wrap($3)')
549 _CONVERSION(`GtkPageSetup*',`const Glib::RefPtr<PageSetup>',`Glib::wrap($3)')
550 _CONVERSION(`const Glib::RefPtr<PageSetup>',`GtkPageSetup*',__CONVERT_REFPTR_TO_P($3))
551 _CONVERSION(`const Glib::RefPtr<PageSetup>&',`GtkPageSetup*',__CONVERT_REFPTR_TO_P($3))
552
553 #PrintSettings
554 _CONVERSION(`GtkPrintDuplex',`PrintDuplex',`($2)$3')
555 _CONVERSION(`GtkPrintQuality',`PrintQuality',`($2)$3')
556 _CONVERSION(`GtkPrintPages',`PrintPages',`($2)$3')
557 _CONVERSION(`GtkPageSet',`PageSet',`($2)$3')
558
559 _CONVERSION(`PrintSettings&',`GtkPrintSettings*',__FR2P)
560 _CONVERSION(`const PrintSettings&',`GtkPrintSettings*',__FCR2P)
561 _CONVERSION(`GtkPrintSettings*',`Glib::RefPtr<PrintSettings>',`Glib::wrap($3)')
562 _CONVERSION(`const Glib::RefPtr<PrintSettings>&',`GtkPrintSettings*',__CONVERT_REFPTR_TO_P)
563
564 #PrintContext
565 _CONVERSION(`const Glib::RefPtr<PrintContext>',`GtkPrintContext*',__CONVERT_REFPTR_TO_P($3))
566 _CONVERSION(`const Glib::RefPtr<PrintContext>&',`GtkPrintContext*',__CONVERT_REFPTR_TO_P($3))
567
568 _CONVERSION(`GtkPrintOperationResult',`PrintOperationResult',`($2)$3')
569 _CONVERSION(`GtkPrintStatus',`PrintStatus',`($2)$3')
570
571 _CONVERSION(`const Cairo::RefPtr<Cairo::Context>&',`cairo_t*',`($3)->cobj()')
572 _CONVERSION(`const Cairo::FontOptions&',`const cairo_font_options_t*',`($3).cobj()')
573
574
575 #Printer
576 _CONVERSION(`GtkPrinter*',`Glib::RefPtr<Printer>',`Glib::wrap($3)')
577 _CONVERSION(`GtkPrinter*',`Glib::RefPtr<const Printer>',`Glib::wrap($3)')
578 #_CONVERSION(`Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))
579 _CONVERSION(`const Glib::RefPtr<Printer>&',`GtkPrinter*',__CONVERT_REFPTR_TO_P($3))
580
581 #PrintJob
582 _CONVERSION(`GtkPrintCapabilities',`PrintCapabilities',`($2)$3')
583
584 #Tooltip
585 _CONVERSION(`GtkTooltip*',`const Glib::RefPtr<Tooltip>&',`Glib::wrap($3, true)')
586 _CONVERSION(`const Glib::RefPtr<Tooltip>&',`GtkTooltip*',__CONVERT_REFPTR_TO_P($3))
587
588
589 # Used by Signals:
590 # The true here means "take reference", because the code that emits the signal does not do a ref for the receiving signal handler.
591 # For the return values of methods, we use the optional refreturn parameter instead.
592 _CONVERSION(`GtkTextIter*',`const TextIter&',Glib::wrap($3))
593 _CONVERSION(`GtkTextIter*',`const TextBuffer::iterator&',Glib::wrap($3))
594 _CONVERSION(`const GtkTextIter*',`const TextIter&',Glib::wrap($3))
595 _CONVERSION(`const GtkTextIter*',`const TextBuffer::iterator&',Glib::wrap($3))
596 _CONVERSION(`const TextIter&',`GtkTextIter*',__FCR2P)
597 _CONVERSION(`const TextBuffer::iterator&',`GtkTextIter*',__FCR2P)
598 _CONVERSION(`GtkTextChildAnchor*',`const Glib::RefPtr<ChildAnchor>&',`Glib::wrap($3, true)')
599 _CONVERSION(`GtkTextMark*',`const Glib::RefPtr<Mark>&',`Glib::wrap($3, true)')
600 _CONVERSION(`GtkTextMark*',`const Glib::RefPtr<TextBuffer::Mark>&',`Glib::wrap($3, true)')
601 _CONVERSION(`GtkTextTag*',`const Glib::RefPtr<TextTag>&',`Glib::wrap($3, true)')
602 _CONVERSION(`GtkTextTag*',`const Glib::RefPtr<TextBuffer::Tag>&',`Glib::wrap($3, true)')
603 _CONVERSION(`GObject*',`const Glib::RefPtr<Glib::Object>&',`Glib::wrap($3, true)')
604 _CONVERSION(`GtkTreePath*',`const TreeModel::Path&',`Gtk::TreePath($3, true)')
605 _CONVERSION(`GtkTreePath*',`const Path&',`Gtk::TreePath($3, true)')
606 _CONVERSION(`TreeViewColumn*',`GtkTreeViewColumn*',__FP2P)
607
608 _CONVERSION(`GtkSelectionData*',`const SelectionData&', `SelectionData_WithoutOwnership($3)')
609 _CONVERSION(`GtkSelectionData*',`SelectionData&', `SelectionData_WithoutOwnership($3)')
610 _CONVERSION(`GtkTreeModel*',`const Glib::RefPtr<const TreeModel>&',`Glib::wrap($3, true)')
611 _CONVERSION(`const Glib::RefPtr<const TreeModel>&',`GtkTreeModel*',__CONVERT_CONST_REFPTR_TO_P)
612 #_CONVERSION(`GtkTreeIter*',`const TreeModel::iterator&',Glib::wrap($3, true))
613 _CONVERSION(`GdkScreen*',`const Glib::RefPtr<Gdk::Screen>&',`Glib::wrap($3, true)')
614 _CONVERSION(`CellRenderer*',`GtkCellRenderer*',__FP2P)
615 _CONVERSION(`GtkCellRenderer*',`CellRenderer*',__RP2P)
616 _CONVERSION(`GtkAction*',`const Glib::RefPtr<Action>&',`Glib::wrap($3, true)')
617
618 _CONVERSION(`AlignmentEnum',`float',`_gtkmm_align_float_from_enum($3)')
619
620 # Used by AboutDialog:
621 #_CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`($3).data())')
622 _CONVERSION(`const Glib::StringArrayHandle&',`const gchar**',`const_cast<const gchar**>(($3).data())')