����JFIFXX�����    $.' ",#(7),01444'9=82<.342  2!!22222222222222222222222222222222222222222222222222����"��4�� ���,�PG"Z_�4�˷����kjز�Z�,F+��_z�,�© �����zh6�٨�ic�fu���#ډb���_�N�?��wQ���5-�~�I���8����TK<5o�Iv-�����k�_U_�����~b�M��d����Ӝ�U�Hh��?]��E�w��Q���k�{��_}qFW7HTՑ��Y��F�?_�'ϔ��_�Ջt��=||I ��6�έ"�����D���/[�k�9���Y�8ds|\���Ҿp6�Ҵ���]��.����6�z<�v��@]�i%��$j��~�g��J>��no����pM[me�i$[����s�o�ᘨ�˸ nɜG-�ĨU�ycP�3.DB�li�;��hj���x7Z^�N�h������N3u{�:j�x�힞��#M&��jL P@_���� P��&��o8������9�����@Sz6�t7#O�ߋ �s}Yf�T���lmr����Z)'N��k�۞p����w\�Tȯ?�8`�O��i{wﭹW�[�r�� ��Q4F�׊���3m&L�=��h3����z~��#�\�l :�F,j@�� ʱ�wQT����8�"kJO���6�֚l����}���R�>ډK���]��y����&����p�}b��;N�1�m�r$�|��7�>e�@B�TM*-iH��g�D�)� E�m�|�ؘbҗ�a��Ҿ����t4���o���G��*oCN�rP���Q��@z,|?W[0�����:�n,jWiE��W��$~/�hp\��?��{(�0���+�Y8rΟ�+����>S-S����VN;�}�s?.����� w�9��˟<���Mq4�Wv'��{)0�1mB��V����W[�����8�/<� �%���wT^�5���b��)iM� pg�N�&ݝ��VO~�q���u���9� ����!��J27����$O-���! �:�%H��� ـ����y�ΠM=t{!S�� oK8������t<����è:a������[�����ա�H���~��w��Qz`�po�^ ����Q��n� �,uu�C�$ ^���,������8�#��:�6��e�|~���!�3�3.�\0��q��o�4`.|� ����y�Q�`~;�d�ׯ,��O�Zw�������`73�v�܋�<���Ȏ�� ـ4k��5�K�a�u�=9Yd��$>x�A�&�� j0� ���vF��� Y�|�y��� ~�6�@c��1vOp�Ig����4��l�OD���L����� R���c���j�_�uX6��3?nk��Wy�f;^*B� ��@�~a�`��Eu������+���6�L��.ü>��}y���}_�O�6�͐�:�YrG�X��kG�����l^w���~㒶sy��Iu�!� W ��X��N�7BV��O��!X�2����wvG�R�f�T#�����t�/?���%8�^�W�aT��G�cL�M���I��(J����1~�8�?aT ���]����AS�E��(��*E}� 2��#I/�׍qz��^t�̔���b�Yz4x���t�){ OH��+(E��A&�N�������XT��o��"�XC��'���)}�J�z�p� ��~5�}�^����+�6����w��c��Q�|Lp�d�H��}�(�.|����k��c4^�"�����Z?ȕ ��a<�L�!039C� �Eu�C�F�Ew�ç ;�n?�*o���B�8�bʝ���'#Rqf���M}7����]����s2tcS{�\icTx;�\��7K���P���ʇ Z O-��~��c>"��?�������P��E��O�8��@�8��G��Q�g�a�Վ���󁶠�䧘��_%#r�>�1�z�a��eb��qcPѵ��n���#L��� =��׀t� L�7�`��V���A{�C:�g���e@�w1 Xp3�c3�ġ����p��M"'-�@n4���fG��B3�DJ�8[Jo�ߐ���gK)ƛ��$���� ���8�3�����+���� �����6�ʻ���� ���S�kI�*KZlT _`���?��K����QK�d����B`�s}�>���`��*�>��,*@J�d�oF*����弝��O}�k��s��]��y�ߘ��c1G�V���<=�7��7����6�q�PT��tXԀ�!9*4�4Tހ3XΛex�46���Y��D ����� �BdemDa����\�_l,��G�/���֌7���Y�](�xTt^%�GE�����4�}bT���ڹ�����;Y)���B�Q��u��>J/J �⮶.�XԄ��j�ݳ�+E��d ��r�5�_D�1 ��o�� �B�x�΢�#���<��W�����8���R6�@g�M�.��� dr�D��>(otU��@x=��~v���2� ӣ�d�oBd��3�eO�6�㣷�����ݜ6��6Y��Qz`��S��{���\P�~z m5{J/L��1������<�e�ͅPu�b�]�ϔ���'������f�b� Zpw��c`"��i���BD@:)ִ�:�]��hv�E�w���T�l��P���"Ju�}��وV J��G6��. J/�Qgl߭�e�����@�z�Zev2u�)]կ�����7x���s�M�-<ɯ�c��r�v�����@��$�ޮ}lk���a���'����>x��O\�ZFu>�����ck#��&:��`�$�ai�>2Δ����l���oF[h��lE�ܺ�Πk:)���`�� $[6�����9�����kOw�\|���8}������ބ:��񶐕��I�A1/�=�2[�,�!��.}gN#�u����b��� ~��݊��}34q����d�E��Lc��$��"�[q�U�硬g^��%B �z���r�pJ�ru%v\h1Y�ne`ǥ:g���pQM~�^�Xi� ��`S�:V29.�P���V�?B�k�� AEvw%�_�9C�Q����wKekPؠ�\�;Io d�{ ߞo�c1eP����\� `����E=���@K<�Y���eڼ�J���w����{av�F�'�M�@/J��+9p���|]�����Iw &`��8���&M�hg��[�{��Xj��%��Ӓ�$��(����ʹN���<>�I���RY���K2�NPlL�ɀ)��&e����B+ь����( � �JTx���_?EZ� }@ 6�U���뙢ط�z��dWI�n` D����噥�[��uV��"�G&Ú����2g�}&m��?ċ�"����Om#��������� ��{�ON��"S�X��Ne��ysQ���@Fn��Vg���dX�~nj�]J�<�K]:��FW��b�������62�=��5f����JKw��bf�X�55��~J �%^����:�-�QIE��P��v�nZum� z � ~ə ���� ���ة����;�f��\v���g�8�1��f24;�V���ǔ�)����9���1\��c��v�/'Ƞ�w�������$�4�R-��t���� e�6�/�ġ �̕Ecy�J���u�B���<�W�ַ~�w[B1L۲�-JS΂�{���΃������A��20�c#��@ 0!1@AP"#2Q`$3V�%45a6�FRUq��� ����^7ׅ,$n�������+��F�`��2X'��0vM��p�L=������5��8������u�p~���.�`r�����\���O��,ư�0oS ��_�M�����l���4�kv\JSd���x���SW�<��Ae�IX����������$I���w�:S���y���›R��9�Q[���,�5�;�@]�%���u�@ *ro�lbI �� ��+���%m:�͇ZV�����u�̉����θau<�fc�.����{�4Ա� �Q����*�Sm��8\ujqs]{kN���)qO�y�_*dJ�b�7���yQqI&9�ԌK!�M}�R�;������S�T���1���i[U�ɵz�]��U)V�S6���3$K{�ߊ<�(� E]Զ[ǼENg�����'�\?#)Dkf��J���o��v���'�%ƞ�&K�u�!��b�35LX�Ϸ��63$K�a�;�9>,R��W��3�3� d�JeTYE.Mϧ��-�o�j3+y��y^�c�������VO�9NV\nd�1 ��!͕_)a�v;����թ�M�lWR1��)El��P;��yوÏ�u 3�k�5Pr6<�⒲l�!˞*��u־�n�!�l:����UNW ��%��Chx8vL'��X�@��*��)���̮��ˍ��� ���D-M�+J�U�kvK����+�x8��cY������?�Ԡ��~3mo��|�u@[XeY�C�\Kp�x8�oC�C�&����N�~3-H���� ��MX�s�u<`���~"WL��$8ξ��3���a�)|:@�m�\���^�`�@ҷ)�5p+��6���p�%i)P M���ngc�����#0Aruz���RL+xSS?���ʮ}()#�t��mˇ!��0}}y����<�e� �-ή�Ԩ��X������ MF���ԙ~l L.3���}�V뽺�v�����멬��Nl�)�2����^�Iq��a��M��qG��T�����c3#������3U�Ǎ���}��לS�|qa��ڃ�+���-��2�f����/��bz��ڐ�� �ݼ[2�ç����k�X�2�* �Z�d���J�G����M*9W���s{��w���T��x��y,�in�O�v��]���n����P�$�JB@=4�OTI�n��e�22a\����q�d���%�$��(���:���: /*�K[PR�fr\nڙdN���F�n�$�4�[�� U�zƶ����� �mʋ���,�ao�u 3�z� �x��Kn����\[��VFmbE;�_U��&V�Gg�]L�۪&#n%�$ɯ�dG���D�TI=�%+AB�Ru#��b4�1�»x�cs�YzڙJG��f��Il��d�eF'T� iA��T���uC�$����Y��H?����[!G`}���ͪ� �纤Hv\������j�Ex�K���!���OiƸ�Yj�+u-<���'q����uN�*�r\��+�]���<�wOZ.fp�ێ��,-*)V?j-kÊ#�`�r��dV����(�ݽBk�����G�ƛk�QmUڗe��Z���f}|����8�8��a���i��3'J�����~G_�^���d�8w������ R�`(�~�.��u���l�s+g�bv���W���lGc}��u���afE~1�Ue������Z�0�8�=e�� f@/�jqEKQQ�J��oN��J���W5~M>$6�Lt�;$ʳ{���^��6�{����v6���ķܰg�V�cnn �~z�x�«�,2�u�?cE+Ș�H؎�%�Za�)���X>uW�Tz�Nyo����s���FQƤ��$��*�&�LLXL)�1�" L��eO��ɟ�9=���:t��Z���c��Ž���Y?�ӭV�wv�~,Y��r�ۗ�|�y��GaF�����C�����.�+� ���v1���fήJ�����]�S��T��B��n5sW}y�$��~z�'�c ��8 ��� ,! �p��VN�S��N�N�q��y8z˱�A��4��*��'������2n<�s���^ǧ˭P�Jޮɏ�U�G�L�J�*#��<�V��t7�8����TĜ>��i}K%,���)[��z�21z ?�N�i�n1?T�I�R#��m-�����������������1����lA�`��fT5+��ܐ�c�q՝��ʐ��,���3�f2U�եmab��#ŠdQ�y>\��)�SLY����w#��.���ʑ�f��� ,"+�w�~�N�'�c�O�3F�������N<���)j��&��,-� �љ���֊�_�zS���TǦ����w�>��?�������n��U仆�V���e�����0���$�C�d���rP �m�׈e�Xm�Vu� �L��.�bֹ��� �[Դaզ���*��\y�8�Է:�Ez\�0�Kq�C b��̘��cө���Q��=0Y��s�N��S.���3.���O�o:���#���v7�[#߫ ��5�܎�L���Er4���9n��COWlG�^��0k�%<���ZB���aB_���������'=��{i�v�l�$�uC���mƎҝ{�c㱼�y]���W�i ��ߧc��m�H� m�"�"�����;Y�ߝ�Z�Ǔ�����:S#��|}�y�,/k�Ld� TA�(�AI$+I3��;Y*���Z��}|��ӧO��d�v��..#:n��f>�>���ȶI�TX��� 8��y����"d�R�|�)0���=���n4��6ⲑ�+��r<�O�܂~zh�z����7ܓ�HH�Ga롏���nCo�>������a ���~]���R���̲c?�6(�q�;5%� |�uj�~z8R=X��I�V=�|{v�Gj\gc��q����z�؋%M�ߍ����1y��#��@f^���^�>N�����#x#۹��6�Y~�?�dfPO��{��P�4��V��u1E1J �*|���%���JN��`eWu�zk M6���q t[�� ��g�G���v��WIG��u_ft����5�j�"�Y�:T��ɐ���*�;� e5���4����q$C��2d�}���� _S�L#m�Yp��O�.�C�;��c����Hi#֩%+) �Ӎ��ƲV���SYź��g |���tj��3�8���r|���V��1#;.SQ�A[���S������#���`n�+���$��$I �P\[�@�s��(�ED�z���P��])8�G#��0B��[ى��X�II�q<��9�~[Z멜�Z�⊔IWU&A>�P~�#��dp<�?����7���c��'~���5 ��+$���lx@�M�dm��n<=e�dyX��?{�|Aef ,|n3�<~z�ƃ�uۧ�����P��Y,�ӥQ�*g�#먙R�\���;T��i,��[9Qi歉����c>]9�� ��"�c��P�� �Md?٥��If�ت�u��k��/����F��9�c*9��Ǎ:�ØF���z�n*�@|I�ށ9����N3{'��[�'ͬ�Ҳ4��#}��!�V� Fu��,�,mTIk���v C�7v���B�6k�T9��1�*l� '~��ƞF��lU��'�M ����][ΩũJ_�{�i�I�n��$���L�� j��O�dx�����kza۪��#�E��Cl����x˘�o�����V���ɞ�ljr��)�/,�߬h�L��#��^��L�ф�,íMƁe�̩�NB�L�����iL����q�}��(��q��6IçJ$�W�E$��:������=#����(�K�B����zђ <��K(�N�۫K�w��^O{!����)�H���>x�������lx�?>Պ�+�>�W���,Ly!_�D���Ō�l���Q�!�[ �S����J��1��Ɛ�Y}��b,+�Lo�x�ɓ)����=�y�oh�@�꥟/��I��ѭ=��P�y9��� �ۍYӘ�e+�p�Jnϱ?V\SO%�(�t� ���=?MR�[Ș�����d�/ ��n�l��B�7j� ��!�;ӥ�/�[-���A�>�dN�sLj ��,ɪv��=1c�.SQ�O3�U���ƀ�ܽ�E����������̻��9G�ϷD�7(�}��Ävӌ\�y�_0[w ���<΍>����a_��[0+�L��F.�޺��f�>oN�T����q;���y\��bՃ��y�jH�<|q-eɏ�_?_9+P���Hp$�����[ux�K w�Mw��N�ی'$Y2�=��q���KB��P��~������Yul:�[<����F1�2�O���5=d����]Y�sw:���Ϯ���E��j,_Q��X��z`H1,#II ��d�wr��P˂@�ZJV����y$�\y�{}��^~���[:N����ߌ�U�������O��d�����ؾe��${p>G��3c���Ė�lʌ�� ת��[��`ϱ�-W����dg�I��ig2��� ��}s ��ؤ(%#sS@���~���3�X�nRG�~\jc3�v��ӍL��M[JB�T��s3}��j�Nʖ��W����;7��ç?=X�F=-�=����q�ߚ���#���='�c��7���ڑW�I(O+=:uxq�������������e2�zi+�kuG�R��������0�&e�n���iT^J����~\jy���p'dtG��s����O��3����9* �b#Ɋ�� p������[Bws�T�>d4�ۧs���nv�n���U���_�~,�v����ƜJ1��s�� �QIz��)�(lv8M���U=�;����56��G���s#�K���MP�=��LvyGd��}�VwWBF�'�à �?MH�U�g2�� ����!�p�7Q��j��ڴ����=��j�u��� Jn�A s���uM������e��Ɔ�Ҕ�!)'��8Ϣ�ٔ��ޝ(��Vp���צ֖d=�IC�J�Ǡ{q������kԭ�߸���i��@K����u�|�p=..�*+����x�����z[Aqġ#s2a�Ɗ���RR�)*HRsi�~�a &f��M��P����-K�L@��Z��Xy�'x�{}��Zm+���:�)�) IJ�-i�u���� ���ܒH��'�L(7�y�GӜq���� j��� 6ߌg1�g�o���,kر���tY�?W,���p���e���f�OQS��!K�۟cҒA�|ս�j�>��=⬒��˧L[�� �߿2JaB~R��u�:��Q�] �0H~���]�7��Ƽ�I���(}��cq '�ήET���q�?f�ab���ӥvr� �)o��-Q��_'����ᴎo��K������;��V���o��%���~OK ����*��b�f:���-ťIR��`B�5!RB@���ï�� �u �̯e\�_U�_������� g�ES��3�������QT��a����x����U<~�c?�*�#]�MW,[8O�a�x��]�1bC|踤�P��lw5V%�)�{t�<��d��5���0i�XSU��m:��Z�┵�i�"��1�^B�-��P�hJ��&)O��*�D��c�W��vM��)����}���P��ܗ-q����\mmζZ-l@�}��a��E�6��F�@��&Sg@���ݚ�M����� ȹ 4����#p�\H����dYDo�H���"��\��..R�B�H�z_�/5˘����6��KhJR��P�mƶi�m���3�,#c�co��q�a)*Pt����R�m�k�7x�D�E�\Y�閣_X�<���~�)���c[[�BP����6�Yq���S��0����%_����;��Àv�~�| VS؇ ��'O0��F0��\���U�-�d@�����7�SJ*z��3n��y��P����O���������m�~�P�3|Y��ʉr#�C�<�G~�.,! ���bqx���h~0=��!ǫ�jy����l�O,�[B��~��|9��ٱ����Xly�#�i�B��g%�S��������tˋ���e���ې��\[d�t)��.+u�|1 ������#�~Oj����hS�%��i.�~X���I�H�m��0n���c�1uE�q��cF�RF�o���7� �O�ꮧ� ���ۛ{��ʛi5�rw?׌#Qn�TW��~?y$��m\�\o����%W� ?=>S�N@�� �Ʈ���R����N�)�r"C�:��:����� �����#��qb��Y�. �6[��2K����2u�Ǧ�HYR��Q�MV��� �G�$��Q+.>�����nNH��q�^��� ����q��mM��V��D�+�-�#*�U�̒ ���p욳��u:�������IB���m���PV@O���r[b= �� ��1U�E��_Nm�yKbN�O���U�}�the�`�|6֮P>�\2�P�V���I�D�i�P�O;�9�r�mAHG�W�S]��J*�_�G��+kP�2����Ka�Z���H�'K�x�W�MZ%�O�YD�Rc+o��?�q��Ghm��d�S�oh�\�D�|:W������UA�Qc yT�q������~^�H��/��#p�CZ���T�I�1�ӏT����4��"�ČZ�����}��`w�#�*,ʹ�� ��0�i��課�Om�*�da��^gJ݅{���l�e9uF#T�ֲ��̲�ٞC"�q���ߍ ոޑ�o#�XZTp����@ o�8��(jd��xw�]�,f���`~�|,s��^����f�1���t��|��m�򸄭/ctr��5s��7�9Q�4�H1꠲BB@l9@���C�����+�wp�xu�£Yc�9��?`@#�o�mH�s2��)�=��2�.�l����jg�9$�Y�S�%*L������R�Y������7Z���,*=�䷘$�������arm�o�ϰ���UW.|�r�uf����IGw�t����Zwo��~5 ��YյhO+=8fF�)�W�7�L9lM�̘·Y���֘YLf�큹�pRF���99.A �"wz��=E\Z���'a� 2��Ǚ�#;�'}�G���*��l��^"q��+2FQ� hj��kŦ��${���ޮ-�T�٭cf�|�3#~�RJ����t��$b�(R��(����r���dx� >U b�&9,>���%E\� Ά�e�$��'�q't��*�א���ެ�b��-|d���SB�O�O��$�R+�H�)�܎�K��1m`;�J�2�Y~9��O�g8=vqD`K[�F)k�[���1m޼c��n���]s�k�z$@��)!I �x՝"v��9=�ZA=`Ɠi �:�E��)`7��vI��}d�YI�_ �o�:ob���o ���3Q��&D&�2=�� �Ά��;>�h����y.*ⅥS������Ӭ�+q&����j|UƧ����}���J0��WW< ۋS�)jQR�j���Ư��rN)�Gű�4Ѷ(�S)Ǣ�8��i��W52���No˓� ۍ%�5brOn�L�;�n��\G����=�^U�dI���8$�&���h��'���+�(������cȁ߫k�l��S^���cƗjԌE�ꭔ��gF���Ȓ��@���}O���*;e�v�WV���YJ\�]X'5��ղ�k�F��b 6R�o՜m��i N�i����>J����?��lPm�U��}>_Z&�KK��q�r��I�D�Չ~�q�3fL�:S�e>���E���-G���{L�6p�e,8��������QI��h��a�Xa��U�A'���ʂ���s�+טIjP�-��y�8ۈZ?J$��W�P� ��R�s�]��|�l(�ԓ��sƊi��o(��S0��Y� 8�T97.�����WiL��c�~�dxc�E|�2!�X�K�Ƙਫ਼�$((�6�~|d9u+�qd�^3�89��Y�6L�.I�����?���iI�q���9�)O/뚅����O���X��X�V��ZF[�یgQ�L��K1���RҖr@v�#��X�l��F���Нy�S�8�7�kF!A��sM���^rkp�jP�DyS$N���q��nxҍ!U�f�!eh�i�2�m���`�Y�I�9r�6� �TF���C}/�y�^���Η���5d�'��9A-��J��>{�_l+�`��A���[�'��յ�ϛ#w:݅�%��X�}�&�PSt�Q�"�-��\縵�/����$Ɨh�Xb�*�y��BS����;W�ջ_mc�����vt?2}1�;qS�d�d~u:2k5�2�R�~�z+|HE!)�Ǟl��7`��0�<�,�2*���Hl-��x�^����'_TV�gZA�'j� ^�2Ϊ��N7t�����?w�� �x1��f��Iz�C-Ȗ��K�^q�;���-W�DvT�7��8�Z�������� hK�(P:��Q- �8�n�Z���܃e貾�<�1�YT<�,�����"�6{/ �?�͟��|1�:�#g��W�>$����d��J��d�B��=��jf[��%rE^��il:��B���x���Sּ�1հ��,�=��*�7 fcG��#q� �eh?��2�7�����,�!7x��6�n�LC�4x��},Geǝ�tC.��vS �F�43��zz\��;QYC,6����~;RYS/6���|2���5���v��T��i����������mlv��������&� �nRh^ejR�LG�f���? �ۉҬܦƩ��|��Ȱ����>3����!v��i�ʯ�>�v��オ�X3e���_1z�Kȗ\<������!�8���V��]��?b�k41�Re��T�q��mz��TiOʦ�Z��Xq���L������q"+���2ۨ��8}�&N7XU7Ap�d�X��~�׿��&4e�o�F��� �H����O���č�c�� 懴�6���͉��+)��v;j��ݷ�� �UV�� i��� j���Y9GdÒJ1��詞�����V?h��l����l�cGs�ځ�������y�Ac�����\V3�? �� ܙg�>qH�S,�E�W�[�㺨�uch�⍸�O�}���a��>�q�6�n6����N6�q������N ! 1AQaq�0@����"2BRb�#Pr���3C`��Scst���$4D���%Td�� ?���N����a��3��m���C���w��������xA�m�q�m���m������$����4n淿t'��C"w��zU=D�\R+w�p+Y�T�&�պ@��ƃ��3ޯ?�Aﶂ��aŘ���@-�����Q�=���9D��ռ�ѻ@��M�V��P��܅�G5�f�Y<�u=,EC)�<�Fy'�"�&�չ�X~f��l�KԆV��?�� �W�N����=(� �;���{�r����ٌ�Y���h{�١������jW����P���Tc�����X�K�r��}���w�R��%��?���E��m�� �Y�q|����\lEE4���r���}�lsI�Y������f�$�=�d�yO����p�����yBj8jU�o�/�S��?�U��*������ˍ�0������u�q�m [�?f����a�� )Q�>����6#������� ?����0UQ����,IX���(6ڵ[�DI�MNލ�c&���υ�j\��X�R|,4��� j������T�hA�e��^���d���b<����n�� �즇�=!���3�^�`j�h�ȓr��jẕ�c�,ٞX����-����a�ﶔ���#�$��]w�O��Ӫ�1y%��L�Y<�wg#�ǝ�̗`�x�xa�t�w��»1���o7o5��>�m뭛C���Uƃߜ}�C���y1Xνm�F8�jI���]����H���ۺиE@I�i;r�8ӭ����V�F�Շ| ��&?�3|x�B�MuS�Ge�=Ӕ�#BE5G�����Y!z��_e��q�р/W>|-�Ci߇�t�1ޯќd�R3�u��g�=0 5��[?�#͏��q�cf���H��{ ?u�=?�?ǯ���}Z��z���hmΔ�BFTW�����<�q�(v� ��!��z���iW]*�J�V�z��gX֧A�q�&��/w���u�gYӘa���; �i=����g:��?2�dž6�ى�k�4�>�Pxs����}������G�9��3 ���)gG�R<>r h�$��'nc�h�P��Bj��J�ҧH� -��N1���N��?��~��}-q!=��_2hc�M��l�vY%UE�@|�v����M2�.Y[|y�"Eï��K�ZF,�ɯ?,q�?v�M 80jx�"�;�9vk�����+ ֧�� �ȺU��?�%�vcV��mA�6��Qg^M����A}�3�nl� QRN�l8�kkn�'�����(��M�7m9و�q���%ޟ���*h$Zk"��$�9��: �?U8�Sl��,,|ɒ��xH(ѷ����Gn�/Q�4�P��G�%��Ա8�N��!� �&�7�;���eKM7�4��9R/%����l�c>�x;������>��C�:�����t��h?aKX�bhe�ᜋ^�$�Iհ �hr7%F$�E��Fd���t��5���+�(M6�t����Ü�UU|zW�=a�Ts�Tg������dqP�Q����b'�m���1{|Y����X�N��b �P~��F^F:����k6�"�j!�� �I�r�`��1&�-$�Bevk:y���#yw��I0��x��=D�4��tU���P�ZH��ڠ底taP��6����b>�xa����Q�#� WeF��ŮNj�p�J* mQ�N����*I�-*�ȩ�F�g�3 �5��V�ʊ�ɮ�a��5F���O@{���NX��?����H�]3��1�Ri_u��������ѕ�� ����0��� F��~��:60�p�͈�S��qX#a�5>���`�o&+�<2�D����: �������ڝ�$�nP���*)�N�|y�Ej�F�5ټ�e���ihy�Z �>���k�bH�a�v��h�-#���!�Po=@k̆IEN��@��}Ll?j�O������߭�ʞ���Q|A07x���wt!xf���I2?Z��<ץ�T���cU�j��]��陎Ltl �}5�ϓ��$�,��O�mˊ�;�@O��jE��j(�ا,��LX���LO���Ц�90�O �.����a��nA���7������j4 ��W��_ٓ���zW�jcB������y՗+EM�)d���N�g6�y1_x��p�$Lv:��9�"z��p���ʙ$��^��JԼ*�ϭ����o���=x�Lj�6�J��u82�A�H�3$�ٕ@�=Vv�]�'�qEz�;I˼��)��=��ɯ���x �/�W(V���p�����$ �m�������u�����񶤑Oqˎ�T����r��㠚x�sr�GC��byp�G��1ߠ�w e�8�$⿄����/�M{*}��W�]˷.�CK\�ުx���/$�WPw���r� |i���&�}�{�X� �>��$-��l���?-z���g����lΆ���(F���h�vS*���b���߲ڡn,|)mrH[���a�3�ר�[1��3o_�U�3�TC�$��(�=�)0�kgP���� ��u�^=��4 �WYCҸ:��vQ�ר�X�à��tk�m,�t*��^�,�}D*� �"(�I��9R����>`�`��[~Q]�#af��i6l��8���6�:,s�s�N6�j"�A4���IuQ��6E,�GnH��zS�HO�uk�5$�I�4��ؤ�Q9�@��C����wp�BGv[]�u�Ov���0I4���\��y�����Q�Ѹ��~>Z��8�T��a��q�ޣ;z��a���/��S��I:�ܫ_�|������>=Z����8:�S��U�I�J��"IY���8%b8���H��:�QO�6�;7�I�S��J��ҌAά3��>c���E+&jf$eC+�z�;��V����� �r���ʺ������my�e���aQ�f&��6�ND��.:��NT�vm�<- u���ǝ\MvZY�N�NT��-A�>jr!S��n�O 1�3�Ns�%�3D@���`������ܟ 1�^c<���� �a�ɽ�̲�Xë#�w�|y�cW�=�9I*H8�p�^(4���՗�k��arOcW�tO�\�ƍR��8����'�K���I�Q�����?5�>[�}��yU�ײ -h��=��% q�ThG�2�)���"ו3]�!kB��*p�FDl�A���,�eEi�H�f�Ps�����5�H:�Փ~�H�0Dت�D�I����h�F3�������c��2���E��9�H��5�zԑ�ʚ�i�X�=:m�xg�hd(�v����׊�9iS��O��d@0ڽ���:�p�5�h-��t�&���X�q�ӕ,��ie�|���7A�2���O%P��E��htj��Y1��w�Ѓ!����  ���� ࢽ��My�7�\�a�@�ţ�J �4�Ȼ�F�@o�̒?4�wx��)��]�P��~�����u�����5�����7X ��9��^ܩ�U;Iꭆ 5 �������eK2�7(�{|��Y׎ �V��\"���Z�1� Z�����}��(�Ǝ"�1S���_�vE30>���p;� ΝD��%x�W�?W?v����o�^V�i�d��r[��/&>�~`�9Wh��y�;���R��� ;;ɮT��?����r$�g1�K����A��C��c��K��l:�'��3 c�ﳯ*"t8�~l��)���m��+U,z��`(�>yJ�?����h>��]��v��ЍG*�{`��;y]��I�T� ;c��NU�fo¾h���/$���|NS���1�S�"�H��V���T���4��uhǜ�]�v;���5�͠x��'C\�SBpl���h}�N����� A�Bx���%��ޭ�l��/����T��w�ʽ]D�=����K���ž�r㻠l4�S�O?=�k �M:� ��c�C�a�#ha���)�ѐxc�s���gP�iG��{+���x���Q���I= �� z��ԫ+ �8"�k�ñ�j=|����c ��y��CF��/��*9ж�h{ �?4�o� ��k�m�Q�N�x��;�Y��4膚�a�w?�6�>e]�����Q�r�:����g�,i"�����ԩA�*M�<�G��b�if��l^M��5� �Ҩ�{����6J��ZJ�����P�*�����Y���ݛu�_4�9�I8�7���������,^ToR���m4�H��?�N�S�ѕw��/S��甍�@�9H�S�T��t�ƻ���ʒU��*{Xs�@����f�����֒Li�K{H�w^���������Ϥm�tq���s� ���ք��f:��o~s��g�r��ט� �S�ѱC�e]�x���a��) ���(b-$(�j>�7q�B?ӕ�F��hV25r[7 Y� }L�R��}����*sg+��x�r�2�U=�*'WS��ZDW]�WǞ�<��叓���{�$�9Ou4��y�90-�1�'*D`�c�^o?(�9��u���ݐ��'PI&� f�Jݮ�������:wS����jfP1F:X �H�9dԯ���˝[�_54 �}*;@�ܨ�� ð�yn�T���?�ןd�#���4rG�ͨ��H�1�|-#���Mr�S3��G�3�����)�.᧏3v�z֑��r����$G"�`j �1t��x0<Ɔ�Wh6�y�6��,œ�Ga��gA����y��b��)��h�D��ß�_�m��ü �gG;��e�v��ݝ�nQ� ��C����-�*��o���y�a��M��I�>�<���]obD��"�:���G�A��-\%LT�8���c�)��+y76���o�Q�#*{�(F�⽕�y����=���rW�\p���۩�c���A���^e6��K������ʐ�cVf5$�'->���ՉN"���F�"�UQ@�f��Gb~��#�&�M=��8�ט�JNu9��D��[̤�s�o�~������ G��9T�tW^g5y$b��Y'��س�Ǵ�=��U-2 #�MC�t(�i� �lj�@Q 5�̣i�*�O����s�x�K�f��}\��M{E�V�{�υ��Ƈ�����);�H����I��fe�Lȣr�2��>��W�I�Ȃ6������i��k�� �5�YOxȺ����>��Y�f5'��|��H+��98pj�n�.O�y�������jY��~��i�w'������l�;�s�2��Y��:'lg�ꥴ)o#'Sa�a�K��Z� �m��}�`169�n���"���x��I ��*+� }F<��cГ���F�P�������ֹ*�PqX�x۩��,� ��N�� �4<-����%����:��7����W���u�`����� $�?�I��&����o��o��`v�>��P��"��l���4��5'�Z�gE���8���?��[�X�7(��.Q�-��*���ތL@̲����v��.5���[��=�t\+�CNܛ��,g�SQnH����}*F�G16���&:�t��4ُ"A��̣��$�b �|����#rs��a�����T�� ]�<�j��BS�('$�ɻ� �wP;�/�n��?�ݜ��x�F��yUn�~mL*-�������Xf�wd^�a�}��f�,=t�׵i�.2/wpN�Ep8�OР���•��R�FJ� 55TZ��T �ɭ�<��]��/�0�r�@�f��V��V����Nz�G��^���7hZi����k��3�,kN�e|�vg�1{9]_i��X5y7� 8e]�U����'�-2,���e"����]ot�I��Y_��n�(JҼ��1�O ]bXc���Nu�No��pS���Q_���_�?i�~�x h5d'�(qw52] ��'ޤ�q��o1�R!���`ywy�A4u���h<קy���\[~�4�\ X�Wt/� 6�����n�F�a8��f���z �3$�t(���q��q�x��^�XWeN'p<-v�!�{�(>ӽDP7��ո0�y)�e$ٕv�Ih'Q�EA�m*�H��RI��=:��� ���4牢) �%_iN�ݧ�l]� �Nt���G��H�L��� ɱ�g<���1V�,�J~�ٹ�"K��Q�� 9�HS�9�?@��k����r�;we݁�]I�!{ �@�G�[�"��`���J:�n]�{�cA�E����V��ʆ���#��U9�6����j�#Y�m\��q�e4h�B�7��C�������d<�?J����1g:ٳ���=Y���D�p�ц� ׈ǔ��1�]26؜oS�'��9�V�FVu�P�h�9�xc�oq�X��p�o�5��Ա5$�9W�V(�[Ak�aY錎qf;�'�[�|���b�6�Ck��)��#a#a˙��8���=äh�4��2��C��4tm^ �n'c���]GQ$[Wҿ��i���vN�{Fu ��1�gx��1┷���N�m��{j-,��x�� Ūm�ЧS�[�s���Gna���䑴�� x�p 8<������97�Q���ϴ�v�aϚG��Rt�Һ׈�f^\r��WH�JU�7Z���y)�vg=����n��4�_)y��D'y�6�]�c�5̪�\� �PF�k����&�c;��cq�$~T�7j ���nç]�<�g ":�to�t}�159�<�/�8������m�b�K#g'I'.W�����6��I/��>v��\�MN��g���m�A�yQL�4u�Lj�j9��#44�t��l^�}L����n��R��!��t��±]��r��h6ٍ>�yҏ�N��fU�� ���� Fm@�8}�/u��jb9������he:A�y�ծw��GpΧh�5����l}�3p468��)U��d��c����;Us/�֔�YX�1�O2��uq�s��`hwg�r~�{ R��mhN��؎*q 42�*th��>�#���E����#��Hv�O����q�}�����6�e��\�,Wk�#���X��b>��p}�դ��3���T5��†��6��[��@�P�y*n��|'f�֧>�lư΂�̺����SU�'*�q�p�_S�����M�� '��c�6�����m�� ySʨ;M��r���Ƌ�m�Kxo,���Gm�P��A�G�:��i��w�9�}M(�^�V��$ǒ�ѽ�9���|���� �a����J�SQ�a���r�B;����}���ٻ֢�2�%U���c�#�g���N�a�ݕ�'�v�[�OY'��3L�3�;,p�]@�S��{ls��X�'���c�jw�k'a�.��}�}&�� �dP�*�bK=ɍ!����;3n�gΊU�ߴmt�'*{,=SzfD� A��ko~�G�aoq�_mi}#�m�������P�Xhύ����mxǍ�΂���巿zf��Q���c���|kc�����?���W��Y�$���_Lv����l߶��c���`?����l�j�ݲˏ!V��6����U�Ђ(A���4y)H���p�Z_�x��>���e��R��$�/�`^'3qˏ�-&Q�=?��CFVR �D�fV�9��{�8g�������n�h�(P"��6�[�D���< E�����~0<@�`�G�6����Hг�cc�� �c�K.5��D��d�B���`?�XQ��2��ٿyqo&+�1^� DW�0�ꊩ���G�#��Q�nL3��c���������/��x ��1�1[y�x�პCW��C�c�UĨ80�m�e�4.{�m��u���I=��f�����0QRls9���f���������9���~f�����Ǩ��a�"@�8���ȁ�Q����#c�ic������G��$���G���r/$W�(��W���V�"��m�7�[m�A�m����bo��D� j����۳� l���^�k�h׽����� ��#� iXn�v��eT�k�a�^Y�4�BN��ĕ��0 !01@Q"2AaPq3BR������?���@4�Q�����T3,���㺠�W�[=JK�Ϟ���2�r^7��vc�:�9 �E�ߴ�w�S#d���Ix��u��:��Hp��9E!�� V 2;73|F��9Y���*ʬ�F��D����u&���y؟��^EA��A��(ɩ���^��GV:ݜDy�`��Jr29ܾ�㝉��[���E;Fzx��YG��U�e�Y�C���� ����v-tx����I�sם�Ę�q��Eb�+P\ :>�i�C'�;�����k|z�رn�y]�#ǿb��Q��������w�����(�r|ӹs��[�D��2v-%��@;�8<a���[\o[ϧw��I!��*0�krs)�[�J9^��ʜ��p1)� "��/_>��o��<1����A�E�y^�C��`�x1'ܣn�p��s`l���fQ��):�l����b>�Me�jH^?�kl3(�z:���1ŠK&?Q�~�{�ٺ�h�y���/�[��V�|6��}�KbX����mn[-��7�5q�94�������dm���c^���h� X��5��<�eޘ>G���-�}�دB�ޟ� ��|�rt�M��V+�]�c?�-#ڛ��^ǂ}���Lkr���O��u�>�-D�ry� D?:ޞ�U��ǜ�7�V��?瓮�"�#���r��չģVR;�n���/_� ؉v�ݶe5d�b9��/O��009�G���5n�W����JpA�*�r9�>�1��.[t���s�F���nQ� V 77R�]�ɫ8����_0<՜�IF�u(v��4��F�k�3��E)��N:��yڮe��P�`�1}�$WS��J�SQ�N�j�ٺ��޵�#l���ј(�5=��5�lǏmoW�v-�1����v,W�mn��߀$x�<����v�j(����c]��@#��1������Ǔ���o'��u+����;G�#�޸��v-lη��/(`i⣍Pm^���ԯ̾9Z��F��������n��1��� ��]�[��)�'������:�֪�W��FC����� �B9،!?���]��V��A�Վ�M��b�w��G F>_DȬ0¤�#�QR�[V��kz���m�w�"��9ZG�7'[��=�Q����j8R?�zf�\a�=��O�U����*oB�A�|G���2�54 �p��.w7� �� ��&������ξxGHp� B%��$g�����t�Џ򤵍z���HN�u�Я�-�'4��0��;_��3 !01"@AQa2Pq#3BR������?��ʩca��en��^��8���<�u#��m*08r��y�N"�<�Ѳ0��@\�p��� �����Kv�D��J8�Fҽ� �f�Y��-m�ybX�NP����}�!*8t(�OqѢ��Q�wW�K��ZD��Δ^e��!� ��B�K��p~�����e*l}z#9ң�k���q#�Ft�o��S�R����-�w�!�S���Ӥß|M�l޶V��!eˈ�8Y���c�ЮM2��tk���� ������J�fS����Ö*i/2�����n]�k�\���|4yX�8��U�P.���Ы[���l��@"�t�<������5�lF���vU�����W��W��;�b�cД^6[#7@vU�xgZv��F�6��Q,K�v��� �+Ъ��n��Ǣ��Ft���8��0��c�@�!�Zq s�v�t�;#](B��-�nῃ~���3g������5�J�%���O������n�kB�ĺ�.r��+���#�N$?�q�/�s�6��p��a����a��J/��M�8��6�ܰ"�*������ɗud"\w���aT(����[��F��U՛����RT�b���n�*��6���O��SJ�.�ij<�v�MT��R\c��5l�sZB>F��<7�;EA��{��E���Ö��1U/�#��d1�a�n.1ě����0�ʾR�h��|�R��Ao�3�m3 ��%�� ���28Q� ��y��φ���H�To�7�lW>����#i`�q���c����a��� �m,B�-j����݋�'mR1Ήt�>��V��p���s�0IbI�C.���1R�ea�����]H�6����������4B>��o��](��$B���m�����a�!=��?�B� K�Ǿ+�Ծ"�n���K��*��+��[T#�{E�J�S����Q�����s�5�:�U�\wĐ�f�3����܆&�)����I���Ԇw��E T�lrTf6Q|R�h:��[K�� �z��c֧�G�C��%\��_�a�84��HcO�bi��ؖV��7H �)*ģK~Xhչ0��4?�0��� �E<���}3���#���u�?�� ��|g�S�6ꊤ�|�I#Hڛ� �ա��w�X��9��7���Ŀ%�SL��y6č��|�F�a 8���b��$�sק�h���b9RAu7�˨p�Č�_\*w��묦��F ����4D~�f����|(�"m���NK��i�S�>�$d7SlA��/�²����SL��|6N�}���S�˯���g��]6��; �#�.��<���q'Q�1|KQ$�����񛩶"�$r�b:���N8�w@��8$�� �AjfG|~�9F ���Y��ʺ��Bwؒ������M:I岎�G��`s�YV5����6��A �b:�W���G�q%l�����F��H���7�������Fsv7��k�� 403WebShell
403Webshell
Server IP : 14.139.229.36  /  Your IP : 10.1.1.9
Web Server : Apache
System : Linux gbpuat-tech.ac.in 4.18.0-240.15.1.el8_3.x86_64 #1 SMP Mon Mar 1 17:16:16 UTC 2021 x86_64
User : apache ( 48)
PHP Version : 7.2.24
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /usr/share/gedit/gir-1.0/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /usr/share/gedit/gir-1.0/Gedit-3.0.gir
<?xml version="1.0"?>
<!-- This file was automatically generated from C sources - DO NOT EDIT!
To affect the contents of this file, edit the original C definitions,
and/or use gtk-doc annotations.  -->
<repository version="1.2"
            xmlns="http://www.gtk.org/introspection/core/1.0"
            xmlns:c="http://www.gtk.org/introspection/c/1.0"
            xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
  <include name="Gtk" version="3.0"/>
  <include name="GtkSource" version="3.0"/>
  <package name="gedit"/>
  <c:include name="gedit/gedit-app-activatable.h"/>
  <c:include name="gedit/gedit-app.h"/>
  <c:include name="gedit/gedit-commands.h"/>
  <c:include name="gedit/gedit-debug.h"/>
  <c:include name="gedit/gedit-document.h"/>
  <c:include name="gedit/gedit-encodings-combo-box.h"/>
  <c:include name="gedit/gedit-menu-extension.h"/>
  <c:include name="gedit/gedit-message-bus.h"/>
  <c:include name="gedit/gedit-message.h"/>
  <c:include name="gedit/gedit-progress-info-bar.h"/>
  <c:include name="gedit/gedit-statusbar.h"/>
  <c:include name="gedit/gedit-tab.h"/>
  <c:include name="gedit/gedit-utils.h"/>
  <c:include name="gedit/gedit-view-activatable.h"/>
  <c:include name="gedit/gedit-view.h"/>
  <c:include name="gedit/gedit-window-activatable.h"/>
  <c:include name="gedit/gedit-window.h"/>
  <namespace name="Gedit"
             version="3.0"
             shared-library=""
             c:identifier-prefixes="Gedit"
             c:symbol-prefixes="gedit">
    <class name="App"
           c:symbol-prefix="app"
           c:type="GeditApp"
           parent="Gtk.Application"
           abstract="1"
           glib:type-name="GeditApp"
           glib:get-type="gedit_app_get_type"
           glib:type-struct="AppClass">
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <virtual-method name="create_window" introspectable="0">
        <return-value>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="help_link_id">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="process_window_event"
                      invoker="process_window_event">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="set_window_title" invoker="set_window_title">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="show_help" invoker="show_help">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="create_window" c:identifier="gedit_app_create_window">
        <doc xml:space="preserve">Create a new #GeditWindow part of @app.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the new #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="screen"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="Gdk.Screen" c:type="GdkScreen*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_app_get_documents">
        <doc xml:space="preserve">Returns all the documents currently open in #GeditApp.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">
a newly allocated list of #GeditDocument objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_lockdown" c:identifier="gedit_app_get_lockdown">
        <doc xml:space="preserve">Gets the lockdown mask (see #GeditLockdownMask) for the application.
The lockdown mask determines which functions are locked down using
the GNOME-wise lockdown GConf keys.</doc>
        <return-value transfer-ownership="none">
          <type name="LockdownMask" c:type="GeditLockdownMask"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_main_windows"
              c:identifier="gedit_app_get_main_windows">
        <doc xml:space="preserve">Returns all #GeditWindows currently open in #GeditApp.
This differs from gtk_application_get_windows() since it does not
include the preferences dialog and other auxiliary windows.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">
a newly allocated list of #GeditWindow objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Window"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_app_get_views">
        <doc xml:space="preserve">Returns all the views currently present in #GeditApp.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">
a newly allocated list of #GeditView objects</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditApp</doc>
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="process_window_event"
              c:identifier="gedit_app_process_window_event">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="event" transfer-ownership="none">
            <type name="Gdk.Event" c:type="GdkEvent*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_title"
              c:identifier="gedit_app_set_window_title">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </parameter>
          <parameter name="title" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="show_help" c:identifier="gedit_app_show_help">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="app" transfer-ownership="none">
            <type name="App" c:type="GeditApp*"/>
          </instance-parameter>
          <parameter name="parent" transfer-ownership="none">
            <type name="Gtk.Window" c:type="GtkWindow*"/>
          </parameter>
          <parameter name="name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="link_id" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="lockdown" transfer-ownership="none">
        <type name="LockdownMask"/>
      </property>
      <field name="parent_instance">
        <type name="Gtk.Application" c:type="GtkApplication"/>
      </field>
    </class>
    <interface name="AppActivatable"
               c:symbol-prefix="app_activatable"
               c:type="GeditAppActivatable"
               glib:type-name="GeditAppActivatable"
               glib:get-type="gedit_app_activatable_get_type"
               glib:type-struct="AppActivatableInterface">
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve">Activates the extension on the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve">Deactivates the extension from the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_app_activatable_activate">
        <doc xml:space="preserve">Activates the extension on the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_app_activatable_deactivate">
        <doc xml:space="preserve">Deactivates the extension from the application.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="extend_menu"
              c:identifier="gedit_app_activatable_extend_menu">
        <doc xml:space="preserve">Gets the #GeditMenuExtension for the menu @extension_point. Note that
the extension point could be in different menus (gear menu, app menu, etc)
depending on the platform.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a #GeditMenuExtension for the specific section
or %NULL if not found.</doc>
          <type name="MenuExtension" c:type="GeditMenuExtension*"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditAppActivatable.</doc>
            <type name="AppActivatable" c:type="GeditAppActivatable*"/>
          </instance-parameter>
          <parameter name="extension_point" transfer-ownership="none">
            <doc xml:space="preserve">the extension point section of the menu to get.</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="app"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The app property contains the gedit app for this
#GeditAppActivatable instance.</doc>
        <type name="App"/>
      </property>
    </interface>
    <record name="AppActivatableInterface"
            c:type="GeditAppActivatableInterface"
            glib:is-gtype-struct-for="AppActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditAppActivatable.</doc>
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditAppActivatable.</doc>
              <type name="AppActivatable" c:type="GeditAppActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="AppClass"
            c:type="GeditAppClass"
            glib:is-gtype-struct-for="App">
      <field name="parent_class">
        <type name="Gtk.ApplicationClass" c:type="GtkApplicationClass"/>
      </field>
      <field name="show_help">
        <callback name="show_help">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="parent" transfer-ownership="none">
              <type name="Gtk.Window" c:type="GtkWindow*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="help_link_id">
        <callback name="help_link_id">
          <return-value transfer-ownership="full">
            <type name="utf8" c:type="gchar*"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="name" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="link_id" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="set_window_title">
        <callback name="set_window_title">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="title" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="create_window" introspectable="0">
        <callback name="create_window" introspectable="0">
          <return-value>
            <type name="Window" c:type="GeditWindow*"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="process_window_event">
        <callback name="process_window_event">
          <return-value transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </return-value>
          <parameters>
            <parameter name="app" transfer-ownership="none">
              <type name="App" c:type="GeditApp*"/>
            </parameter>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="event" transfer-ownership="none">
              <type name="Gdk.Event" c:type="GdkEvent*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <bitfield name="DebugSection"
              glib:type-name="GeditDebugSection"
              glib:get-type="gedit_debug_section_get_type"
              c:type="GeditDebugSection">
      <doc xml:space="preserve">Enumeration of debug sections.

Debugging output for a section is enabled by setting an environment variable
of the same name. For example, setting the &lt;code&gt;GEDIT_DEBUG_PLUGINS&lt;/code&gt;
environment variable enables all debugging output for the %GEDIT_DEBUG_PLUGINS
section. Setting the special environment variable &lt;code&gt;GEDIT_DEBUG&lt;/code&gt;
enables output for all sections.</doc>
      <member name="no_debug"
              value="0"
              c:identifier="GEDIT_NO_DEBUG"
              glib:nick="no-debug">
      </member>
      <member name="debug_view"
              value="1"
              c:identifier="GEDIT_DEBUG_VIEW"
              glib:nick="debug-view">
      </member>
      <member name="debug_prefs"
              value="2"
              c:identifier="GEDIT_DEBUG_PREFS"
              glib:nick="debug-prefs">
      </member>
      <member name="debug_window"
              value="4"
              c:identifier="GEDIT_DEBUG_WINDOW"
              glib:nick="debug-window">
      </member>
      <member name="debug_panel"
              value="8"
              c:identifier="GEDIT_DEBUG_PANEL"
              glib:nick="debug-panel">
      </member>
      <member name="debug_plugins"
              value="16"
              c:identifier="GEDIT_DEBUG_PLUGINS"
              glib:nick="debug-plugins">
      </member>
      <member name="debug_tab"
              value="32"
              c:identifier="GEDIT_DEBUG_TAB"
              glib:nick="debug-tab">
      </member>
      <member name="debug_document"
              value="64"
              c:identifier="GEDIT_DEBUG_DOCUMENT"
              glib:nick="debug-document">
      </member>
      <member name="debug_commands"
              value="128"
              c:identifier="GEDIT_DEBUG_COMMANDS"
              glib:nick="debug-commands">
      </member>
      <member name="debug_app"
              value="256"
              c:identifier="GEDIT_DEBUG_APP"
              glib:nick="debug-app">
      </member>
      <member name="debug_utils"
              value="512"
              c:identifier="GEDIT_DEBUG_UTILS"
              glib:nick="debug-utils">
      </member>
      <member name="debug_metadata"
              value="1024"
              c:identifier="GEDIT_DEBUG_METADATA"
              glib:nick="debug-metadata">
      </member>
    </bitfield>
    <class name="Document"
           c:symbol-prefix="document"
           c:type="GeditDocument"
           parent="GtkSource.Buffer"
           glib:type-name="GeditDocument"
           glib:get-type="gedit_document_get_type"
           glib:type-struct="DocumentClass">
      <constructor name="new" c:identifier="gedit_document_new">
        <return-value transfer-ownership="full">
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
      </constructor>
      <virtual-method name="cursor_moved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="load">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="loaded">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="save">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="saved">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="document" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="get_compression_type"
              c:identifier="gedit_document_get_compression_type"
              deprecated="1"
              deprecated-version="3.14">
        <doc-deprecated xml:space="preserve">use gtk_source_file_get_compression_type() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the compression type.</doc>
          <type name="GtkSource.CompressionType"
                c:type="GtkSourceCompressionType"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_content_type"
              c:identifier="gedit_document_get_content_type">
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_deleted"
              c:identifier="gedit_document_get_deleted"
              deprecated="1"
              deprecated-version="3.18">
        <doc-deprecated xml:space="preserve">Unused function.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the file has been deleted.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_encoding"
              c:identifier="gedit_document_get_encoding"
              deprecated="1"
              deprecated-version="3.14">
        <doc-deprecated xml:space="preserve">use gtk_source_file_get_encoding() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the encoding.</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_file"
              c:identifier="gedit_document_get_file"
              version="3.14">
        <doc xml:space="preserve">Gets the associated #GtkSourceFile. You should use it only for reading
purposes, not for creating a #GtkSourceFileLoader or #GtkSourceFileSaver,
because gedit does some extra work when loading or saving a file and
maintains an internal state. If you use in a plugin a file loader or saver on
the returned #GtkSourceFile, the internal state of gedit won't be updated.

If you want to save the #GeditDocument to a secondary file, you can create a
new #GtkSourceFile and use a #GtkSourceFileSaver.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the associated #GtkSourceFile.</doc>
          <type name="GtkSource.File" c:type="GtkSourceFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_language" c:identifier="gedit_document_get_language">
        <return-value transfer-ownership="none">
          <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_location"
              c:identifier="gedit_document_get_location"
              deprecated="1"
              deprecated-version="3.14">
        <doc-deprecated xml:space="preserve">use gtk_source_file_get_location() instead. Attention,
gedit_document_get_location() has a transfer full for the return value, while
gtk_source_file_get_location() has a transfer none.</doc-deprecated>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">a copy of the internal #GFile</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_metadata" c:identifier="gedit_document_get_metadata">
        <doc xml:space="preserve">Gets the metadata assigned to @key.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the value assigned to @key. Free with g_free().</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="key" transfer-ownership="none">
            <doc xml:space="preserve">name of the key</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_mime_type" c:identifier="gedit_document_get_mime_type">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_newline_type"
              c:identifier="gedit_document_get_newline_type"
              deprecated="1"
              deprecated-version="3.14">
        <doc-deprecated xml:space="preserve">use gtk_source_file_get_newline_type() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the newline type.</doc>
          <type name="GtkSource.NewlineType" c:type="GtkSourceNewlineType"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_readonly"
              c:identifier="gedit_document_get_readonly"
              deprecated="1"
              deprecated-version="3.18">
        <doc-deprecated xml:space="preserve">Use gtk_source_file_is_readonly() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the document is read-only.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_search_context"
              c:identifier="gedit_document_get_search_context">
        <doc xml:space="preserve">Gets the search context. Use this function only if you have used
gedit_document_set_search_context() before. You should not alter other search
contexts, so you have to verify that the returned search context is yours.
One way to verify that is to compare the search settings object, or to mark
the search context with g_object_set_data().</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current search context of the document, or NULL
if there is no current search context.</doc>
          <type name="GtkSource.SearchContext"
                c:type="GtkSourceSearchContext*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_short_name_for_display"
              c:identifier="gedit_document_get_short_name_for_display">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_uri_for_display"
              c:identifier="gedit_document_get_uri_for_display">
        <doc xml:space="preserve">Note: this never returns %NULL.</doc>
        <return-value transfer-ownership="full">
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="goto_line" c:identifier="gedit_document_goto_line">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="goto_line_offset"
              c:identifier="gedit_document_goto_line_offset">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="line" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="line_offset" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_local"
              c:identifier="gedit_document_is_local"
              deprecated="1"
              deprecated-version="3.18">
        <doc-deprecated xml:space="preserve">Use gtk_source_file_is_local() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">whether the document is local.</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untitled" c:identifier="gedit_document_is_untitled">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="is_untouched" c:identifier="gedit_document_is_untouched">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_content_type"
              c:identifier="gedit_document_set_content_type"
              deprecated="1"
              deprecated-version="3.18">
        <doc-deprecated xml:space="preserve">Unused function. The intent is to change the
#GeditDocument:content-type property to be read-only.</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="content_type"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_language" c:identifier="gedit_document_set_language">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="lang"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="GtkSource.Language" c:type="GtkSourceLanguage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_location"
              c:identifier="gedit_document_set_location"
              deprecated="1"
              deprecated-version="3.14">
        <doc-deprecated xml:space="preserve">use gtk_source_file_set_location() instead.</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument.</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">the new location.</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_metadata"
              c:identifier="gedit_document_set_metadata"
              introspectable="0">
        <doc xml:space="preserve">Sets metadata on a document.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="first_key" transfer-ownership="none">
            <doc xml:space="preserve">name of the first key to set</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..."
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">value for the first key, followed optionally by more key/value pairs,
followed by %NULL.</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_search_context"
              c:identifier="gedit_document_set_search_context">
        <doc xml:space="preserve">Sets the new search context for the document. Use this function only when the
search occurrences are highlighted. So this function should not be used for
background searches. The purpose is to have only one highlighted search
context at a time in the document.

After using this function, you should unref the @search_context. The @doc
should be the only owner of the @search_context, so that the Clear Highlight
action works. If you need the @search_context after calling this function,
use gedit_document_get_search_context().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="search_context"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the new #GtkSourceSearchContext</doc>
            <type name="GtkSource.SearchContext"
                  c:type="GtkSourceSearchContext*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_short_name_for_display"
              c:identifier="gedit_document_set_short_name_for_display"
              deprecated="1"
              deprecated-version="3.18">
        <doc-deprecated xml:space="preserve">Unused function. The intent is to change the
#GeditDocument:shortname property to be read-only.</doc-deprecated>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="doc" transfer-ownership="none">
            <type name="Document" c:type="GeditDocument*"/>
          </instance-parameter>
          <parameter name="short_name"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="content-type" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The document's content type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="empty-search" transfer-ownership="none">
        <doc xml:space="preserve">&lt;warning&gt;
The property is used internally by gedit. It must not be used in a
gedit plugin. The property can be modified or removed at any time.
&lt;/warning&gt;</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="mime-type" transfer-ownership="none">
        <doc xml:space="preserve">The document's MIME type.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="read-only"
                deprecated="1"
                deprecated-version="3.18"
                transfer-ownership="none">
        <doc xml:space="preserve">Whether the document is read-only or not.</doc>
        <doc-deprecated xml:space="preserve">Use the #GtkSourceFile API.</doc-deprecated>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="shortname" writable="1" transfer-ownership="none">
        <doc xml:space="preserve">The document's short name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="use-gvfs-metadata"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Whether to use GVFS metadata. If %FALSE, use the gedit metadata
manager that stores the metadata in an XML file in the user cache
directory.

&lt;warning&gt;
The property is used internally by gedit. It must not be used in a
gedit plugin. The property can be modified or removed at any time.
&lt;/warning&gt;</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <field name="parent_instance">
        <type name="GtkSource.Buffer" c:type="GtkSourceBuffer"/>
      </field>
      <glib:signal name="cursor-moved" when="last">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="load" when="last" version="2.22">
        <doc xml:space="preserve">The "load" signal is emitted at the beginning of a file loading.

Before gedit 3.14 this signal contained parameters to configure the
file loading (the location, encoding, etc). Plugins should not need
those parameters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="loaded" when="first">
        <doc xml:space="preserve">The "loaded" signal is emitted at the end of a successful file
loading.

Before gedit 3.14 this signal contained a #GError parameter, and the
signal was also emitted if an error occurred. Plugins should not need
the error parameter.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="save" when="last" version="2.20">
        <doc xml:space="preserve">The "save" signal is emitted at the beginning of a file saving.

Before gedit 3.14 this signal contained parameters to configure the
file saving (the location, encoding, etc). Plugins should not need
those parameters.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="saved" when="first">
        <doc xml:space="preserve">The "saved" signal is emitted at the end of a successful file saving.

Before gedit 3.14 this signal contained a #GError parameter, and the
signal was also emitted if an error occurred. To save a document, a
plugin can use the gedit_commands_save_document_async() function and
get the result of the operation with
gedit_commands_save_document_finish().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <record name="DocumentClass"
            c:type="GeditDocumentClass"
            glib:is-gtype-struct-for="Document">
      <field name="parent_class">
        <type name="GtkSource.BufferClass" c:type="GtkSourceBufferClass"/>
      </field>
      <field name="cursor_moved">
        <callback name="cursor_moved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="load">
        <callback name="load">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="loaded">
        <callback name="loaded">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="save">
        <callback name="save">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="saved">
        <callback name="saved">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="document" transfer-ownership="none">
              <type name="Document" c:type="GeditDocument*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <class name="EncodingsComboBox"
           c:symbol-prefix="encodings_combo_box"
           c:type="GeditEncodingsComboBox"
           parent="Gtk.ComboBox"
           glib:type-name="GeditEncodingsComboBox"
           glib:get-type="gedit_encodings_combo_box_get_type"
           glib:type-struct="EncodingsComboBoxClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.CellEditable"/>
      <implements name="Gtk.CellLayout"/>
      <constructor name="new" c:identifier="gedit_encodings_combo_box_new">
        <doc xml:space="preserve">Creates a new encodings combo box object. If @save_mode is %FALSE, it means
that the combo box is used for loading a content (e.g. a file), so the row
"Automatically Detected" is added. For saving a content, the encoding must be
provided.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GeditEncodingsComboBox object.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="save_mode" transfer-ownership="none">
            <doc xml:space="preserve">whether the combo box is used for saving a content.</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="get_selected_encoding"
              c:identifier="gedit_encodings_combo_box_get_selected_encoding">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the selected #GtkSourceEncoding, or %NULL if the encoding should be
auto-detected (only for loading mode, not for saving).</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditEncodingsComboBox.</doc>
            <type name="EncodingsComboBox" c:type="GeditEncodingsComboBox*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_selected_encoding"
              c:identifier="gedit_encodings_combo_box_set_selected_encoding">
        <doc xml:space="preserve">Sets the selected encoding.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditEncodingsComboBox.</doc>
            <type name="EncodingsComboBox" c:type="GeditEncodingsComboBox*"/>
          </instance-parameter>
          <parameter name="encoding" transfer-ownership="none">
            <doc xml:space="preserve">the #GtkSourceEncoding.</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
        </parameters>
      </method>
      <property name="save-mode"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">Whether the combo box should be used for saving a content. If
%FALSE, the combo box is used for loading a content (e.g. a file)
and the row "Automatically Detected" is added.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="EncodingsComboBoxClass"
            c:type="GeditEncodingsComboBoxClass"
            glib:is-gtype-struct-for="EncodingsComboBox">
      <field name="parent_class">
        <type name="Gtk.ComboBoxClass" c:type="GtkComboBoxClass"/>
      </field>
    </record>
    <constant name="LOCKDOWN_ALL" value="15" c:type="GEDIT_LOCKDOWN_ALL">
      <type name="gint" c:type="gint"/>
    </constant>
    <bitfield name="LockdownMask"
              glib:type-name="GeditLockdownMask"
              glib:get-type="gedit_lockdown_mask_get_type"
              c:type="GeditLockdownMask">
      <member name="command_line"
              value="1"
              c:identifier="GEDIT_LOCKDOWN_COMMAND_LINE"
              glib:nick="command-line">
      </member>
      <member name="printing"
              value="2"
              c:identifier="GEDIT_LOCKDOWN_PRINTING"
              glib:nick="printing">
      </member>
      <member name="print_setup"
              value="4"
              c:identifier="GEDIT_LOCKDOWN_PRINT_SETUP"
              glib:nick="print-setup">
      </member>
      <member name="save_to_disk"
              value="8"
              c:identifier="GEDIT_LOCKDOWN_SAVE_TO_DISK"
              glib:nick="save-to-disk">
      </member>
    </bitfield>
    <class name="MenuExtension"
           c:symbol-prefix="menu_extension"
           c:type="GeditMenuExtension"
           parent="GObject.Object"
           glib:type-name="GeditMenuExtension"
           glib:get-type="gedit_menu_extension_get_type"
           glib:type-struct="MenuExtensionClass">
      <constructor name="new" c:identifier="gedit_menu_extension_new">
        <return-value transfer-ownership="full">
          <type name="MenuExtension" c:type="GeditMenuExtension*"/>
        </return-value>
        <parameters>
          <parameter name="menu" transfer-ownership="none">
            <type name="Gio.Menu" c:type="GMenu*"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="append_menu_item"
              c:identifier="gedit_menu_extension_append_menu_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="prepend_menu_item"
              c:identifier="gedit_menu_extension_prepend_menu_item">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
          <parameter name="item" transfer-ownership="none">
            <type name="Gio.MenuItem" c:type="GMenuItem*"/>
          </parameter>
        </parameters>
      </method>
      <method name="remove_items"
              c:identifier="gedit_menu_extension_remove_items">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="menu" transfer-ownership="none">
            <type name="MenuExtension" c:type="GeditMenuExtension*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="menu"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="Gio.Menu"/>
      </property>
    </class>
    <record name="MenuExtensionClass"
            c:type="GeditMenuExtensionClass"
            glib:is-gtype-struct-for="MenuExtension">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <class name="Message"
           c:symbol-prefix="message"
           c:type="GeditMessage"
           parent="GObject.Object"
           glib:type-name="GeditMessage"
           glib:get-type="gedit_message_get_type"
           glib:type-struct="MessageClass">
      <function name="is_valid_object_path"
                c:identifier="gedit_message_is_valid_object_path">
        <doc xml:space="preserve">Returns whether @object_path is a valid object path</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if @object_path is a valid object path</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_check" c:identifier="gedit_message_type_check">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="propname" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="value_type" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_has" c:identifier="gedit_message_type_has">
        <return-value transfer-ownership="none">
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <parameter name="gtype" transfer-ownership="none">
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="propname" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <function name="type_identifier"
                c:identifier="gedit_message_type_identifier">
        <doc xml:space="preserve">Get the string identifier for @method at @object_path.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">the identifier for @method at @object_path</doc>
          <type name="utf8" c:type="gchar*"/>
        </return-value>
        <parameters>
          <parameter name="object_path"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_method" c:identifier="gedit_message_get_method">
        <doc xml:space="preserve">Get the message method.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message method</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_object_path"
              c:identifier="gedit_message_get_object_path">
        <doc xml:space="preserve">Get the message object path.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the message object path</doc>
          <type name="utf8" c:type="const gchar*"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="has" c:identifier="gedit_message_has">
        <doc xml:space="preserve">Check if a message has a certain property.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if message has @propname, %FALSE otherwise</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditMessage</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </instance-parameter>
          <parameter name="propname" transfer-ownership="none">
            <doc xml:space="preserve">the property name</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="method"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The messages method.</doc>
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="object-path"
                writable="1"
                construct="1"
                transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessagePrivate" c:type="GeditMessagePrivate*"/>
      </field>
    </class>
    <class name="MessageBus"
           c:symbol-prefix="message_bus"
           c:type="GeditMessageBus"
           parent="GObject.Object"
           glib:type-name="GeditMessageBus"
           glib:get-type="gedit_message_bus_get_type"
           glib:type-struct="MessageBusClass">
      <constructor name="new" c:identifier="gedit_message_bus_new">
        <doc xml:space="preserve">Create a new message bus. Use gedit_message_bus_get_default() to get the
default, application wide, message bus. Creating a new bus is useful for
associating a specific bus with for instance a #GeditWindow.</doc>
        <return-value transfer-ownership="full">
          <doc xml:space="preserve">a new #GeditMessageBus</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </constructor>
      <function name="get_default"
                c:identifier="gedit_message_bus_get_default">
        <doc xml:space="preserve">Get the default application #GeditMessageBus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the default #GeditMessageBus</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
      </function>
      <virtual-method name="dispatch">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="registered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="unregistered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="block" c:identifier="gedit_message_bus_block">
        <doc xml:space="preserve">Blocks evoking the callback specified by @id. Unblock the callback by
using gedit_message_bus_unblock().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="block_by_func"
              c:identifier="gedit_message_bus_block_by_func">
        <doc xml:space="preserve">Blocks evoking the callback that matches provided @callback and @user_data.
Unblock the callback using gedit_message_bus_unblock_by_func().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="connect" c:identifier="gedit_message_bus_connect">
        <doc xml:space="preserve">Connect a callback handler to be evoked when message @method at @object_path
is sent over the bus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the callback identifier</doc>
          <type name="guint" c:type="guint"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="notified"
                     closure="3"
                     destroy="4">
            <doc xml:space="preserve">function to be called when message @method at @object_path is sent</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">user_data to use for the callback</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
          <parameter name="destroy_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1"
                     scope="async">
            <doc xml:space="preserve">function to evoke with @user_data as argument when @user_data
               needs to be freed</doc>
            <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect" c:identifier="gedit_message_bus_disconnect">
        <doc xml:space="preserve">Disconnects a previously connected message callback.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id as returned by gedit_message_bus_connect()</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="disconnect_by_func"
              c:identifier="gedit_message_bus_disconnect_by_func">
        <doc xml:space="preserve">Disconnects a previously connected message callback by matching the
provided callback function and user_data. See also
gedit_message_bus_disconnect().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the connected callback</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="foreach" c:identifier="gedit_message_bus_foreach">
        <doc xml:space="preserve">Calls @func for each message type registered on the bus</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="func"
                     transfer-ownership="none"
                     scope="call"
                     closure="1">
            <doc xml:space="preserve">the callback function</doc>
            <type name="MessageBusForeach" c:type="GeditMessageBusForeach"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the user data to supply to the callback function</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="is_registered"
              c:identifier="gedit_message_bus_is_registered">
        <doc xml:space="preserve">Check whether a message type @method at @object_path is registered on the
bus.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the @method at @object_path is a registered message
              type on the bus</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="lookup" c:identifier="gedit_message_bus_lookup">
        <doc xml:space="preserve">Get the registered #GeditMessageType for @method at @object_path. The
returned #GeditMessageType is owned by the bus and should not be unreffed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the registered #GeditMessageType or %NULL if no message type
              is registered for @method at @object_path</doc>
          <type name="GType" c:type="GType"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="register" c:identifier="gedit_message_bus_register">
        <doc xml:space="preserve">Register a message on the bus. A message must be registered on the bus before
it can be send. This function registers the type for @method at
@object_path.

This function emits a #GeditMessageBus::registered signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message_type" transfer-ownership="none">
            <doc xml:space="preserve">the message type</doc>
            <type name="GType" c:type="GType"/>
          </parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method to register</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send"
              c:identifier="gedit_message_bus_send"
              introspectable="0">
        <doc xml:space="preserve">This provides a convenient way to quickly send a message @method at
@object_path asynchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message arguments.
To send a message synchronously use gedit_message_bus_send_sync().</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve">the first property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message"
              c:identifier="gedit_message_bus_send_message">
        <doc xml:space="preserve">This sends the provided @message asynchronously over the bus. To send
a message synchronously, use gedit_message_bus_send_message_sync(). The
convenience function gedit_message_bus_send() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the message to send</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_message_sync"
              c:identifier="gedit_message_bus_send_message_sync">
        <doc xml:space="preserve">This sends the provided @message synchronously over the bus. To send
a message asynchronously, use gedit_message_bus_send_message(). The
convenience function gedit_message_bus_send_sync() can be used to easily send
a message without constructing the message object explicitly first.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the message to send</doc>
            <type name="Message" c:type="GeditMessage*"/>
          </parameter>
        </parameters>
      </method>
      <method name="send_sync"
              c:identifier="gedit_message_bus_send_sync"
              introspectable="0">
        <doc xml:space="preserve">This provides a convenient way to quickly send a message @method at
@object_path synchronously over the bus. The variable argument list
specifies key (string) value pairs used to construct the message
arguments. To send a message asynchronously use gedit_message_bus_send().</doc>
        <return-value transfer-ownership="full" nullable="1">
          <doc xml:space="preserve">the constructed #GeditMessage.
              The caller owns a reference to the #GeditMessage and should
              call g_object_unref() when it is no longer needed.</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="first_property" transfer-ownership="none">
            <doc xml:space="preserve">the first property</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..."
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">%NULL terminated list of key/value pairs</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock" c:identifier="gedit_message_bus_unblock">
        <doc xml:space="preserve">Unblocks the callback specified by @id.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="id" transfer-ownership="none">
            <doc xml:space="preserve">the callback id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
        </parameters>
      </method>
      <method name="unblock_by_func"
              c:identifier="gedit_message_bus_unblock_by_func">
        <doc xml:space="preserve">Unblocks the callback that matches provided @callback and @user_data.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="callback"
                     transfer-ownership="none"
                     scope="call"
                     closure="3">
            <doc xml:space="preserve">the callback to block</doc>
            <type name="MessageCallback" c:type="GeditMessageCallback"/>
          </parameter>
          <parameter name="user_data"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">the user_data with which the callback was connected</doc>
            <type name="gpointer" c:type="gpointer"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister" c:identifier="gedit_message_bus_unregister">
        <doc xml:space="preserve">Unregisters a previously registered message type. This is especially useful
for plugins which should unregister message types when they are deactivated.

This function emits the #GeditMessageBus::unregistered signal.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the method</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="unregister_all"
              c:identifier="gedit_message_bus_unregister_all">
        <doc xml:space="preserve">Unregisters all message types for @object_path. This is especially useful for
plugins which should unregister message types when they are deactivated.

This function emits the #GeditMessageBus::unregistered signal for all
unregistered message types.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bus" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditMessageBus</doc>
            <type name="MessageBus" c:type="GeditMessageBus*"/>
          </instance-parameter>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the object path</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="parent">
        <type name="GObject.Object" c:type="GObject"/>
      </field>
      <field name="priv">
        <type name="MessageBusPrivate" c:type="GeditMessageBusPrivate*"/>
      </field>
      <glib:signal name="dispatch" when="last">
        <doc xml:space="preserve">The "dispatch" signal is emitted when a message is to be dispatched.
The message is dispatched in the default handler of this signal.
Primary use of this signal is to customize the dispatch of a message
(for instance to automatically dispatch all messages over DBus).</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="message" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditMessage to dispatch</doc>
            <type name="Message"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="registered" when="last">
        <doc xml:space="preserve">The "registered" signal is emitted when a message has been registered
on the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the registered object path.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the registered method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="unregistered" when="last">
        <doc xml:space="preserve">The "unregistered" signal is emitted when a message has been
unregistered from the bus.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object_path" transfer-ownership="none">
            <doc xml:space="preserve">the unregistered object path.</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
          <parameter name="method" transfer-ownership="none">
            <doc xml:space="preserve">the unregistered method</doc>
            <type name="utf8" c:type="gchar*"/>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="MessageBusClass"
            c:type="GeditMessageBusClass"
            glib:is-gtype-struct-for="MessageBus">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
      <field name="dispatch">
        <callback name="dispatch">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="message" transfer-ownership="none">
              <type name="Message" c:type="GeditMessage*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="registered">
        <callback name="registered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="object_path" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="unregistered">
        <callback name="unregistered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="bus" transfer-ownership="none">
              <type name="MessageBus" c:type="GeditMessageBus*"/>
            </parameter>
            <parameter name="object_path" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
            <parameter name="method" transfer-ownership="none">
              <type name="utf8" c:type="const gchar*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <callback name="MessageBusForeach" c:type="GeditMessageBusForeach">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="object_path" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="method" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageBusPrivate"
            c:type="GeditMessageBusPrivate"
            disguised="1">
    </record>
    <callback name="MessageCallback" c:type="GeditMessageCallback">
      <doc xml:space="preserve">Callback signature used for connecting callback functions to be called
when a message is received (see gedit_message_bus_connect()).</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="bus" transfer-ownership="none">
          <doc xml:space="preserve">the #GeditMessageBus on which the message was sent</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve">the #GeditMessage which was sent</doc>
          <type name="Message" c:type="GeditMessage*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   closure="2">
          <doc xml:space="preserve">the supplied user data when connecting the callback</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </callback>
    <record name="MessageClass"
            c:type="GeditMessageClass"
            glib:is-gtype-struct-for="Message">
      <field name="parent_class">
        <type name="GObject.ObjectClass" c:type="GObjectClass"/>
      </field>
    </record>
    <record name="MessagePrivate" c:type="GeditMessagePrivate" disguised="1">
    </record>
    <enumeration name="NotebookShowTabsModeType"
                 glib:type-name="GeditNotebookShowTabsModeType"
                 glib:get-type="gedit_notebook_show_tabs_mode_type_get_type"
                 c:type="GeditNotebookShowTabsModeType">
      <member name="never"
              value="0"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_NEVER"
              glib:nick="never">
      </member>
      <member name="auto"
              value="1"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_AUTO"
              glib:nick="auto">
      </member>
      <member name="always"
              value="2"
              c:identifier="GEDIT_NOTEBOOK_SHOW_TABS_ALWAYS"
              glib:nick="always">
      </member>
    </enumeration>
    <class name="ProgressInfoBar"
           c:symbol-prefix="progress_info_bar"
           c:type="GeditProgressInfoBar"
           parent="Gtk.InfoBar"
           glib:type-name="GeditProgressInfoBar"
           glib:get-type="gedit_progress_info_bar_get_type"
           glib:type-struct="ProgressInfoBarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gedit_progress_info_bar_new">
        <return-value transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="has_cancel" transfer-ownership="none">
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </constructor>
      <method name="pulse" c:identifier="gedit_progress_info_bar_pulse">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_fraction"
              c:identifier="gedit_progress_info_bar_set_fraction">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="fraction" transfer-ownership="none">
            <type name="gdouble" c:type="gdouble"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_icon_name"
              c:identifier="gedit_progress_info_bar_set_icon_name">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="icon_name" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_markup"
              c:identifier="gedit_progress_info_bar_set_markup">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="markup" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_text" c:identifier="gedit_progress_info_bar_set_text">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="bar" transfer-ownership="none">
            <type name="ProgressInfoBar" c:type="GeditProgressInfoBar*"/>
          </instance-parameter>
          <parameter name="text" transfer-ownership="none">
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <property name="has-cancel-button"
                readable="0"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
    </class>
    <record name="ProgressInfoBarClass"
            c:type="GeditProgressInfoBarClass"
            glib:is-gtype-struct-for="ProgressInfoBar">
      <field name="parent_class">
        <type name="Gtk.InfoBarClass" c:type="GtkInfoBarClass"/>
      </field>
    </record>
    <class name="Statusbar"
           c:symbol-prefix="statusbar"
           c:type="GeditStatusbar"
           parent="Gtk.Statusbar"
           glib:type-name="GeditStatusbar"
           glib:get-type="gedit_statusbar_get_type"
           glib:type-struct="StatusbarClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <constructor name="new" c:identifier="gedit_statusbar_new">
        <doc xml:space="preserve">Creates a new #GeditStatusbar.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the new #GeditStatusbar object</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
      </constructor>
      <method name="clear_overwrite"
              c:identifier="gedit_statusbar_clear_overwrite">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="flash_message"
              c:identifier="gedit_statusbar_flash_message"
              introspectable="0">
        <doc xml:space="preserve">Flash a temporary message on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditStatusbar</doc>
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="context_id" transfer-ownership="none">
            <doc xml:space="preserve">message context_id</doc>
            <type name="guint" c:type="guint"/>
          </parameter>
          <parameter name="format" transfer-ownership="none">
            <doc xml:space="preserve">message to flash on the statusbar</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
          <parameter name="..." transfer-ownership="none">
            <doc xml:space="preserve">the arguments to insert in @format</doc>
            <varargs/>
          </parameter>
        </parameters>
      </method>
      <method name="set_overwrite"
              c:identifier="gedit_statusbar_set_overwrite">
        <doc xml:space="preserve">Sets the overwrite mode on the statusbar.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditStatusbar</doc>
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="overwrite" transfer-ownership="none">
            <doc xml:space="preserve">if the overwrite mode is set</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_window_state"
              c:identifier="gedit_statusbar_set_window_state">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="statusbar" transfer-ownership="none">
            <type name="Statusbar" c:type="GeditStatusbar*"/>
          </instance-parameter>
          <parameter name="state" transfer-ownership="none">
            <type name="WindowState" c:type="GeditWindowState"/>
          </parameter>
          <parameter name="num_of_errors" transfer-ownership="none">
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
    </class>
    <record name="StatusbarClass"
            c:type="GeditStatusbarClass"
            glib:is-gtype-struct-for="Statusbar">
      <field name="parent_class">
        <type name="Gtk.StatusbarClass" c:type="GtkStatusbarClass"/>
      </field>
    </record>
    <class name="Tab"
           c:symbol-prefix="tab"
           c:type="GeditTab"
           parent="Gtk.Box"
           glib:type-name="GeditTab"
           glib:get-type="gedit_tab_get_type"
           glib:type-struct="TabClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Orientable"/>
      <function name="get_from_document"
                c:identifier="gedit_tab_get_from_document">
        <doc xml:space="preserve">Gets the #GeditTab associated with @doc.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditTab associated with @doc</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </parameter>
        </parameters>
      </function>
      <method name="get_auto_save_enabled"
              c:identifier="gedit_tab_get_auto_save_enabled">
        <doc xml:space="preserve">Gets the current state for the autosave feature</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">%TRUE if the autosave is enabled, else %FALSE</doc>
          <type name="gboolean" c:type="gboolean"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_auto_save_interval"
              c:identifier="gedit_tab_get_auto_save_interval">
        <doc xml:space="preserve">Gets the current interval for the autosaves</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the value of the autosave</doc>
          <type name="gint" c:type="gint"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_document" c:identifier="gedit_tab_get_document">
        <doc xml:space="preserve">Gets the #GeditDocument associated to @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditDocument associated to @tab</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="gedit_tab_get_state">
        <doc xml:space="preserve">Gets the #GeditTabState of @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditTabState of @tab</doc>
          <type name="TabState" c:type="GeditTabState"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_view" c:identifier="gedit_tab_get_view">
        <doc xml:space="preserve">Gets the #GeditView inside @tab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditView inside @tab</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_auto_save_enabled"
              c:identifier="gedit_tab_set_auto_save_enabled">
        <doc xml:space="preserve">Enables or disables the autosave feature. It does not install an
autosave timeout if the document is new or is read-only</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="enable" transfer-ownership="none">
            <doc xml:space="preserve">enable (%TRUE) or disable (%FALSE) auto save</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_auto_save_interval"
              c:identifier="gedit_tab_set_auto_save_interval">
        <doc xml:space="preserve">Sets the interval for the autosave feature.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="interval" transfer-ownership="none">
            <doc xml:space="preserve">the new interval</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
        </parameters>
      </method>
      <method name="set_info_bar" c:identifier="gedit_tab_set_info_bar">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </instance-parameter>
          <parameter name="info_bar" transfer-ownership="none">
            <type name="Gtk.Widget" c:type="GtkWidget*"/>
          </parameter>
        </parameters>
      </method>
      <property name="autosave" writable="1" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="autosave-interval"
                writable="1"
                transfer-ownership="none">
        <type name="gint" c:type="gint"/>
      </property>
      <property name="can-close" transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </property>
      <property name="name" transfer-ownership="none">
        <type name="utf8" c:type="gchar*"/>
      </property>
      <property name="state" transfer-ownership="none">
        <type name="TabState"/>
      </property>
      <glib:signal name="drop-uris" when="last" action="1">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <record name="TabClass"
            c:type="GeditTabClass"
            glib:is-gtype-struct-for="Tab">
      <field name="parent_class">
        <type name="Gtk.BoxClass" c:type="GtkBoxClass"/>
      </field>
    </record>
    <enumeration name="TabState"
                 glib:type-name="GeditTabState"
                 glib:get-type="gedit_tab_state_get_type"
                 c:type="GeditTabState">
      <member name="state_normal"
              value="0"
              c:identifier="GEDIT_TAB_STATE_NORMAL"
              glib:nick="state-normal">
      </member>
      <member name="state_loading"
              value="1"
              c:identifier="GEDIT_TAB_STATE_LOADING"
              glib:nick="state-loading">
      </member>
      <member name="state_reverting"
              value="2"
              c:identifier="GEDIT_TAB_STATE_REVERTING"
              glib:nick="state-reverting">
      </member>
      <member name="state_saving"
              value="3"
              c:identifier="GEDIT_TAB_STATE_SAVING"
              glib:nick="state-saving">
      </member>
      <member name="state_printing"
              value="4"
              c:identifier="GEDIT_TAB_STATE_PRINTING"
              glib:nick="state-printing">
      </member>
      <member name="state_print_previewing"
              value="5"
              c:identifier="GEDIT_TAB_STATE_PRINT_PREVIEWING"
              glib:nick="state-print-previewing">
      </member>
      <member name="state_showing_print_preview"
              value="6"
              c:identifier="GEDIT_TAB_STATE_SHOWING_PRINT_PREVIEW"
              glib:nick="state-showing-print-preview">
      </member>
      <member name="state_generic_not_editable"
              value="7"
              c:identifier="GEDIT_TAB_STATE_GENERIC_NOT_EDITABLE"
              glib:nick="state-generic-not-editable">
      </member>
      <member name="state_loading_error"
              value="8"
              c:identifier="GEDIT_TAB_STATE_LOADING_ERROR"
              glib:nick="state-loading-error">
      </member>
      <member name="state_reverting_error"
              value="9"
              c:identifier="GEDIT_TAB_STATE_REVERTING_ERROR"
              glib:nick="state-reverting-error">
      </member>
      <member name="state_saving_error"
              value="10"
              c:identifier="GEDIT_TAB_STATE_SAVING_ERROR"
              glib:nick="state-saving-error">
      </member>
      <member name="state_generic_error"
              value="11"
              c:identifier="GEDIT_TAB_STATE_GENERIC_ERROR"
              glib:nick="state-generic-error">
      </member>
      <member name="state_closing"
              value="12"
              c:identifier="GEDIT_TAB_STATE_CLOSING"
              glib:nick="state-closing">
      </member>
      <member name="state_externally_modified_notification"
              value="13"
              c:identifier="GEDIT_TAB_STATE_EXTERNALLY_MODIFIED_NOTIFICATION"
              glib:nick="state-externally-modified-notification">
      </member>
      <member name="num_of_states"
              value="14"
              c:identifier="GEDIT_TAB_NUM_OF_STATES"
              glib:nick="num-of-states">
      </member>
    </enumeration>
    <class name="View"
           c:symbol-prefix="view"
           c:type="GeditView"
           parent="GtkSource.View"
           glib:type-name="GeditView"
           glib:get-type="gedit_view_get_type"
           glib:type-struct="ViewClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gtk.Buildable"/>
      <implements name="Gtk.Scrollable"/>
      <constructor name="new" c:identifier="gedit_view_new">
        <doc xml:space="preserve">Creates a new #GeditView object displaying the @doc document.
@doc cannot be %NULL.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GeditView.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <parameter name="doc" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditDocument</doc>
            <type name="Document" c:type="GeditDocument*"/>
          </parameter>
        </parameters>
      </constructor>
      <virtual-method name="drop_uris">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
          <parameter name="uri_list" transfer-ownership="none">
            <type name="utf8" c:type="gchar**"/>
          </parameter>
        </parameters>
      </virtual-method>
      <method name="copy_clipboard" c:identifier="gedit_view_copy_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="cut_clipboard" c:identifier="gedit_view_cut_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="delete_selection"
              c:identifier="gedit_view_delete_selection">
        <doc xml:space="preserve">Deletes the text currently selected in the #GtkTextBuffer associated
to the view and scroll to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="paste_clipboard" c:identifier="gedit_view_paste_clipboard">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="scroll_to_cursor"
              c:identifier="gedit_view_scroll_to_cursor">
        <doc xml:space="preserve">Scrolls the @view to the cursor position.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="select_all" c:identifier="gedit_view_select_all">
        <doc xml:space="preserve">Selects all the text.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_font" c:identifier="gedit_view_set_font">
        <doc xml:space="preserve">If @default_font is #TRUE, resets the font of the @view to the default font.
Otherwise sets it to @font_name.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="view" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditView</doc>
            <type name="View" c:type="GeditView*"/>
          </instance-parameter>
          <parameter name="default_font" transfer-ownership="none">
            <doc xml:space="preserve">whether to reset to the default font</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="font_name" transfer-ownership="none">
            <doc xml:space="preserve">the name of the font to use</doc>
            <type name="utf8" c:type="const gchar*"/>
          </parameter>
        </parameters>
      </method>
      <field name="view">
        <type name="GtkSource.View" c:type="GtkSourceView"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="ViewPrivate" c:type="GeditViewPrivate*"/>
      </field>
      <glib:signal name="drop-uris" when="last" action="1">
        <doc xml:space="preserve">The #GeditView::drop-uris signal allows plugins to intercept the
default drag-and-drop behaviour of 'text/uri-list'. #GeditView
handles drag-and-drop in the default handlers of
#GtkWidget::drag-drop, #GtkWidget::drag-motion and
#GtkWidget::drag-data-received. The view emits the
#GeditView::drop-uris signal from #GtkWidget::drag-data-received if
valid URIs have been dropped.  Plugins should connect to
#GtkWidget::drag-motion, #GtkWidget::drag-drop and
#GtkWidget::drag-data-received to change this default behaviour. They
should NOT use this signal because this will not prevent gedit from
loading the URI.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="uri_list" transfer-ownership="none">
            <doc xml:space="preserve">a %NULL-terminated list of URIs.</doc>
            <array>
              <type name="utf8"/>
            </array>
          </parameter>
        </parameters>
      </glib:signal>
    </class>
    <interface name="ViewActivatable"
               c:symbol-prefix="view_activatable"
               c:type="GeditViewActivatable"
               glib:type-name="GeditViewActivatable"
               glib:get-type="gedit_view_activatable_get_type"
               glib:type-struct="ViewActivatableInterface">
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve">Activates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve">Deactivates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_view_activatable_activate">
        <doc xml:space="preserve">Activates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_view_activatable_deactivate">
        <doc xml:space="preserve">Deactivates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditViewActivatable.</doc>
            <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="view"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The window property contains the gedit window for this
#GeditViewActivatable instance.</doc>
        <type name="View"/>
      </property>
    </interface>
    <record name="ViewActivatableInterface"
            c:type="GeditViewActivatableInterface"
            glib:is-gtype-struct-for="ViewActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditViewActivatable.</doc>
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditViewActivatable.</doc>
              <type name="ViewActivatable" c:type="GeditViewActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="ViewClass"
            c:type="GeditViewClass"
            glib:is-gtype-struct-for="View">
      <field name="parent_class">
        <type name="GtkSource.ViewClass" c:type="GtkSourceViewClass"/>
      </field>
      <field name="drop_uris">
        <callback name="drop_uris">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="view" transfer-ownership="none">
              <type name="View" c:type="GeditView*"/>
            </parameter>
            <parameter name="uri_list" transfer-ownership="none">
              <type name="utf8" c:type="gchar**"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="padding">
        <type name="gpointer" c:type="gpointer"/>
      </field>
    </record>
    <record name="ViewPrivate" c:type="GeditViewPrivate" disguised="1">
    </record>
    <class name="Window"
           c:symbol-prefix="window"
           c:type="GeditWindow"
           parent="Gtk.ApplicationWindow"
           glib:type-name="GeditWindow"
           glib:get-type="gedit_window_get_type"
           glib:type-struct="WindowClass">
      <implements name="Atk.ImplementorIface"/>
      <implements name="Gio.ActionGroup"/>
      <implements name="Gio.ActionMap"/>
      <implements name="Gtk.Buildable"/>
      <virtual-method name="active_tab_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="active_tab_state_changed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_added">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tab_removed">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="tabs_reordered">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="close_all_tabs" c:identifier="gedit_window_close_all_tabs">
        <doc xml:space="preserve">Closes all opened tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="close_tab" c:identifier="gedit_window_close_tab">
        <doc xml:space="preserve">Closes the @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">the #GeditTab to close</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </method>
      <method name="close_tabs" c:identifier="gedit_window_close_tabs">
        <doc xml:space="preserve">Closes all tabs specified by @tabs.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tabs" transfer-ownership="none">
            <doc xml:space="preserve">a list of #GeditTab</doc>
            <type name="GLib.List" c:type="const GList*">
              <type name="Tab"/>
            </type>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab" c:identifier="gedit_window_create_tab">
        <doc xml:space="preserve">Creates a new #GeditTab and adds the new tab to the #GtkNotebook.
In case @jump_to is %TRUE the #GtkNotebook switches to that new #GeditTab.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_location"
              c:identifier="gedit_window_create_tab_from_location">
        <doc xml:space="preserve">Creates a new #GeditTab loading the document specified by @uri.
In case @jump_to is %TRUE the #GtkNotebook swithes to that new #GeditTab.
Whether @create is %TRUE, creates a new empty document if location does
not refer to an existing file</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">the location of the document</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GtkSourceEncoding, or %NULL</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:space="preserve">the column position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="create" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to create a new document in case @uri does exist</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="create_tab_from_stream"
              c:identifier="gedit_window_create_tab_from_stream">
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">a new #GeditTab</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="stream" transfer-ownership="none">
            <doc xml:space="preserve">a #GInputStream</doc>
            <type name="Gio.InputStream" c:type="GInputStream*"/>
          </parameter>
          <parameter name="encoding"
                     transfer-ownership="none"
                     nullable="1"
                     allow-none="1">
            <doc xml:space="preserve">a #GtkSourceEncoding, or %NULL</doc>
            <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
          </parameter>
          <parameter name="line_pos" transfer-ownership="none">
            <doc xml:space="preserve">the line position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="column_pos" transfer-ownership="none">
            <doc xml:space="preserve">the column position to visualize</doc>
            <type name="gint" c:type="gint"/>
          </parameter>
          <parameter name="jump_to" transfer-ownership="none">
            <doc xml:space="preserve">%TRUE to set the new #GeditTab as active</doc>
            <type name="gboolean" c:type="gboolean"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_active_document"
              c:identifier="gedit_window_get_active_document">
        <doc xml:space="preserve">Gets the active #GeditDocument.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #GeditDocument</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_tab" c:identifier="gedit_window_get_active_tab">
        <doc xml:space="preserve">Gets the active #GeditTab in the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #GeditTab in the @window.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_active_view"
              c:identifier="gedit_window_get_active_view">
        <doc xml:space="preserve">Gets the active #GeditView.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the active #GeditView</doc>
          <type name="View" c:type="GeditView*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_bottom_panel"
              c:identifier="gedit_window_get_bottom_panel">
        <doc xml:space="preserve">Gets the bottom panel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the bottom panel's #GtkStack.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_documents" c:identifier="gedit_window_get_documents">
        <doc xml:space="preserve">Gets a newly allocated list with all the documents in the window.
This list must be freed.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a newly
allocated list with all the documents in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_group" c:identifier="gedit_window_get_group">
        <doc xml:space="preserve">Gets the #GtkWindowGroup in which @window resides.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GtkWindowGroup</doc>
          <type name="Gtk.WindowGroup" c:type="GtkWindowGroup*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_message_bus"
              c:identifier="gedit_window_get_message_bus">
        <doc xml:space="preserve">Gets the #GeditMessageBus associated with @window. The returned reference
is owned by the window and should not be unreffed.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditMessageBus associated with @window</doc>
          <type name="MessageBus" c:type="GeditMessageBus*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_side_panel" c:identifier="gedit_window_get_side_panel">
        <doc xml:space="preserve">Gets the side panel of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the side panel's #GtkStack.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_state" c:identifier="gedit_window_get_state">
        <doc xml:space="preserve">Retrieves the state of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the current #GeditWindowState of the @window.</doc>
          <type name="WindowState" c:type="GeditWindowState"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_statusbar" c:identifier="gedit_window_get_statusbar">
        <doc xml:space="preserve">Gets the #GeditStatusbar of the @window.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditStatusbar of the @window.</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_tab_from_location"
              c:identifier="gedit_window_get_tab_from_location">
        <doc xml:space="preserve">Gets the #GeditTab that matches with the given @location.</doc>
        <return-value transfer-ownership="none">
          <doc xml:space="preserve">the #GeditTab that matches with the given @location.</doc>
          <type name="Tab" c:type="GeditTab*"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="location" transfer-ownership="none">
            <doc xml:space="preserve">a #GFile</doc>
            <type name="Gio.File" c:type="GFile*"/>
          </parameter>
        </parameters>
      </method>
      <method name="get_unsaved_documents"
              c:identifier="gedit_window_get_unsaved_documents">
        <doc xml:space="preserve">Gets the list of documents that need to be saved before closing the window.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a list of
#GeditDocument that need to be saved before closing the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="Document"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="get_views" c:identifier="gedit_window_get_views">
        <doc xml:space="preserve">Gets a list with all the views in the window. This list must be freed.</doc>
        <return-value transfer-ownership="container">
          <doc xml:space="preserve">a newly allocated
list with all the views in the window</doc>
          <type name="GLib.List" c:type="GList*">
            <type name="View"/>
          </type>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="set_active_tab" c:identifier="gedit_window_set_active_tab">
        <doc xml:space="preserve">Switches to the tab that matches with @tab.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="window" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditWindow</doc>
            <type name="Window" c:type="GeditWindow*"/>
          </instance-parameter>
          <parameter name="tab" transfer-ownership="none">
            <doc xml:space="preserve">a #GeditTab</doc>
            <type name="Tab" c:type="GeditTab*"/>
          </parameter>
        </parameters>
      </method>
      <property name="state" transfer-ownership="none">
        <type name="WindowState"/>
      </property>
      <field name="window">
        <type name="Gtk.ApplicationWindow" c:type="GtkApplicationWindow"/>
      </field>
      <field name="priv" readable="0" private="1">
        <type name="WindowPrivate" c:type="GeditWindowPrivate*"/>
      </field>
      <glib:signal name="active-tab-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="active-tab-state-changed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
      <glib:signal name="tab-added" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tab-removed" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <parameter name="object" transfer-ownership="none">
            <type name="Tab"/>
          </parameter>
        </parameters>
      </glib:signal>
      <glib:signal name="tabs-reordered" when="first">
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
      </glib:signal>
    </class>
    <interface name="WindowActivatable"
               c:symbol-prefix="window_activatable"
               c:type="GeditWindowActivatable"
               glib:type-name="GeditWindowActivatable"
               glib:get-type="gedit_window_activatable_get_type"
               glib:type-struct="WindowActivatableInterface">
      <virtual-method name="activate" invoker="activate">
        <doc xml:space="preserve">Activates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="deactivate" invoker="deactivate">
        <doc xml:space="preserve">Deactivates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <virtual-method name="update_state" invoker="update_state">
        <doc xml:space="preserve">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </virtual-method>
      <method name="activate" c:identifier="gedit_window_activatable_activate">
        <doc xml:space="preserve">Activates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="deactivate"
              c:identifier="gedit_window_activatable_deactivate">
        <doc xml:space="preserve">Deactivates the extension on the window property.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <method name="update_state"
              c:identifier="gedit_window_activatable_update_state">
        <doc xml:space="preserve">Triggers an update of the extension internal state to take into account
state changes in the window, due to some event or user action.</doc>
        <return-value transfer-ownership="none">
          <type name="none" c:type="void"/>
        </return-value>
        <parameters>
          <instance-parameter name="activatable" transfer-ownership="none">
            <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
            <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
          </instance-parameter>
        </parameters>
      </method>
      <property name="window"
                writable="1"
                construct-only="1"
                transfer-ownership="none">
        <doc xml:space="preserve">The window property contains the gedit window for this
#GeditWindowActivatable instance.</doc>
        <type name="Window"/>
      </property>
    </interface>
    <record name="WindowActivatableInterface"
            c:type="GeditWindowActivatableInterface"
            glib:is-gtype-struct-for="WindowActivatable">
      <field name="g_iface">
        <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
      </field>
      <field name="activate">
        <callback name="activate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="deactivate">
        <callback name="deactivate">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="update_state">
        <callback name="update_state">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="activatable" transfer-ownership="none">
              <doc xml:space="preserve">A #GeditWindowActivatable.</doc>
              <type name="WindowActivatable" c:type="GeditWindowActivatable*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowClass"
            c:type="GeditWindowClass"
            glib:is-gtype-struct-for="Window">
      <field name="parent_class">
        <type name="Gtk.ApplicationWindowClass"
              c:type="GtkApplicationWindowClass"/>
      </field>
      <field name="tab_added">
        <callback name="tab_added">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="GeditTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tab_removed">
        <callback name="tab_removed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="GeditTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="tabs_reordered">
        <callback name="tabs_reordered">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_changed">
        <callback name="active_tab_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
            <parameter name="tab" transfer-ownership="none">
              <type name="Tab" c:type="GeditTab*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
      <field name="active_tab_state_changed">
        <callback name="active_tab_state_changed">
          <return-value transfer-ownership="none">
            <type name="none" c:type="void"/>
          </return-value>
          <parameters>
            <parameter name="window" transfer-ownership="none">
              <type name="Window" c:type="GeditWindow*"/>
            </parameter>
          </parameters>
        </callback>
      </field>
    </record>
    <record name="WindowPrivate" c:type="GeditWindowPrivate" disguised="1">
    </record>
    <bitfield name="WindowState"
              glib:type-name="GeditWindowState"
              glib:get-type="gedit_window_state_get_type"
              c:type="GeditWindowState">
      <member name="normal"
              value="0"
              c:identifier="GEDIT_WINDOW_STATE_NORMAL"
              glib:nick="normal">
      </member>
      <member name="saving"
              value="2"
              c:identifier="GEDIT_WINDOW_STATE_SAVING"
              glib:nick="saving">
      </member>
      <member name="printing"
              value="4"
              c:identifier="GEDIT_WINDOW_STATE_PRINTING"
              glib:nick="printing">
      </member>
      <member name="loading"
              value="8"
              c:identifier="GEDIT_WINDOW_STATE_LOADING"
              glib:nick="loading">
      </member>
      <member name="error"
              value="16"
              c:identifier="GEDIT_WINDOW_STATE_ERROR"
              glib:nick="error">
      </member>
    </bitfield>
    <function name="commands_load_location"
              c:identifier="gedit_commands_load_location">
      <doc xml:space="preserve">Loads @location. Ignores non-existing locations.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve">a #GFile to load</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the #GtkSourceEncoding of @location</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:space="preserve">the line position to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:space="preserve">the line column to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_load_locations"
              c:identifier="gedit_commands_load_locations">
      <doc xml:space="preserve">Loads @locations. Ignore non-existing locations.</doc>
      <return-value transfer-ownership="container">
        <doc xml:space="preserve">the locations
that were loaded.</doc>
        <type name="GLib.SList" c:type="GSList*">
          <type name="Document"/>
        </type>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditWindow</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="locations" transfer-ownership="none">
          <doc xml:space="preserve">the locations to load</doc>
          <type name="GLib.SList" c:type="const GSList*">
            <type name="Gio.File"/>
          </type>
        </parameter>
        <parameter name="encoding"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the #GtkSourceEncoding</doc>
          <type name="GtkSource.Encoding" c:type="const GtkSourceEncoding*"/>
        </parameter>
        <parameter name="line_pos" transfer-ownership="none">
          <doc xml:space="preserve">the line position to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="column_pos" transfer-ownership="none">
          <doc xml:space="preserve">the line column to place the cursor</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_all_documents"
              c:identifier="gedit_commands_save_all_documents">
      <doc xml:space="preserve">Asynchronously save all documents belonging to @window. The result of the
operation is not available, so it's difficult to know whether all the
documents are correctly saved.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document"
              c:identifier="gedit_commands_save_document">
      <doc xml:space="preserve">Asynchronously save @document. @document must belong to @window. If you need
the result of the operation, use gedit_commands_save_document_async().</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve">the #GeditDocument to save.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document_async"
              c:identifier="gedit_commands_save_document_async"
              version="3.14">
      <doc xml:space="preserve">Asynchronously save the @document. @document must belong to @window. The
source object of the async task is @document (which will be the first
parameter of the #GAsyncReadyCallback).

When the operation is finished, @callback will be called. You can then call
gedit_commands_save_document_finish() to get the result of the operation.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve">the #GeditDocument to save.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
        <parameter name="window" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditWindow.</doc>
          <type name="Window" c:type="GeditWindow*"/>
        </parameter>
        <parameter name="cancellable"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">optional #GCancellable object, %NULL to ignore.</doc>
          <type name="Gio.Cancellable" c:type="GCancellable*"/>
        </parameter>
        <parameter name="callback"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1"
                   scope="async"
                   closure="4">
          <doc xml:space="preserve">a #GAsyncReadyCallback to call when the operation
  is finished.</doc>
          <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <doc xml:space="preserve">the data to pass to the @callback function.</doc>
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="commands_save_document_finish"
              c:identifier="gedit_commands_save_document_finish"
              version="3.14">
      <doc xml:space="preserve">Finishes an asynchronous document saving operation started with
gedit_commands_save_document_async().

Note that there is no error parameter because the errors are already handled
by gedit.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if the document has been correctly saved, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="document" transfer-ownership="none">
          <doc xml:space="preserve">a #GeditDocument.</doc>
          <type name="Document" c:type="GeditDocument*"/>
        </parameter>
        <parameter name="result" transfer-ownership="none">
          <doc xml:space="preserve">a #GAsyncResult.</doc>
          <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug" c:identifier="gedit_debug">
      <doc xml:space="preserve">If @section is enabled, then logs the trace information @file, @line, and
@function.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:space="preserve">debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve">name of the function that is calling gedit_debug().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_init" c:identifier="gedit_debug_init">
      <doc xml:space="preserve">Initializes the debugging subsystem of gedit.

The function checks for the existence of certain environment variables to
determine whether to enable output for a debug section. To enable output
for a specific debug section, set an environment variable of the same name;
e.g. to enable output for the %GEDIT_DEBUG_PLUGINS section, set a
&lt;code&gt;GEDIT_DEBUG_PLUGINS&lt;/code&gt; environment variable. To enable output
for all debug sections, set the &lt;code&gt;GEDIT_DEBUG&lt;/code&gt; environment
variable.

This function must be called before any of the other debug functions are
called. It must only be called once.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
    </function>
    <function name="debug_message"
              c:identifier="gedit_debug_message"
              introspectable="0">
      <doc xml:space="preserve">If @section is enabled, then logs the trace information @file, @line, and
@function along with the message obtained by formatting @format with the
given format string arguments.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="section" transfer-ownership="none">
          <doc xml:space="preserve">debug section.</doc>
          <type name="DebugSection" c:type="GeditDebugSection"/>
        </parameter>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve">name of the function that is calling gedit_debug_message().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <doc xml:space="preserve">A g_vprintf() format string.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve">The format string arguments.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="debug_plugin_message"
              c:identifier="gedit_debug_plugin_message"
              version="3.4">
      <doc xml:space="preserve">If the section %GEDIT_DEBUG_PLUGINS is enabled, then logs the trace
information @file, @line, and @function along with @message.

This function may be overridden by GObject Introspection language bindings
to be more language-specific.

&lt;emphasis&gt;Python&lt;/emphasis&gt;

A PyGObject override is provided that has the following signature:
&lt;informalexample&gt;
  &lt;programlisting&gt;
    def debug_plugin_message(format_str, *format_args):
        #...
  &lt;/programlisting&gt;
&lt;/informalexample&gt;

It automatically supplies parameters @file, @line, and @function, and it
formats &lt;code&gt;format_str&lt;/code&gt; with the given format arguments. The syntax
of the format string is the usual Python string formatting syntax described
by &lt;ulink url="http://docs.python.org/library/stdtypes.html#string-formatting"&gt;5.6.2. String Formatting Operations&lt;/ulink&gt;.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="file" transfer-ownership="none">
          <doc xml:space="preserve">file name.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="line" transfer-ownership="none">
          <doc xml:space="preserve">line number.</doc>
          <type name="gint" c:type="gint"/>
        </parameter>
        <parameter name="function" transfer-ownership="none">
          <doc xml:space="preserve">name of the function that is calling gedit_debug_plugin_message().</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="message" transfer-ownership="none">
          <doc xml:space="preserve">a message.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_basename_for_display"
              c:identifier="gedit_utils_basename_for_display">
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">the basename of a file suitable for display to users.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve">location for which the basename should be displayed</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_decode_uri" c:identifier="gedit_utils_decode_uri">
      <doc xml:space="preserve">Parse and break an uri apart in its individual components like the uri
scheme, user info, port, host and path. The return value pointer can be
%NULL to ignore certain parts of the uri. If the function returns %TRUE, then
all return value pointers should be freed using g_free</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%TRUE if the uri could be properly decoded, %FALSE otherwise.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve">the uri to decode</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="scheme"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri's
scheme (e.g. http, sftp, ...), or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="user"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri user info, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="port"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri port, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="host"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri host, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="path"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full"
                   optional="1"
                   allow-none="1">
          <doc xml:space="preserve">return value pointer for the uri path, or %NULL</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_drop_get_uris"
              c:identifier="gedit_utils_drop_get_uris">
      <doc xml:space="preserve">Create a list of valid uri's from a uri-list drop.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a string array which will hold the uris or
          %NULL if there were no valid uris. g_strfreev should be used when
          the string array is no longer used</doc>
        <array c:type="gchar**">
          <type name="utf8"/>
        </array>
      </return-value>
      <parameters>
        <parameter name="selection_data" transfer-ownership="none">
          <doc xml:space="preserve">the #GtkSelectionData from drag_data_received</doc>
          <type name="Gtk.SelectionData" c:type="GtkSelectionData*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_escape_underscores"
              c:identifier="gedit_utils_escape_underscores"
              deprecated="1"
              deprecated-version="3.18">
      <doc xml:space="preserve">Doubles underscore to avoid spurious menu accels.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">the text escaped.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="text" transfer-ownership="none">
          <doc xml:space="preserve">some text.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="length" transfer-ownership="none">
          <doc xml:space="preserve">the length.</doc>
          <type name="gssize" c:type="gssize"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_compression_type_from_content_type"
              c:identifier="gedit_utils_get_compression_type_from_content_type">
      <return-value transfer-ownership="none">
        <type name="GtkSource.CompressionType"
              c:type="GtkSourceCompressionType"/>
      </return-value>
      <parameters>
        <parameter name="content_type" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_viewport"
              c:identifier="gedit_utils_get_current_viewport">
      <doc xml:space="preserve">Get the currently visible viewport origin for the #GdkScreen.

If the X11 window property isn't found, (0, 0) is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:space="preserve">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
        <parameter name="x"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">x-axis point.</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y"
                   direction="out"
                   caller-allocates="0"
                   transfer-ownership="full">
          <doc xml:space="preserve">y-axis point.</doc>
          <type name="gint" c:type="gint*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_current_workspace"
              c:identifier="gedit_utils_get_current_workspace">
      <doc xml:space="preserve">Get the currently visible workspace for the #GdkScreen.

If the X11 window property isn't found, 0 (the first workspace)
is returned.</doc>
      <return-value transfer-ownership="none">
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="screen" transfer-ownership="none">
          <doc xml:space="preserve">a #GdkScreen</doc>
          <type name="Gdk.Screen" c:type="GdkScreen*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects"
              c:identifier="gedit_utils_get_ui_objects"
              introspectable="0"
              deprecated="1"
              deprecated-version="3.18">
      <doc xml:space="preserve">This function gets the requested objects from a GtkBuilder ui file. In case
of error it returns %FALSE and sets error_widget to a GtkLabel containing
the error message to display.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%FALSE if an error occurs, %TRUE on success.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve">the path to the gtk builder file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:space="preserve">a %NULL terminated list of root objects to load or NULL to
               load all objects</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error_widget" transfer-ownership="none">
          <doc xml:space="preserve">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:space="preserve">the name of the first object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve">a pointer were the first object is returned, followed by more
      name / object pairs and terminated by %NULL.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_ui_objects_with_translation_domain"
              c:identifier="gedit_utils_get_ui_objects_with_translation_domain"
              introspectable="0"
              deprecated="1"
              deprecated-version="3.18">
      <doc xml:space="preserve">This function gets the requested objects from a GtkBuilder ui file. In case
of error it returns %FALSE and sets error_widget to a GtkLabel containing
the error message to display.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">%FALSE if an error occurs, %TRUE on success.</doc>
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="filename" transfer-ownership="none">
          <doc xml:space="preserve">the path to the gtk builder file</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="translation_domain" transfer-ownership="none">
          <doc xml:space="preserve">the specific translation domain</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="root_objects" transfer-ownership="none">
          <doc xml:space="preserve">a %NULL terminated list of root objects to load or NULL to
               load all objects</doc>
          <type name="utf8" c:type="gchar**"/>
        </parameter>
        <parameter name="error_widget" transfer-ownership="none">
          <doc xml:space="preserve">a pointer were a #GtkLabel</doc>
          <type name="Gtk.Widget" c:type="GtkWidget**"/>
        </parameter>
        <parameter name="object_name" transfer-ownership="none">
          <doc xml:space="preserve">the name of the first object</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <doc xml:space="preserve">a pointer were the first object is returned, followed by more
      name / object pairs and terminated by %NULL.</doc>
          <varargs/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_get_window_workspace"
              c:identifier="gedit_utils_get_window_workspace">
      <doc xml:space="preserve">Get the workspace the window is on.

This function gets the workspace that the #GtkWindow is visible on,
it returns GEDIT_ALL_WORKSPACES if the window is sticky, or if
the window manager doesn't support this function.</doc>
      <return-value transfer-ownership="none">
        <doc xml:space="preserve">the workspace the window is on.</doc>
        <type name="guint" c:type="guint"/>
      </return-value>
      <parameters>
        <parameter name="gtkwindow" transfer-ownership="none">
          <doc xml:space="preserve">a #GtkWindow.</doc>
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_is_valid_location"
              c:identifier="gedit_utils_is_valid_location">
      <return-value transfer-ownership="none">
        <type name="gboolean" c:type="gboolean"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_location_get_dirname_for_display"
              c:identifier="gedit_utils_location_get_dirname_for_display">
      <doc xml:space="preserve">Returns a string suitable to be displayed in the UI indicating
the name of the directory where the file is located.
For remote files it may also contain the hostname etc.
For local files it tries to replace the home dir with ~.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">a string to display the dirname</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="location" transfer-ownership="none">
          <doc xml:space="preserve">the location</doc>
          <type name="Gio.File" c:type="GFile*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_canonical_uri_from_shell_arg"
              c:identifier="gedit_utils_make_canonical_uri_from_shell_arg"
              deprecated="1"
              deprecated-version="3.18">
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">canonical URI, or %NULL if @str is not a valid URI and/or filename.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="str" transfer-ownership="none">
          <doc xml:space="preserve">shell arg.</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_make_valid_utf8"
              c:identifier="gedit_utils_make_valid_utf8">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="name" transfer-ownership="none">
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_tree_view"
              c:identifier="gedit_utils_menu_position_under_tree_view">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_menu_position_under_widget"
              c:identifier="gedit_utils_menu_position_under_widget">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="menu" transfer-ownership="none">
          <type name="Gtk.Menu" c:type="GtkMenu*"/>
        </parameter>
        <parameter name="x" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="y" transfer-ownership="none">
          <type name="gint" c:type="gint*"/>
        </parameter>
        <parameter name="push_in" transfer-ownership="none">
          <type name="gboolean" c:type="gboolean*"/>
        </parameter>
        <parameter name="user_data"
                   transfer-ownership="none"
                   nullable="1"
                   allow-none="1">
          <type name="gpointer" c:type="gpointer"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_newline_type_to_string"
              c:identifier="gedit_utils_newline_type_to_string">
      <return-value transfer-ownership="none">
        <type name="utf8" c:type="const gchar*"/>
      </return-value>
      <parameters>
        <parameter name="newline_type" transfer-ownership="none">
          <type name="GtkSource.NewlineType" c:type="GtkSourceNewlineType"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_replace_home_dir_with_tilde"
              c:identifier="gedit_utils_replace_home_dir_with_tilde">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_name_description"
              c:identifier="gedit_utils_set_atk_name_description">
      <doc xml:space="preserve">This function sets up name and description
for a specified gtk widget.</doc>
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="widget" transfer-ownership="none">
          <doc xml:space="preserve">The Gtk widget for which name/description to be set</doc>
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="name" transfer-ownership="none">
          <doc xml:space="preserve">Atk name string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="description" transfer-ownership="none">
          <doc xml:space="preserve">Atk description string</doc>
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_atk_relation"
              c:identifier="gedit_utils_set_atk_relation">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="obj1" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="obj2" transfer-ownership="none">
          <type name="Gtk.Widget" c:type="GtkWidget*"/>
        </parameter>
        <parameter name="rel_type" transfer-ownership="none">
          <type name="Atk.RelationType" c:type="AtkRelationType"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_set_direct_save_filename"
              c:identifier="gedit_utils_set_direct_save_filename">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="context" transfer-ownership="none">
          <type name="Gdk.DragContext" c:type="GdkDragContext*"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_end_truncate"
              c:identifier="gedit_utils_str_end_truncate">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_str_middle_truncate"
              c:identifier="gedit_utils_str_middle_truncate">
      <return-value transfer-ownership="full">
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="string" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="truncate_length" transfer-ownership="none">
          <type name="guint" c:type="guint"/>
        </parameter>
      </parameters>
    </function>
    <function name="utils_uri_get_dirname"
              c:identifier="gedit_utils_uri_get_dirname"
              deprecated="1"
              deprecated-version="3.18">
      <doc xml:space="preserve">Note: this function replace home dir with ~.</doc>
      <return-value transfer-ownership="full">
        <doc xml:space="preserve">the directory name.</doc>
        <type name="utf8" c:type="gchar*"/>
      </return-value>
      <parameters>
        <parameter name="uri" transfer-ownership="none">
          <doc xml:space="preserve">the URI.</doc>
          <type name="utf8" c:type="const char*"/>
        </parameter>
      </parameters>
    </function>
    <function name="warning" c:identifier="gedit_warning" introspectable="0">
      <return-value transfer-ownership="none">
        <type name="none" c:type="void"/>
      </return-value>
      <parameters>
        <parameter name="parent" transfer-ownership="none">
          <type name="Gtk.Window" c:type="GtkWindow*"/>
        </parameter>
        <parameter name="format" transfer-ownership="none">
          <type name="utf8" c:type="const gchar*"/>
        </parameter>
        <parameter name="..." transfer-ownership="none">
          <varargs/>
        </parameter>
      </parameters>
    </function>
  </namespace>
</repository>

Youez - 2016 - github.com/yon3zu
LinuXploit