예제 #1
0
/**
 * gimp_enum_radio_frame_new_with_range:
 * @enum_type:     the #GType of an enum.
 * @minimum:       the minimum enum value
 * @maximum:       the maximum enum value
 * @label_widget:  a widget to put into the frame that will hold the radio box.
 * @callback:      a callback to connect to the "toggled" signal of each
 *                 #GtkRadioButton that is created.
 * @callback_data: data to pass to the @callback.
 * @first_button:  returns the first button in the created group.
 *
 * Calls gimp_enum_radio_box_new_with_range() and puts the resulting
 * vbox into a #GtkFrame.
 *
 * Return value: a new #GtkFrame holding a group of #GtkRadioButtons.
 *
 * Since: GIMP 2.4
 **/
GtkWidget *
gimp_enum_radio_frame_new_with_range (GType       enum_type,
                                      gint        minimum,
                                      gint        maximum,
                                      GtkWidget  *label_widget,
                                      GCallback   callback,
                                      gpointer    callback_data,
                                      GtkWidget **first_button)
{
  GtkWidget *frame;
  GtkWidget *radio_box;

  g_return_val_if_fail (G_TYPE_IS_ENUM (enum_type), NULL);
  g_return_val_if_fail (label_widget == NULL || GTK_IS_WIDGET (label_widget),
                        NULL);

  frame = gimp_frame_new (NULL);

  if (label_widget)
    {
      gtk_frame_set_label_widget (GTK_FRAME (frame), label_widget);
      gtk_widget_show (label_widget);
    }

  radio_box = gimp_enum_radio_box_new_with_range (enum_type,
                                                  minimum,
                                                  maximum,
                                                  callback, callback_data,
                                                  first_button);
  gtk_container_add (GTK_CONTAINER (frame), radio_box);
  gtk_widget_show (radio_box);

  return frame;
}
예제 #2
0
int main(int argc, char *argv[])
{    
    gtk_init(&argc, &argv);
    
    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size(GTK_WINDOW(window), -1, 200);
    g_signal_connect(window, "destroy", G_CALLBACK(destroy), NULL);
    
    GtkWidget *frame = gtk_frame_new(NULL);
    gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_NONE);
    gtk_container_add(GTK_CONTAINER(window), frame);
    
    GtkWidget *label1 = gtk_label_new("<b>Common Frame</b>");
    gtk_label_set_use_markup(GTK_LABEL(label1), TRUE);
    gtk_frame_set_label_widget(GTK_FRAME(frame), label1);
    
    GtkWidget *alignment = gtk_alignment_new(0.5, 0.5, 1.0, 1.0);
    gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 5, 0, 12, 0);
    gtk_container_add(GTK_CONTAINER(frame), alignment);
    
    GtkWidget *label2 = gtk_label_new("Label inside a Common Frame");
    gtk_container_add(GTK_CONTAINER(alignment), label2);
    
    gtk_widget_show_all(window);
    
    gtk_main();
    
    return 0;
}
예제 #3
0
GtkWidget *
gimp_color_options_gui (GimpToolOptions *tool_options)
{
  GObject   *config = G_OBJECT (tool_options);
  GtkWidget *vbox   = gimp_tool_options_gui (tool_options);
  GtkWidget *frame;
  GtkWidget *scale;
  GtkWidget *button;

  /*  the sample average options  */
  frame = gimp_frame_new (NULL);
  gtk_box_pack_start (GTK_BOX (vbox), frame, TRUE, TRUE, 0);
  gtk_widget_show (frame);

  scale = gimp_prop_spin_scale_new (config, "average-radius", NULL,
                                    1.0, 10.0, 0);
  gtk_container_add (GTK_CONTAINER (frame), scale);
  gtk_widget_show (scale);

  button = gimp_prop_check_button_new (config, "sample-average", NULL);
  gtk_frame_set_label_widget (GTK_FRAME (frame), button);
  gtk_widget_show (button);

  g_object_bind_property (config, "sample-average",
                          scale,  "sensitive",
                          G_BINDING_SYNC_CREATE);

  return vbox;
}
예제 #4
0
파일: viewer.c 프로젝트: BIANZiyang/3PRE
void viewer_add_renderer (Viewer *self, Renderer *renderer, int priority)
{
    renderer->priority = priority;
    renderer->cmi      = gtk_check_menu_item_new_with_label (renderer->name);
    gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (renderer->cmi), renderer->enabled);

    g_object_set_data (G_OBJECT (renderer->cmi), "Viewer:plugin", renderer);
    g_signal_connect (G_OBJECT (renderer->cmi), "toggled", 
                      G_CALLBACK (on_renderer_enabled_toggled), self);
    
    g_ptr_array_add(self->renderers, renderer);
    g_ptr_array_add(self->renderers_sorted, renderer);
    g_ptr_array_sort(self->renderers_sorted, renderer_name_compare_function);

    // What position in the sorted array is this item?
    unsigned int menu_idx = g_ptr_array_find_index(self->renderers_sorted, renderer);

    // add the menu item, accounting for the tear-off tab at index 0
    gtk_menu_shell_insert (GTK_MENU_SHELL (self->renderers_menu), renderer->cmi, menu_idx + 1);
    gtk_widget_show (renderer->cmi);

    // create a control widget
    if (renderer->widget) {
        g_ptr_array_add(self->renderers_sorted_with_controls, renderer);
        g_ptr_array_sort(self->renderers_sorted_with_controls, renderer_name_compare_function);

        unsigned int control_idx = g_ptr_array_find_index(self->renderers_sorted_with_controls, renderer);

        renderer->expander = gtk_expander_new (renderer->name);
        gtk_expander_set_expanded (GTK_EXPANDER (renderer->expander), TRUE);
        renderer->control_frame = gtk_frame_new (NULL);
        
        if (renderer->enabled) {
            gtk_widget_show (renderer->control_frame);
        } else {
            gtk_widget_hide (renderer->control_frame);
        }
        
        gtk_frame_set_label_widget (GTK_FRAME (renderer->control_frame), renderer->expander);
        gtk_container_add (GTK_CONTAINER (renderer->control_frame), renderer->widget);
        
        gtk_box_pack_start (GTK_BOX (self->controls_box), renderer->control_frame,
                            FALSE, TRUE, 0);
        gtk_box_reorder_child (GTK_BOX (self->controls_box), renderer->control_frame, control_idx);

        gtk_widget_show (renderer->expander);
        gtk_widget_show (renderer->widget);
        
        g_signal_connect (G_OBJECT (renderer->expander), "notify::expanded",
                          G_CALLBACK (on_renderer_widget_expander_notify), self);
        g_object_set_data (G_OBJECT (renderer->expander), 
                           "Viewer:plugin", renderer);
        g_object_set_data (G_OBJECT (renderer->widget), 
                           "Viewer:expander", renderer->expander);
        g_object_set_data (G_OBJECT (renderer->widget), 
                           "Viewer:frame", renderer->control_frame);
    }

    g_ptr_array_sort(self->renderers, sort_renderers_priority_decreasing);
}
예제 #5
0
GtkWidget *
mk_properties()
{
    GtkWidget *vbox, *hbox, *hbox2, *label, *frame;

    ENTER;
    frame = gtk_frame_new(NULL);
    gtk_frame_set_shadow_type(GTK_FRAME (frame), GTK_SHADOW_NONE);
    gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
    label = gtk_label_new(NULL);
    gtk_label_set_markup(GTK_LABEL (label),"<span weight=\"bold\">Properties</span>");
    gtk_frame_set_label_widget(GTK_FRAME (frame), label);

    hbox2 = gtk_hbox_new(FALSE, 0);
    gtk_container_add (GTK_CONTAINER (frame), hbox2);
    gtk_container_set_border_width (GTK_CONTAINER (hbox2), 6);

    hbox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX (hbox2), hbox, FALSE, TRUE, 0);
    gtk_widget_set_size_request(hbox, 20, 1);

    vbox = gtk_vbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX (hbox2), vbox, FALSE, TRUE, 0);

    prop_dt_checkb = gtk_check_button_new_with_label("Set Dock Type");
    gtk_box_pack_start(GTK_BOX (vbox), prop_dt_checkb, FALSE, FALSE, 0);

    prop_st_checkb = gtk_check_button_new_with_label("Set Strut");
    gtk_box_pack_start(GTK_BOX (vbox), prop_st_checkb, FALSE, FALSE, 0);

    RET(frame);
}
예제 #6
0
GtkWidget *
balsa_mime_widget_crypto_frame(LibBalsaMessageBody * mime_body, GtkWidget * child,
			       gboolean was_encrypted, gboolean no_signature,
			       GtkWidget * signature)
{
    GtkWidget * frame;
    GtkWidget * vbox;
    GtkWidget * icon_box;

    frame = gtk_frame_new(NULL);       
    vbox = gtk_vbox_new(FALSE, BMW_VBOX_SPACE);
    gtk_container_add(GTK_CONTAINER(frame), vbox);
    icon_box = gtk_hbox_new(FALSE, BMW_VBOX_SPACE);
    if (was_encrypted)
	gtk_box_pack_start(GTK_BOX(icon_box),
			   gtk_image_new_from_stock(BALSA_PIXMAP_ENCR, GTK_ICON_SIZE_MENU),
			   FALSE, FALSE, 0);
    if (!no_signature) {
	const gchar * icon_name =
	    balsa_mime_widget_signature_icon_name(libbalsa_message_body_protect_state(mime_body));
	if (!icon_name)
	    icon_name = BALSA_PIXMAP_SIGN;
	gtk_box_pack_start(GTK_BOX(icon_box),
			   gtk_image_new_from_stock(icon_name, GTK_ICON_SIZE_MENU),
			   FALSE, FALSE, 0);
    }
    gtk_frame_set_label_widget(GTK_FRAME(frame), icon_box);
    gtk_container_set_border_width(GTK_CONTAINER(vbox), BMW_MESSAGE_PADDING);
    gtk_box_pack_start(GTK_BOX(vbox), child, FALSE, FALSE, 0);

    if (signature)
	gtk_box_pack_end(GTK_BOX(vbox), signature, FALSE, FALSE, 0);

    return frame;
}
예제 #7
0
파일: settingsdlg.c 프로젝트: gpg/gpa
static GtkWidget *
user_interface_mode_frame (SettingsDlg *dialog)
{
  GtkWidget *frame;
  GtkWidget *label;
  GtkWidget *frame_vbox;
  GtkWidget *button;

  /* Build UI.  */
  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  label = gtk_label_new (_("<b>User interface</b>"));
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);

  frame_vbox = gtk_vbox_new (FALSE, 0);
  gtk_container_add (GTK_CONTAINER (frame), frame_vbox);

  button = gtk_check_button_new_with_mnemonic (_("Use _advanced mode"));
  gtk_container_add (GTK_CONTAINER (frame_vbox), button);
  dialog->ui.advanced_mode = GTK_TOGGLE_BUTTON (button);
  g_signal_connect (G_OBJECT (button), "toggled",
                    G_CALLBACK (advanced_mode_toggled), dialog);

  button = gtk_check_button_new_with_mnemonic (_("Show advanced _options"));
  gtk_container_add (GTK_CONTAINER (frame_vbox), button);
  dialog->ui.show_advanced_options = GTK_TOGGLE_BUTTON (button);
  g_signal_connect (G_OBJECT (button), "toggled",
                    G_CALLBACK (show_advanced_options_toggled), dialog);


  return frame;
}
예제 #8
0
파일: settingsdlg.c 프로젝트: gpg/gpa
static GtkWidget *
default_keyserver_frame (SettingsDlg *dialog)
{
  GtkWidget *frame;
  GtkWidget *label;
  GtkWidget *combo;
  GList *servers;

  /* Build UI */
  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  label = gtk_label_new_with_mnemonic (_("<b>Default key_server</b>"));
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);

  combo = gtk_combo_box_entry_new_text ();
  gtk_container_set_border_width (GTK_CONTAINER (combo), 5);
  gtk_container_add (GTK_CONTAINER (frame), combo);
  /* Set current value.  */
  servers = keyserver_get_as_glist ();
  g_list_foreach (servers, append_to_combo, combo);
  g_list_free (servers);
  dialog->keyserver.combo = GTK_COMBO_BOX (combo);

  g_signal_connect_swapped (G_OBJECT (combo),
                            "changed",
                            G_CALLBACK (keyserver_selected_from_list_cb),
                            dialog);

  dialog->keyserver.frame = frame;

  return frame;
}
예제 #9
0
파일: gui.c 프로젝트: xushaw/gtk_project
GtkWidget* createFrame(GPtrArray *entries, GPtrArray *all, const gchar name[], const gchar *names[], const gchar *wnames[], const int size)
{
    GtkWidget *_frame;
    GtkWidget *_label;
    GtkWidget *_vbox;
    int i;

    _frame = gtk_frame_new(NULL);
    _vbox = gtk_vbox_new(FALSE, 5);
    _label = gtk_check_button_new_with_label(name);
    g_ptr_array_add(all, _label);
    gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_label), TRUE);
    gtk_frame_set_label_widget(GTK_FRAME(_frame), GTK_WIDGET(_label));
    for ( i=0; i<size; i++ )
    {
        gtk_container_add(GTK_CONTAINER(_vbox), createEntry(entries, all, names[i], wnames[i]));

    }

    gtk_container_add(GTK_CONTAINER(_frame), GTK_WIDGET(_vbox));
    gtk_container_set_border_width(GTK_CONTAINER(_frame), 5);
    
    g_signal_connect(G_OBJECT(_label), "toggled",
            G_CALLBACK(toggle_action), (gpointer) _vbox);
    return _frame;
}
예제 #10
0
GtkWidget *
gimp_clone_options_gui (GimpToolOptions *tool_options)
{
  GObject   *config = G_OBJECT (tool_options);
  GtkWidget *vbox   = gimp_paint_options_gui (tool_options);
  GtkWidget *frame;
  GtkWidget *combo;
  GtkWidget *source_vbox;
  GtkWidget *button;
  GtkWidget *hbox;

  /*  the source frame  */
  frame = gimp_frame_new (NULL);
  gtk_box_pack_start (GTK_BOX (vbox), frame, FALSE, FALSE, 0);
  gtk_widget_show (frame);

  /*  the source type menu  */
  combo = gimp_prop_enum_combo_box_new (config, "clone-type", 0, 0);
  gimp_int_combo_box_set_label (GIMP_INT_COMBO_BOX (combo), _("Source"));
  g_object_set (combo, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
  gtk_frame_set_label_widget (GTK_FRAME (frame), combo);
  gtk_widget_show (combo);

  source_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0);
  gtk_container_add (GTK_CONTAINER (frame), source_vbox);
  gtk_widget_show (source_vbox);

  button = gimp_prop_check_button_new (config, "sample-merged", NULL);
  gtk_box_pack_start (GTK_BOX (source_vbox), button, FALSE, FALSE, 0);

  g_object_bind_property_full (config, "clone-type",
                               button, "visible",
                               G_BINDING_SYNC_CREATE,
                               gimp_clone_options_sync_source,
                               NULL,
                               GINT_TO_POINTER (GIMP_CLONE_IMAGE), NULL);

  hbox = gimp_prop_pattern_box_new (NULL, GIMP_CONTEXT (tool_options),
                                    NULL, 2,
                                    "pattern-view-type", "pattern-view-size");
  gtk_box_pack_start (GTK_BOX (source_vbox), hbox, FALSE, FALSE, 0);

  g_object_bind_property_full (config, "clone-type",
                               hbox,   "visible",
                               G_BINDING_SYNC_CREATE,
                               gimp_clone_options_sync_source,
                               NULL,
                               GINT_TO_POINTER (GIMP_CLONE_PATTERN), NULL);

  combo = gimp_prop_enum_combo_box_new (config, "align-mode", 0, 0);
  gimp_int_combo_box_set_label (GIMP_INT_COMBO_BOX (combo), _("Alignment"));
  g_object_set (combo, "ellipsize", PANGO_ELLIPSIZE_END, NULL);
  gtk_box_pack_start (GTK_BOX (vbox), combo, TRUE, TRUE, 0);
  gtk_widget_show (combo);

  return vbox;
}
예제 #11
0
GtkWidget* wxControl::GTKCreateFrame(const wxString& label)
{
    const wxString labelGTK = GTKConvertMnemonics(label);
    GtkWidget* labelwidget = gtk_label_new_with_mnemonic(wxGTK_CONV(labelGTK));
    gtk_widget_show(labelwidget); // without this it won't show...

    GtkWidget* framewidget = gtk_frame_new(NULL);
    gtk_frame_set_label_widget(GTK_FRAME(framewidget), labelwidget);

    return framewidget; // note that the label is already set so you'll
                        // only need to call wxControl::SetLabel afterwards
}
예제 #12
0
파일: utils.c 프로젝트: Pitinets/poppler
GtkWidget *
pgd_movie_view_new (void)
{
	GtkWidget  *frame, *label;

	frame = gtk_frame_new (NULL);
	gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
	label = gtk_label_new (NULL);
	gtk_label_set_markup (GTK_LABEL (label), "<b>Movie Properties</b>");
	gtk_frame_set_label_widget (GTK_FRAME (frame), label);
	gtk_widget_show (label);

	return frame;
}
예제 #13
0
파일: utils.c 프로젝트: Pitinets/poppler
GtkWidget *
pgd_action_view_new (PopplerDocument *document)
{
	GtkWidget  *frame, *label;

	frame = gtk_frame_new (NULL);
	gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
	label = gtk_label_new (NULL);
	gtk_label_set_markup (GTK_LABEL (label), "<b>Action Properties</b>");
	gtk_frame_set_label_widget (GTK_FRAME (frame), label);
	gtk_widget_show (label);

	g_object_set_data (G_OBJECT (frame), "document", document);

	return frame;
}
예제 #14
0
void verification( void )
{
	GtkWidget *logo_with_name, *instruction_label, *cancel_button, *logo, *body_frame;
	//GtkWidget *status_label, *install_button, *unlock_button;
	
	gtk_window_set_title( GTK_WINDOW( main_window), "Advanced Server Management( Software verification )" );
	
	//destroy the main table so that new table can be created
	gtk_widget_destroy( main_table);
		
	instruction_label = gtk_label_new( NULL );
	status_label = gtk_label_new( NULL );	//show the status of the app ( locked or unlocked )
	install_button = gtk_button_new();
	unlock_button = gtk_button_new();	//click here to unlock the app
	cancel_button = gtk_button_new_with_label( "ABORT" );	//terminate the app
	logo = gtk_image_new_from_file ("trans.png");
	logo_with_name = gtk_image_new_from_file ("small.png");
	body_frame = gtk_frame_new( NULL );
	main_table = gtk_table_new( 14, 12, TRUE );
	
	gtk_label_set_markup( GTK_LABEL( instruction_label ), "<span fgcolor=\"green\" font=\"13\">Unlock and click on logo to start</span>" );
	gtk_frame_set_label_widget ( GTK_FRAME( body_frame ), instruction_label );
	
	gtk_label_set_markup( GTK_LABEL( status_label ), "<span fgcolor=\"red\" font=\"12\">LOCKED</span>" );
	gtk_container_add( GTK_CONTAINER( unlock_button), status_label );
	
	gtk_widget_set_sensitive (GTK_WIDGET (install_button), FALSE);
	
	gtk_container_add( GTK_CONTAINER( install_button), logo );
	
	g_signal_connect( GTK_OBJECT( install_button), "clicked", GTK_SIGNAL_FUNC( selection_menu ), NULL );
	g_signal_connect( GTK_OBJECT( cancel_button), "clicked", GTK_SIGNAL_FUNC( gtk_main_quit ), NULL );
	g_signal_connect( GTK_OBJECT( unlock_button), "clicked", GTK_SIGNAL_FUNC( verify_user ), NULL );
	
	
	gtk_table_attach_defaults ( GTK_TABLE (main_table), logo_with_name, 1, 6, 10, 13);
	gtk_table_attach_defaults ( GTK_TABLE (main_table), install_button, 1, 11, 2, 9);
	gtk_table_attach_defaults ( GTK_TABLE (main_table), unlock_button, 7, 9, 11, 12);
	gtk_table_attach_defaults ( GTK_TABLE (main_table), cancel_button, 9, 11, 11, 12);
	gtk_table_attach_defaults ( GTK_TABLE (main_table), body_frame, 1, 11, 1, 9);
	
	gtk_container_add( GTK_CONTAINER( main_window), main_table );
	
	gtk_widget_show_all( main_window );
}
예제 #15
0
파일: cm-dinsig.c 프로젝트: gpg/gpa
/* This function constructs the container holding all widgets making
   up this data widget.  It is called during instance creation.  */
static void
construct_data_widget (GpaCMDinsig *card)
{
  GtkWidget *frame;
  GtkWidget *table;
  GtkWidget *vbox;
  GtkWidget *label;
  int rowidx;
  char *text;

  /* General frame.  */
  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  label = gtk_label_new (_("<b>General</b>"));
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
  table = gtk_table_new (2, 3, FALSE);
  gtk_container_set_border_width (GTK_CONTAINER (table), 10);
  gtk_container_add (GTK_CONTAINER (frame), table);
  rowidx = 0;

  card->entries[ENTRY_SERIALNO] = gtk_label_new (NULL);
  add_table_row (table, &rowidx, _("Serial number:"),
                 card->entries[ENTRY_SERIALNO], NULL, 0);

  gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);

  /* Info frame.  */
  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  vbox = gtk_vbox_new (FALSE, 5);
  text = g_strdup_printf
    (_("There is not much information to display for a %s card.  "
       "You may want to use the application selector button to "
       "switch to another application available on this card."), "DINSIG");
  label = gtk_label_new (text);
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_label_set_line_wrap (GTK_LABEL (label), TRUE);
  gtk_box_pack_start (GTK_BOX (vbox), label, TRUE, TRUE, 0);

  gtk_container_add (GTK_CONTAINER (frame), vbox);
  gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);

}
예제 #16
0
GtkWidget *
mk_transparency()
{
    GtkWidget *hbox, *hbox2, *label, *frame;

    ENTER;
    frame = gtk_frame_new(NULL);
    gtk_frame_set_shadow_type(GTK_FRAME (frame), GTK_SHADOW_NONE);
    gtk_container_set_border_width (GTK_CONTAINER (frame), 6);
    label = gtk_label_new(NULL);
    gtk_label_set_markup(GTK_LABEL (label),"<span weight=\"bold\">Transparency</span>");
    gtk_frame_set_label_widget(GTK_FRAME (frame), label);

    hbox2 = gtk_hbox_new(FALSE, 0);
    gtk_container_set_border_width (GTK_CONTAINER (hbox2), 6);
    gtk_container_add (GTK_CONTAINER (frame), hbox2);

    hbox = gtk_hbox_new(FALSE, 0);
    gtk_box_pack_start(GTK_BOX (hbox2), hbox, FALSE, TRUE, 0);
    gtk_widget_set_size_request(hbox, 20, 1);

    hbox = gtk_hbox_new(FALSE, 5);
    gtk_box_pack_start(GTK_BOX (hbox2), hbox, FALSE, TRUE, 0);

    tr_checkb = gtk_check_button_new_with_label("Enable Transparency");
    gtk_widget_show(tr_checkb);
    gtk_box_pack_start(GTK_BOX (hbox), tr_checkb, FALSE, FALSE, 0);
    g_signal_connect(G_OBJECT(tr_checkb), "toggled", G_CALLBACK(transparency_toggle), NULL);
    //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(tr_checkb), FALSE);

    tr_colorl = gtk_label_new("Tint color:");
    gtk_misc_set_alignment(GTK_MISC(tr_colorl), 0.0, 0.5);
    gtk_widget_show(tr_colorl);
    gtk_box_pack_start(GTK_BOX (hbox), tr_colorl, FALSE, FALSE, 5);
    //gtk_widget_set_sensitive(tr_colorl, FALSE);

    tr_colorb = gtk_color_button_new();
    gtk_color_button_set_use_alpha(GTK_COLOR_BUTTON(tr_colorb), TRUE);
    gtk_color_button_set_alpha (GTK_COLOR_BUTTON(tr_colorb), 65535/256*125);
    gtk_box_pack_start(GTK_BOX (hbox), tr_colorb, FALSE, FALSE, 0);
    //gtk_widget_set_sensitive(tr_colorb, FALSE);

    RET(frame);
}
예제 #17
0
파일: settingsdlg.c 프로젝트: gpg/gpa
static GtkWidget *
default_key_frame (SettingsDlg *dialog)
{
  GtkWidget *frame;
  GtkWidget *label;
  GtkWidget *list;
  GtkWidget *scroller;

  /* Build UI.  */
  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  label = gtk_label_new_with_mnemonic (_("<b>Default _key</b>"));
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);

  list = gpa_key_selector_new (TRUE, FALSE);
  dialog->default_key.list = GPA_KEY_SELECTOR (list);
  gtk_tree_selection_set_mode (gtk_tree_view_get_selection
			       (GTK_TREE_VIEW (list)), GTK_SELECTION_SINGLE);
  scroller = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_policy  (GTK_SCROLLED_WINDOW (scroller),
				   GTK_POLICY_AUTOMATIC,
				   GTK_POLICY_AUTOMATIC);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scroller),
				       GTK_SHADOW_IN);

  gtk_widget_set_size_request (scroller, 320, 120);
  gtk_container_set_border_width (GTK_CONTAINER (scroller), 5);
  gtk_container_add (GTK_CONTAINER (scroller), list);
  gtk_container_add (GTK_CONTAINER (frame), scroller);

  /* Connect signals.  */
  g_signal_connect_swapped (G_OBJECT (gtk_tree_view_get_selection
                                      (GTK_TREE_VIEW (list))),
                            "changed", G_CALLBACK (key_selected_cb), dialog);

  dialog->default_key.frame = frame;

  return frame;
}
예제 #18
0
파일: prop_widgets.c 프로젝트: GNOME/dia
static WIDGET *
frame_beginprop_get_widget(FrameProperty *prop, PropDialog *dialog)
{
  gchar *foldstring = g_strdup_printf("%s <<<", _(prop->common.descr->description));
  gchar *unfoldstring = g_strdup_printf("%s >>>", _(prop->common.descr->description));
  GtkWidget *frame = gtk_frame_new(NULL);
  GtkWidget *vbox = gtk_vbox_new(FALSE,2);
  GtkWidget *foldbutton = gtk_button_new_with_label(foldstring);
  GtkWidget *unfoldbutton = gtk_button_new_with_label(unfoldstring);

  struct FoldButtonInfo *info = g_new(struct FoldButtonInfo, 1);

  g_free(foldstring);
  g_free(unfoldstring);

  info->frame = frame;
  info->unfoldbutton = unfoldbutton;

  gtk_frame_set_label_widget(GTK_FRAME(frame), foldbutton);

  gtk_container_set_border_width (GTK_CONTAINER(frame), 2);
  gtk_container_add(GTK_CONTAINER(frame),vbox);
  gtk_widget_set_sensitive (unfoldbutton, FALSE);
  gtk_widget_show(foldbutton);
  gtk_widget_show(frame);
  gtk_widget_show(vbox);

  prop_dialog_add_raw(dialog, frame);

  prop_dialog_add_raw_with_flags(dialog, unfoldbutton, FALSE, FALSE);

  g_signal_connect(G_OBJECT (foldbutton), "clicked",
		   G_CALLBACK (frame_fold_unfold), info);
  g_signal_connect(G_OBJECT (unfoldbutton), "clicked",
		   G_CALLBACK (frame_fold_unfold), info);

  prop_dialog_container_push(dialog,vbox);

  return NULL; /* there is no single widget to add with a label next to it. */
}
예제 #19
0
파일: gui.c 프로젝트: Garfeild/gtk_project
/* функция для создания виджета GtkFrame с заданными параметрами и          *
 * необходимыми дополнительными виджетами.                                  *
 *                                                                          *
 * В функцию передаются следующие параметры:                                *
 * > GPtrArray *entries     -   массив указателей на виджеты. В него        *
 * записываются указатели всех создаваемых виджетов для ввода информации    *
 * > gchar *frameName       -   указатель на строку с текстом для метки     *
 * фрейма                                                                   *
 * > gchar *names[]         -   указатель на массив размерностью size,      *
 * который содержит строки для меток для каждого поля ввода                 *
 * > gchar *wnames[]        -   указатель на массив размерностью size,      *
 * который содержит строки для указания имени виджета (используется в       *
 * SQL запросах)                                                            *
 * > int size               -   содержит количество виджетов ввода во       *
 * фрейме                                                                   *
 *                                                                          * 
 * функция возвращает указатель на фрейм, содержащий size виджетов ввода    */
GtkWidget* createFrame(GPtrArray *entries, const gchar *frameName, const gchar *names[], const gchar *wnames[], const int size)
{
    GtkWidget *_frame;              // фрейм
    GtkWidget *_checkButtonWLabel;  // GtkCheckButton с меткой
    GtkWidget *_vbox;               // Вертикальный бокс
    int i;                          

    // Создаем пустой фрейм
    _frame = gtk_frame_new(NULL);
    // Создаем вертикальный бокс
    _vbox = gtk_vbox_new(FALSE, 5);
    // Создаем GtkCheckButton с меткой frameName
    _checkButtonWLabel = gtk_check_button_new_with_label(frameName);
    // Устанавливаем GtkCheckButton в активное состояние
    //gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(_checkButtonWLabel), TRUE);
    // Устанавливаем GtkCheckButton в качестве метки фрейма
    gtk_frame_set_label_widget(GTK_FRAME(_frame), GTK_WIDGET(_checkButtonWLabel));
    // Заполняем фрейм полями ввода 
    for ( i=0; i<size; i++ )
    {   
        // Вызываем функцию createEntry для создания виджета ввода с меткой и
        // GtkCheckButton
        gtk_container_add(GTK_CONTAINER(_vbox), createEntry(entries, names[i], wnames[i]));

    }

    // Добавляем в вертикальный бокс фрейм
    gtk_container_add(GTK_CONTAINER(_frame), GTK_WIDGET(_vbox));
    gtk_container_set_border_width(GTK_CONTAINER(_frame), 5);
    
    // Соединяем сигнал снятия галочки с GtkCheckButton с вертикальным боксом.
    // Вообще _vbox заведен для того, чтобы не блокировался сам фрейм и _checkButtonWLabel
    g_signal_connect(G_OBJECT(_checkButtonWLabel), "toggled",
            G_CALLBACK(toggle_action), (gpointer) _vbox);
    
    g_signal_emit_by_name(_checkButtonWLabel, "toggled", (gpointer)_vbox);
   
    return _frame;
}
예제 #20
0
파일: cm-unknown.c 프로젝트: gpg/gpa
/* This function constructs the container holding all widgets making
   up this data widget.  It is called during instance creation.  */
static void
construct_data_widget (GpaCMUnknown *card)
{
  GtkWidget *frame;
  GtkWidget *vbox;
  GtkWidget *label;

  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  label = gtk_label_new (_("<b>Unknown Card</b>"));
  gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
  gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);

  frame = gtk_frame_new (NULL);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  vbox = gtk_vbox_new (FALSE, 5);
  card->label = gtk_label_new (NULL);
  gtk_box_pack_start (GTK_BOX (vbox), card->label, TRUE, TRUE, 0);
  gtk_container_add (GTK_CONTAINER (frame), vbox);
  gtk_box_pack_start (GTK_BOX (card), frame, FALSE, TRUE, 0);
}
예제 #21
0
파일: utils_gui.c 프로젝트: rosedu/osmo
GtkWidget *
utl_gui_create_frame (GtkWidget *container, const gchar *name)
{
	GtkWidget *frame, *label, *alignment;

	frame = gtk_frame_new (NULL);
	gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
/*	gtk_container_add (GTK_CONTAINER (container), frame);*/
	gtk_box_pack_start (GTK_BOX (container), frame, FALSE, FALSE, 0);

	label = utl_gui_create_label ("<b>%s</b>", name);
	gtk_label_set_use_markup (GTK_LABEL (label), TRUE);
	gtk_frame_set_label_widget (GTK_FRAME (frame), label);

	alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
	gtk_container_add (GTK_CONTAINER (frame), alignment);
	gtk_alignment_set_padding (GTK_ALIGNMENT (alignment),
	                           ALIGNMENT_PADDING_TOP, ALIGNMENT_PADDING_BOTTOM,
	                           ALIGNMENT_PADDING_LEFT, ALIGNMENT_PADDING_RIGHT);

	return alignment;
}
예제 #22
0
static void calendar_properties_dialog_polish(EConfigHookItemFactoryData *data)
{
    GtkTable *table = GTK_TABLE(data->parent);
    GtkFrame *frame = gtk_widget_get_parent(
        GTK_WIDGET(gtk_widget_get_parent(GTK_WIDGET(table))));

    GtkLabel *label = gtk_label_new("General");
    gtk_widget_show(GTK_WIDGET(label));
    PangoAttribute *attr = pango_attr_weight_new(PANGO_WEIGHT_BOLD);
    PangoAttrList *list = pango_attr_list_new();
    pango_attr_list_insert(list, attr);
    gtk_label_set_attributes(label, list);
    gtk_frame_set_label_widget(frame, GTK_WIDGET(label));

    GSList *children = g_slist_reverse(gtk_container_get_children(GTK_CONTAINER(table)));
    gtk_widget_hide(GTK_WIDGET(children->data));
    gtk_widget_hide(GTK_WIDGET(children->next->data));

    // XXX: Changing width of colorButton is not so easy, will see
    //GSList *iter;
    //for (iter = children; iter; iter = iter->next)
    //{
    //    gchar *name = gtk_widget_get_name(GTK_WIDGET(iter->data));
    //    if (g_strcmp0(name, "GtkColorButton") == 0 )
    //    {
    //        gint x, y;
    //        gtk_widget_get_size_request(GTK_WIDGET(iter->data), &x, &y);
    //        printf("\tsize: %dx%d\n", x, y);
    //        gtk_widget_set_size_request(GTK_WIDGET(iter->data), 20, -1);
    //        gtk_widget_get_size_request(GTK_WIDGET(iter->data), &x, &y);
    //        printf("\tsize: %dx%d\n", x, y);
    //    }
    //}

    g_slist_free(children);
}
예제 #23
0
/**
 * Create a vbox that contains all controls used to display
 * information related to current reconciliation.
 *
 * \return A newly-allocated frame containing the reconcile widget
 */
GtkWidget *gsb_reconcile_create_box ( void )
{
    GtkWidget *frame, *label, *table, *vbox, *hbox, *button, *separator;

    frame = gtk_frame_new ( NULL );
    vbox = gtk_vbox_new ( FALSE, 3 );
    gtk_container_set_border_width ( GTK_CONTAINER ( vbox ), 3 );
    gtk_container_add ( GTK_CONTAINER ( frame ), vbox );

    /* the title of the frame */
    label = gtk_label_new ( NULL );
    gtk_label_set_justify ( GTK_LABEL (label), GTK_JUSTIFY_LEFT );
    gtk_misc_set_alignment ( GTK_MISC (label), 0.0, 0.0 );
    gtk_frame_set_label_widget ( GTK_FRAME(frame), label);

    /* number of reconcile */
    hbox = gtk_hbox_new ( FALSE, 5 );
    gtk_box_pack_start ( GTK_BOX ( vbox ), hbox, FALSE, FALSE, 0);

    label = gtk_label_new ( _("Reconciliation reference: ") );
    gtk_box_pack_start ( GTK_BOX ( hbox ), label, FALSE, FALSE, 0);

    reconcile_number_entry = gtk_entry_new ();
    gtk_widget_set_tooltip_text ( GTK_WIDGET (reconcile_number_entry),
                            _("If reconciliation reference ends in a digit, it is "
                            "automatically incremented at each reconciliation.\n"
                            "You can let it empty if you don't want to keep a trace of "
                            "the reconciliation.") );
    gtk_box_pack_start ( GTK_BOX ( hbox ), reconcile_number_entry, TRUE, TRUE, 0);

    separator = gtk_hseparator_new();
    gtk_box_pack_start ( GTK_BOX ( vbox ), separator, FALSE, FALSE, 0);

    /* under the reconcile number, we have a table */
    table = gtk_table_new ( 3, 5, FALSE );
    gtk_table_set_row_spacings ( GTK_TABLE ( table ), 3 );
    gtk_box_pack_start ( GTK_BOX ( vbox ), table, FALSE, FALSE, 0);

    separator = gtk_hseparator_new();
    gtk_table_attach_defaults ( GTK_TABLE ( table ), separator, 0, 3, 1, 2 );

    separator = gtk_hseparator_new();
    gtk_table_attach_defaults ( GTK_TABLE ( table ), separator, 0, 3, 3, 4 );

    separator = gtk_vseparator_new ();
    gtk_table_attach_defaults ( GTK_TABLE ( table ), separator, 1, 2, 0, 5 );

    label = gtk_label_new ( _("Date") );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, 0, 1);

    label = gtk_label_new ( _("Balance") );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 2, 3, 0, 1);

    reconcile_last_date_label = gtk_label_new ( NULL );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_last_date_label,
				0, 1, 2, 3 );

    /* set the old balance,
     * an entry the first time, will be unsensitive after */
    reconcile_initial_balance_entry = gtk_entry_new ( );
    gtk_widget_set_size_request ( reconcile_initial_balance_entry, 50, -1 );
    g_signal_connect ( G_OBJECT ( reconcile_initial_balance_entry ),
                        "changed",
		                G_CALLBACK (gsb_reconcile_update_amounts),
		                NULL );
    g_signal_connect ( G_OBJECT ( reconcile_initial_balance_entry ),
			            "focus-out-event",
                        G_CALLBACK ( gsb_reconcile_entry_lose_focus ),
                        NULL );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_initial_balance_entry,
				2, 3, 2, 3 );

    /* make the new date entry */
    reconcile_new_date_entry = gsb_calendar_entry_new (TRUE);
    gtk_widget_set_size_request ( reconcile_new_date_entry, 50, -1 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_new_date_entry,
				0, 1, 4, 5 );

    /* set the new balance */
    reconcile_final_balance_entry = gtk_entry_new ();
    gtk_widget_set_size_request ( reconcile_final_balance_entry, 50, -1 );
    g_signal_connect ( G_OBJECT ( reconcile_final_balance_entry ),
                        "changed",
		                G_CALLBACK (gsb_reconcile_update_amounts),
		                NULL );
    g_signal_connect ( G_OBJECT ( reconcile_final_balance_entry ),
			            "focus-out-event",
                        G_CALLBACK ( gsb_reconcile_entry_lose_focus ),
                        NULL );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_final_balance_entry,
				2, 3, 4, 5 );

    separator = gtk_hseparator_new();
    gtk_box_pack_start ( GTK_BOX ( vbox ), separator, FALSE, FALSE, 0);


    /* 2nd table under that, with the balances labels */
    table = gtk_table_new ( 5, 2, FALSE );
    gtk_table_set_row_spacings ( GTK_TABLE ( table ), 5 );
    gtk_box_pack_start ( GTK_BOX ( vbox ), table, FALSE, FALSE, 0);

    label = gtk_label_new ( _("Initial balance: ") );
    gtk_misc_set_alignment ( GTK_MISC ( label ), 0, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, 0, 1);

    reconcile_initial_balance_label = gtk_label_new ( NULL );
    gtk_misc_set_alignment ( GTK_MISC ( reconcile_initial_balance_label ), 1, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_initial_balance_label, 1, 2, 0, 1);

    label = gtk_label_new ( _("Final balance: ") );
    gtk_misc_set_alignment ( GTK_MISC ( label ), 0, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, 1, 2);

    reconcile_final_balance_label = gtk_label_new ( NULL );
    gtk_misc_set_alignment ( GTK_MISC ( reconcile_final_balance_label ), 1, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_final_balance_label, 1, 2, 1, 2);

    label = gtk_label_new ( _("Checking: ") );
    gtk_misc_set_alignment ( GTK_MISC ( label ), 0, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, 2, 3);

    reconcile_marked_balance_label = gtk_label_new ( NULL );
    gtk_misc_set_alignment ( GTK_MISC ( reconcile_marked_balance_label ), 1, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_marked_balance_label, 1, 2, 2, 3);

    separator = gtk_hseparator_new();
    gtk_table_attach_defaults ( GTK_TABLE ( table ), separator, 0, 2, 3, 4);

    label = gtk_label_new ( _("Variance: ") );
    gtk_misc_set_alignment ( GTK_MISC ( label ), 0, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), label, 0, 1, 4, 5);

    reconcile_variation_balance_label = gtk_label_new ( NULL );
    gtk_misc_set_alignment ( GTK_MISC ( reconcile_variation_balance_label ), 1, 0.5 );
    gtk_table_attach_defaults ( GTK_TABLE ( table ), reconcile_variation_balance_label, 1, 2, 4, 5);

    /* set the button to sort with the method of paymen */
    separator = gtk_hseparator_new();
    gtk_box_pack_start ( GTK_BOX ( vbox ), separator, FALSE, FALSE, 0);

    hbox = gtk_hbox_new ( TRUE, 3 );
    gtk_box_pack_start ( GTK_BOX ( vbox ), hbox, FALSE, FALSE, 0);

    reconcile_sort_list_button = gtk_check_button_new_with_label (_("Sort by method of payment"));
    gtk_button_set_relief ( GTK_BUTTON (reconcile_sort_list_button), GTK_RELIEF_NONE);
    g_signal_connect ( G_OBJECT (reconcile_sort_list_button), "clicked",
		       G_CALLBACK (gsb_reconcile_list_button_clicked), NULL );
    gtk_box_pack_start ( GTK_BOX ( hbox ), reconcile_sort_list_button, FALSE, FALSE, 0);

    /* make the buttons */
    hbox = gtk_hbox_new ( TRUE, 3 );
    gtk_box_pack_end ( GTK_BOX ( vbox ), hbox, FALSE, FALSE, 0);

    button = gtk_button_new_from_stock ( GTK_STOCK_CANCEL );
    gtk_button_set_relief ( GTK_BUTTON ( button), GTK_RELIEF_NONE);
    g_signal_connect ( G_OBJECT (button), "clicked",
		       G_CALLBACK (gsb_reconcile_cancel), NULL );
    gtk_box_pack_start ( GTK_BOX ( hbox ), button, FALSE, FALSE, 0);

    reconcile_ok_button = gtk_button_new_from_stock ( GTK_STOCK_OK );
    gtk_button_set_relief ( GTK_BUTTON ( reconcile_ok_button), GTK_RELIEF_NONE);
    g_signal_connect ( G_OBJECT ( reconcile_ok_button ), "clicked",
		       G_CALLBACK (gsb_reconcile_finish_reconciliation), NULL );
    gtk_box_pack_start ( GTK_BOX ( hbox ), reconcile_ok_button, FALSE, FALSE, 0);

    separator = gtk_hseparator_new();
    gtk_box_pack_end ( GTK_BOX ( vbox ), separator, FALSE, FALSE, 0);

    gtk_widget_show_all ( frame );

    return ( frame );
}
예제 #24
0
GtkWidget*
create_threshold_dialog (void)
{
  GtkWidget *threshold_dialog;
  GtkWidget *dialogVbox;
  GtkWidget *allButButtonsVbox;
  GtkWidget *settingsOuterHbox;
  GtkWidget *settingsOuterVbox;
  GtkWidget *minValueVbox;
  GtkWidget *minValueLabel;
  GtkWidget *minValueHbox;
  GtkWidget *minValueSlider;
  GtkObject *minValueSpinner_adj;
  GtkWidget *minValueSpinner;
  GtkWidget *maxValueVbox;
  GtkWidget *maxValueLabel;
  GtkWidget *maxValueHbox;
  GtkWidget *maxValueSlider;
  GtkObject *maxValueSpinner_adj;
  GtkWidget *maxValueSpinner;
  GtkWidget *outputValuesHbox;
  GtkWidget *outputValuesLabel;
  GtkWidget *outputValuesMenu;
  GtkWidget *debugHbox;
  GtkWidget *debugLabel;
  GtkObject *debugSpinButton_adj;
  GtkWidget *debugSpinButton;
  GtkWidget *previewFrame;
  GtkWidget *previewAlignment;
  GtkWidget *previewVbox;
  GtkWidget *previewControlHbox;
  GtkWidget *previewOutputMenu;
  GtkWidget *previewSlider;
  GtkWidget *previewVideo;
  GtkWidget *previewLabel;
  GtkWidget *dialogButtonBox;
  GtkWidget *cancelButton;
  GtkWidget *okButton;

  threshold_dialog = gtk_dialog_new ();
  gtk_window_set_title (GTK_WINDOW (threshold_dialog), QT_TR_NOOP("Threshold"));
  gtk_window_set_type_hint (GTK_WINDOW (threshold_dialog), GDK_WINDOW_TYPE_HINT_DIALOG);

  dialogVbox = GTK_DIALOG (threshold_dialog)->vbox;
  gtk_widget_show (dialogVbox);

  allButButtonsVbox = gtk_vbox_new (FALSE, 12);
  gtk_widget_show (allButButtonsVbox);
  gtk_box_pack_start (GTK_BOX (dialogVbox), allButButtonsVbox, TRUE, TRUE, 0);

  settingsOuterHbox = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (settingsOuterHbox);
  gtk_box_pack_start (GTK_BOX (allButButtonsVbox), settingsOuterHbox, FALSE, TRUE, 0);

  settingsOuterVbox = gtk_vbox_new (FALSE, 12);
  gtk_widget_show (settingsOuterVbox);
  gtk_box_pack_start (GTK_BOX (settingsOuterHbox), settingsOuterVbox, TRUE, TRUE, 0);

  minValueVbox = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (minValueVbox);
  gtk_box_pack_start (GTK_BOX (settingsOuterVbox), minValueVbox, FALSE, FALSE, 0);

  minValueLabel = gtk_label_new (QT_TR_NOOP("Minimum value to be in-range:"));
  gtk_widget_show (minValueLabel);
  gtk_box_pack_start (GTK_BOX (minValueVbox), minValueLabel, FALSE, FALSE, 0);
  gtk_misc_set_alignment (GTK_MISC (minValueLabel), 0.5, 1);
  gtk_misc_set_padding (GTK_MISC (minValueLabel), 0, 8);

  minValueHbox = gtk_hbox_new (FALSE, 5);
  gtk_widget_show (minValueHbox);
  gtk_box_pack_start (GTK_BOX (minValueVbox), minValueHbox, TRUE, TRUE, 0);

#ifdef ORIGINAL_CODE_GENERATED_BY_GLADE
  minValueSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 255, 1, 1, 0)));
#else
  minValueSpinner_adj = gtk_adjustment_new (0, 0, 255, 1, 1, 0);
  minValueSlider = gtk_hscale_new (GTK_ADJUSTMENT (minValueSpinner_adj));
#endif
  gtk_widget_show (minValueSlider);
  gtk_box_pack_start (GTK_BOX (minValueHbox), minValueSlider, TRUE, TRUE, 0);
  gtk_scale_set_draw_value (GTK_SCALE (minValueSlider), FALSE);
  gtk_scale_set_value_pos (GTK_SCALE (minValueSlider), GTK_POS_LEFT);
  gtk_scale_set_digits (GTK_SCALE (minValueSlider), 0);

#ifdef ORIGINAL_CODE_GENERATED_BY_GLADE
  minValueSpinner_adj = gtk_adjustment_new (0, 0, 255, 1, 10, 10);
#endif
  minValueSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (minValueSpinner_adj), 1, 0);
  gtk_widget_show (minValueSpinner);
  gtk_box_pack_start (GTK_BOX (minValueHbox), minValueSpinner, FALSE, TRUE, 0);

  maxValueVbox = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (maxValueVbox);
  gtk_box_pack_start (GTK_BOX (settingsOuterVbox), maxValueVbox, FALSE, FALSE, 0);

  maxValueLabel = gtk_label_new (QT_TR_NOOP("Maximum value to be in-range:"));
  gtk_widget_show (maxValueLabel);
  gtk_box_pack_start (GTK_BOX (maxValueVbox), maxValueLabel, FALSE, FALSE, 0);

  maxValueHbox = gtk_hbox_new (FALSE, 5);
  gtk_widget_show (maxValueHbox);
  gtk_box_pack_start (GTK_BOX (maxValueVbox), maxValueHbox, TRUE, TRUE, 0);

#ifdef ORIGINAL_CODE_GENERATED_BY_GLADE
  maxValueSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (255, 0, 255, 1, 1, 0)));
#else
  maxValueSpinner_adj = gtk_adjustment_new (255, 0, 255, 1, 1, 0);
  maxValueSlider = gtk_hscale_new (GTK_ADJUSTMENT (maxValueSpinner_adj));
#endif
  gtk_widget_show (maxValueSlider);
  gtk_box_pack_start (GTK_BOX (maxValueHbox), maxValueSlider, TRUE, TRUE, 0);
  gtk_scale_set_draw_value (GTK_SCALE (maxValueSlider), FALSE);
  gtk_scale_set_value_pos (GTK_SCALE (maxValueSlider), GTK_POS_LEFT);
  gtk_scale_set_digits (GTK_SCALE (maxValueSlider), 0);

#ifdef ORIGINAL_CODE_GENERATED_BY_GLADE
  maxValueSpinner_adj = gtk_adjustment_new (255, 0, 255, 1, 10, 10);
#endif
  maxValueSpinner = gtk_spin_button_new (GTK_ADJUSTMENT (maxValueSpinner_adj), 1, 0);
  gtk_widget_show (maxValueSpinner);
  gtk_box_pack_start (GTK_BOX (maxValueHbox), maxValueSpinner, FALSE, TRUE, 0);

  outputValuesHbox = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (outputValuesHbox);
  gtk_box_pack_start (GTK_BOX (settingsOuterVbox), outputValuesHbox, TRUE, TRUE, 0);

  outputValuesLabel = gtk_label_new (QT_TR_NOOP("Output values:   "));
  gtk_widget_show (outputValuesLabel);
  gtk_box_pack_start (GTK_BOX (outputValuesHbox), outputValuesLabel, FALSE, FALSE, 0);

  outputValuesMenu = gtk_combo_box_new_text ();
  gtk_widget_show (outputValuesMenu);
  gtk_box_pack_start (GTK_BOX (outputValuesHbox), outputValuesMenu, TRUE, TRUE, 0);
  gtk_combo_box_append_text (GTK_COMBO_BOX (outputValuesMenu), QT_TR_NOOP("In-range values go black, out-of-range values go white"));
  gtk_combo_box_append_text (GTK_COMBO_BOX (outputValuesMenu), QT_TR_NOOP("In-range values go white, out-of-range values go black"));

  debugHbox = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (debugHbox);
  gtk_box_pack_start (GTK_BOX (settingsOuterVbox), debugHbox, TRUE, TRUE, 0);

  debugLabel = gtk_label_new (QT_TR_NOOP("Debugging settings (bits):   "));
  gtk_widget_show (debugLabel);
  gtk_box_pack_start (GTK_BOX (debugHbox), debugLabel, FALSE, FALSE, 0);

  debugSpinButton_adj = gtk_adjustment_new (0, 0, 16777215, 1, 10, 10);
  debugSpinButton = gtk_spin_button_new (GTK_ADJUSTMENT (debugSpinButton_adj), 1, 0);
  gtk_widget_show (debugSpinButton);
  gtk_box_pack_start (GTK_BOX (debugHbox), debugSpinButton, TRUE, TRUE, 0);

  previewFrame = gtk_frame_new (NULL);
  gtk_widget_show (previewFrame);
  gtk_box_pack_start (GTK_BOX (allButButtonsVbox), previewFrame, TRUE, TRUE, 0);

  previewAlignment = gtk_alignment_new (0.5, 0.5, 1, 1);
  gtk_widget_show (previewAlignment);
  gtk_container_add (GTK_CONTAINER (previewFrame), previewAlignment);
  gtk_alignment_set_padding (GTK_ALIGNMENT (previewAlignment), 0, 8, 6, 8);

  previewVbox = gtk_vbox_new (FALSE, 5);
  gtk_widget_show (previewVbox);
  gtk_container_add (GTK_CONTAINER (previewAlignment), previewVbox);

  previewControlHbox = gtk_hbox_new (FALSE, 5);
  gtk_widget_show (previewControlHbox);
  gtk_box_pack_start (GTK_BOX (previewVbox), previewControlHbox, TRUE, TRUE, 0);

  previewOutputMenu = gtk_combo_box_new_text ();
  gtk_widget_show (previewOutputMenu);
  gtk_box_pack_start (GTK_BOX (previewControlHbox), previewOutputMenu, FALSE, TRUE, 0);

  previewSlider = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 99, 1, 1, 1)));
  gtk_widget_show (previewSlider);
  gtk_box_pack_start (GTK_BOX (previewControlHbox), previewSlider, TRUE, TRUE, 0);
  gtk_scale_set_digits (GTK_SCALE (previewSlider), 0);

  previewVideo = gtk_drawing_area_new ();
  gtk_widget_show (previewVideo);
  gtk_box_pack_start (GTK_BOX (previewVbox), previewVideo, TRUE, TRUE, 0);
  gtk_widget_set_size_request (previewVideo, 30, 30);
  gtk_widget_set_events (previewVideo, GDK_BUTTON1_MOTION_MASK | GDK_BUTTON_PRESS_MASK);

  previewLabel = gtk_label_new (QT_TR_NOOP("Preview"));
  gtk_widget_show (previewLabel);
  gtk_frame_set_label_widget (GTK_FRAME (previewFrame), previewLabel);

  dialogButtonBox = GTK_DIALOG (threshold_dialog)->action_area;
  gtk_widget_show (dialogButtonBox);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialogButtonBox), GTK_BUTTONBOX_END);

  cancelButton = gtk_button_new_from_stock ("gtk-cancel");
  gtk_widget_show (cancelButton);
  gtk_dialog_add_action_widget (GTK_DIALOG (threshold_dialog), cancelButton, GTK_RESPONSE_CANCEL);
  GTK_WIDGET_SET_FLAGS (cancelButton, GTK_CAN_DEFAULT);

  okButton = gtk_button_new_from_stock ("gtk-ok");
  gtk_widget_show (okButton);
  gtk_dialog_add_action_widget (GTK_DIALOG (threshold_dialog), okButton, GTK_RESPONSE_OK);
  GTK_WIDGET_SET_FLAGS (okButton, GTK_CAN_DEFAULT);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (threshold_dialog, threshold_dialog, "threshold_dialog");
  GLADE_HOOKUP_OBJECT_NO_REF (threshold_dialog, dialogVbox, "dialogVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, allButButtonsVbox, "allButButtonsVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, settingsOuterHbox, "settingsOuterHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, settingsOuterVbox, "settingsOuterVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, minValueVbox, "minValueVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, minValueLabel, "minValueLabel");
  GLADE_HOOKUP_OBJECT (threshold_dialog, minValueHbox, "minValueHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, minValueSlider, "minValueSlider");
  GLADE_HOOKUP_OBJECT (threshold_dialog, minValueSpinner, "minValueSpinner");
  GLADE_HOOKUP_OBJECT (threshold_dialog, maxValueVbox, "maxValueVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, maxValueLabel, "maxValueLabel");
  GLADE_HOOKUP_OBJECT (threshold_dialog, maxValueHbox, "maxValueHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, maxValueSlider, "maxValueSlider");
  GLADE_HOOKUP_OBJECT (threshold_dialog, maxValueSpinner, "maxValueSpinner");
  GLADE_HOOKUP_OBJECT (threshold_dialog, outputValuesHbox, "outputValuesHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, outputValuesLabel, "outputValuesLabel");
  GLADE_HOOKUP_OBJECT (threshold_dialog, outputValuesMenu, "outputValuesMenu");
  GLADE_HOOKUP_OBJECT (threshold_dialog, debugHbox, "debugHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, debugLabel, "debugLabel");
  GLADE_HOOKUP_OBJECT (threshold_dialog, debugSpinButton, "debugSpinButton");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewFrame, "previewFrame");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewAlignment, "previewAlignment");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewVbox, "previewVbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewControlHbox, "previewControlHbox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewOutputMenu, "previewOutputMenu");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewSlider, "previewSlider");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewVideo, "previewVideo");
  GLADE_HOOKUP_OBJECT (threshold_dialog, previewLabel, "previewLabel");
  GLADE_HOOKUP_OBJECT_NO_REF (threshold_dialog, dialogButtonBox, "dialogButtonBox");
  GLADE_HOOKUP_OBJECT (threshold_dialog, cancelButton, "cancelButton");
  GLADE_HOOKUP_OBJECT (threshold_dialog, okButton, "okButton");

  return threshold_dialog;
}
예제 #25
0
void CUIHandler::ShowSettingsDlg(void)
{
    GtkWidget* settingsDlg;
    GtkWidget* dialog_vbox1;
    GtkWidget* frame4;
    GtkWidget* alignment4;
    GtkWidget* vbox2;
    GtkWidget* radiobuttonBt;
    GtkWidget* hbox2;
    GtkWidget* radiobuttonInet;
    GtkWidget* label5;
    GtkWidget* inetPort;
    GtkWidget* label4;
    GtkWidget* dialog_action_area1;

    CUserSettings crtSettings = pSmartEngine->GetSettings();

    settingsDlg = gtk_dialog_new_with_buttons("SmartCam Preferences",
                        GTK_WINDOW(pSmartEngine->GetMainWindow()),
                        GTK_DIALOG_MODAL, GTK_STOCK_OK, GTK_RESPONSE_OK,
                        GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, NULL);
    gtk_window_set_type_hint(GTK_WINDOW (settingsDlg), GDK_WINDOW_TYPE_HINT_DIALOG);

    dialog_vbox1 = GTK_DIALOG (settingsDlg)->vbox;
    gtk_widget_show (dialog_vbox1);

    frame4 = gtk_frame_new (NULL);
    gtk_widget_show (frame4);
    gtk_box_pack_start (GTK_BOX (dialog_vbox1), frame4, TRUE, TRUE, 0);
    gtk_frame_set_shadow_type (GTK_FRAME (frame4), GTK_SHADOW_IN);

    alignment4 = gtk_alignment_new (0.5, 0.5, 1, 1);
    gtk_widget_show (alignment4);
    gtk_container_add (GTK_CONTAINER (frame4), alignment4);
    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment4), 10, 10, 12, 12);

    vbox2 = gtk_vbox_new (FALSE, 0);
    gtk_widget_show (vbox2);
    gtk_container_add (GTK_CONTAINER (alignment4), vbox2);

    radiobuttonBt = gtk_radio_button_new_with_mnemonic(NULL, "Bluetooth");
    gtk_box_pack_start(GTK_BOX (vbox2), radiobuttonBt, FALSE, FALSE, 0);

    hbox2 = gtk_hbox_new(FALSE, 0);
    gtk_widget_show(hbox2);
    gtk_box_pack_start(GTK_BOX (vbox2), hbox2, TRUE, TRUE, 0);

    radiobuttonInet = gtk_radio_button_new_with_mnemonic_from_widget(GTK_RADIO_BUTTON(radiobuttonBt), "TCP/IP (WiFi)");
    gtk_box_pack_start(GTK_BOX (hbox2), radiobuttonInet, FALSE, FALSE, 0);

    label5 = gtk_label_new("    Port: ");
    gtk_box_pack_start(GTK_BOX(hbox2), label5, FALSE, FALSE, 0);

    inetPort = gtk_spin_button_new_with_range(1025, 65536, 1);
    gtk_box_pack_start(GTK_BOX(hbox2), inetPort, TRUE, TRUE, 0);

    label4 = gtk_label_new("Connection");
    gtk_frame_set_label_widget(GTK_FRAME(frame4), label4);
    gtk_label_set_use_markup(GTK_LABEL(label4), TRUE);

    dialog_action_area1 = GTK_DIALOG(settingsDlg)->action_area;
    gtk_button_box_set_layout(GTK_BUTTON_BOX(dialog_action_area1), GTK_BUTTONBOX_END);

    g_signal_connect(G_OBJECT(radiobuttonBt), "toggled", G_CALLBACK(OnRadiobuttonBluetooth), inetPort);
    
    if(crtSettings.connectionType == CONN_BLUETOOTH)
    {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobuttonBt), TRUE);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobuttonInet), FALSE);
        g_object_set(G_OBJECT(inetPort), "sensitive", FALSE, NULL);
    }
    else
    {
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobuttonBt), FALSE);
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(radiobuttonInet), TRUE);
        g_object_set(G_OBJECT(inetPort), "sensitive", TRUE, NULL);
    }
    gtk_spin_button_set_value(GTK_SPIN_BUTTON(inetPort), crtSettings.inetPort);
    gtk_widget_show_all(settingsDlg);

    if(gtk_dialog_run(GTK_DIALOG(settingsDlg)) == GTK_RESPONSE_OK)
    {
        CUserSettings newSettings = crtSettings;
        if(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(radiobuttonBt)))
        {
            newSettings.connectionType = CONN_BLUETOOTH;
        }
        else
        {
            newSettings.connectionType = CONN_INET;
            newSettings.inetPort = gtk_spin_button_get_value(GTK_SPIN_BUTTON(inetPort));
        }
        pSmartEngine->SaveSettings(newSettings);
    }
    gtk_widget_destroy(settingsDlg);
}
예제 #26
0
GtkWidget*
create_config (void)
{
  GtkWidget *config;
  GtkWidget *config_vbox;
  GtkWidget *frame1;
  GtkWidget *table1;
  GtkWidget *label9;
  GtkObject *delay_spin_adj;
  GtkWidget *delay_spin;
  GtkWidget *focus_but;
  GtkWidget *timer_but;
  GtkWidget *label8;
  GtkWidget *frame2;
  GtkWidget *table2;
  GtkWidget *delete_but;
  GtkWidget *new_but;
  GtkWidget *scrolledwindow2;
  GtkWidget *treeview;
  GtkWidget *edit_but;
  GtkWidget *label7;
  GtkWidget *hbuttonbox1;
  GtkWidget *revert_but;
  GtkWidget *save_but;

  config = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (config), "SmartEar Configuration");
  gtk_window_set_destroy_with_parent (GTK_WINDOW (config), TRUE);

  config_vbox = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (config_vbox);
  gtk_container_add (GTK_CONTAINER (config), config_vbox);
  gtk_widget_set_size_request (config_vbox, -1, 640);

  frame1 = gtk_frame_new (NULL);
  gtk_widget_show (frame1);
  gtk_box_pack_start (GTK_BOX (config_vbox), frame1, FALSE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (frame1), 5);

  table1 = gtk_table_new (3, 2, FALSE);
  gtk_widget_show (table1);
  gtk_container_add (GTK_CONTAINER (frame1), table1);
  gtk_container_set_border_width (GTK_CONTAINER (table1), 5);
  gtk_table_set_row_spacings (GTK_TABLE (table1), 10);
  gtk_table_set_col_spacings (GTK_TABLE (table1), 10);

  label9 = gtk_label_new ("Time delay between playing sounds for a particular buddy:");
  gtk_widget_show (label9);
  gtk_table_attach (GTK_TABLE (table1), label9, 0, 1, 0, 1,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label9), 0, 0.5);

  delay_spin_adj = gtk_adjustment_new (60, 0, 1000000, 1, 10, 10);
  delay_spin = gtk_spin_button_new (GTK_ADJUSTMENT (delay_spin_adj), 1, 0);
  gtk_widget_show (delay_spin);
  gtk_table_attach (GTK_TABLE (table1), delay_spin, 1, 2, 0, 1,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_spin_button_set_update_policy (GTK_SPIN_BUTTON (delay_spin), GTK_UPDATE_IF_VALID);

  focus_but = gtk_check_button_new_with_mnemonic ("Don't play sounds for the conversation that has focus.");
  gtk_widget_show (focus_but);
  gtk_table_attach (GTK_TABLE (table1), focus_but, 0, 2, 1, 2,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  timer_but = gtk_check_button_new_with_mnemonic ("Also play sounds if you don't respond to a particular IM within a delay period.");
  gtk_widget_show (timer_but);
  gtk_table_attach (GTK_TABLE (table1), timer_but, 0, 2, 2, 3,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  label8 = gtk_label_new ("Options");
  gtk_widget_show (label8);
  gtk_frame_set_label_widget (GTK_FRAME (frame1), label8);

  frame2 = gtk_frame_new (NULL);
  gtk_widget_show (frame2);
  gtk_box_pack_start (GTK_BOX (config_vbox), frame2, TRUE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (frame2), 5);

  table2 = gtk_table_new (2, 3, FALSE);
  gtk_widget_show (table2);
  gtk_container_add (GTK_CONTAINER (frame2), table2);
  gtk_container_set_border_width (GTK_CONTAINER (table2), 5);
  gtk_table_set_row_spacings (GTK_TABLE (table2), 10);
  gtk_table_set_col_spacings (GTK_TABLE (table2), 10);

  delete_but = gtk_button_new_from_stock ("gtk-delete");
  gtk_widget_show (delete_but);
  gtk_table_attach (GTK_TABLE (table2), delete_but, 2, 3, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  GTK_WIDGET_SET_FLAGS (delete_but, GTK_CAN_DEFAULT);

  new_but = gtk_button_new_from_stock ("gtk-new");
  gtk_widget_show (new_but);
  gtk_table_attach (GTK_TABLE (table2), new_but, 0, 1, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  GTK_WIDGET_SET_FLAGS (new_but, GTK_CAN_DEFAULT);

  scrolledwindow2 = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_show (scrolledwindow2);
  gtk_table_attach (GTK_TABLE (table2), scrolledwindow2, 0, 3, 0, 1,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL), 0, 0);
  gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (scrolledwindow2), GTK_POLICY_AUTOMATIC, GTK_POLICY_ALWAYS);

  treeview = gtk_tree_view_new ();
  gtk_widget_show (treeview);
  gtk_container_add (GTK_CONTAINER (scrolledwindow2), treeview);

  edit_but = gtk_button_new_from_stock ("gtk-properties");
  gtk_widget_show (edit_but);
  gtk_table_attach (GTK_TABLE (table2), edit_but, 1, 2, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  label7 = gtk_label_new ("Entries");
  gtk_widget_show (label7);
  gtk_frame_set_label_widget (GTK_FRAME (frame2), label7);

  hbuttonbox1 = gtk_hbutton_box_new ();
  gtk_widget_show (hbuttonbox1);
  gtk_box_pack_start (GTK_BOX (config_vbox), hbuttonbox1, FALSE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox1), 5);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox1), GTK_BUTTONBOX_SPREAD);

  revert_but = gtk_button_new_from_stock ("gtk-revert-to-saved");
  gtk_widget_show (revert_but);
  gtk_container_add (GTK_CONTAINER (hbuttonbox1), revert_but);
  GTK_WIDGET_SET_FLAGS (revert_but, GTK_CAN_DEFAULT);

  save_but = gtk_button_new_from_stock ("gtk-save");
  gtk_widget_show (save_but);
  gtk_container_add (GTK_CONTAINER (hbuttonbox1), save_but);
  GTK_WIDGET_SET_FLAGS (save_but, GTK_CAN_DEFAULT);

  g_signal_connect ((gpointer) config_vbox, "destroy",
                    G_CALLBACK (on_config_destroy),
                    NULL);
  g_signal_connect ((gpointer) delay_spin, "changed",
                    G_CALLBACK (on_delay_changed),
                    NULL);
  g_signal_connect ((gpointer) focus_but, "toggled",
                    G_CALLBACK (on_focus_toggled),
                    NULL);
  g_signal_connect ((gpointer) timer_but, "toggled",
                    G_CALLBACK (on_timer_toggled),
                    NULL);
  g_signal_connect ((gpointer) delete_but, "clicked",
                    G_CALLBACK (on_delete_clicked),
                    NULL);
  g_signal_connect ((gpointer) new_but, "clicked",
                    G_CALLBACK (on_new_clicked),
                    NULL);
  g_signal_connect ((gpointer) edit_but, "clicked",
                    G_CALLBACK (on_edit_clicked),
                    NULL);
  g_signal_connect ((gpointer) revert_but, "clicked",
                    G_CALLBACK (on_revert_clicked),
                    NULL);
  g_signal_connect ((gpointer) save_but, "clicked",
                    G_CALLBACK (on_save_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (config, config, "config");
  GLADE_HOOKUP_OBJECT (config, config_vbox, "config_vbox");
  GLADE_HOOKUP_OBJECT (config, frame1, "frame1");
  GLADE_HOOKUP_OBJECT (config, table1, "table1");
  GLADE_HOOKUP_OBJECT (config, label9, "label9");
  GLADE_HOOKUP_OBJECT (config, delay_spin, "delay_spin");
  GLADE_HOOKUP_OBJECT (config, focus_but, "focus_but");
  GLADE_HOOKUP_OBJECT (config, timer_but, "timer_but");
  GLADE_HOOKUP_OBJECT (config, label8, "label8");
  GLADE_HOOKUP_OBJECT (config, frame2, "frame2");
  GLADE_HOOKUP_OBJECT (config, table2, "table2");
  GLADE_HOOKUP_OBJECT (config, delete_but, "delete_but");
  GLADE_HOOKUP_OBJECT (config, new_but, "new_but");
  GLADE_HOOKUP_OBJECT (config, scrolledwindow2, "scrolledwindow2");
  GLADE_HOOKUP_OBJECT (config, treeview, "treeview");
  GLADE_HOOKUP_OBJECT (config, edit_but, "edit_but");
  GLADE_HOOKUP_OBJECT (config, label7, "label7");
  GLADE_HOOKUP_OBJECT (config, hbuttonbox1, "hbuttonbox1");
  GLADE_HOOKUP_OBJECT (config, revert_but, "revert_but");
  GLADE_HOOKUP_OBJECT (config, save_but, "save_but");

  return config;
}
예제 #27
0
GtkWidget*
create_edit_win (void)
{
  GtkWidget *edit_win;
  GtkWidget *vbox1;
  GtkWidget *hbox1;
  GtkWidget *label29;
  GtkWidget *name_entry;
  GtkWidget *label30;
  GtkWidget *type_option;
  GtkWidget *menu1;
  GtkWidget *item_buddy;
  GtkWidget *item_group;
  GtkWidget *hbuttonbox2;
  GtkWidget *applysave_but;
  GtkWidget *apply_but;
  GtkWidget *cancel_but;
  GtkWidget *frame3;
  GtkWidget *table5;
  GtkWidget *label31;
  GtkWidget *label34;
  GtkWidget *label33;
  GtkWidget *label32;
  GtkWidget *unaway_sound_entry;
  GtkWidget *unidle_sound_entry;
  GtkWidget *signon_sound_entry;
  GtkWidget *unaway_test_but;
  GtkWidget *unidle_test_but;
  GtkWidget *signon_test_but;
  GtkWidget *unaway_browse_but;
  GtkWidget *unidle_browse_but;
  GtkWidget *signon_browse_but;
  GtkWidget *im_browse_but;
  GtkWidget *im_sound_entry;
  GtkWidget *im_test_but;
  GtkWidget *label24;

  edit_win = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_widget_set_size_request (edit_win, 600, 300);
  gtk_window_set_title (GTK_WINDOW (edit_win), "Edit Entry");
  gtk_window_set_default_size (GTK_WINDOW (edit_win), 600, 300);

  vbox1 = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (vbox1);
  gtk_container_add (GTK_CONTAINER (edit_win), vbox1);

  hbox1 = gtk_hbox_new (FALSE, 5);
  gtk_widget_show (hbox1);
  gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, TRUE, 10);
  gtk_container_set_border_width (GTK_CONTAINER (hbox1), 5);

  label29 = gtk_label_new ("Name:");
  gtk_widget_show (label29);
  gtk_box_pack_start (GTK_BOX (hbox1), label29, FALSE, FALSE, 0);
  gtk_misc_set_alignment (GTK_MISC (label29), 1, 0.5);

  name_entry = gtk_entry_new ();
  gtk_widget_show (name_entry);
  gtk_box_pack_start (GTK_BOX (hbox1), name_entry, TRUE, TRUE, 0);

  label30 = gtk_label_new ("Type:");
  gtk_widget_show (label30);
  gtk_box_pack_start (GTK_BOX (hbox1), label30, FALSE, TRUE, 0);
  gtk_misc_set_alignment (GTK_MISC (label30), 1, 0.5);

  type_option = gtk_option_menu_new ();
  gtk_widget_show (type_option);
  gtk_box_pack_start (GTK_BOX (hbox1), type_option, FALSE, FALSE, 0);

  menu1 = gtk_menu_new ();

  item_buddy = gtk_menu_item_new_with_mnemonic ("Buddy");
  gtk_widget_show (item_buddy);
  gtk_container_add (GTK_CONTAINER (menu1), item_buddy);

  item_group = gtk_menu_item_new_with_mnemonic ("Group");
  gtk_widget_show (item_group);
  gtk_container_add (GTK_CONTAINER (menu1), item_group);

  gtk_option_menu_set_menu (GTK_OPTION_MENU (type_option), menu1);

  hbuttonbox2 = gtk_hbutton_box_new ();
  gtk_widget_show (hbuttonbox2);
  gtk_box_pack_end (GTK_BOX (vbox1), hbuttonbox2, FALSE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (hbuttonbox2), 5);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (hbuttonbox2), GTK_BUTTONBOX_SPREAD);

  applysave_but = gtk_button_new_with_mnemonic ("Apply and Save");
  gtk_widget_show (applysave_but);
  gtk_container_add (GTK_CONTAINER (hbuttonbox2), applysave_but);
  GTK_WIDGET_SET_FLAGS (applysave_but, GTK_CAN_DEFAULT);

  apply_but = gtk_button_new_from_stock ("gtk-apply");
  gtk_widget_show (apply_but);
  gtk_container_add (GTK_CONTAINER (hbuttonbox2), apply_but);
  GTK_WIDGET_SET_FLAGS (apply_but, GTK_CAN_DEFAULT);

  cancel_but = gtk_button_new_from_stock ("gtk-cancel");
  gtk_widget_show (cancel_but);
  gtk_container_add (GTK_CONTAINER (hbuttonbox2), cancel_but);
  GTK_WIDGET_SET_FLAGS (cancel_but, GTK_CAN_DEFAULT);

  frame3 = gtk_frame_new (NULL);
  gtk_widget_show (frame3);
  gtk_box_pack_start (GTK_BOX (vbox1), frame3, FALSE, FALSE, 0);
  gtk_widget_set_size_request (frame3, -1, 200);
  gtk_container_set_border_width (GTK_CONTAINER (frame3), 5);

  table5 = gtk_table_new (4, 5, FALSE);
  gtk_widget_show (table5);
  gtk_container_add (GTK_CONTAINER (frame3), table5);
  gtk_widget_set_size_request (table5, 600, 400);
  gtk_container_set_border_width (GTK_CONTAINER (table5), 5);
  gtk_table_set_row_spacings (GTK_TABLE (table5), 10);
  gtk_table_set_col_spacings (GTK_TABLE (table5), 10);

  label31 = gtk_label_new ("Play On IM:");
  gtk_widget_show (label31);
  gtk_table_attach (GTK_TABLE (table5), label31, 0, 1, 0, 1,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label31), 0, 0.5);

  label34 = gtk_label_new ("Play On Unaway:");
  gtk_widget_show (label34);
  gtk_table_attach (GTK_TABLE (table5), label34, 0, 1, 3, 4,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label34), 0, 0.5);

  label33 = gtk_label_new ("Play On Unidle:");
  gtk_widget_show (label33);
  gtk_table_attach (GTK_TABLE (table5), label33, 0, 1, 2, 3,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label33), 0, 0.5);

  label32 = gtk_label_new ("Play On Signon:");
  gtk_widget_show (label32);
  gtk_table_attach (GTK_TABLE (table5), label32, 0, 1, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label32), 0, 0.5);

  unaway_sound_entry = gtk_entry_new ();
  gtk_widget_show (unaway_sound_entry);
  gtk_table_attach (GTK_TABLE (table5), unaway_sound_entry, 1, 3, 3, 4,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  unidle_sound_entry = gtk_entry_new ();
  gtk_widget_show (unidle_sound_entry);
  gtk_table_attach (GTK_TABLE (table5), unidle_sound_entry, 1, 3, 2, 3,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  signon_sound_entry = gtk_entry_new ();
  gtk_widget_show (signon_sound_entry);
  gtk_table_attach (GTK_TABLE (table5), signon_sound_entry, 1, 3, 1, 2,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  unaway_test_but = gtk_button_new_with_mnemonic ("Test");
  gtk_widget_show (unaway_test_but);
  gtk_table_attach (GTK_TABLE (table5), unaway_test_but, 4, 5, 3, 4,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  unidle_test_but = gtk_button_new_with_mnemonic ("Test");
  gtk_widget_show (unidle_test_but);
  gtk_table_attach (GTK_TABLE (table5), unidle_test_but, 4, 5, 2, 3,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  signon_test_but = gtk_button_new_with_mnemonic ("Test");
  gtk_widget_show (signon_test_but);
  gtk_table_attach (GTK_TABLE (table5), signon_test_but, 4, 5, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  unaway_browse_but = gtk_button_new_from_stock ("gtk-open");
  gtk_widget_show (unaway_browse_but);
  gtk_table_attach (GTK_TABLE (table5), unaway_browse_but, 3, 4, 3, 4,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  unidle_browse_but = gtk_button_new_from_stock ("gtk-open");
  gtk_widget_show (unidle_browse_but);
  gtk_table_attach (GTK_TABLE (table5), unidle_browse_but, 3, 4, 2, 3,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  signon_browse_but = gtk_button_new_from_stock ("gtk-open");
  gtk_widget_show (signon_browse_but);
  gtk_table_attach (GTK_TABLE (table5), signon_browse_but, 3, 4, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  im_browse_but = gtk_button_new_from_stock ("gtk-open");
  gtk_widget_show (im_browse_but);
  gtk_table_attach (GTK_TABLE (table5), im_browse_but, 3, 4, 0, 1,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  im_sound_entry = gtk_entry_new ();
  gtk_widget_show (im_sound_entry);
  gtk_table_attach (GTK_TABLE (table5), im_sound_entry, 1, 3, 0, 1,
                    (GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);

  im_test_but = gtk_button_new_with_mnemonic ("Test");
  gtk_widget_show (im_test_but);
  gtk_table_attach (GTK_TABLE (table5), im_test_but, 4, 5, 0, 1,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);

  label24 = gtk_label_new ("Sound Events");
  gtk_widget_show (label24);
  gtk_frame_set_label_widget (GTK_FRAME (frame3), label24);

  g_signal_connect ((gpointer) edit_win, "destroy",
                    G_CALLBACK (on_edit_win_destroy),
                    NULL);
  g_signal_connect ((gpointer) applysave_but, "clicked",
                    G_CALLBACK (on_apply_clicked),
                    NULL);
  g_signal_connect ((gpointer) applysave_but, "clicked",
                    G_CALLBACK (on_save_clicked),
                    NULL);
  g_signal_connect_swapped ((gpointer) applysave_but, "clicked",
                            G_CALLBACK (gtk_widget_destroy),
                            GTK_OBJECT (edit_win));
  g_signal_connect ((gpointer) apply_but, "clicked",
                    G_CALLBACK (on_apply_clicked),
                    NULL);
  g_signal_connect_swapped ((gpointer) apply_but, "clicked",
                            G_CALLBACK (gtk_widget_destroy),
                            GTK_OBJECT (edit_win));
  g_signal_connect_swapped ((gpointer) cancel_but, "clicked",
                            G_CALLBACK (gtk_widget_destroy),
                            GTK_OBJECT (edit_win));
  g_signal_connect ((gpointer) unaway_test_but, "clicked",
                    G_CALLBACK (on_unaway_test_clicked),
                    NULL);
  g_signal_connect ((gpointer) unidle_test_but, "clicked",
                    G_CALLBACK (on_unidle_test_clicked),
                    NULL);
  g_signal_connect ((gpointer) signon_test_but, "clicked",
                    G_CALLBACK (on_signon_test_clicked),
                    NULL);
  g_signal_connect ((gpointer) unaway_browse_but, "clicked",
                    G_CALLBACK (on_unaway_browse_clicked),
                    NULL);
  g_signal_connect ((gpointer) unidle_browse_but, "clicked",
                    G_CALLBACK (on_unidle_browse_clicked),
                    NULL);
  g_signal_connect ((gpointer) signon_browse_but, "clicked",
                    G_CALLBACK (on_signon_browse_clicked),
                    NULL);
  g_signal_connect ((gpointer) im_browse_but, "clicked",
                    G_CALLBACK (on_im_browse_clicked),
                    NULL);
  g_signal_connect ((gpointer) im_test_but, "clicked",
                    G_CALLBACK (on_im_test_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (edit_win, edit_win, "edit_win");
  GLADE_HOOKUP_OBJECT (edit_win, vbox1, "vbox1");
  GLADE_HOOKUP_OBJECT (edit_win, hbox1, "hbox1");
  GLADE_HOOKUP_OBJECT (edit_win, label29, "label29");
  GLADE_HOOKUP_OBJECT (edit_win, name_entry, "name_entry");
  GLADE_HOOKUP_OBJECT (edit_win, label30, "label30");
  GLADE_HOOKUP_OBJECT (edit_win, type_option, "type_option");
  GLADE_HOOKUP_OBJECT (edit_win, menu1, "menu1");
  GLADE_HOOKUP_OBJECT (edit_win, item_buddy, "item_buddy");
  GLADE_HOOKUP_OBJECT (edit_win, item_group, "item_group");
  GLADE_HOOKUP_OBJECT (edit_win, hbuttonbox2, "hbuttonbox2");
  GLADE_HOOKUP_OBJECT (edit_win, applysave_but, "applysave_but");
  GLADE_HOOKUP_OBJECT (edit_win, apply_but, "apply_but");
  GLADE_HOOKUP_OBJECT (edit_win, cancel_but, "cancel_but");
  GLADE_HOOKUP_OBJECT (edit_win, frame3, "frame3");
  GLADE_HOOKUP_OBJECT (edit_win, table5, "table5");
  GLADE_HOOKUP_OBJECT (edit_win, label31, "label31");
  GLADE_HOOKUP_OBJECT (edit_win, label34, "label34");
  GLADE_HOOKUP_OBJECT (edit_win, label33, "label33");
  GLADE_HOOKUP_OBJECT (edit_win, label32, "label32");
  GLADE_HOOKUP_OBJECT (edit_win, unaway_sound_entry, "unaway_sound_entry");
  GLADE_HOOKUP_OBJECT (edit_win, unidle_sound_entry, "unidle_sound_entry");
  GLADE_HOOKUP_OBJECT (edit_win, signon_sound_entry, "signon_sound_entry");
  GLADE_HOOKUP_OBJECT (edit_win, unaway_test_but, "unaway_test_but");
  GLADE_HOOKUP_OBJECT (edit_win, unidle_test_but, "unidle_test_but");
  GLADE_HOOKUP_OBJECT (edit_win, signon_test_but, "signon_test_but");
  GLADE_HOOKUP_OBJECT (edit_win, unaway_browse_but, "unaway_browse_but");
  GLADE_HOOKUP_OBJECT (edit_win, unidle_browse_but, "unidle_browse_but");
  GLADE_HOOKUP_OBJECT (edit_win, signon_browse_but, "signon_browse_but");
  GLADE_HOOKUP_OBJECT (edit_win, im_browse_but, "im_browse_but");
  GLADE_HOOKUP_OBJECT (edit_win, im_sound_entry, "im_sound_entry");
  GLADE_HOOKUP_OBJECT (edit_win, im_test_but, "im_test_but");
  GLADE_HOOKUP_OBJECT (edit_win, label24, "label24");

  return edit_win;
}
예제 #28
0
static void
bt_main_page_info_init_ui (const BtMainPageInfo * self,
    const BtMainPages * pages)
{
  GtkWidget *label, *frame, *box;
  GtkWidget *table;
  GtkWidget *scrolledwindow;
  GtkAdjustment *spin_adjustment;
  GParamSpecULong *pspec, *pspec2;
  GObjectClass *song_info_class;
  gulong def, min, max;

  GST_DEBUG ("!!!! self=%p", self);

  gtk_widget_set_name (GTK_WIDGET (self), "song information");

  song_info_class = g_type_class_ref (BT_TYPE_SONG_INFO);

  // first row of vbox
  frame = gtk_frame_new (NULL);
  label = make_heading (_("song meta data"));
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  gtk_container_set_border_width (GTK_CONTAINER (frame), BOX_BORDER);
  gtk_widget_set_name (frame, "song meta data");
  gtk_box_pack_start (GTK_BOX (self), frame, FALSE, TRUE, 0);

  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, BOX_BORDER);
  gtk_container_add (GTK_CONTAINER (frame), box);

  /* left side padding */
  gtk_box_pack_start (GTK_BOX (box), gtk_label_new ("    "), FALSE, TRUE, 0);

  // first column
  table = gtk_grid_new ();
  gtk_box_pack_start (GTK_BOX (box), table, TRUE, TRUE, 0);

  label = gtk_label_new (_("name"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
  self->priv->name = GTK_ENTRY (gtk_entry_new ());
  g_object_set (self->priv->name, "hexpand", TRUE, "margin-left", LABEL_PADDING,
      NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->name), 1, 0, 1, 1);
  g_signal_connect (self->priv->name, "changed", G_CALLBACK (on_name_changed),
      (gpointer) self);

  label = gtk_label_new (_("genre"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
  self->priv->genre = GTK_ENTRY (gtk_entry_new ());
  g_object_set (self->priv->genre, "hexpand", TRUE, "margin-left",
      LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->genre), 1, 1, 1,
      1);
  g_signal_connect (self->priv->genre, "changed", G_CALLBACK (on_genre_changed),
      (gpointer) self);

  label = gtk_label_new (_("author"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 2, 1, 1);
  self->priv->author = GTK_ENTRY (gtk_entry_new ());
  g_object_set (self->priv->author, "hexpand", TRUE, "margin-left",
      LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->author), 1, 2, 1,
      1);
  g_signal_connect (self->priv->author, "changed",
      G_CALLBACK (on_author_changed), (gpointer) self);

  label = gtk_label_new (_("created"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 3, 1, 1);
  self->priv->date_created = GTK_ENTRY (gtk_entry_new ());
  gtk_editable_set_editable (GTK_EDITABLE (self->priv->date_created), FALSE);
  gtk_widget_set_can_focus (GTK_WIDGET (self->priv->date_created), FALSE);
  g_object_set (self->priv->date_created, "hexpand", TRUE, "margin-left",
      LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->date_created), 1,
      3, 1, 1);

  // second column
  table = gtk_grid_new ();
  gtk_box_pack_start (GTK_BOX (box), table, TRUE, TRUE, 0);

  label = gtk_label_new (_("beats per minute"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 0, 1, 1);
  pspec =
      (GParamSpecULong *) g_object_class_find_property (song_info_class, "bpm");
  spin_adjustment = gtk_adjustment_new (pspec->default_value, pspec->minimum,
      pspec->maximum, 1.0, 5.0, 0.0);
  self->priv->bpm =
      GTK_SPIN_BUTTON (gtk_spin_button_new (spin_adjustment, 1.0, 0));
  g_object_set (self->priv->bpm, "margin-left", LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->bpm), 1, 0, 1, 1);
  g_signal_connect (self->priv->bpm, "value-changed",
      G_CALLBACK (on_bpm_changed), (gpointer) self);

  label = gtk_label_new (_("beats"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 1, 1, 1);
  pspec =
      (GParamSpecULong *) g_object_class_find_property (song_info_class, "tpb");
  pspec2 =
      (GParamSpecULong *) g_object_class_find_property (song_info_class,
      "bars");
  def = pspec2->default_value / pspec->default_value;
  min = pspec2->minimum / pspec->maximum;
  max = pspec2->maximum / pspec->minimum;
  if (min < 1)
    min = 1;
  spin_adjustment = gtk_adjustment_new (def, min, max, 1.0, 4.0, 0.0);
  self->priv->beats =
      GTK_SPIN_BUTTON (gtk_spin_button_new (spin_adjustment, 1.0, 0));
  g_object_set (self->priv->beats, "margin-left", LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->beats), 1, 1, 1,
      1);
  g_signal_connect (self->priv->beats, "value-changed",
      G_CALLBACK (on_beats_changed), (gpointer) self);

  label = gtk_label_new (_("ticks per beat"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 2, 1, 1);
  spin_adjustment = gtk_adjustment_new (pspec->default_value, pspec->minimum,
      pspec->maximum, 1.0, 4.0, 0.0);
  self->priv->tpb =
      GTK_SPIN_BUTTON (gtk_spin_button_new (spin_adjustment, 1.0, 0));
  g_object_set (self->priv->tpb, "margin-left", LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->tpb), 1, 2, 1, 1);
  g_signal_connect (self->priv->tpb, "value-changed",
      G_CALLBACK (on_tpb_changed), (gpointer) self);

  label = gtk_label_new (_("last saved"));
  g_object_set (label, "xalign", 1.0, NULL);
  gtk_grid_attach (GTK_GRID (table), label, 0, 3, 1, 1);
  self->priv->date_changed = GTK_ENTRY (gtk_entry_new ());
  gtk_editable_set_editable (GTK_EDITABLE (self->priv->date_changed), FALSE);
  gtk_widget_set_can_focus (GTK_WIDGET (self->priv->date_changed), FALSE);
  g_object_set (self->priv->date_changed, "hexpand", TRUE, "margin-left",
      LABEL_PADDING, NULL);
  gtk_grid_attach (GTK_GRID (table), GTK_WIDGET (self->priv->date_changed), 1,
      3, 1, 1);

  // @idea show tick and subtick interval as time (s:ms)

  // second row of hbox
  frame = gtk_frame_new (NULL);
  label = make_heading (_("free text info"));
  gtk_frame_set_label_widget (GTK_FRAME (frame), label);
  gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_NONE);
  gtk_container_set_border_width (GTK_CONTAINER (frame), BOX_BORDER);
  gtk_box_pack_start (GTK_BOX (self), frame, TRUE, TRUE, 0);

  box = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, BOX_BORDER);
  gtk_container_add (GTK_CONTAINER (frame), box);

  /* left side padding */
  gtk_box_pack_start (GTK_BOX (box), gtk_label_new ("    "), FALSE, TRUE, 0);

  scrolledwindow = gtk_scrolled_window_new (NULL, NULL);
  gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW (scrolledwindow),
      GTK_SHADOW_IN);
  gtk_box_pack_start (GTK_BOX (box), scrolledwindow, TRUE, TRUE, 0);

  self->priv->info = GTK_TEXT_VIEW (gtk_text_view_new ());
  gtk_widget_set_name (GTK_WIDGET (self->priv->info), "free text info");
  gtk_text_view_set_wrap_mode (GTK_TEXT_VIEW (self->priv->info), GTK_WRAP_WORD);
  gtk_container_add (GTK_CONTAINER (scrolledwindow),
      GTK_WIDGET (self->priv->info));
  g_signal_connect (gtk_text_view_get_buffer (self->priv->info), "changed",
      G_CALLBACK (on_info_changed), (gpointer) self);

  // register event handlers
  g_signal_connect_object (self->priv->app, "notify::song",
      G_CALLBACK (on_song_changed), (gpointer) self, 0);
  // listen to page changes
  g_signal_connect ((gpointer) pages, "notify::page",
      G_CALLBACK (on_page_switched), (gpointer) self);
  g_signal_connect ((gpointer) self, "map",
      G_CALLBACK (on_page_mapped), (gpointer) self);

  GST_DEBUG ("  done");
}
GtkWidget*
create_ChromaShift (void)
{
  GtkWidget *ChromaShift;
  GtkWidget *dialog_vbox1;
  GtkWidget *vbox1;
  GtkWidget *table1;
  GtkWidget *label1;
  GtkWidget *label2;
  GtkObject *spinbutton_U_adj;
  GtkWidget *spinbutton_U;
  GtkObject *spinbutton_V_adj;
  GtkWidget *spinbutton_V;
  GtkWidget *hscale;
  GtkWidget *frame1;
  GtkWidget *alignment1;
  GtkWidget *drawingarea1;
  GtkWidget *label3;
  GtkWidget *dialog_action_area1;
  GtkWidget *cancelbutton1;
  GtkWidget *applybutton1;
  GtkWidget *okbutton1;

  ChromaShift = gtk_dialog_new ();
  gtk_window_set_title (GTK_WINDOW (ChromaShift), QT_TR_NOOP("ChromaShift"));
  gtk_window_set_type_hint (GTK_WINDOW (ChromaShift), GDK_WINDOW_TYPE_HINT_DIALOG);

  dialog_vbox1 = GTK_DIALOG (ChromaShift)->vbox;
  gtk_widget_show (dialog_vbox1);

  vbox1 = gtk_vbox_new (FALSE, 0);
  gtk_widget_show (vbox1);
  gtk_box_pack_start (GTK_BOX (dialog_vbox1), vbox1, TRUE, TRUE, 0);

  table1 = gtk_table_new (2, 2, FALSE);
  gtk_widget_show (table1);
  gtk_box_pack_start (GTK_BOX (vbox1), table1, FALSE, FALSE, 0);

  label1 = gtk_label_new (QT_TR_NOOP("U Shift :"));
  gtk_widget_show (label1);
  gtk_table_attach (GTK_TABLE (table1), label1, 0, 1, 0, 1,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label1), 0, 0.5);

  label2 = gtk_label_new (QT_TR_NOOP("V Shift :"));
  gtk_widget_show (label2);
  gtk_table_attach (GTK_TABLE (table1), label2, 0, 1, 1, 2,
                    (GtkAttachOptions) (GTK_FILL),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_misc_set_alignment (GTK_MISC (label2), 0, 0.5);

  spinbutton_U_adj = gtk_adjustment_new (0, -32, 32, 1, 10, 0);
  spinbutton_U = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_U_adj), 1, 0);
  gtk_widget_show (spinbutton_U);
  gtk_table_attach (GTK_TABLE (table1), spinbutton_U, 1, 2, 0, 1,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_U), TRUE);

  spinbutton_V_adj = gtk_adjustment_new (0, -32, 32, 1, 10, 0);
  spinbutton_V = gtk_spin_button_new (GTK_ADJUSTMENT (spinbutton_V_adj), 1, 0);
  gtk_widget_show (spinbutton_V);
  gtk_table_attach (GTK_TABLE (table1), spinbutton_V, 1, 2, 1, 2,
                    (GtkAttachOptions) (0),
                    (GtkAttachOptions) (0), 0, 0);
  gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (spinbutton_V), TRUE);

  hscale = gtk_hscale_new (GTK_ADJUSTMENT (gtk_adjustment_new (0, 0, 100, 1, 1, 0)));
  gtk_widget_show (hscale);
  gtk_box_pack_start (GTK_BOX (vbox1), hscale, FALSE, FALSE, 0);
  gtk_scale_set_digits (GTK_SCALE (hscale), 0);

  frame1 = gtk_frame_new (NULL);
  gtk_widget_show (frame1);
  gtk_box_pack_start (GTK_BOX (vbox1), frame1, TRUE, TRUE, 0);
  gtk_frame_set_shadow_type (GTK_FRAME (frame1), GTK_SHADOW_NONE);

  alignment1 = gtk_alignment_new (0.5, 0.5, 1, 1);
  gtk_widget_show (alignment1);
  gtk_container_add (GTK_CONTAINER (frame1), alignment1);
  gtk_alignment_set_padding (GTK_ALIGNMENT (alignment1), 0, 0, 12, 0);

  drawingarea1 = gtk_drawing_area_new ();
  gtk_widget_show (drawingarea1);
  gtk_container_add (GTK_CONTAINER (alignment1), drawingarea1);

  label3 = gtk_label_new (QT_TR_NOOP("<b>Preview</b>"));
  gtk_widget_show (label3);
  gtk_frame_set_label_widget (GTK_FRAME (frame1), label3);
  gtk_label_set_use_markup (GTK_LABEL (label3), TRUE);

  dialog_action_area1 = GTK_DIALOG (ChromaShift)->action_area;
  gtk_widget_show (dialog_action_area1);
  gtk_button_box_set_layout (GTK_BUTTON_BOX (dialog_action_area1), GTK_BUTTONBOX_END);

  cancelbutton1 = gtk_button_new_from_stock ("gtk-cancel");
  gtk_widget_show (cancelbutton1);
  gtk_dialog_add_action_widget (GTK_DIALOG (ChromaShift), cancelbutton1, GTK_RESPONSE_CANCEL);
  GTK_WIDGET_SET_FLAGS (cancelbutton1, GTK_CAN_DEFAULT);

  applybutton1 = gtk_button_new_from_stock ("gtk-apply");
  gtk_widget_show (applybutton1);
  gtk_dialog_add_action_widget (GTK_DIALOG (ChromaShift), applybutton1, GTK_RESPONSE_APPLY);
  GTK_WIDGET_SET_FLAGS (applybutton1, GTK_CAN_DEFAULT);

  okbutton1 = gtk_button_new_from_stock ("gtk-ok");
  gtk_widget_show (okbutton1);
  gtk_dialog_add_action_widget (GTK_DIALOG (ChromaShift), okbutton1, GTK_RESPONSE_OK);
  GTK_WIDGET_SET_FLAGS (okbutton1, GTK_CAN_DEFAULT);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (ChromaShift, ChromaShift, "ChromaShift");
  GLADE_HOOKUP_OBJECT_NO_REF (ChromaShift, dialog_vbox1, "dialog_vbox1");
  GLADE_HOOKUP_OBJECT (ChromaShift, vbox1, "vbox1");
  GLADE_HOOKUP_OBJECT (ChromaShift, table1, "table1");
  GLADE_HOOKUP_OBJECT (ChromaShift, label1, "label1");
  GLADE_HOOKUP_OBJECT (ChromaShift, label2, "label2");
  GLADE_HOOKUP_OBJECT (ChromaShift, spinbutton_U, "spinbutton_U");
  GLADE_HOOKUP_OBJECT (ChromaShift, spinbutton_V, "spinbutton_V");
  GLADE_HOOKUP_OBJECT (ChromaShift, hscale, "hscale");
  GLADE_HOOKUP_OBJECT (ChromaShift, frame1, "frame1");
  GLADE_HOOKUP_OBJECT (ChromaShift, alignment1, "alignment1");
  GLADE_HOOKUP_OBJECT (ChromaShift, drawingarea1, "drawingarea1");
  GLADE_HOOKUP_OBJECT (ChromaShift, label3, "label3");
  GLADE_HOOKUP_OBJECT_NO_REF (ChromaShift, dialog_action_area1, "dialog_action_area1");
  GLADE_HOOKUP_OBJECT (ChromaShift, cancelbutton1, "cancelbutton1");
  GLADE_HOOKUP_OBJECT (ChromaShift, applybutton1, "applybutton1");
  GLADE_HOOKUP_OBJECT (ChromaShift, okbutton1, "okbutton1");

  return ChromaShift;
}
예제 #30
0
파일: serial.c 프로젝트: reyesr/lcrt
static void lcrt_serial_show(struct lcrt_qconnect *lqconnect)
{
    GtkWidget *vbox;
    GtkWidget *vbox_spec;
    GtkWidget *hbox1;
    GtkWidget *label_port;
    GtkWidget *combobox_port;
    GtkWidget *label_baud_rate;
    GtkWidget *combobox_baud_rate;
    GtkWidget *label_data_bits;
    GtkWidget *combobox_data_bits;
    GtkWidget *label_parity;
    GtkWidget *combobox_parity;
    GtkWidget *label_stop_bits;
    GtkWidget *combobox_stop_bits;
    GtkWidget *frame;
    GtkWidget *alignment;
    GtkWidget *hbox_frame;
    GtkWidget *checkbutton_software;
    GtkWidget *checkbutton_hardware;
    GtkWidget *label_flow_control;
    int i;
    const char *sport[LCRT_SERIAL_PORT_NUMBER] = {LCRT_SERIAL_PORT};
    const struct lcrt_serial_map sbaud_rate[LCRT_SERIAL_BAUD_RATE_NUMBER] = {LCRT_SERIAL_BAUD_RATE_TABLE};
    const struct lcrt_serial_map sdata_bits[LCRT_SERIAL_DATA_BITS_NUMBER] = {LCRT_SERIAL_DATA_BITS_TABLE};
    const struct lcrt_serial_map sparity[LCRT_SERIAL_PARITY_NUMBER] = {LCRT_SERIAL_PARITY_TABLE};
    const struct lcrt_serial_map sstop_bits[LCRT_SERIAL_STOP_BITS_NUMBER] = {LCRT_SERIAL_STOP_BITS_TABLE};
    const struct lcrt_serial_map flow_control[LCRT_SEROAL_FLOW_CONTROL_NUMBER] = {LCRT_SEROAL_FLOW_CONTROL_TABLE};
    static struct lcrt_serial_if slserial, *lserial = &slserial;
    struct lcrtc_user *user = NULL;
    char s_port[USERNAME_LEN];
    boolean f_option = FALSE;
    int s_baud_rate,s_databit,s_parity,s_stopbit,s_software,s_hardware;
    if (lqconnect->flag == LCRT_QCONNECT_SESSION_OPTION &&
        (user = lcrt_user_find_by_name(&lqconnect->parent->u_config, lqconnect->uname)) != NULL) {
        sscanf(user->password, "%s %d %d %d %d %d %d", 
                s_port,
                &s_baud_rate,
                &s_databit,
                &s_parity,
                &s_stopbit,
                &s_software,
                &s_hardware);
        debug_print("SERIAL PORT: %s %d %d %d %d %d %d\n", 
                s_port,
                s_baud_rate,
                s_databit,
                s_parity,
                s_stopbit,
                s_software,
                s_hardware);

        f_option = TRUE;
    }

    memset(lserial, 0, sizeof(struct lcrt_serial_if));
    lqconnect->private_data = lserial;

    vbox = GTK_DIALOG (lqconnect->q_connect)->vbox;
    debug_where();
    vbox_spec = gtk_vbox_new (FALSE, 0);
    lqconnect->q_vbox_spec = vbox_spec;
    gtk_widget_show (vbox_spec);
    gtk_box_pack_start (GTK_BOX (vbox), vbox_spec, TRUE, TRUE, 0);
    gtk_box_reorder_child (GTK_BOX (vbox), vbox_spec, 1);
    gtk_widget_set_size_request (vbox_spec, -1, 210);

    hbox1 = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox1);
    gtk_box_pack_start (GTK_BOX (vbox_spec), hbox1, TRUE, TRUE, 0);
    gtk_widget_set_size_request (hbox1, -1, 25);

    label_port = gtk_label_new (lqconnect->config.value[LCRT_Q_SPORT]);
    gtk_widget_show (label_port);
    gtk_box_pack_start (GTK_BOX (hbox1), label_port, FALSE, FALSE, 0);
    gtk_widget_set_size_request (label_port, 90, 25);
    gtk_misc_set_alignment (GTK_MISC (label_port), 0, 0.5);

    combobox_port = gtk_combo_box_entry_new_text ();
    lserial->port = combobox_port;
    gtk_widget_show (combobox_port);
    gtk_box_pack_start (GTK_BOX (hbox1), combobox_port, FALSE, TRUE, 0);
    gtk_widget_set_size_request (combobox_port, SERIAL_COMBOBOX_WIDTH, 25);
    
    for (i = 0; i < LCRT_SERIAL_PORT_NUMBER; i++) {
        gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_port), sport[i]);
        if (f_option && strcmp(s_port, sport[i]) == 0)
            gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_port), i);

    }
    debug_where();
    //gtk_entry_set_editable(GTK_ENTRY(GTK_BIN(combobox_port)->child), FALSE);

    hbox1 = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox1);
    gtk_box_pack_start (GTK_BOX (vbox_spec), hbox1, TRUE, TRUE, 0);
    gtk_widget_set_size_request (hbox1, -1, 25);

    label_baud_rate = gtk_label_new (lqconnect->config.value[LCRT_Q_SBAUD_RATE]);
    gtk_widget_show (label_baud_rate);
    gtk_box_pack_start (GTK_BOX (hbox1), label_baud_rate, FALSE, FALSE, 0);
    gtk_widget_set_size_request (label_baud_rate, 90, 25);
    gtk_misc_set_alignment (GTK_MISC (label_baud_rate), 0, 0.5);

    combobox_baud_rate = gtk_combo_box_entry_new_text ();
    lserial->baud_rate = combobox_baud_rate;
    gtk_widget_show (combobox_baud_rate);
    gtk_box_pack_start (GTK_BOX (hbox1), combobox_baud_rate, FALSE, TRUE, 0);
    gtk_widget_set_size_request (combobox_baud_rate, SERIAL_COMBOBOX_WIDTH, 25);
    
    for (i = 0; i < LCRT_SERIAL_BAUD_RATE_NUMBER; i++) {
        gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_baud_rate), sbaud_rate[i].name);
        if (f_option && s_baud_rate == sbaud_rate[i].data)
            gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_baud_rate), i);
    }
    debug_where();
    gtk_entry_set_editable(GTK_ENTRY(GTK_BIN(combobox_baud_rate)->child), FALSE);

    hbox1 = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox1);
    gtk_box_pack_start (GTK_BOX (vbox_spec), hbox1, TRUE, TRUE, 0);
    gtk_widget_set_size_request (hbox1, -1, 25);

    label_data_bits = gtk_label_new (lqconnect->config.value[LCRT_Q_SDATA_BITS]);
    gtk_widget_show (label_data_bits);
    gtk_box_pack_start (GTK_BOX (hbox1), label_data_bits, FALSE, FALSE, 0);
    gtk_widget_set_size_request (label_data_bits, 90, 25);
    gtk_misc_set_alignment (GTK_MISC (label_data_bits), 0, 0.5);

    combobox_data_bits = gtk_combo_box_entry_new_text ();
    lserial->data_bits = combobox_data_bits;
    gtk_widget_show (combobox_data_bits);
    gtk_box_pack_start (GTK_BOX (hbox1), combobox_data_bits, FALSE, TRUE, 0);
    gtk_widget_set_size_request (combobox_data_bits, SERIAL_COMBOBOX_WIDTH, 25);
    
    for (i = 0; i < LCRT_SERIAL_DATA_BITS_NUMBER; i++) {
        gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_data_bits), sdata_bits[i].name);
        if (f_option && s_databit == sdata_bits[i].data)
            gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_data_bits), i);
    }
    debug_where();
    gtk_entry_set_editable(GTK_ENTRY(GTK_BIN(combobox_data_bits)->child), FALSE);

    hbox1 = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox1);
    gtk_box_pack_start (GTK_BOX (vbox_spec), hbox1, TRUE, TRUE, 0);
    gtk_widget_set_size_request (hbox1, -1, 25);

    label_parity = gtk_label_new (lqconnect->config.value[LCRT_Q_SPARITY]);
    gtk_widget_show (label_parity);
    gtk_box_pack_start (GTK_BOX (hbox1), label_parity, FALSE, FALSE, 0);
    gtk_widget_set_size_request (label_parity, 90, 25);
    gtk_misc_set_alignment (GTK_MISC (label_parity), 0, 0.5);

    combobox_parity = gtk_combo_box_entry_new_text ();
    lserial->parity = combobox_parity;
    gtk_widget_show (combobox_parity);
    gtk_box_pack_start (GTK_BOX (hbox1), combobox_parity, FALSE, TRUE, 0);
    gtk_widget_set_size_request (combobox_parity, SERIAL_COMBOBOX_WIDTH, 25);
    
    for (i = 0; i < LCRT_SERIAL_PARITY_NUMBER; i++) {
        gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_parity), sparity[i].name);
    }
    if (f_option)
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_parity), s_parity);
    debug_where();
    gtk_entry_set_editable(GTK_ENTRY(GTK_BIN(combobox_parity)->child), FALSE);

    hbox1 = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox1);
    gtk_box_pack_start (GTK_BOX (vbox_spec), hbox1, TRUE, TRUE, 0);
    gtk_widget_set_size_request (hbox1, -1, 25);

    label_stop_bits = gtk_label_new (lqconnect->config.value[LCRT_Q_SSTOP_BITS]);
    gtk_widget_show (label_stop_bits);
    gtk_box_pack_start (GTK_BOX (hbox1), label_stop_bits, FALSE, FALSE, 0);
    gtk_widget_set_size_request (label_stop_bits, 90, 25);
    gtk_misc_set_alignment (GTK_MISC (label_stop_bits), 0, 0.5);

    combobox_stop_bits = gtk_combo_box_entry_new_text ();
    lserial->stop_bits = combobox_stop_bits;
    gtk_widget_show (combobox_stop_bits);
    gtk_box_pack_start (GTK_BOX (hbox1), combobox_stop_bits, FALSE, TRUE, 0);
    gtk_widget_set_size_request (combobox_stop_bits, SERIAL_COMBOBOX_WIDTH, 25);
    
    for (i = 0; i < LCRT_SERIAL_STOP_BITS_NUMBER; i++) {
        gtk_combo_box_append_text (GTK_COMBO_BOX (combobox_stop_bits), sstop_bits[i].name);
    }
    if (f_option)
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_stop_bits), s_stopbit);
    debug_where();
    gtk_entry_set_editable(GTK_ENTRY(GTK_BIN(combobox_stop_bits)->child), FALSE);

    frame = gtk_frame_new (NULL);
    gtk_widget_show (frame);
    gtk_widget_set_size_request (frame, -1, 40);
    gtk_box_pack_start (GTK_BOX (vbox_spec), frame, TRUE, TRUE, 0);
    gtk_frame_set_shadow_type (GTK_FRAME (frame), GTK_SHADOW_OUT);

    alignment = gtk_alignment_new (0.5, 0.5, 1, 1);
    gtk_widget_show (alignment);
    gtk_container_add (GTK_CONTAINER (frame), alignment);
    gtk_alignment_set_padding (GTK_ALIGNMENT (alignment), 0, 0, 12, 0);

    hbox_frame = gtk_hbox_new (FALSE, 0);
    gtk_widget_show (hbox_frame);
    gtk_container_add (GTK_CONTAINER (alignment), hbox_frame);

    checkbutton_software = gtk_check_button_new_with_mnemonic (flow_control[0].name);
    lserial->software = checkbutton_software;
    gtk_widget_show (checkbutton_software);
    gtk_box_pack_start (GTK_BOX (hbox_frame), checkbutton_software, FALSE, FALSE, 0);
    gtk_widget_set_size_request (checkbutton_software, 150, -1);

    if (f_option)
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_software), s_software);

    checkbutton_hardware = gtk_check_button_new_with_mnemonic (flow_control[1].name);
    lserial->hardware = checkbutton_hardware;
    gtk_widget_show (checkbutton_hardware);
    gtk_box_pack_start (GTK_BOX (hbox_frame), checkbutton_hardware, FALSE, FALSE, 0);
    gtk_widget_set_size_request (checkbutton_hardware, 150, -1);

    if (f_option)
        gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(checkbutton_hardware), s_hardware);

    label_flow_control = gtk_label_new (lqconnect->config.value[LCRT_Q_SFLOW_CONTROL]);
    gtk_widget_show (label_flow_control);
    gtk_frame_set_label_widget (GTK_FRAME (frame), label_flow_control);
    gtk_label_set_use_markup (GTK_LABEL (label_flow_control), TRUE);

    if (!f_option) {
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_port), 1); //ttyS0
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_baud_rate), 10); //115200
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_data_bits), 3); //8
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_parity), 0); //None
        gtk_combo_box_set_active(GTK_COMBO_BOX(combobox_stop_bits), 0); //1
        debug_print("active = %d\n", gtk_combo_box_get_active(GTK_COMBO_BOX(combobox_baud_rate)));
    }
    gtk_widget_set_sensitive(lqconnect->q_bt_connect, TRUE);

}