<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="gl">
	<id>http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Creando_Widgets_GTK</id>
	<title>Creando Widgets GTK - Historial de revisións</title>
	<link rel="self" type="application/atom+xml" href="http://web.iesrodeira.com/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Creando_Widgets_GTK"/>
	<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;action=history"/>
	<updated>2026-09-13T12:29:00Z</updated>
	<subtitle>Historial de revisións desta páxina no wiki</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=3198&amp;oldid=prev</id>
		<title>Xavi o 7 de novembro de 2023 ás 17:04</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=3198&amp;oldid=prev"/>
		<updated>2023-11-07T17:04:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 7 de novembro de 2023 ás 17:04&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Estructura dun Widget GTK+ ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Estructura dun Widget GTK+ ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mm&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atributos (variables) e métodos (punteiros a funcións) representando as distintas sinais ás que vai a reaccionar o Widget. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atributos (variables) e métodos (punteiros a funcións) representando as distintas sinais ás que vai a reaccionar o Widget. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=3197&amp;oldid=prev</id>
		<title>Xavi o 7 de novembro de 2023 ás 17:04</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=3197&amp;oldid=prev"/>
		<updated>2023-11-07T17:04:37Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 7 de novembro de 2023 ás 17:04&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 1:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 1:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Estructura dun Widget GTK+ ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Estructura dun Widget GTK+ ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;mm&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atributos (variables) e métodos (punteiros a funcións) representando as distintas sinais ás que vai a reaccionar o Widget. &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atributos (variables) e métodos (punteiros a funcións) representando as distintas sinais ás que vai a reaccionar o Widget. &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2771&amp;oldid=prev</id>
		<title>Xavi: /* Estructura dun Widget GTK+ */</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2771&amp;oldid=prev"/>
		<updated>2019-06-12T09:32:33Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Estructura dun Widget GTK+&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 12 de xuño de 2019 ás 09:32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039; style=&#039;font-size:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;90&lt;/del&gt;%&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039; style=&#039;font-size:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;80&lt;/ins&gt;%&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2770&amp;oldid=prev</id>
		<title>Xavi o 12 de xuño de 2019 ás 09:32</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2770&amp;oldid=prev"/>
		<updated>2019-06-12T09:32:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 12 de xuño de 2019 ás 09:32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039; style=&#039;font-size:&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;40&lt;/del&gt;%&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039; style=&#039;font-size:&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;90&lt;/ins&gt;%&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2769&amp;oldid=prev</id>
		<title>Xavi o 12 de xuño de 2019 ás 09:32</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=2769&amp;oldid=prev"/>
		<updated>2019-06-12T09:32:05Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 12 de xuño de 2019 ás 09:32&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039; style=&#039;font-size:40%&lt;/ins&gt;&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=1850&amp;oldid=prev</id>
		<title>Xavi o 26 de xuño de 2014 ás 09:54</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=1850&amp;oldid=prev"/>
		<updated>2014-06-26T09:54:21Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;gl&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Revisión máis antiga&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revisión como estaba o 26 de xuño de 2014 ás 09:54&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 8:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Vexamos un exemplo coa clase GtkButton:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;// Estructura definindo a nova clase&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;struct _GtkButtonClass&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 32:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 32:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pódese observar claramente que o primeiro campo das estructuras _GtkButtonClass e _GtkButton permiten facer un &#039;&#039;cast&#039;&#039; á clase pai con total seguridade. Tamén podemos observar os atributos dos obxectos en _GtkButton e os punteiros ós tratamentos de sinal en _GtkButtonClass.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Pódese observar claramente que o primeiro campo das estructuras _GtkButtonClass e _GtkButton permiten facer un &#039;&#039;cast&#039;&#039; á clase pai con total seguridade. Tamén podemos observar os atributos dos obxectos en _GtkButton e os punteiros ós tratamentos de sinal en _GtkButtonClass.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 40:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 40:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Ficheiro de Cabeceira ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Ficheiro de Cabeceira ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 130:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 130:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#endif /* __GTK_CALENDAR_BUTTON_H__ */&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#endif /* __GTK_CALENDAR_BUTTON_H__ */&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Implementación ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Implementación ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 374:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 374:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define __GTK_CALENDAR_BUTTON_C__&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;#define __GTK_CALENDAR_BUTTON_C__&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Proba ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== Proba ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Descargar&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;/* GtkCalendarButton&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 432:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 432:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;}&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Habilitando o Widget no Glade ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Habilitando o Widget no Glade ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 446:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 446:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== O Ficheiro de Descrición (Catálogo) ===&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;=== O Ficheiro de Descrición (Catálogo) ===&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O ficheiro de descrición é un ficheiro XML coa seguinte estructura:&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O ficheiro de descrición é un ficheiro XML coa seguinte estructura:&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-catalog name=&quot;nome_do_catalogo&quot; library=&quot;nome_libraría_dinámica&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-catalog name=&quot;nome_do_catalogo&quot; library=&quot;nome_libraría_dinámica&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 460:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 460:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-catalog&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-catalog&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== O Tag &#039;&#039;glade-catalog&#039;&#039; ====&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== O Tag &#039;&#039;glade-catalog&#039;&#039; ====&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 477:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 477:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Definición de Clases de Widgets ====&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Definición de Clases de Widgets ====&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;C&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-widget-class name=&quot;nome_da_clase&quot; generic-name=&quot;nome_xenerico_obxecto&quot; title=&quot;Nome_na_paleta&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-widget-class name=&quot;nome_da_clase&quot; generic-name=&quot;nome_xenerico_obxecto&quot; title=&quot;Nome_na_paleta&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 494:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 494:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;/children&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  &amp;lt;/children&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-widget-class&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-widget-class&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Definición de Grupos ====&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==== Definición de Grupos ====&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 503:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 503:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O catálogo para un widget como o do exemplo, é moi sinxelo, e ademáis non precisa de libraría de soporte xa que é moi simple.&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;O catálogo para un widget como o do exemplo, é moi sinxelo, e ademáis non precisa de libraría de soporte xa que é moi simple.&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-deleted&quot;&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;source lang=&#039;xml&#039;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;c&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-empty diff-side-added&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-catalog name=&quot;gtkcalendarbutton&quot; library=&quot;gtkcalendarbutton&quot; domain=&quot;glade3&quot; book=&quot;gtkcalendarbutton&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;glade-catalog name=&quot;gtkcalendarbutton&quot; library=&quot;gtkcalendarbutton&quot; domain=&quot;glade3&quot; book=&quot;gtkcalendarbutton&quot;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 517:&lt;/td&gt;
  &lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Liña 517:&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-catalog&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/glade-catalog&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;c&lt;/del&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;source&lt;/ins&gt;&amp;gt;&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br /&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Referencias ==&lt;/div&gt;&lt;/td&gt;
  &lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;
  &lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Referencias ==&lt;/div&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
	<entry>
		<id>http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=1849&amp;oldid=prev</id>
		<title>Xavi: Nova páxina: &quot;== Estructura dun Widget GTK+ == GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atri...&quot;</title>
		<link rel="alternate" type="text/html" href="http://web.iesrodeira.com/mediawiki/index.php?title=Creando_Widgets_GTK&amp;diff=1849&amp;oldid=prev"/>
		<updated>2014-06-26T09:52:19Z</updated>

		<summary type="html">&lt;p&gt;Nova páxina: &amp;quot;== Estructura dun Widget GTK+ == GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atri...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Páxina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Estructura dun Widget GTK+ ==&lt;br /&gt;
GTK+ está programado en C, pero utilizando técnicas de orientación a objxectos. Un widget GTK+ non é máis que unha estructura que conten atributos (variables) e métodos (punteiros a funcións) representando as distintas sinais ás que vai a reaccionar o Widget. &lt;br /&gt;
&lt;br /&gt;
O primeiro campo da estructura representando un Widget ten que ser a estructura da clase da que descende (herencia) de xeito que se poda facer un &amp;#039;&amp;#039;casting&amp;#039;&amp;#039; á clase pai.&lt;br /&gt;
&lt;br /&gt;
En paralelo a estructura definindo o novo Widget, é necesario crear unha estructura para almacenar a información relativa a cada elemento (obxecto) creado. Dun xeito similar á definición da nova clase Widget, o primeiro campo desta estructura debe ser o obxecto pai. &lt;br /&gt;
&lt;br /&gt;
Vexamos un exemplo coa clase GtkButton:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
// Estructura definindo a nova clase&lt;br /&gt;
struct _GtkButtonClass&lt;br /&gt;
{&lt;br /&gt;
  GtkContainerClass parent_class; //Estructura que almacena a clase pai&lt;br /&gt;
&lt;br /&gt;
  void (* pressed)  (GtkButton *button); // Sitio para os manexadores de sinal&lt;br /&gt;
  void (* released) (GtkButton *button);&lt;br /&gt;
  void (* clicked)  (GtkButton *button);&lt;br /&gt;
  void (* enter)    (GtkButton *button);&lt;br /&gt;
  void (* leave)    (GtkButton *button);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Estructura definindo o novo obxecto&lt;br /&gt;
struct _GtkButton&lt;br /&gt;
{&lt;br /&gt;
  GtkContainer container; // Estructura que conten o obxecto pai&lt;br /&gt;
&lt;br /&gt;
  GtkWidget *child;&lt;br /&gt;
&lt;br /&gt;
  guint in_button : 1;&lt;br /&gt;
  guint button_down : 1;&lt;br /&gt;
};&lt;br /&gt;
 &lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
Pódese observar claramente que o primeiro campo das estructuras _GtkButtonClass e _GtkButton permiten facer un &amp;#039;&amp;#039;cast&amp;#039;&amp;#039; á clase pai con total seguridade. Tamén podemos observar os atributos dos obxectos en _GtkButton e os punteiros ós tratamentos de sinal en _GtkButtonClass.&lt;br /&gt;
&lt;br /&gt;
== Creando un Novo Widget: GtkCalendarButton ==&lt;br /&gt;
Este widget consistirá nun botón que amosará unha data. O pulsar o botón aparecerá unha ventana emerxente cun calendario que permitirá elexir unha data que será a que se poña no botón.&lt;br /&gt;
A clase pai do &amp;#039;&amp;#039;GtkCalendarButton&amp;#039;&amp;#039; será GtkVBoxClass e o obxecto pai GtkVBox, xa que o botón aparecerá nun contedor.&lt;br /&gt;
=== Ficheiro de Cabeceira ===&lt;br /&gt;
Descargar&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
/* GtkCalendarButton&lt;br /&gt;
 * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería é software libre; poderás redistribuilo e/ou&lt;br /&gt;
 * modificalo baixo os termos da Licencia Xeral Pública GNU (GPL) tal&lt;br /&gt;
 * e como indica a Free Software Foundation; baixo a versión 2 &lt;br /&gt;
 * ou posteriores.&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería distribúese coa esperanza de que sexa útil, pero&lt;br /&gt;
 * SEN NINGUNHA GARANTIA; incluso sen a garantizar a súa adecuación&lt;br /&gt;
 * para un propósito concreto. Véxase a GPL para máis detalles.&lt;br /&gt;
 *&lt;br /&gt;
 * Deberías ter recibida unha copia da GPL xunto con esta librería,&lt;br /&gt;
 * se non fora así escribe a :&lt;br /&gt;
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 */&lt;br /&gt;
#ifndef __GTK_CALENDAR_BUTTON_H__&lt;br /&gt;
#define __GTK_CALENDAR_BUTTON_H__&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;gdk/gdk.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtkvbox.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtktogglebutton.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtkcalendar.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
G_BEGIN_DECLS&lt;br /&gt;
&lt;br /&gt;
// Declaración dos novos tipos&lt;br /&gt;
#define GTK_TYPE_CALENDAR_BUTTON         (gtk_calendar_button_get_type ())&lt;br /&gt;
#define GTK_CALENDAR_BUTTON(obj)         (G_TYPE_CHECK_INSTANCE_CAST ((obj), \\&lt;br /&gt;
                                          GTK_TYPE_CALENDAR_BUTTON, GtkCalendarButton))&lt;br /&gt;
#define GTK_CALENDAR_BUTTON_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), \\&lt;br /&gt;
                                          GTK_TYPE_CALENDAR_BUTTON, GtkCalendarButtonClass))&lt;br /&gt;
#define GTK_IS_CALENDAR_BUTTON(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \\&lt;br /&gt;
                                                   GTK_TYPE_CALENDAR_BUTTON))&lt;br /&gt;
#define GTK_IS_CALENDAR_BUTTON_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), \\&lt;br /&gt;
                                                   GTK_TYPE_CALENDAR_BUTTON))&lt;br /&gt;
#define GTK_CALENDAR_BUTTON_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), \\&lt;br /&gt;
                                                   GTK_TYPE_CALENDAR_BUTTON, GtkCalendarButtonClass))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
typedef struct _GtkCalendarButton       GtkCalendarButton;&lt;br /&gt;
typedef struct _GtkCalendarButtonClass  GtkCalendarButtonClass;&lt;br /&gt;
&lt;br /&gt;
// Estructura para o obxecto&lt;br /&gt;
struct _GtkCalendarButton&lt;br /&gt;
{&lt;br /&gt;
  GtkVBox ct;&lt;br /&gt;
&lt;br /&gt;
  GtkButton *bt;&lt;br /&gt;
  GtkCalendar *cal;&lt;br /&gt;
  GtkWindow *win;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Estructura para a clase&lt;br /&gt;
struct _GtkCalendarButtonClass&lt;br /&gt;
{&lt;br /&gt;
  GtkVBoxClass parent_class;&lt;br /&gt;
&lt;br /&gt;
  void (* calendar_show)  (GtkCalendarButton *cbutton);  // Sitio para poñer os handlers&lt;br /&gt;
  void (* calendar_hide) (GtkCalendarButton *cbutton);    // Sitio para poñer os handlers&lt;br /&gt;
  void (* calendar_select) (GtkCalendarButton *cbutton); // Sitio para poñer os handlers&lt;br /&gt;
&lt;br /&gt;
  /* Padding for future expansion */&lt;br /&gt;
  void (*_gtk_reserved1) (void);&lt;br /&gt;
  void (*_gtk_reserved2) (void);&lt;br /&gt;
  void (*_gtk_reserved3) (void);&lt;br /&gt;
  void (*_gtk_reserved4) (void);&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
// Tipo de datos para almacenar as datas&lt;br /&gt;
typedef struct tagGtkCBDate {&lt;br /&gt;
  int dia;&lt;br /&gt;
  int mes;&lt;br /&gt;
  int ano;&lt;br /&gt;
} GtkCBDate;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
// Funcións de uso externo&lt;br /&gt;
GType      gtk_calendar_button_get_type          (void) G_GNUC_CONST;&lt;br /&gt;
GtkWidget* gtk_calendar_button_new               (void);&lt;br /&gt;
GtkWidget *gtk_calendar_button_new_with_date (GtkCBDate *date);&lt;br /&gt;
GtkCBDate *gtk_calendar_button_get_date(GtkCalendarButton *cb,GtkCBDate *date);&lt;br /&gt;
void gtk_calendar_button_set_date(GtkCalendarButton *cb,GtkCBDate *date);&lt;br /&gt;
&lt;br /&gt;
G_END_DECLS&lt;br /&gt;
&lt;br /&gt;
#endif /* __GTK_CALENDAR_BUTTON_H__ */&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Implementación ===&lt;br /&gt;
Descargar&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
/* GtkCalendarButton&lt;br /&gt;
 * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería é software libre; poderás redistribuilo e/ou&lt;br /&gt;
 * modificalo baixo os termos da Licencia Xeral Pública GNU (GPL) tal&lt;br /&gt;
 * e como indica a Free Software Foundation; baixo a versión 2 &lt;br /&gt;
 * ou posteriores.&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería distribúese coa esperanza de que sexa útil, pero&lt;br /&gt;
 * SEN NINGUNHA GARANTIA; incluso sen a garantizar a súa adecuación&lt;br /&gt;
 * para un propósito concreto. Véxase a GPL para máis detalles.&lt;br /&gt;
 *&lt;br /&gt;
 * Deberías ter recibida unha copia da GPL xunto con esta librería,&lt;br /&gt;
 * se non fora así escribe a :&lt;br /&gt;
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;gtk/gtklabel.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtkmain.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtksignal.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtkprivate.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtkmarshal.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
#include &amp;quot;gtkcalendarbutton.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
// Sinais que emite o widget&lt;br /&gt;
enum {&lt;br /&gt;
  GTKCALENDARBUTTONSHOW_SIGNAL,&lt;br /&gt;
  GTKCALENDARBUTTONHIDE_SIGNAL,&lt;br /&gt;
  GTKCALENDARBUTTONSELECT_SIGNAL,&lt;br /&gt;
  LAST_SIGNAL&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
static void gtk_calendar_button_class_init (GtkCalendarButtonClass *class);&lt;br /&gt;
static void gtk_calendar_button_init (GtkCalendarButton *calendar_button);&lt;br /&gt;
&lt;br /&gt;
static void gtk_calendar_button_pressed       (GtkButton            *button);&lt;br /&gt;
static void gtk_calendar_button_released      (GtkButton            *button);&lt;br /&gt;
static void gtk_calendar_button_clicked       (GtkButton            *button);&lt;br /&gt;
static gboolean gtk_calendar_button_press_event( GtkWidget  *widget,  GtkCalendarButton *calendar_button );&lt;br /&gt;
static gboolean gtk_calendar_button_day_selected( GtkWidget  *widget,  GtkCalendarButton *calendar_button );&lt;br /&gt;
&lt;br /&gt;
char *parseDate(GtkCBDate *date,char *buffer);&lt;br /&gt;
&lt;br /&gt;
// Táboa para garda-los sinais.&lt;br /&gt;
static guint calendar_button_signals[LAST_SIGNAL] = { 0 };&lt;br /&gt;
&lt;br /&gt;
// Definimos GtkCalendarButton como heredada de VBOX.&lt;br /&gt;
G_DEFINE_TYPE (GtkCalendarButton, gtk_calendar_button, GTK_TYPE_VBOX)&lt;br /&gt;
&lt;br /&gt;
/* Inicialización da clase.&lt;br /&gt;
 *&lt;br /&gt;
 * Aquí sobreescribimos métodos da clase e creamos os sinais.&lt;br /&gt;
 */&lt;br /&gt;
static void gtk_calendar_button_class_init (GtkCalendarButtonClass *class)&lt;br /&gt;
{&lt;br /&gt;
   GObjectClass *gobject_class;&lt;br /&gt;
&lt;br /&gt;
   gobject_class = G_OBJECT_CLASS (class);&lt;br /&gt;
/* Poderíamos acceder ós métodos das clases pais para modifica-lo seu comportamento.&lt;br /&gt;
&lt;br /&gt;
  &lt;br /&gt;
  GtkWidgetClass *widget_class;&lt;br /&gt;
  GtkContainerClass *container_class;&lt;br /&gt;
  GtkVBoxClass *vbox_class;&lt;br /&gt;
  &lt;br /&gt;
  widget_class = (GtkWidgetClass*) class;&lt;br /&gt;
  container_class = (GtkContainerClass*) class;&lt;br /&gt;
  vbox_class = (GtkVBoxClass*) class;&lt;br /&gt;
&lt;br /&gt;
  gobject_class-&amp;gt;set_property = gtk_calendar_button_set_property;&lt;br /&gt;
  gobject_class-&amp;gt;get_property = gtk_calendar_button_get_property;&lt;br /&gt;
&lt;br /&gt;
  widget_class-&amp;gt;expose_event = gtk_calendar_button_expose;&lt;br /&gt;
  widget_class-&amp;gt;mnemonic_activate = gtk_calendar_button_mnemonic_activate;&lt;br /&gt;
*/&lt;br /&gt;
  &lt;br /&gt;
&lt;br /&gt;
  class-&amp;gt;calendar_show = NULL;&lt;br /&gt;
  class-&amp;gt;calendar_hide = NULL;  &lt;br /&gt;
  class-&amp;gt;calendar_select = NULL;&lt;br /&gt;
&lt;br /&gt;
  calendar_button_signals[GTKCALENDARBUTTONSHOW_SIGNAL] =&lt;br /&gt;
    g_signal_new (&amp;quot;calendar_show&amp;quot;,&lt;br /&gt;
		  G_OBJECT_CLASS_TYPE (gobject_class),&lt;br /&gt;
		  G_SIGNAL_RUN_FIRST,&lt;br /&gt;
		  G_STRUCT_OFFSET (GtkCalendarButtonClass, calendar_show),&lt;br /&gt;
		  NULL, NULL,&lt;br /&gt;
		  gtk_marshal_VOID__VOID,&lt;br /&gt;
		  G_TYPE_NONE, 0);&lt;br /&gt;
&lt;br /&gt;
 calendar_button_signals[GTKCALENDARBUTTONHIDE_SIGNAL] =&lt;br /&gt;
    g_signal_new (&amp;quot;calendar_hide&amp;quot;,&lt;br /&gt;
		  G_OBJECT_CLASS_TYPE (gobject_class),&lt;br /&gt;
		  G_SIGNAL_RUN_FIRST,&lt;br /&gt;
		  G_STRUCT_OFFSET (GtkCalendarButtonClass, calendar_hide),&lt;br /&gt;
		  NULL, NULL,&lt;br /&gt;
		  gtk_marshal_VOID__VOID,&lt;br /&gt;
		  G_TYPE_NONE, 0);&lt;br /&gt;
 calendar_button_signals[GTKCALENDARBUTTONSELECT_SIGNAL] =&lt;br /&gt;
    g_signal_new (&amp;quot;calendar_select&amp;quot;,&lt;br /&gt;
		  G_OBJECT_CLASS_TYPE (gobject_class),&lt;br /&gt;
		  G_SIGNAL_RUN_LAST,&lt;br /&gt;
		  G_STRUCT_OFFSET (GtkCalendarButtonClass, calendar_select),&lt;br /&gt;
		  g_signal_accumulator_true_handled, NULL,&lt;br /&gt;
		  gtk_marshal_BOOLEAN__POINTER,&lt;br /&gt;
		  G_TYPE_BOOLEAN, 1,GTK_TYPE_POINTER);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Auxiliar&lt;br /&gt;
 * A partir dunha data numérica devolve unha representación alfabética&lt;br /&gt;
 * TODO: Internacionalización.&lt;br /&gt;
 */&lt;br /&gt;
char *parseDate(GtkCBDate *date,char *buffer)&lt;br /&gt;
{&lt;br /&gt;
    char *meses[]={&amp;quot;Xaneiro&amp;quot;,&amp;quot;Febreiro&amp;quot;,&amp;quot;Marzo&amp;quot;,&amp;quot;Abril&amp;quot;,&amp;quot;Maio&amp;quot;,&amp;quot;Xuño&amp;quot;,&amp;quot;Xullo&amp;quot;,&amp;quot;Agosto&amp;quot;,&lt;br /&gt;
                   &amp;quot;Setembro&amp;quot;,&amp;quot;Outubre&amp;quot;,&amp;quot;Novembro&amp;quot;,&amp;quot;Decembro&amp;quot;};&lt;br /&gt;
&lt;br /&gt;
    snprintf(buffer,255,&amp;quot;%d de %s de %d&amp;quot;,date-&amp;gt;dia,meses[(date-&amp;gt;mes)-1],date-&amp;gt;ano);&lt;br /&gt;
    return buffer;&lt;br /&gt;
}&lt;br /&gt;
/***************/&lt;br /&gt;
&lt;br /&gt;
/* Inicialización do Obxecto&lt;br /&gt;
 *&lt;br /&gt;
 * Aquí creamos os atributos do obxecto.&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
static void gtk_calendar_button_init (GtkCalendarButton *calendar_button)&lt;br /&gt;
{&lt;br /&gt;
  int dia,mes,ano;&lt;br /&gt;
  GtkCBDate date;&lt;br /&gt;
  char buffer[256];&lt;br /&gt;
  &lt;br /&gt;
  // Creamos unha ventana popup e incrustamos un calendario nela&lt;br /&gt;
  calendar_button-&amp;gt;win=(GtkWindow *)gtk_window_new(GTK_WINDOW_POPUP);&lt;br /&gt;
  gtk_window_set_position(calendar_button-&amp;gt;win,GTK_WIN_POS_MOUSE);&lt;br /&gt;
  calendar_button-&amp;gt;cal=(GtkCalendar *)gtk_calendar_new();&lt;br /&gt;
  gtk_container_add(GTK_CONTAINER(calendar_button-&amp;gt;win),GTK_WIDGET(calendar_button-&amp;gt;cal));&lt;br /&gt;
&lt;br /&gt;
  // Creamos o botón e o poñemos no widget (é da clase VBox..)&lt;br /&gt;
  calendar_button-&amp;gt;bt=(GtkButton *)gtk_button_new();&lt;br /&gt;
  gtk_container_add(GTK_CONTAINER(calendar_button),GTK_WIDGET(calendar_button-&amp;gt;bt));&lt;br /&gt;
&lt;br /&gt;
  // Conectamos as sinais de clicked do botón e de seleccionar unha data no calendario con doble click.&lt;br /&gt;
  g_signal_connect(G_OBJECT(calendar_button-&amp;gt;bt),&amp;quot;clicked&amp;quot;,&lt;br /&gt;
                   G_CALLBACK(gtk_calendar_button_press_event),(gpointer)calendar_button);&lt;br /&gt;
&lt;br /&gt;
  g_signal_connect(G_OBJECT(calendar_button-&amp;gt;cal),&amp;quot;day_selected_double_click&amp;quot;,&lt;br /&gt;
                   G_CALLBACK(gtk_calendar_button_day_selected),(gpointer)calendar_button);&lt;br /&gt;
&lt;br /&gt;
  // Ocultamos o calendario, e poñemos a data de hoxe como etiqueta do botón&lt;br /&gt;
  gtk_widget_hide(GTK_WIDGET(calendar_button-&amp;gt;win));&lt;br /&gt;
  gtk_calendar_get_date(calendar_button-&amp;gt;cal,&amp;amp;date.ano,&amp;amp;date.mes,&amp;amp;date.dia);&lt;br /&gt;
  date.mes++;&lt;br /&gt;
  gtk_button_set_label(calendar_button-&amp;gt;bt,parseDate(&amp;amp;date,buffer));&lt;br /&gt;
&lt;br /&gt;
  // Facemos visible o botón.&lt;br /&gt;
  gtk_widget_show_all(GTK_WIDGET(calendar_button-&amp;gt;bt));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Crea un novo obxecto gtk_calendar_button&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
GtkWidget*gtk_calendar_button_new (void)&lt;br /&gt;
{&lt;br /&gt;
   return g_object_new (GTK_TYPE_CALENDAR_BUTTON, NULL);&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Crea un novo obxecto gtk_calendar_button coa data indicada&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
GtkWidget *gtk_calendar_button_new_with_date (GtkCBDate *date)&lt;br /&gt;
{&lt;br /&gt;
    GtkWidget *w;&lt;br /&gt;
&lt;br /&gt;
    w=gtk_calendar_button_new();&lt;br /&gt;
    gtk_calendar_button_set_date(GTK_CALENDAR_BUTTON(w),date);&lt;br /&gt;
    return w;&lt;br /&gt;
}&lt;br /&gt;
/* O usuario fixo un doble click nunha data. Cambiamos a etiqueta do botón e ocultamos o calendario&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
static gboolean gtk_calendar_button_day_selected( GtkWidget  *widget,  GtkCalendarButton *calendar_button ) &lt;br /&gt;
{&lt;br /&gt;
   GtkCBDate date;&lt;br /&gt;
   char buffer[256];&lt;br /&gt;
   gboolean ret;&lt;br /&gt;
&lt;br /&gt;
   // Recuperamos a data&lt;br /&gt;
   gtk_calendar_get_date(calendar_button-&amp;gt;cal,&amp;amp;date.ano,&amp;amp;date.mes,&amp;amp;date.dia);&lt;br /&gt;
   date.mes++;&lt;br /&gt;
   // Sinal de seleccionada a data.&lt;br /&gt;
   g_signal_emit (G_OBJECT(calendar_button),calendar_button_signals[GTKCALENDARBUTTONSELECT_SIGNAL], 0,&amp;amp;date,&amp;amp;ret);&lt;br /&gt;
   if (!ret) // Se devolve TRUE, non fago nada&lt;br /&gt;
   {   &lt;br /&gt;
       gtk_button_set_label(calendar_button-&amp;gt;bt,parseDate(&amp;amp;date,buffer));&lt;br /&gt;
       // Sinal de ocultar&lt;br /&gt;
       g_signal_emit (G_OBJECT(calendar_button),calendar_button_signals[GTKCALENDARBUTTONHIDE_SIGNAL], 0);&lt;br /&gt;
       gtk_widget_hide(GTK_WIDGET(calendar_button-&amp;gt;win));&lt;br /&gt;
   }&lt;br /&gt;
   return TRUE;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* O usuario fixo click no botón de abrir o calendario&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
static gboolean gtk_calendar_button_press_event( GtkWidget  *widget,  GtkCalendarButton *calendar_button ) {&lt;br /&gt;
   // Sinal de Amosar&lt;br /&gt;
   g_signal_emit (G_OBJECT(calendar_button),calendar_button_signals[GTKCALENDARBUTTONHIDE_SIGNAL], 0);&lt;br /&gt;
   gtk_widget_show_all(GTK_WIDGET(calendar_button-&amp;gt;win));&lt;br /&gt;
   return TRUE;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Devolve a data do botón&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
GtkCBDate *gtk_calendar_button_get_date(GtkCalendarButton *cb,GtkCBDate *date)&lt;br /&gt;
{&lt;br /&gt;
    gtk_calendar_get_date(cb-&amp;gt;cal,&amp;amp;(date-&amp;gt;ano),&amp;amp;(date-&amp;gt;mes),&amp;amp;(date-&amp;gt;dia));&lt;br /&gt;
    date-&amp;gt;mes++;&lt;br /&gt;
    return date;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
/* Pon unha data no botón&lt;br /&gt;
 *&lt;br /&gt;
 */&lt;br /&gt;
void gtk_calendar_button_set_date(GtkCalendarButton *cb,GtkCBDate *date)&lt;br /&gt;
{&lt;br /&gt;
    char buffer[256];&lt;br /&gt;
&lt;br /&gt;
    gtk_calendar_select_month(cb-&amp;gt;cal,(date-&amp;gt;mes)-1,date-&amp;gt;ano);&lt;br /&gt;
    gtk_calendar_select_day(cb-&amp;gt;cal,date-&amp;gt;dia);&lt;br /&gt;
    gtk_button_set_label(cb-&amp;gt;bt,parseDate(date,buffer));&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
#define __GTK_CALENDAR_BUTTON_C__&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Proba ===&lt;br /&gt;
Descargar&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
/* GtkCalendarButton&lt;br /&gt;
 * Copyright (C) 2007 Francisco Javier Taboada Aguado&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería é software libre; poderás redistribuilo e/ou&lt;br /&gt;
 * modificalo baixo os termos da Licencia Xeral Pública GNU (GPL) tal&lt;br /&gt;
 * e como indica a Free Software Foundation; baixo a versión 2 &lt;br /&gt;
 * ou posteriores.&lt;br /&gt;
 *&lt;br /&gt;
 * Esta librería distribúese coa esperanza de que sexa útil, pero&lt;br /&gt;
 * SEN NINGUNHA GARANTIA; incluso sen a garantizar a súa adecuación&lt;br /&gt;
 * para un propósito concreto. Véxase a GPL para máis detalles.&lt;br /&gt;
 *&lt;br /&gt;
 * Deberías ter recibida unha copia da GPL xunto con esta librería,&lt;br /&gt;
 * se non fora así escribe a :&lt;br /&gt;
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,&lt;br /&gt;
 * Boston, MA 02111-1307, USA.&lt;br /&gt;
 */&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
#include &amp;lt;gtk/gtk.h&amp;gt;&lt;br /&gt;
#include &amp;quot;gtkcalendarbutton.h&amp;quot;&lt;br /&gt;
&lt;br /&gt;
gboolean seleccionada(GtkCalendarButton *cb,GtkCBDate *d)&lt;br /&gt;
{&lt;br /&gt;
    printf(&amp;quot;Seleccionada %d/%d/%d!!!\n&amp;quot;,d-&amp;gt;dia,d-&amp;gt;mes,d-&amp;gt;ano);&lt;br /&gt;
    return FALSE;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int main( int   argc,char *argv[])&lt;br /&gt;
{&lt;br /&gt;
  GtkWidget *window;&lt;br /&gt;
  GtkWidget *cb;&lt;br /&gt;
  &lt;br /&gt;
  gtk_init (&amp;amp;argc, &amp;amp;argv);&lt;br /&gt;
&lt;br /&gt;
  window = gtk_window_new (GTK_WINDOW_TOPLEVEL);&lt;br /&gt;
  gtk_window_set_title (GTK_WINDOW (window), &amp;quot;Dial&amp;quot;);&lt;br /&gt;
  g_signal_connect (G_OBJECT (window), &amp;quot;destroy&amp;quot;, G_CALLBACK (exit), NULL);&lt;br /&gt;
  &lt;br /&gt;
  gtk_container_set_border_width (GTK_CONTAINER (window), 10);&lt;br /&gt;
&lt;br /&gt;
  cb=gtk_calendar_button_new();&lt;br /&gt;
  gtk_container_add (GTK_CONTAINER (window), cb);&lt;br /&gt;
  g_signal_connect(G_OBJECT(cb),&amp;quot;calendar_select&amp;quot;,G_CALLBACK(seleccionada),NULL);&lt;br /&gt;
&lt;br /&gt;
  gtk_widget_show_all (window);&lt;br /&gt;
  &lt;br /&gt;
  gtk_main ();&lt;br /&gt;
  &lt;br /&gt;
  return 0;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Habilitando o Widget no Glade ==&lt;br /&gt;
Esta característica so está dispoñible a partir do Glade-3.&lt;br /&gt;
&lt;br /&gt;
=== Introducción ===&lt;br /&gt;
A partir do Glade-3 é posible incorporar novos Widgets á paleta e manexalos co interface engadindo &amp;quot;plugins&amp;quot;. Un &amp;quot;plugin&amp;quot; consiste nun ficheiro de descrición, unha librería dinámica e as iconas para os novos widgets na paleta e no árbol de widgets.&lt;br /&gt;
&lt;br /&gt;
A meirande parte das propiedades dos widgets poden manexarse dun xeito automático, pero pode ser necesario código para algunhas porpiedades avanzadas. Todo esto se especifica no ficheiro de descrición onde se poden especificar valores por defecto, propiedades non visibles, funcións específicas a chamar... etc.&lt;br /&gt;
&lt;br /&gt;
O ficheiro de descrición tamén se utiliza para agrupar widgets en categorías que se amosarán na paleta de glade-3.&lt;br /&gt;
&lt;br /&gt;
=== O Ficheiro de Descrición (Catálogo) ===&lt;br /&gt;
O ficheiro de descrición é un ficheiro XML coa seguinte estructura:&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
&amp;lt;glade-catalog name=&amp;quot;nome_do_catalogo&amp;quot; library=&amp;quot;nome_libraría_dinámica&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;init-function&amp;gt;función de inicialización&amp;lt;/init-function&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;glade-widget-classes&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ... definición dos widgets&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/glade-widget-classes&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ... definición dos grupos&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/glade-catalog&amp;gt;&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== O Tag &amp;#039;&amp;#039;glade-catalog&amp;#039;&amp;#039; ====&lt;br /&gt;
===== Propiedades Obrigatorias =====&lt;br /&gt;
*&amp;#039;&amp;#039;name&amp;#039;&amp;#039;: E unha cadea de caracteres identificando o catálogo.&lt;br /&gt;
*&amp;#039;&amp;#039;library&amp;#039;&amp;#039;: E o nome da librería que se instalará en $prefix/lib/glade-3/modules&lt;br /&gt;
&lt;br /&gt;
===== Propiedades Opcionais =====&lt;br /&gt;
*&amp;#039;&amp;#039;depends&amp;#039;&amp;#039;: Utilízase para indicar a herencia do widget poñendo o &amp;#039;name&amp;#039; do catálogo necesario. Normalmente indicarase &amp;#039;&amp;#039;depends=&amp;quot;gtk+&amp;quot;&amp;#039;&amp;#039;.&lt;br /&gt;
*&amp;#039;&amp;#039;domain&amp;#039;&amp;#039;: Dominio para o soporte multilinguaxe GTK.&lt;br /&gt;
*&amp;#039;&amp;#039;book&amp;#039;&amp;#039;: Espacio de nomes para a documentación mediante gtk-doc.&lt;br /&gt;
*&amp;#039;&amp;#039;fixed&amp;#039;&amp;#039;: Para permitir que o widget sexa manexado co administrador de deseño GtkFixed.&lt;br /&gt;
&lt;br /&gt;
==== O Tag &amp;#039;&amp;#039;init-function&amp;#039;&amp;#039; ====&lt;br /&gt;
Utilízase para dar un puntode entrada global o plugin. Se chamará antes que se cree calquera widget do catálogo.&lt;br /&gt;
&lt;br /&gt;
==== Definición de Clases de Widgets ====&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
&amp;lt;glade-widget-class name=&amp;quot;nome_da_clase&amp;quot; generic-name=&amp;quot;nome_xenerico_obxecto&amp;quot; title=&amp;quot;Nome_na_paleta&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  ... Funcións de soporte do widget&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ... definición de propidades&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/properties&amp;gt;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;children&amp;gt;&lt;br /&gt;
&lt;br /&gt;
    ... descrición dos fillos&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;/children&amp;gt;&lt;br /&gt;
&amp;lt;/glade-widget-class&amp;gt;&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Definición de Grupos ====&lt;br /&gt;
=== Instalación ===&lt;br /&gt;
*Copiar o catálogo a /usr/share/glade3/catalogs/&lt;br /&gt;
*Copiar o icono a /usr/share/glade3/pixmaps/22x22/&lt;br /&gt;
*Copiar a librería a /usr/lib/glade3/modules/&lt;br /&gt;
&lt;br /&gt;
O catálogo para un widget como o do exemplo, é moi sinxelo, e ademáis non precisa de libraría de soporte xa que é moi simple.&lt;br /&gt;
&amp;lt;c&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;glade-catalog name=&amp;quot;gtkcalendarbutton&amp;quot; library=&amp;quot;gtkcalendarbutton&amp;quot; domain=&amp;quot;glade3&amp;quot; book=&amp;quot;gtkcalendarbutton&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
	&amp;lt;glade-widget-classes&amp;gt;&lt;br /&gt;
		&amp;lt;glade-widget-class name=&amp;quot;GtkCalendarButton&amp;quot;  generic-name=&amp;quot;gtkcalendarbutton&amp;quot; title=&amp;quot;Calendar&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;/glade-widget-class&amp;gt;&lt;br /&gt;
	&amp;lt;/glade-widget-classes&amp;gt;&lt;br /&gt;
  &lt;br /&gt;
	&amp;lt;glade-widget-group name=&amp;quot;Custom&amp;quot; title=&amp;quot;Widget Personais&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;glade-widget-class-ref name=&amp;quot;GtkCalendarButton&amp;quot;/&amp;gt;&lt;br /&gt;
  &amp;lt;/glade-widget-group&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/glade-catalog&amp;gt;&lt;br /&gt;
&amp;lt;/c&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Referencias ==&lt;br /&gt;
Este tutorial é básicamente unha traducción do [http://www.gtk.org/tutorial/x2191.html tutorial de gtk.org]&lt;/div&gt;</summary>
		<author><name>Xavi</name></author>
	</entry>
</feed>