void geo_dump(geo_t *g, int geo_mode) { if (geo_mode == GEO_RANGE) { range_dump(g->u.range); } else if (geo_mode == GEO_CIDR) { printf("Not supported\n"); } }
static void ranges_dump (GList *l, char const *txt) { g_printerr ("%s: ", txt); for (; l; l = l->next) { range_dump (l->data, ""); if (l->next) g_printerr (", "); } g_printerr ("\n"); }
/** * gnm_cell_combo_view_popdown: * @sov: #SheetObjectView * @activate_time: event time * * Open the popup window associated with @sov **/ void gnm_cell_combo_view_popdown (SheetObjectView *sov, guint32 activate_time) { GocItem *view = GOC_ITEM (sov); GnmPane *pane = GNM_PANE (view->canvas); SheetControlGUI *scg = pane->simple.scg; SheetObject *so = sheet_object_view_get_so (sov); Sheet const *sheet = sheet_object_get_sheet (so); GtkWidget *frame, *popup, *list, *container; int root_x, root_y; gboolean make_buttons = FALSE; GtkTreePath *clip = NULL, *select = NULL; GtkWindow *toplevel = wbcg_toplevel (scg_wbcg (scg)); GdkWindow *popup_window; GdkDevice *device; GnmRange const *merge; popup = gtk_window_new (GTK_WINDOW_POPUP); gtk_window_set_type_hint (GTK_WINDOW (popup), GDK_WINDOW_TYPE_HINT_COMBO); gtk_window_group_add_window (gtk_window_get_group (toplevel), GTK_WINDOW (popup)); go_gtk_window_set_transient (toplevel, GTK_WINDOW (popup)); gtk_window_set_resizable (GTK_WINDOW (popup), FALSE); gtk_window_set_decorated (GTK_WINDOW (popup), FALSE); gtk_window_set_screen (GTK_WINDOW (popup), gtk_widget_get_screen (GTK_WIDGET (toplevel))); list = ccombo_create_list (GNM_CCOMBO_VIEW (sov), so, &clip, &select, &make_buttons); gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (list), FALSE); g_object_set_data (G_OBJECT (list), SOV_ID, sov); frame = gtk_frame_new (NULL); gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT); #if 0 range_dump (&so->anchor.cell_bound, ""); g_printerr (" : so = %p, view = %p\n", so, view); #endif if (clip != NULL) { GtkWidget *sw = gtk_scrolled_window_new ( gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (list)), gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (list))); gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS); g_object_set_data_full (G_OBJECT (list), "clip", clip, (GDestroyNotify)gtk_tree_path_free); gtk_container_add (GTK_CONTAINER (sw), list); /* * Do the sizing in a realize handler as newer versions of * gtk+ give us zero sizes until then. */ g_signal_connect_after (list, "realize", G_CALLBACK (cb_realize_treeview), sw); container = sw; } else container = list; if (make_buttons) { GtkWidget *vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); GtkWidget *hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); GtkWidget *button; button = gtk_button_new_from_stock (GTK_STOCK_CANCEL); g_signal_connect_swapped (button, "clicked", G_CALLBACK (cb_ccombo_cancel_button), list); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 6); button = gtk_button_new_from_stock (GTK_STOCK_OK); g_signal_connect_swapped (button, "clicked", G_CALLBACK (cb_ccombo_ok_button), list); gtk_box_pack_start (GTK_BOX (hbox), button, FALSE, TRUE, 6); gtk_box_pack_start (GTK_BOX (vbox), container, FALSE, TRUE, 6); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, TRUE, 6); container = vbox; } gtk_container_add (GTK_CONTAINER (frame), container); /* do the popup */ gdk_window_get_origin (gtk_widget_get_window (GTK_WIDGET (pane)), &root_x, &root_y); if (sheet->text_is_rtl) { GtkAllocation pa; gtk_widget_get_allocation (GTK_WIDGET (pane), &pa); root_x += pa.width; root_x -= scg_colrow_distance_get (scg, TRUE, pane->first.col, so->anchor.cell_bound.start.col + 1); } else root_x += scg_colrow_distance_get (scg, TRUE, pane->first.col, so->anchor.cell_bound.start.col); merge = gnm_sheet_merge_is_corner (sheet, &(so->anchor.cell_bound.start)); gtk_window_move (GTK_WINDOW (popup), root_x, root_y + scg_colrow_distance_get (scg, FALSE, pane->first.row, so->anchor.cell_bound.start.row + ((merge == NULL) ? 1 : range_height (merge)))); gtk_container_add (GTK_CONTAINER (popup), frame); g_signal_connect (popup, "key_press_event", G_CALLBACK (cb_ccombo_key_press), list); g_signal_connect (popup, "button_press_event", G_CALLBACK (cb_ccombo_button_press), list); g_signal_connect_after (popup, "button_release_event", G_CALLBACK (cb_ccombo_button_release), list); g_signal_connect (list, "motion_notify_event", G_CALLBACK (cb_ccombo_list_motion), list); g_signal_connect (list, "button_press_event", G_CALLBACK (cb_ccombo_list_button_press), popup); gtk_widget_show_all (popup); /* after we show the window setup the selection (showing the list * clears the selection) */ if (select != NULL) { gtk_tree_selection_select_path ( gtk_tree_view_get_selection (GTK_TREE_VIEW (list)), select); gtk_tree_view_set_cursor (GTK_TREE_VIEW (list), select, NULL, FALSE); gtk_tree_path_free (select); } gtk_widget_grab_focus (popup); gtk_widget_grab_focus (GTK_WIDGET (list)); ccombo_focus_change (GTK_WIDGET (list), TRUE); popup_window = gtk_widget_get_window (popup); device = gtk_get_current_event_device (); if (0 == gdk_device_grab (device, popup_window, GDK_OWNERSHIP_APPLICATION, TRUE, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_POINTER_MOTION_MASK, NULL, activate_time)) { if (0 == gdk_device_grab (gdk_device_get_associated_device (device), popup_window, GDK_OWNERSHIP_APPLICATION, TRUE, GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK, NULL, activate_time)) gtk_grab_add (popup); else gdk_device_ungrab (device, activate_time); } }
void session_dump_one (session_desc_t *sptr) { int ix; media_desc_t *media; string_list_t *strptr; printf("Session name: %s\n", sptr->session_name); if (sptr->session_desc != NULL) { printf("Description: %s\n", sptr->session_desc); } if (sptr->uri != NULL) { printf("URI: %s\n", sptr->uri); } if (sptr->orig_username) { printf("Origin username: %s\n", sptr->orig_username); } printf("Session id: "D64"\nSession version: "D64"\n", sptr->session_id, sptr->session_version); if (sptr->create_addr) printf("Session created by: %s", sptr->create_addr); if (sptr->create_addr_type && strcasecmp(sptr->create_addr_type, "IP4") != 0) { printf("address type %s", sptr->create_addr_type); } printf("\n"); if (sptr->conf_type != CONFERENCE_TYPE_NONE) { printf("Conference type: %s\n", sptr->conf_type < CONFERENCE_TYPE_OTHER ? type_values[sptr->conf_type - 1] : sptr->conf_type_user); } if (sptr->keywds) printf("Keywords: %s\n", sptr->keywds); if (sptr->tool) printf("Tool: %s\n", sptr->tool); category_dump(sptr->category_list); strptr = sptr->admin_email; while (strptr != NULL) { printf("Admin email: %s\n", strptr->string_val); strptr = strptr->next; } strptr = sptr->admin_phone; while (strptr != NULL) { printf("Admin phone: %s\n", strptr->string_val); strptr = strptr->next; } key_dump(&sptr->key); time_dump(sptr->time_desc); time_adj_dump(sptr->time_adj_desc); if (sptr->session_connect.used) { printf("Session Address: %s", sptr->session_connect.conn_addr); if (strcasecmp(sptr->session_connect.conn_type, "IP4") != 0) { printf("(address type %s)", sptr->session_connect.conn_type); } if (sptr->session_connect.num_addr > 0) { printf("(%u addresses)", sptr->session_connect.num_addr); } printf("\ntSession TTL: %u\n", sptr->session_connect.ttl); } range_dump(&sptr->session_range, ""); bandwidth_dump(sptr->session_bandwidth, "Session"); if (sptr->control_string) { printf("Control: %s\n", sptr->control_string); } unparsed_dump(sptr->unparsed_a_lines, ""); ix = 0; media = sptr->media; while (media != NULL) { printf("Media description %d:\n", ix + 1); media_dump(media); media = media->next; ix++; } if (ix == 0) { printf("No media descriptions for session\n"); } }
static void media_dump (media_desc_t *mptr) { format_list_t *fptr; int ix; printf("\tMedia type: %s\n", mptr->media); printf("\tMedia proto: %s\n", mptr->proto); if (mptr->media_desc) printf("\tMedia description: %s\n", mptr->media_desc); if (mptr->media_connect.used) { printf("\tMedia Address: %s", mptr->media_connect.conn_addr); if (strcasecmp(mptr->media_connect.conn_type, "IP4") != 0) { printf("(address type %s)", mptr->media_connect.conn_type); } if (mptr->media_connect.num_addr > 0) { printf("(%u addresses)", mptr->media_connect.num_addr); } printf("\n\tMedia TTL: %u\n", mptr->media_connect.ttl); } printf("\tMedia port number: %d", mptr->port); if (mptr->num_ports > 1) { printf("/%d", mptr->num_ports); } printf("\n"); if (mptr->rtcp_connect.used) { if (mptr->rtcp_connect.conn_addr != NULL) { printf("\tRTCP Address: %s:%u", mptr->rtcp_connect.conn_addr, mptr->rtcp_port); } else { printf("\tRTCP port: %u", mptr->rtcp_port); } if (mptr->rtcp_connect.conn_type != NULL && strcasecmp(mptr->rtcp_connect.conn_type, "IP4") != 0) { printf("(address type %s)", mptr->rtcp_connect.conn_type); } if (mptr->media_connect.num_addr > 0) { printf("(%u addresses)", mptr->rtcp_connect.num_addr); } if (mptr->rtcp_connect.ttl > 0) printf("\n\tRTCP TTL: %u\n", mptr->rtcp_connect.ttl); } bandwidth_dump(mptr->media_bandwidth, "\n\tMedia"); if (mptr->recvonly) { printf("\tReceive Only Set\n"); } if (mptr->sendrecv) { printf("\tSend/Receive Set\n"); } if (mptr->sendonly) { printf("\tSend Only Set\n"); } if (mptr->ptime_present) { printf("\tPacket Time: %d\n", mptr->ptime); } if (mptr->quality_present) { printf("\tQuality: %d\n", mptr->quality); } if (mptr->framerate_present) { printf("\tFramerate: %f\n", mptr->framerate); } if (mptr->control_string) { printf("\tControl: %s\n", mptr->control_string); } range_dump(&mptr->media_range, "\t"); printf("\tMedia formats: "); fptr = mptr->fmt; ix = 0; while (fptr != NULL) { if (ix >= 6) { printf("\n\t\t"); ix = 0; } printf("%s", fptr->fmt); if (fptr->rtpmap != NULL) { printf("(%s %u", fptr->rtpmap->encode_name, fptr->rtpmap->clock_rate); if (fptr->rtpmap->encode_param != 0){ printf(" %u", fptr->rtpmap->encode_param); } printf(")"); ix += 2; } if (fptr->fmt_param != NULL) { printf("(%s)", fptr->fmt_param); ix += 4; } printf(" "); ix++; fptr = fptr->next; } printf("\n"); unparsed_dump(mptr->unparsed_a_lines, "\t"); }