/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * E-pane.c: A paned window which accepts more than one child * * Author: * Matt Loper (matt@helixcode.com) * * Copyright 2000, Helix Code, Inc */ #include "e-paned.h" #include "e-util.h" #define PARENT_TYPE gtk_frame_get_type () static GtkObjectClass *e_paned_parent_class; /*----------------------------------------------------------------------* * (un)parenting functions *----------------------------------------------------------------------*/ static void unparent_all_children (EPaned *paned) { GList *l; for (l = paned->children; l != NULL; l = l->next) { GtkWidget *child = GTK_WIDGET (l->data); gtk_widget_ref (child); gtk_container_remove (GTK_CONTAINER (child->parent), child); } if (paned->toplevel_paned) { GtkWidget* parent = GTK_WIDGET (paned->toplevel_paned)->parent; gtk_container_remove (GTK_CONTAINER (parent), GTK_WIDGET (paned->toplevel_paned)); } paned->toplevel_paned = NULL; } static GtkPaned* new_gtk_paned (EPaned *paned) { return paned->horizontal? GTK_PANED (gtk_hpaned_new ()): GTK_PANED (gtk_vpaned_new ()); } static void reparent_all_children (EPaned *paned) { GtkPaned *cur_gtk_paned; GList *l = paned->children; int requested_size; g_assert (E_IS_PANED (paned)); if (paned->toplevel_paned) unparent_all_children (paned); if (!l) return; /* if there's only one child in our list, we don't need a splitter window; we can just show the one window */ if (!l->next) { gtk_container_add (GTK_CONTAINER (paned), GTK_WIDGET (l->data)); return; } /* create a gtk_paned, and put it in our toplevel EPaned */ cur_gtk_paned = new_gtk_paned (paned); paned->toplevel_paned = cur_gtk_paned; gtk_container_add (GTK_CONTAINER (paned), GTK_WIDGET (paned->toplevel_paned)); /* put the first widget in the left part of our pane, and give it the amount of space requested */ gtk_paned_add1 (cur_gtk_paned, GTK_WIDGET (l->data)); requested_size = (int)gtk_object_get_data ( GTK_OBJECT (l->data), "e_paned_requested_size"); gtk_paned_set_position (GTK_PANED (cur_gtk_paned), requested_size); l = l->next; for (; l != NULL; l = l->next) { if (l->next) { GtkPaned *sub_gtk_paned = new_gtk_paned (paned); GtkWidget *w = GTK_WIDGET (l->data); /* add our widget to the new subpane, on the left */ gtk_paned_add1 (sub_gtk_paned, w); requested_size = (int)gtk_object_get_data ( GTK_OBJECT (w), "e_paned_requested_size"); gtk_paned_set_position (GTK_PANED (sub_gtk_paned), requested_size); gtk_paned_add2 (cur_gtk_paned, GTK_WIDGET (sub_gtk_paned)); cur_gtk_paned = sub_gtk_paned; } else { gtk_paned_add2 (cur_gtk_paned, GTK_WIDGET (l->data)); } } } /*----------------------------------------------------------------------* * Exposed regular functions *----------------------------------------------------------------------*/ /** * e_paned_insert: * @paned: the #EPaned object * @pos: the position where we should insert the widget * @child: the widget to insert in the #EPaned object * @requested_size: the requested span of the widget, which will be * width of the #EPaned is horizontal, or height if it's vertical * * Inserts a widget into the #EPaned window, given a requested size * and a position; the position specifies where, among the other * widgets, the widget should be placed. * **/ void e_paned_insert (EPaned *paned, int pos, GtkWidget *child, int requested_size) { g_assert (GTK_IS_WIDGET (child)); g_assert (E_IS_PANED (paned)); unparent_all_children (paned); paned->children = g_list_insert (paned->children, child, pos); gtk_object_set_data (GTK_OBJECT (child), "e_paned_requested_size", (gpointer)requested_size); reparent_all_children (paned); g_print ("%s: %s(): exiting, length is %i\n", __FILE__, __FUNCTION__, g_list_length (paned->children)); } /** * e_paned_remove: * @paned: the #EPaned object * @removed_child: the widget to remove * * Removes a widget from an #EPaned widget. * **/ void e_paned_remove (EPaned *paned, GtkWidget *removed_child) { unparent_all_children (paned); paned->children = g_list_remove (paned->children, removed_child); gtk_widget_unref (GTK_WIDGET (removed_child)); reparent_all_children (paned); } /*----------------------------------------------------------------------* * Standard Gtk+ Class functions *----------------------------------------------------------------------*/ void e_paned_construct (EPaned *e_paned, gboolean horizontal) { g_return_if_fail (e_paned != NULL); g_return_if_fail (E_IS_PANED (e_paned)); e_paned->horizontal = horizontal; } GtkWidget* e_paned_new (gboolean horizontal) { EPaned *e_paned; e_paned = gtk_type_new (e_paned_get_type ()); e_paned_construct (e_paned, horizontal); g_assert (E_IS_PANED (e_paned)); return GTK_WIDGET (e_paned); } static void e_paned_init (GtkObject *object) { EPaned *e_paned; e_paned = E_PANED (object); e_paned->children = NULL; e_paned->toplevel_paned = NULL; e_paned->horizontal = FALSE; } static void e_paned_class_init (GtkObjectClass *object_class) { e_paned_parent_class = gtk_type_class (PARENT_TYPE); } E_MAKE_TYPE(e_paned, "EPaned", EPaned, e_paned_class_init, e_paned_init, PARENT_TYPE); on6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>refs</a><a class='active' href='/~lantw44/cgit/freebsd-ports-gnome/log/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>log</a><a href='/~lantw44/cgit/freebsd-ports-gnome/tree/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>tree</a><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>commit</a><a href='/~lantw44/cgit/freebsd-ports-gnome/diff/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>diff</a><a href='/~lantw44/cgit/freebsd-ports-gnome/stats/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'>stats</a></td><td class='form'><form class='right' method='get' action='/~lantw44/cgit/freebsd-ports-gnome/log/databases/rubygem-sqlite3'> <input type='hidden' name='h' value='dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8'/><input type='hidden' name='id' value='c94ff81ac8cb9cb5559453bd64558b551a9d0c46'/><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/freebsd-ports-gnome/log/?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>root</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/databases?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>databases</a>/<a href='/~lantw44/cgit/freebsd-ports-gnome/log/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46'>rubygem-sqlite3</a></div><div class='content'><table class='list nowrap'><tr class='nohover'><th></th><th class='left'>Commit message (<a href='/~lantw44/cgit/freebsd-ports-gnome/log/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c94ff81ac8cb9cb5559453bd64558b551a9d0c46&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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=ecd523d35f29b625fbd867de1a8c599c2268e7ce'>Switch build dependency from swig 1.3 to swig 3.0</a></td><td>bapt</td><td><span title='2017-12-19 23:44:58 +0800'>2017-12-19</span></td><td>1</td><td><span class='deletions'>-1</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=f8365fe14148e5581139412686d6a412605c0fbd'>Update to 1.3.13</a></td><td>sunpoet</td><td><span title='2017-01-06 03:33:56 +0800'>2017-01-06</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=41ecc055519ba659a19679c402ceeab57dba6080'>databases/rubygem-sqlite3: update to 1.3.12</a></td><td>swills</td><td><span title='2016-12-08 04:12:49 +0800'>2016-12-08</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=17514e0351a1b7ce99e34ae1192a37395cdffec7'>Convert USES=gem:autoplist to USES=gem since autoplist is default</a></td><td>swills</td><td><span title='2016-04-28 05:57:31 +0800'>2016-04-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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=900b8428054e4288c9669f4f17359be2ae8a45c3'>create USES=gem and update rubygem- ports to use it</a></td><td>swills</td><td><span title='2016-04-28 00:36:41 +0800'>2016-04-28</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+1</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=148314483d3098c0d6a33944f1190842e671502f'>Remove ${PORTSDIR}/ from dependencies, categories d, e, f, and g.</a></td><td>mat</td><td><span title='2016-04-01 22:00:51 +0800'>2016-04-01</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=4d9897c24a1b6fd07a8c8df2d95708d3e49b88f0'>- Update to 1.3.11</a></td><td>sunpoet</td><td><span title='2015-10-16 04:18:46 +0800'>2015-10-16</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+5</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=c1a6b622e17363efb44a2972a411ca36f00336f8'>- Cleanup Makefile: remove PORTREVISION and GEM_NAME</a></td><td>sunpoet</td><td><span title='2015-06-24 04:26:23 +0800'>2015-06-24</span></td><td>1</td><td><span class='deletions'>-2</span>/<span class='insertions'>+0</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=2b527e0699ba7ac638b658930be130aff8721780'>databases/rubygem-sqlite3: update to 1.3.10</a></td><td>swills</td><td><span title='2015-01-26 11:46:26 +0800'>2015-01-26</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=3a64c1f03bcc10d31941671e32b7843f049036bd'>Update "BSD" licenses in databases category</a></td><td>feld</td><td><span title='2014-12-05 08:30:20 +0800'>2014-12-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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=a17a5bf58e4f0e0bba31df8ea33294b4c293b26e'>- Chase database/sqlite3 slib bump</a></td><td>miwi</td><td><span title='2014-06-28 01:21:06 +0800'>2014-06-28</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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=bd13cd306b115037641f6d021665344b14915701'>- Update to 1.3.9</a></td><td>swills</td><td><span title='2014-03-23 14:21:13 +0800'>2014-03-23</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=b6dae801b9aaf371681d10ef3c1c93d41cfb9333'>- Update to 1.3.8</a></td><td>sunpoet</td><td><span title='2013-11-30 03:10:35 +0800'>2013-11-30</span></td><td>2</td><td><span class='deletions'>-7</span>/<span class='insertions'>+7</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=6f80be59ee7d8073806e8556f4dcb7b32511e413'>- Add stage support</a></td><td>swills</td><td><span title='2013-10-30 10:26:17 +0800'>2013-10-30</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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=94d8a4430550bbc2a7bf95ad142ad7d14215cf8b'>Add NO_STAGE all over the place in preparation for the staging support (cat: ...</a></td><td>bapt</td><td><span title='2013-09-21 00:13:47 +0800'>2013-09-21</span></td><td>1</td><td><span class='deletions'>-5</span>/<span class='insertions'>+2</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=576fd42e1971f4404dd0391bd4221ba80afb9c7a'>- Remove Author line</a></td><td>sunpoet</td><td><span title='2013-08-30 02:06:47 +0800'>2013-08-30</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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=e437ac7156aef6b82ff1aa988a41e4d6fa2c7302'>- Update to 1.3.7</a></td><td>swills</td><td><span title='2013-01-24 00:41:34 +0800'>2013-01-24</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=7797a9462c31498b4d2be3a2105051ab6e98004f'>- Update to 1.3.6</a></td><td>swills</td><td><span title='2012-05-10 09:31:13 +0800'>2012-05-10</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=f955791e14ff3509f1a479e487b14b5f26c519d8'>- Update to 1.3.5</a></td><td>pgollucci</td><td><span title='2011-12-17 12:11:00 +0800'>2011-12-17</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=645923f869059252446701615d5ae06e2a8b7d5d'>- Update Rails to 3.1.1 and associated changes</a></td><td>swills</td><td><span title='2011-10-27 11:02:52 +0800'>2011-10-27</span></td><td>2</td><td><span class='deletions'>-3</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=700cbc207bfa669bbf8875ec0bd6278b8c01283c'>- Update to 1.3.3</a></td><td>swills</td><td><span title='2011-07-21 08:38:11 +0800'>2011-07-21</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=5d371cf94cde5af37681d2a18859e1bf4192fc3a'>- Cannoicalize the WWW: [again],</a></td><td>pgollucci</td><td><span title='2011-06-24 01:51:43 +0800'>2011-06-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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=a5b692fb9cbba838099d5145c03bddd7341ed1d6'>- github is redirecting all these to https now</a></td><td>pgollucci</td><td><span title='2010-11-11 11:22:25 +0800'>2010-11-11</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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=77fd9c3c27b23ef962e9c9a00b28385adfc6d927'>- Update to 1.3.2</a></td><td>pgollucci</td><td><span title='2010-11-10 13:10:22 +0800'>2010-11-10</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+3</span></td></tr> <tr><td class='commitgraph'>* </td><td><a href='/~lantw44/cgit/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=682d56d3bb1945f13a918eb6f2ecfba12badf942'>- Mass fixup of WWW: lines pkg-descr based on rubygems.org Homepage meta info</a></td><td>pgollucci</td><td><span title='2010-10-20 09:35:47 +0800'>2010-10-20</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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=479158de7a95b40303f5f0a691c600b624047ad2'>- RF -> RG conversions</a></td><td>pgollucci</td><td><span title='2010-10-05 17:09:18 +0800'>2010-10-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/freebsd-ports-gnome/commit/databases/rubygem-sqlite3?h=dependabot/npm_and_yarn/devel/electron6/files/ini-1.3.8&id=1a5760e7cb29b49ae130c992117543ebebcfaef7'>- Update to 1.3.1</a></td><td>clsung</td><td><span title='2010-08-16 09:54:53 +0800'>2010-08-16</span></td><td>2</td><td><span class='deletions'>-4</span>/<span class='insertions'>+4</span></td></tr>