+ channel_table->show_all ();
+
+ if (channel_table_scroller.get_parent()) {
+ /* scroller is packed, so remove it */
+ channel_table_packer.remove (channel_table_scroller);
+ }
+
+ if (table_hpacker.get_parent () == &channel_table_packer) {
+ /* this occurs when the table hpacker is directly
+ packed, so remove it.
+ */
+ channel_table_packer.remove (table_hpacker);
+ } else if (table_hpacker.get_parent()) {
+ channel_table_viewport.remove ();
+ }
+
+ if (nchans > 7) {
+ /* put the table into a scrolled window, and then put
+ * that into the channel vpacker, after the table header
+ */
+ channel_table_viewport.add (table_hpacker);
+ channel_table_packer.pack_start (channel_table_scroller, true, true);
+ channel_table_viewport.show ();
+ channel_table_scroller.show ();
+
+ } else {
+ /* just put the channel table itself into the channel
+ * vpacker, after the table header
+ */
+ channel_table_packer.pack_start (table_hpacker, true, true);
+ channel_table_scroller.hide ();
+ }
+ table_hpacker.show ();
+ channel_table->show ();