Ejemplo n.º 1
0
/*
 * Writes the source code needed to create this widget.
 * You have to output everything necessary to create the widget here, though
 * there are some convenience functions to help.
 */
static void
gb_vbutton_box_write_source (GtkWidget * widget, GbWidgetWriteSourceData * data)
{
  GtkButtonBoxStyle layout_style;
  gint spacing, default_spacing, i;
  gint min_width, min_height, ipad_x, ipad_y;
  gint default_min_width, default_min_height, default_ipad_x, default_ipad_y;

  if (data->create_widget)
    {
      source_add (data, "  %s = gtk_vbutton_box_new ();\n", data->wname);
    }

  gb_widget_write_standard_source (widget, data);

  layout_style = GTK_BUTTON_BOX (widget)->layout_style;
  if (layout_style != GTK_BUTTONBOX_DEFAULT_STYLE)
    {
      for (i = 0; i < sizeof (GbLayoutValues) / sizeof (GbLayoutValues[0]); i
	   ++)
	{
	  if (GbLayoutValues[i] == layout_style)
	    source_add (data,
		 "  gtk_button_box_set_layout (GTK_BUTTON_BOX (%s), %s);\n",
			data->wname, GbLayoutSymbols[i]);
	}
    }

  spacing = gtk_button_box_get_spacing (GTK_BUTTON_BOX (widget));
  default_spacing = gtk_vbutton_box_get_spacing_default ();
  if (spacing != GTK_BUTTONBOX_DEFAULT && spacing != default_spacing)
    {
      source_add (data,
		"  gtk_button_box_set_spacing (GTK_BUTTON_BOX (%s), %i);\n",
		  data->wname, spacing);
    }

  gtk_button_box_get_child_size_default (&default_min_width,
					 &default_min_height);
  gtk_button_box_get_child_size (GTK_BUTTON_BOX (widget), &min_width,
				 &min_height);
  if ((min_width != GTK_BUTTONBOX_DEFAULT && min_width != default_min_width)
      || (min_height != GTK_BUTTONBOX_DEFAULT
	  && min_height != default_min_height))
    {
      source_add (data,
	 "  gtk_button_box_set_child_size (GTK_BUTTON_BOX (%s), %i, %i);\n",
		  data->wname, min_width, min_height);
    }

  gtk_button_box_get_child_ipadding_default (&default_ipad_x, &default_ipad_y);
  gtk_button_box_get_child_ipadding (GTK_BUTTON_BOX (widget), &ipad_x, &ipad_y);
  if ((ipad_x != GTK_BUTTONBOX_DEFAULT && ipad_x != default_ipad_x)
      || (ipad_y != GTK_BUTTONBOX_DEFAULT && ipad_y != default_ipad_y))
    {
      source_add (data,
      "  gtk_button_box_set_child_ipadding (GTK_BUTTON_BOX (%s), %i, %i);\n",
		  data->wname, ipad_x, ipad_y);
    }
}
Ejemplo n.º 2
0
/* Gets the default number of pixels that pad the buttons in a given
   button box. */
int
clip_GTK_BUTTONBOXGETCHILDIPADDING(ClipMachine * ClipMachineMemory)
{
   C_widget *cbbox = _fetch_cw_arg(ClipMachineMemory);

   gint      ipad_x, ipad_y;

   CHECKCWID(cbbox, GTK_IS_BUTTON_BOX);
   gtk_button_box_get_child_ipadding(GTK_BUTTON_BOX(cbbox->widget), &ipad_x, &ipad_y);
   _clip_storni(ClipMachineMemory, ipad_x, 2, 0);
   _clip_storni(ClipMachineMemory, ipad_y, 3, 0);
   return 0;
 err:
   return 1;
}
Ejemplo n.º 3
0
/*
 * Gets the properties of the widget. This is used for both displaying the
 * properties in the property editor, and also for saving the properties.
 */
static void
gb_vbutton_box_get_properties (GtkWidget * widget, GbWidgetGetArgData * data)
{
  GtkButtonBoxStyle layout;
  gint i, spacing, min_width, min_height, ipad_x, ipad_y;
  gint default_spacing;
  gint default_min_width, default_min_height, default_ipad_x, default_ipad_y;

  if (data->action != GB_SAVING)
    gb_widget_output_int (data, Size, g_list_length (GTK_BOX (widget)->children));

  layout = gtk_button_box_get_layout (GTK_BUTTON_BOX (widget));
  for (i = 0; i < sizeof (GbLayoutValues) / sizeof (GbLayoutValues[0]); i++)
    {
      if (GbLayoutValues[i] == layout)
	gb_widget_output_choice (data, Layout, i, GbLayoutSymbols[i]);
    }

  spacing = gtk_button_box_get_spacing (GTK_BUTTON_BOX (widget));
  default_spacing = gtk_vbutton_box_get_spacing_default ();
  if (spacing == GTK_BUTTONBOX_DEFAULT)
    spacing = default_spacing;
  gb_widget_output_int (data, Spacing, spacing);

  gtk_button_box_get_child_size_default (&default_min_width,
					 &default_min_height);
  gtk_button_box_get_child_size (GTK_BUTTON_BOX (widget), &min_width,
				 &min_height);
  if (min_width == GTK_BUTTONBOX_DEFAULT)
    min_width = default_min_width;
  if (min_height == GTK_BUTTONBOX_DEFAULT)
    min_height = default_min_height;
  gb_widget_output_int (data, Width, min_width);
  gb_widget_output_int (data, Height, min_height);

  gtk_button_box_get_child_ipadding_default (&default_ipad_x, &default_ipad_y);
  gtk_button_box_get_child_ipadding (GTK_BUTTON_BOX (widget), &ipad_x, &ipad_y);
  if (ipad_x == GTK_BUTTONBOX_DEFAULT)
    ipad_x = default_ipad_x;
  if (ipad_y == GTK_BUTTONBOX_DEFAULT)
    ipad_y = default_ipad_y;
  gb_widget_output_int (data, XPad, ipad_x);
  gb_widget_output_int (data, YPad, ipad_y);
}