/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */
/*
 * E-table-column-specification.c: Savable specification of a column.
 *
 * Author:
 *   Chris Lahey <clahey@ximian.com>
 *
 * (C) 2000 Ximian, Inc.
 */
#include <config.h>
#include <stdlib.h>
#include <gtk/gtksignal.h>
#include <gnome-xml/parser.h>
#include <gnome-xml/xmlmemory.h>
#include "gal/util/e-xml-utils.h"
#include "gal/util/e-util.h"
#include "e-table-column-specification.h"

#define PARENT_TYPE (gtk_object_get_type())

static GtkObjectClass *etcs_parent_class;

static void
free_strings (ETableColumnSpecification *etcs)
{
	g_free(etcs->title);
	g_free(etcs->pixbuf);
	g_free(etcs->cell);
	g_free(etcs->compare);
}

static void
etcs_destroy (GtkObject *object)
{
	ETableColumnSpecification *etcs = E_TABLE_COLUMN_SPECIFICATION (object);

	free_strings(etcs);

	GTK_OBJECT_CLASS (etcs_parent_class)->destroy (object);
}

static void
etcs_class_init (GtkObjectClass *klass)
{
	etcs_parent_class = gtk_type_class (PARENT_TYPE);
	
	klass->destroy = etcs_destroy;
}

static void
etcs_init (ETableColumnSpecification *specification)
{
	specification->model_col     = 0;
	specification->title        = g_strdup("");
	specification->pixbuf        = NULL;
	
	specification->expansion     = 0;
	specification->minimum_width = 0;
	specification->resizable     = FALSE;
	
	specification->cell          = NULL;
	specification->compare       = NULL;
}

E_MAKE_TYPE(e_table_column_specification, "ETableColumnSpecification", ETableColumnSpecification, etcs_class_init, etcs_init, PARENT_TYPE);

ETableColumnSpecification *
e_table_column_specification_new (void)
{
	ETableColumnSpecification *etcs = gtk_type_new (E_TABLE_COLUMN_SPECIFICATION_TYPE);

	return (ETableColumnSpecification *) etcs;
}

void
e_table_column_specification_load_from_node (ETableColumnSpecification *etcs,
					     const xmlNode       *node)
{
	free_strings(etcs);

	etcs->model_col     = e_xml_get_integer_prop_by_name(node, "model_col");
	etcs->title         = e_xml_get_string_prop_by_name(node, "_title");
	etcs->pixbuf        = e_xml_get_string_prop_by_name(node, "pixbuf");

	etcs->expansion     = e_xml_get_double_prop_by_name(node, "expansion");
	etcs->minimum_width = e_xml_get_integer_prop_by_name(node, "minimum_width");
	etcs->resizable     = e_xml_get_bool_prop_by_name(node, "resizable");

	etcs->cell          = e_xml_get_string_prop_by_name(node, "cell");
	etcs->compare       = e_xml_get_string_prop_by_name(node, "compare");

	if (etcs->title == NULL)
		etcs->title = g_strdup("");
}

xmlNode *
e_table_column_specification_save_to_node (ETableColumnSpecification *specification,
					   xmlNode                   *parent)
{
	xmlNode *node;
	if (parent)
		node = xmlNewChild(parent, NULL, "ETableColumn", NULL);
	else
		node = xmlNewNode(NULL, "ETableColumn");

	e_xml_set_integer_prop_by_name(node, "model_col", specification->model_col);
	e_xml_set_string_prop_by_name(node, "_title", specification->title);
	e_xml_set_string_prop_by_name(node, "pixbuf", specification->pixbuf);

	e_xml_set_double_prop_by_name(node, "expansion", specification->expansion);
	e_xml_set_integer_prop_by_name(node, "minimum_width", specification->minimum_width);
	e_xml_set_bool_prop_by_name(node, "resizable", specification->resizable);

	e_xml_set_string_prop_by_name(node, "cell", specification->cell);
	e_xml_set_string_prop_by_name(node, "compare", specification->compare);

	return node;
}

ependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19'>dependabot/npm_and_yarn/devel/electron6/files/lodash-4.17.19</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2'>dependabot/npm_and_yarn/devel/electron6/files/lodash.merge-4.6.2</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1'>dependabot/npm_and_yarn/devel/electron6/files/node-fetch-2.6.1</option>
<option value='dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2'>dependabot/npm_and_yarn/devel/electron6/files/serve-10.1.2</option>
<option value='gnome-3.22'>gnome-3.22</option>
<option value='gnome-3.24'>gnome-3.24</option>
<option value='gnome-3.26'>gnome-3.26</option>
<option value='gnome-3.28'>gnome-3.28</option>
<option value='gnome-3.32'>gnome-3.32</option>
<option value='gnome-3.36'>gnome-3.36</option>
<option value='gstreamer'>gstreamer</option>
<option value='gstreamer-1.16'>gstreamer-1.16</option>
<option value='gstreamer0.10-removal' selected='selected'>gstreamer0.10-removal</option>
<option value='main'>main</option>
<option value='master'>master</option>
<option value='mate-1.16'>mate-1.16</option>
<option value='mate-1.18'>mate-1.18</option>
<option value='mate-1.20'>mate-1.20</option>
<option value='mate-1.22'>mate-1.22</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>FreeBSD GNOME current development ports (https://github.com/freebsd/freebsd-ports-gnome)</td><td class='sub right'></td></tr></table>
<table class='tabs'><tr><td>
<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/about/?h=gstreamer0.10-removal'>about</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/?h=gstreamer0.10-removal'>summary</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/refs/?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>refs</a><a class='active' href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal'>log</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/tree/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>tree</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>commit</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/diff/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>diff</a><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/stats/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/x11-themes/kde-style-lipstik'>
<input type='hidden' name='h' value='gstreamer0.10-removal'/><input type='hidden' name='id' value='be39f653c4ae655b3a2049255f2f690922e4bb93'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>root</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/x11-themes?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>x11-themes</a>/<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93'>kde-style-lipstik</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/log/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=be39f653c4ae655b3a2049255f2f690922e4bb93&amp;showmsg=1'>Expand</a>)</th><th class='left'>Author</th><th class='left'>Age</th><th class='left'>Files</th><th class='left'>Lines</th></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=7b2346baa579fcc10e83535d675c84e89368a80a'>Reset to the pool per maintainer request.</a></td><td>bapt</td><td><span title='2013-02-08 15:20:32 +0800'>2013-02-08</span></td><td>1</td><td><span class='deletions'>-7</span>/<span class='insertions'>+2</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=530706893f31269bbfa303e069f2e76cbbe2fce7'>- update png to 1.5.10</a></td><td>dinoex</td><td><span title='2012-06-01 13:26:28 +0800'>2012-06-01</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=e8c933dcc93eba8d333d3f1491f899676967e851'>- update maintainer address to shanjobe@gmail.com</a></td><td>jgh</td><td><span title='2012-04-27 00:29:13 +0800'>2012-04-27</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=e61d6a701f43e8cec5a4ec8c9641daf5376441de'>- Add LDFLAGS to CONFIGURE_ENV and MAKE_ENV (as it was done with LDFLAGS)</a></td><td>amdmi3</td><td><span title='2011-09-24 06:26:39 +0800'>2011-09-24</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=0ce4823e9b444c935bdb82f3e5e2c420628df310'>- Kick MD5 support</a></td><td>miwi</td><td><span title='2011-07-03 04:16:04 +0800'>2011-07-03</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+0</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=96c9a725f7eddd1ea4fc090e9d9a7f6fde64acb3'>Chase after net/openldap24-server update.</a></td><td>delphij</td><td><span title='2011-02-25 09:32:17 +0800'>2011-02-25</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=a44c192a2f5c31ae449c6b008b8a42bcc7ee099d'>Sync to new bsd.autotools.mk</a></td><td>ade</td><td><span title='2010-12-04 15:34:27 +0800'>2010-12-04</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=e8efdd21e5ff43846d793d8491abfecf222c6dc2'>- update to 1.4.1</a></td><td>dinoex</td><td><span title='2010-03-28 14:47:48 +0800'>2010-03-28</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=444a47ba39d176ab6be5d165b2147eacd2897112'>- update to jpeg-8</a></td><td>dinoex</td><td><span title='2010-02-05 19:46:55 +0800'>2010-02-05</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=af1fc7a24eda71b11fbfc0bc73c1d53d079e5b57'>-Repocopy devel/libtool15 -&gt; libtool22 and libltdl15 -&gt; libltdl22.</a></td><td>mezz</td><td><span title='2009-08-03 03:36:34 +0800'>2009-08-03</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=ffdf8b50b5fa0b45b4be6b17b68ced12a00bda87'>- bump all port that indirectly depends on libjpeg and have not yet been bump...</a></td><td>dinoex</td><td><span title='2009-07-31 21:57:52 +0800'>2009-07-31</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=aa020b736f5c57adddbd7c17d2197f70d6420a72'>Bump PORTREVISION's after OpenLDAP update.</a></td><td>delphij</td><td><span title='2009-01-06 03:04:45 +0800'>2009-01-06</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=11edc5451416c23af13418fc8391548f68dd629b'>Bump portrevision due to upgrade of devel/gettext.</a></td><td>edwin</td><td><span title='2008-06-06 22:17:21 +0800'>2008-06-06</span></td><td>1</td><td><span class='deletions'>-0</span>/<span class='insertions'>+1</span></td></tr>
<tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/cgit.cgi/freebsd-ports-gnome/commit/x11-themes/kde-style-lipstik?h=gstreamer0.10-removal&amp;id=27f4e236bfcf349b7e0120a6d6f456c266f2899d'>- Update to 2.2.3</a></td><td>miwi</td><td><span title='2007-10-06 05:54:38 +0800'>2007-10-06</span>