Beispiel #1
0
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");
    }
}
Beispiel #2
0
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");
}
Beispiel #3
0
/**
 * 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);
	}
}
Beispiel #4
0
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");
  }
}
Beispiel #5
0
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");
}