/** * terminal_screen_container_get_from_screen: * @screen: a #TerminalScreenContainerPrivate * * Returns the #TerminalScreenContainer containing @screen. */ TerminalScreenContainer * terminal_screen_container_get_from_screen (TerminalScreen *screen) { g_return_val_if_fail (TERMINAL_IS_SCREEN (screen), NULL); return TERMINAL_SCREEN_CONTAINER (gtk_widget_get_ancestor (GTK_WIDGET (screen), TERMINAL_TYPE_SCREEN_CONTAINER)); }
static void terminal_receiver_impl_set_screen (TerminalReceiverImpl *impl, TerminalScreen *screen) { TerminalReceiverImplPrivate *priv; g_return_if_fail (TERMINAL_IS_RECEIVER_IMPL (impl)); g_return_if_fail (screen == NULL || TERMINAL_IS_SCREEN (screen)); priv = impl->priv; if (priv->screen == screen) return; if (priv->screen) { g_signal_handlers_disconnect_matched (priv->screen, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, impl); } priv->screen = screen; if (screen) { g_signal_connect (screen, "child-exited", G_CALLBACK (child_exited_cb), impl); g_signal_connect_swapped (screen, "destroy", G_CALLBACK (_terminal_receiver_impl_unset_screen), impl); } g_object_notify (G_OBJECT (impl), "screen"); }
void terminal_mdi_container_add_screen (TerminalMdiContainer *container, TerminalScreen *screen) { g_return_if_fail (TERMINAL_IS_MDI_CONTAINER (container)); g_return_if_fail (TERMINAL_IS_SCREEN (screen)); TERMINAL_MDI_CONTAINER_GET_IFACE (container)->add_screen (container, screen); }