Exemple #1
0
static WIDGET *
notebook_endprop_get_widget(NotebookProperty *prop, PropDialog *dialog)
{
  prop_dialog_container_pop(dialog); /* the page */
  prop_dialog_container_pop(dialog); /* the notebook */
  return NULL;
}
Exemple #2
0
static WIDGET *
multicol_endprop_get_widget(MulticolProperty *prop, PropDialog *dialog)
{
  prop_dialog_container_pop(dialog); /* the column */
  prop_dialog_container_pop(dialog); /* the multicol */
  return NULL;
}
Exemple #3
0
static void 
prop_dialog_add_properties(PropDialog *dialog, GPtrArray *props)
{
  guint i;
  gboolean scrollable = (props->len > 16);

  if (scrollable) {
    GtkWidget *swin = gtk_scrolled_window_new (NULL, NULL); 
    GtkWidget *vbox = gtk_vbox_new(FALSE,2);
    gtk_box_pack_start(GTK_BOX (dialog->widget), swin, TRUE, TRUE, 0);
    gtk_widget_show (swin);
    gtk_scrolled_window_add_with_viewport (GTK_SCROLLED_WINDOW (swin), vbox);
    gtk_viewport_set_shadow_type(GTK_VIEWPORT(gtk_bin_get_child(GTK_BIN(swin))), GTK_SHADOW_NONE);
    gtk_widget_show (vbox);
    gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (swin), GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
    prop_dialog_container_push (dialog, swin);
    prop_dialog_container_push (dialog, vbox);
  }


  for (i = 0; i < props->len; i++) {
    Property *prop = (Property*)g_ptr_array_index(props,i);
    prop_dialog_add_property(dialog, prop);
  }

  if (scrollable) {
    GtkRequisition requisition;
    GtkWidget *vbox = prop_dialog_container_pop(dialog);
    GtkWidget *swin = prop_dialog_container_pop(dialog);
    GdkScreen *screen = gtk_widget_get_screen(swin);
    gint sheight = screen ? (2 * gdk_screen_get_height(screen)) / 3 : 400;

    gtk_widget_size_request (vbox, &requisition);
    /* I'd say default size calculation for scrollable is quite broken */
    gtk_widget_set_size_request (swin, -1, requisition.height > sheight ? sheight : requisition.height);    
  }
}
Exemple #4
0
static WIDGET *
multicol_columnprop_get_widget(MulticolProperty *prop, PropDialog *dialog)
{
  GtkWidget *col = gtk_vbox_new(FALSE,1);

  gtk_container_set_border_width (GTK_CONTAINER(col), 2);
  gtk_widget_show(col);

  prop_dialog_container_pop(dialog); /* NULL or the previous column */

  gtk_box_pack_start(GTK_BOX(dialog->lastcont),col,TRUE,TRUE,0);

  prop_dialog_add_raw(dialog,NULL); /* to reset the internal table system */
  prop_dialog_container_push(dialog,col);

  return NULL;
}
Exemple #5
0
static WIDGET *
notebook_pageprop_get_widget(NotebookProperty *prop, PropDialog *dialog)
{
  GtkWidget *page = gtk_vbox_new(FALSE,1);
  GtkWidget *label = gtk_label_new(_(prop->common.descr->description));

  gtk_container_set_border_width (GTK_CONTAINER(page), 2);
  gtk_widget_show(page);
  gtk_widget_show(label);

  prop_dialog_container_pop(dialog); /* NULL or the previous page */

  gtk_notebook_append_page(GTK_NOTEBOOK(dialog->lastcont),page,label);

  prop_dialog_add_raw(dialog,NULL); /* to reset the internal table system */
  prop_dialog_container_push(dialog,page);

  return NULL;
}
Exemple #6
0
static WIDGET *
frame_endprop_get_widget(FrameProperty *prop, PropDialog *dialog)
{
  prop_dialog_container_pop(dialog);
  return NULL;
}