示例#1
0
PathEntry PathEntry_new()
{
  GtkFrame* frame = GTK_FRAME(gtk_frame_new(NULL));
  gtk_widget_show(GTK_WIDGET(frame));
  gtk_frame_set_shadow_type(frame, GTK_SHADOW_IN);

  // path entry
  GtkHBox* hbox = GTK_HBOX(gtk_hbox_new(FALSE, 0));
  gtk_widget_show(GTK_WIDGET(hbox));

  GtkEntry* entry = GTK_ENTRY(gtk_entry_new());
  gtk_entry_set_has_frame(entry, FALSE);
  gtk_widget_show(GTK_WIDGET(entry));
  gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(entry), TRUE, TRUE, 0);

  // browse button
  GtkButton* button = GTK_BUTTON(gtk_button_new());
  button_set_icon(button, "ellipsis.bmp");
  gtk_widget_show(GTK_WIDGET(button));
  gtk_box_pack_end(GTK_BOX(hbox), GTK_WIDGET(button), FALSE, FALSE, 0);

  gtk_container_add(GTK_CONTAINER(frame), GTK_WIDGET(hbox));

  return PathEntry(frame, entry, button);
}
示例#2
0
static void _slider_init (GtkDarktableSlider *slider)
{
  slider->is_dragging=FALSE;
  slider->is_sensibility_key_pressed=FALSE;
  slider->entry=gtk_entry_new();

  gtk_widget_add_events (GTK_WIDGET (slider),
                         GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK |
                         GDK_ENTER_NOTIFY_MASK |  GDK_LEAVE_NOTIFY_MASK |
                         GDK_KEY_PRESS_MASK | GDK_KEY_RELEASE_MASK |
                         GDK_POINTER_MOTION_MASK);

  GtkWidget *hbox=gtk_hbox_new(TRUE,0);
  slider->hbox = GTK_HBOX(hbox);

  GtkWidget *alignment = gtk_alignment_new(0.5, 0.5, 1, 1);
  gtk_alignment_set_padding(GTK_ALIGNMENT(alignment), 0, 0, DTGTK_SLIDER_BORDER_WIDTH*2, DTGTK_SLIDER_ADJUST_BUTTON_WIDTH+DTGTK_SLIDER_BORDER_WIDTH*2);
  gtk_container_add(GTK_CONTAINER(alignment), slider->entry);
  gtk_box_pack_start(GTK_BOX(hbox),alignment,TRUE,TRUE,0);

  gtk_container_add(GTK_CONTAINER(slider),hbox);

  gtk_entry_set_has_frame (GTK_ENTRY(slider->entry), FALSE);
  gtk_entry_set_alignment (GTK_ENTRY(slider->entry), 1.0);
  g_signal_connect (G_OBJECT (slider->entry), "key-press-event", G_CALLBACK(_slider_entry_key_event), (gpointer)slider);
  dt_gui_key_accel_block_on_focus_connect (slider->entry);
}
示例#3
0
文件: factory.c 项目: tsurai/awb
GtkWidget *factory_build_inputbar() {
  GtkWidget *inputbar;
  GtkWidget *ebox;
  GtkWidget *mode;
  GtkWidget *input;

  /* setup elements */
  ebox = gtk_event_box_new();
  inputbar = gtk_box_new(GTK_ORIENTATION_VERTICAL, 0);
  mode = gtk_label_new("-- INSERT --");
  input = gtk_entry_new();
  gtk_widget_set_name(inputbar, "inputbar");
  gtk_entry_set_has_frame(GTK_ENTRY(input), 0);

  /* link to gui struct */
  awb.gui.inputbar.widget = inputbar;
  awb.gui.inputbar.mode = mode;
  awb.gui.inputbar.input = input;

  /* packing */
  gtk_container_add(GTK_CONTAINER(ebox), mode);
  gtk_box_pack_start(GTK_BOX(inputbar), ebox, 1, 1, 0);
  gtk_box_pack_start(GTK_BOX(inputbar), input, 1, 1, 0);
  gtk_misc_set_alignment(GTK_MISC(mode), 0, 0);

  return inputbar;
}
static inline GtkWidget *_cairo_dock_make_entry_for_dialog (const gchar *cTextForEntry)
{
	GtkWidget *pWidget = gtk_entry_new ();
	gtk_entry_set_has_frame (GTK_ENTRY (pWidget), FALSE);
	g_object_set (pWidget, "width-request", CAIRO_DIALOG_MIN_ENTRY_WIDTH, NULL);
	if (cTextForEntry != NULL)
		gtk_entry_set_text (GTK_ENTRY (pWidget), cTextForEntry);
	return pWidget;
}
示例#5
0
文件: snd-gutils.c 项目: huangjs/cl
GtkWidget *snd_gtk_entry_label_new(const char *label, GdkColor *color)
{
  GtkWidget *rlw;
  rlw = gtk_entry_new();
  gtk_entry_set_has_frame(GTK_ENTRY(rlw), false);
  if (label) gtk_entry_set_text(GTK_ENTRY(rlw), label);
  gtk_editable_set_editable(GTK_EDITABLE(rlw), false);
  GTK_WIDGET_UNSET_FLAGS(GTK_WIDGET(rlw), GTK_CAN_FOCUS); /* turn off the $%#@$! blinking cursor */
  gtk_widget_modify_base(rlw, GTK_STATE_NORMAL, color);
  gtk_widget_modify_base(rlw, GTK_STATE_ACTIVE, color);
  return(rlw);
}
示例#6
0
文件: entry.c 项目: Alexis-D/luakit
static gint
luaH_entry_newindex(lua_State *L, luakit_token_t token)
{
    size_t len;
    widget_t *w = luaH_checkwidget(L, 1);
    const gchar *tmp;
    GdkColor c;
    PangoFontDescription *font;

    switch(token)
    {
      case L_TK_TEXT:
        gtk_entry_set_text(GTK_ENTRY(w->widget),
            luaL_checklstring(L, 3, &len));
        break;

      case L_TK_FG:
      case L_TK_BG:
        tmp = luaL_checklstring(L, 3, &len);
        if (!gdk_color_parse(tmp, &c))
            luaL_argerror(L, 3, "unable to parse color");
        if (token == L_TK_FG) {
            gtk_widget_modify_text(GTK_WIDGET(w->widget), GTK_STATE_NORMAL, &c);
            g_object_set_data_full(G_OBJECT(w->widget), "fg", g_strdup(tmp), g_free);
        } else {
            gtk_widget_modify_base(GTK_WIDGET(w->widget), GTK_STATE_NORMAL, &c);
            g_object_set_data_full(G_OBJECT(w->widget), "bg", g_strdup(tmp), g_free);
        }
        break;

      case L_TK_SHOW_FRAME:
        gtk_entry_set_has_frame(GTK_ENTRY(w->widget), luaH_checkboolean(L, 3));
        break;

      case L_TK_POSITION:
        gtk_editable_set_position(GTK_EDITABLE(w->widget), luaL_checknumber(L, 3));
        break;

      case L_TK_FONT:
        tmp = luaL_checklstring(L, 3, &len);
        font = pango_font_description_from_string(tmp);
        gtk_widget_modify_font(GTK_WIDGET(w->widget), font);
        g_object_set_data_full(G_OBJECT(w->widget), "font", g_strdup(tmp), g_free);
        break;

      default:
        warn("unknown property: %s", luaL_checkstring(L, 2));
        return 0;
    }
    return luaH_object_emit_property_signal(L, 1);
}
示例#7
0
/*
 * Create the dialog of 'Go To Line'
 */
void av_dialog_goto_line_new(const av_doc *doc)
{
  GtkWidget *entry = NULL;
  const char *entry_text = NULL;
  guint line = 0;
  gboolean status = FALSE;
  gint result = 0;

  /*
   * Create dialog
   */
  main_widget.dialog_goto_line = gtk_dialog_new();

  gtk_window_set_decorated(GTK_WINDOW(main_widget.dialog_goto_line), FALSE);
  gtk_window_set_resizable(GTK_WINDOW(main_widget.dialog_goto_line), FALSE);
  gtk_window_set_opacity(GTK_WINDOW(main_widget.dialog_goto_line), AV_WIDGET_GOTO_LINE_DIALOG_OPACITY);
  gtk_window_set_position(GTK_WINDOW(main_widget.dialog_goto_line), GTK_WIN_POS_CENTER);

  /*
   * Create entry in dialog
   */
  entry = gtk_entry_new();
  gtk_widget_show(entry);

  gtk_entry_set_icon_from_stock(GTK_ENTRY(entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_GO_FORWARD);
  gtk_entry_set_has_frame(GTK_ENTRY(entry), FALSE);
  gtk_entry_set_width_chars(GTK_ENTRY(entry), AV_WIDGET_GOTO_LINE_DIALOG_ENTRY_WIDTH);

  gtk_dialog_add_action_widget(GTK_DIALOG(main_widget.dialog_goto_line),
                               entry,
                               GTK_RESPONSE_OK);

  result = gtk_dialog_run(GTK_DIALOG(main_widget.dialog_goto_line));
  switch (result)
  {
    case GTK_RESPONSE_CANCEL:
      AV_DBG("%s: canceled\n", __func__);
      break;
    case GTK_RESPONSE_OK:
      entry_text = gtk_entry_get_text(GTK_ENTRY(entry));
      AV_DBG("%s: goto line: %s\n", __func__, entry_text);
      status = dialog_entry_text_to_digit(entry_text, &line);
      if (status == TRUE) av_editor_goto_line(&doc->editor, line);
      break;
    default:
      break;
  }

  gtk_widget_destroy(entry);
  gtk_widget_destroy(main_widget.dialog_goto_line);
}
示例#8
0
/*
 * Create the dialog of 'Search'
 */
void av_dialog_search_new(const av_doc *doc)
{
  GtkWidget *entry = NULL;
  const char *entry_text = NULL;
  gint result = 0;

  /*
   * Create dialog
   */
  main_widget.dialog_search = gtk_dialog_new();

  gtk_window_set_decorated(GTK_WINDOW(main_widget.dialog_search), FALSE);
  gtk_window_set_resizable(GTK_WINDOW(main_widget.dialog_search), FALSE);
  gtk_window_set_opacity(GTK_WINDOW(main_widget.dialog_search), AV_WIDGET_SEARCH_DIALOG_OPACITY);
  gtk_window_set_position(GTK_WINDOW(main_widget.dialog_search), GTK_WIN_POS_CENTER_ALWAYS);

  /*
   * Create entry in dialog
   */
  entry = gtk_entry_new();
  gtk_widget_show(entry);

  gtk_entry_set_icon_from_stock(GTK_ENTRY(entry), GTK_ENTRY_ICON_SECONDARY, GTK_STOCK_GO_FORWARD);
  gtk_entry_set_has_frame(GTK_ENTRY(entry), FALSE);
  gtk_entry_set_width_chars(GTK_ENTRY(entry), AV_WIDGET_SEARCH_DIALOG_ENTRY_WIDTH);

  gtk_dialog_add_action_widget(GTK_DIALOG(main_widget.dialog_search),
                               entry,
                               GTK_RESPONSE_OK);

  /* Create completion in entry */
  dialog_entry_completion_new(GTK_WIDGET(entry), dialog_search_entry_completion_cb, (gpointer)doc);

  result = gtk_dialog_run(GTK_DIALOG(main_widget.dialog_search));
  switch (result)
  {
    case GTK_RESPONSE_CANCEL:
      AV_DBG("%s: canceled\n", __func__);
      break;
    case GTK_RESPONSE_OK:
      entry_text = gtk_entry_get_text(GTK_ENTRY(entry));
      AV_DBG("%s: search text: %s\n", __func__, entry_text);
      av_editor_search(&doc->editor, entry_text);
      break;
    default:
      break;
  }

  gtk_widget_destroy(entry);
  gtk_widget_destroy(main_widget.dialog_search);
}
示例#9
0
void
InterfaceGtk::main(int &argc, char **&argv)
{
	GtkWidget *vbox;
	GtkWidget *info_content;

	gtk_init(&argc, &argv);

	window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
	gtk_window_set_title(GTK_WINDOW(window), PACKAGE_NAME);
	g_signal_connect(G_OBJECT(window), "delete-event",
			 G_CALLBACK(exit_app), NULL);

	vbox = gtk_vbox_new(FALSE, 0);

	editor_widget = scintilla_new();
	scintilla_set_id(SCINTILLA(editor_widget), 0);
	gtk_widget_set_usize(editor_widget, 500, 300);
	gtk_widget_set_can_focus(editor_widget, FALSE);
	g_signal_connect(G_OBJECT(editor_widget), SCINTILLA_NOTIFY,
			 G_CALLBACK(scintilla_notify), NULL);
	gtk_box_pack_start(GTK_BOX(vbox), editor_widget, TRUE, TRUE, 0);

	info_widget = gtk_info_bar_new();
	info_content = gtk_info_bar_get_content_area(GTK_INFO_BAR(info_widget));
	message_widget = gtk_label_new("");
	gtk_misc_set_alignment(GTK_MISC(message_widget), 0., 0.);
	gtk_container_add(GTK_CONTAINER(info_content), message_widget);
	gtk_box_pack_start(GTK_BOX(vbox), info_widget, FALSE, FALSE, 0);

	cmdline_widget = gtk_entry_new();
	gtk_entry_set_has_frame(GTK_ENTRY(cmdline_widget), FALSE);
	gtk_editable_set_editable(GTK_EDITABLE(cmdline_widget), FALSE);
	widget_set_font(cmdline_widget, "Courier");
	g_signal_connect(G_OBJECT(cmdline_widget), "key-press-event",
			 G_CALLBACK(cmdline_key_pressed), NULL);
	gtk_box_pack_start(GTK_BOX(vbox), cmdline_widget, FALSE, FALSE, 0);

	gtk_container_add(GTK_CONTAINER(window), vbox);

	popup_widget = gtk_info_popup_new(cmdline_widget);

	gtk_widget_grab_focus(cmdline_widget);

	ssm(SCI_SETFOCUS, TRUE);

	cmdline_update("");
}
示例#10
0
文件: ripcurl.c 项目: dluco/ripcurl
void browser_apply_settings(Browser *b)
{
	WebKitWebFrame *frame;

	/* view */
	if (show_scrollbars) {
		gtk_scrolled_window_set_policy(b->UI.scrolled_window, GTK_POLICY_AUTOMATIC, GTK_POLICY_AUTOMATIC);
	} else {
		frame = webkit_web_view_get_main_frame(b->UI.view);
		g_signal_connect(G_OBJECT(frame), "scrollbars-policy-changed", G_CALLBACK(gtk_true), NULL);

		gtk_scrolled_window_set_policy(b->UI.scrolled_window, GTK_POLICY_NEVER, GTK_POLICY_NEVER);
	}

	/* apply browser settings */
	webkit_web_view_set_settings(b->UI.view, ripcurl->Global.webkit_settings);

	/* statusbar */
	gtk_misc_set_alignment(GTK_MISC(b->Statusbar.text), 0.0, 0.0);
	gtk_misc_set_alignment(GTK_MISC(b->Statusbar.buffer), 1.0, 0.0);
	gtk_misc_set_alignment(GTK_MISC(b->Statusbar.position), 1.0, 0.0);

	gtk_misc_set_padding(GTK_MISC(b->Statusbar.text), 1.0, 2.0);
	gtk_misc_set_padding(GTK_MISC(b->Statusbar.buffer), 1.0, 2.0);
	gtk_misc_set_padding(GTK_MISC(b->Statusbar.position), 1.0, 2.0);

	gtk_widget_modify_bg(GTK_WIDGET(b->UI.statusbar), GTK_STATE_NORMAL, &(ripcurl->Style.statusbar_bg));
	gtk_widget_modify_fg(GTK_WIDGET(b->Statusbar.text), GTK_STATE_NORMAL, &(ripcurl->Style.statusbar_fg));
	gtk_widget_modify_fg(GTK_WIDGET(b->Statusbar.buffer), GTK_STATE_NORMAL, &(ripcurl->Style.statusbar_fg));
	gtk_widget_modify_fg(GTK_WIDGET(b->Statusbar.position), GTK_STATE_NORMAL, &(ripcurl->Style.statusbar_fg));

	gtk_widget_modify_font(GTK_WIDGET(b->Statusbar.text), ripcurl->Style.font);
	gtk_widget_modify_font(GTK_WIDGET(b->Statusbar.buffer), ripcurl->Style.font);
	gtk_widget_modify_font(GTK_WIDGET(b->Statusbar.position), ripcurl->Style.font);

	/* inputbar settings */
	gtk_entry_set_inner_border(b->UI.inputbar, NULL);
	gtk_entry_set_has_frame(b->UI.inputbar, FALSE);
	gtk_editable_set_editable(GTK_EDITABLE(b->UI.inputbar), TRUE);

	gtk_widget_modify_base(GTK_WIDGET(b->UI.inputbar), GTK_STATE_NORMAL, &(ripcurl->Style.inputbar_bg));
	gtk_widget_modify_text(GTK_WIDGET(b->UI.inputbar), GTK_STATE_NORMAL, &(ripcurl->Style.inputbar_fg));
	gtk_widget_modify_font(GTK_WIDGET(b->UI.inputbar), ripcurl->Style.font);

}
示例#11
0
GtkWidget* ptk_path_entry_new( PtkFileBrowser* file_browser )
{
    GtkWidget* entry = gtk_entry_new();
    gtk_entry_set_has_frame( GTK_ENTRY( entry ), TRUE );
    
    // set font
    if ( file_browser->mypanel > 0 && file_browser->mypanel < 5 &&
                        xset_get_s_panel( file_browser->mypanel, "font_path" ) )
    {
        PangoFontDescription* font_desc = pango_font_description_from_string(
                        xset_get_s_panel( file_browser->mypanel, "font_path" ) );
        gtk_widget_modify_font( entry, font_desc );
        pango_font_description_free( font_desc );
    }

    EntryData* edata = g_slice_new0( EntryData );
    edata->history = NULL;
    edata->current = NULL;
    edata->editing = NULL;
    edata->browser = file_browser;
    
    g_signal_connect( entry, "focus-in-event", G_CALLBACK(on_focus_in), NULL );
    g_signal_connect( entry, "focus-out-event", G_CALLBACK(on_focus_out), NULL );

    /* used to eat the tab key */
    g_signal_connect( entry, "key-press-event", G_CALLBACK(on_key_press), edata );

/*
    g_signal_connect( entry, "motion-notify-event", G_CALLBACK(on_mouse_move), NULL );
*/
    g_signal_connect( entry, "button-press-event", G_CALLBACK(on_button_press),
                                                                    NULL );
    g_signal_connect( entry, "button-release-event", G_CALLBACK(on_button_release), NULL );
    g_signal_connect( entry, "populate-popup", G_CALLBACK(on_populate_popup), file_browser );

    g_signal_connect_after( G_OBJECT( gtk_entry_get_buffer( GTK_ENTRY( entry ) ) ),
                                        "inserted-text",
                                        G_CALLBACK( on_entry_insert ), NULL );

    g_object_weak_ref( G_OBJECT( entry ), (GWeakNotify) entry_data_free, edata );
    g_object_set_data( G_OBJECT( entry ), "edata", edata );
    return entry;
}
示例#12
0
MidoratorEntry* midorator_entry_new(GtkWidget *parent) {
	GtkWidget *e = g_object_new(MIDORATOR_TYPE_ENTRY, NULL);
	gtk_entry_set_has_frame(GTK_ENTRY(e), false);
	if (parent) {
		gtk_widget_modify_base(e, GTK_STATE_NORMAL, &parent->style->bg[0]);
		gtk_widget_modify_base(e, GTK_STATE_ACTIVE, &parent->style->bg[0]);
		gtk_widget_modify_bg(e, GTK_STATE_NORMAL, &parent->style->bg[0]);
		gtk_widget_modify_bg(e, GTK_STATE_ACTIVE, &parent->style->bg[0]);
	}
	if (GTK_IS_BOX(parent)) {
		gtk_box_pack_start(GTK_BOX(parent), e, true, true, 0);
		gtk_widget_show(e);
		gtk_widget_grab_focus(e);
		gtk_box_reorder_child(GTK_BOX(parent), e, 0);
	} else if (GTK_IS_CONTAINER(parent)) {
		gtk_container_add(GTK_CONTAINER(parent), e);
		gtk_widget_show(e);
	}
	return MIDORATOR_ENTRY(e);
	//return (MidoratorEntry*)(e);
}
示例#13
0
文件: cm-dinsig.c 项目: gpg/gpa
/* Helper for construct_data_widget.  Returns the label widget. */
static GtkLabel *
add_table_row (GtkWidget *table, int *rowidx,
               const char *labelstr, GtkWidget *widget, GtkWidget *widget2,
               int readonly)
{
  GtkWidget *label;
  int is_label = GTK_IS_LABEL (widget);

  label = gtk_label_new (labelstr);
  gtk_label_set_width_chars  (GTK_LABEL (label), 22);
  gtk_misc_set_alignment (GTK_MISC (label), 0, 0.5);
  gtk_table_attach (GTK_TABLE (table), label, 0, 1,
                    *rowidx, *rowidx + 1, GTK_FILL, GTK_SHRINK, 0, 0);

  if (is_label)
    gtk_misc_set_alignment (GTK_MISC (widget), 0, 0.5);

  if (readonly)
    {
      if (!is_label && GTK_IS_ENTRY (widget))
        {
          gtk_entry_set_has_frame (GTK_ENTRY (widget), FALSE);
          gtk_entry_set_editable (GTK_ENTRY (widget), FALSE);
        }
    }
  else
    {
      if (is_label)
        gtk_label_set_selectable (GTK_LABEL (widget), TRUE);
    }

  gtk_table_attach (GTK_TABLE (table), widget, 1, 2,
                    *rowidx, *rowidx + 1, GTK_FILL, GTK_SHRINK, 0, 0);
  if (widget2)
    gtk_table_attach (GTK_TABLE (table), widget2, 2, 3,
		      *rowidx, *rowidx + 1, GTK_FILL, GTK_SHRINK, 5, 0);
  ++*rowidx;

  return GTK_LABEL (label);
}
示例#14
0
GtkWidget *create_mystyle_editor_interface (GtkWidget *
																						mystyle_editor
																						/* assumed descendand from vbox */
																						)
{
	/* GtkWidget *mystyle_editor; */
	ASGtkMyStyleEdit *asgtk_mystyle_editor =
			ASGTK_MYSTYLE_EDIT (mystyle_editor);

	/*-- hand edit end --*/
	GtkWidget *vbox;
	GtkWidget *hbox1_mystyle_name;
	GtkWidget *label_mystyle;
	GtkWidget *entry_mystyle_name;
	GtkWidget *hbox2_overlay;
	GtkWidget *tgl2_overlay;
	GtkWidget *label_overlay;
	GtkWidget *combo_overlay_mystyle;
	GtkWidget *hbox3_inherit;
	GtkWidget *tgl3_inherit;
	GtkWidget *label_inherit;
	GtkWidget *sw_inherit_list;
	GtkWidget *tw_inherit_list;
	GtkWidget *btn_inherit_add;
	GtkWidget *image3;
	GtkWidget *btn_inherit_remove;
	GtkWidget *image4;
	GtkWidget *hbox4_font;
	GtkWidget *tgl4_font;
	GtkWidget *label_font;
	GtkWidget *btn_font_name;
	GtkWidget *label_font_size;
	GtkObject *spin_font_size_adj;
	GtkWidget *spin_font_size;
	GtkWidget *hbox5_colors;
	GtkWidget *tgl5_colors;
	GtkWidget *label_colors_fore;
	GtkWidget *img_fore_color;
	GtkWidget *btn_fore_color;
	GtkWidget *label_colors_back;
	GtkWidget *img_back_color;
	GtkWidget *btn_back_color;
	GtkWidget *hbox6_shadow;
	GtkWidget *tgl5_shadow;
	GtkWidget *label_shadow;
	GtkWidget *combo_shadow_type;
	GtkWidget *hbox7_background;
	GtkWidget *tgl7_background;
	GtkWidget *label_background;
	GtkWidget *combo_background_type;
	GtkWidget *hbox8_grad_details;
	GtkWidget *arrow1_grad_details;
	GtkWidget *btn_grad_color1;
	GtkWidget *label_to1;
	GtkWidget *btn_grad_color2;
	GtkWidget *label1_to2;
	GtkWidget *btn_grad_color3;
	GtkWidget *btn_grad_edit;
	GtkWidget *hbox9_texture_file;
	GtkWidget *arrow2_texture_file;
	GtkWidget *label_texture_file;
	GtkWidget *filechooserbtn_texture_file;
	GtkWidget *hbox10_texture_blend_type;
	GtkWidget *arrow3_texture_blend_type;
	GtkWidget *label_texture_blend_type;
	GtkWidget *combo_texture_blend_type;
	GtkWidget *table1_texture_slicing;
	GtkWidget *label1_texture_slicing_x;
	GtkObject *spin_texture_slicing_x_start_adj;
	GtkWidget *spin_texture_slicing_x_start;
	GtkWidget *label_texture_slicing_x2;
	GtkObject *spin_texture_slicing_x_end_adj;
	GtkWidget *spin_texture_slicing_x_end;
	GtkWidget *label_texture_slicing_y;
	GtkObject *spin_texture_slicing_y_start_adj;
	GtkWidget *spin_texture_slicing_y_start;
	GtkWidget *label_texture_slicing_y2;
	GtkObject *spin_texture_slicing_y_end_adj;
	GtkWidget *spin_texture_slicing_y_end;
	GtkWidget *arrow5_texture_slicing;

	/*-- hand edit begin --*/
	/* mystyle_editor = gtk_window_new (GTK_WINDOW_TOPLEVEL); 
	   gtk_widget_set_size_request (mystyle_editor, 340, 360);
	   gtk_window_set_title (GTK_WINDOW (mystyle_editor), "MyStyle Editor");

	   vbox = gtk_vbox_new (FALSE, 1);
	   gtk_widget_show (vbox);
	   gtk_container_add (GTK_CONTAINER (mystyle_editor), vbox);
	 */
	if (asgtk_mystyle_editor == NULL || GTK_VBOX (mystyle_editor) == NULL)
		return NULL;
	vbox = mystyle_editor;
	/*-- hand edit end --*/

	gtk_container_set_border_width (GTK_CONTAINER (vbox), 3);

	hbox1_mystyle_name = gtk_hbox_new (FALSE, 4);
	gtk_widget_show (hbox1_mystyle_name);
	gtk_box_pack_start (GTK_BOX (vbox), hbox1_mystyle_name, FALSE, TRUE, 0);
	gtk_container_set_border_width (GTK_CONTAINER (hbox1_mystyle_name), 2);

	label_mystyle = gtk_label_new ("MyStyle");
	gtk_widget_show (label_mystyle);
	gtk_box_pack_start (GTK_BOX (hbox1_mystyle_name), label_mystyle, FALSE,
											FALSE, 0);
	gtk_label_set_justify (GTK_LABEL (label_mystyle), GTK_JUSTIFY_RIGHT);
	gtk_misc_set_padding (GTK_MISC (label_mystyle), 5, 0);

	entry_mystyle_name = gtk_entry_new ();
	gtk_widget_show (entry_mystyle_name);
	gtk_box_pack_start (GTK_BOX (hbox1_mystyle_name), entry_mystyle_name,
											TRUE, TRUE, 0);
	gtk_entry_set_has_frame (GTK_ENTRY (entry_mystyle_name), FALSE);
	gtk_entry_set_invisible_char (GTK_ENTRY (entry_mystyle_name), 9679);

	hbox2_overlay = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox2_overlay);
	gtk_box_pack_start (GTK_BOX (vbox), hbox2_overlay, FALSE, TRUE, 0);

	tgl2_overlay = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl2_overlay);
	gtk_box_pack_start (GTK_BOX (hbox2_overlay), tgl2_overlay, FALSE, FALSE,
											0);
	gtk_button_set_relief (GTK_BUTTON (tgl2_overlay), GTK_RELIEF_HALF);

	label_overlay = gtk_label_new ("overlayed by");
	gtk_widget_show (label_overlay);
	gtk_box_pack_start (GTK_BOX (hbox2_overlay), label_overlay, FALSE, FALSE,
											0);

	combo_overlay_mystyle = gtk_combo_box_new_text ();
	gtk_widget_show (combo_overlay_mystyle);
	gtk_box_pack_start (GTK_BOX (hbox2_overlay), combo_overlay_mystyle, TRUE,
											TRUE, 0);

	hbox3_inherit = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox3_inherit);
	gtk_box_pack_start (GTK_BOX (vbox), hbox3_inherit, FALSE, TRUE, 0);

	tgl3_inherit = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl3_inherit);
	gtk_box_pack_start (GTK_BOX (hbox3_inherit), tgl3_inherit, FALSE, FALSE,
											0);
	gtk_button_set_relief (GTK_BUTTON (tgl3_inherit), GTK_RELIEF_HALF);

	label_inherit = gtk_label_new ("Inherits ");
	gtk_widget_show (label_inherit);
	gtk_box_pack_start (GTK_BOX (hbox3_inherit), label_inherit, FALSE, FALSE,
											0);

	sw_inherit_list = gtk_scrolled_window_new (NULL, NULL);
	gtk_widget_show (sw_inherit_list);
	gtk_box_pack_start (GTK_BOX (hbox3_inherit), sw_inherit_list, TRUE,
											FALSE, 0);
	gtk_widget_set_size_request (sw_inherit_list, 191, 26);
	gtk_scrolled_window_set_policy (GTK_SCROLLED_WINDOW (sw_inherit_list),
																	GTK_POLICY_NEVER, GTK_POLICY_AUTOMATIC);
	gtk_scrolled_window_set_shadow_type (GTK_SCROLLED_WINDOW
																			 (sw_inherit_list), GTK_SHADOW_IN);

	tw_inherit_list = gtk_tree_view_new ();
	gtk_widget_show (tw_inherit_list);
	gtk_container_add (GTK_CONTAINER (sw_inherit_list), tw_inherit_list);
	gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (tw_inherit_list),
																		 FALSE);

	btn_inherit_add = gtk_button_new ();
	gtk_widget_show (btn_inherit_add);
	gtk_box_pack_start (GTK_BOX (hbox3_inherit), btn_inherit_add, FALSE,
											FALSE, 0);
	gtk_widget_set_size_request (btn_inherit_add, 24, -1);
	gtk_button_set_relief (GTK_BUTTON (btn_inherit_add), GTK_RELIEF_HALF);

	image3 = gtk_image_new_from_stock ("gtk-add", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image3);
	gtk_container_add (GTK_CONTAINER (btn_inherit_add), image3);

	btn_inherit_remove = gtk_button_new ();
	gtk_widget_show (btn_inherit_remove);
	gtk_box_pack_start (GTK_BOX (hbox3_inherit), btn_inherit_remove, FALSE,
											FALSE, 0);
	gtk_widget_set_size_request (btn_inherit_remove, 24, -1);
	gtk_button_set_relief (GTK_BUTTON (btn_inherit_remove), GTK_RELIEF_HALF);

	image4 = gtk_image_new_from_stock ("gtk-remove", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image4);
	gtk_container_add (GTK_CONTAINER (btn_inherit_remove), image4);

	hbox4_font = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox4_font);
	gtk_box_pack_start (GTK_BOX (vbox), hbox4_font, FALSE, TRUE, 0);

	tgl4_font = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl4_font);
	gtk_box_pack_start (GTK_BOX (hbox4_font), tgl4_font, FALSE, FALSE, 0);
	gtk_button_set_relief (GTK_BUTTON (tgl4_font), GTK_RELIEF_HALF);

	label_font = gtk_label_new ("it uses font ");
	gtk_widget_show (label_font);
	gtk_box_pack_start (GTK_BOX (hbox4_font), label_font, FALSE, FALSE, 0);

	btn_font_name = gtk_button_new_with_mnemonic ("Font Name");
	gtk_widget_show (btn_font_name);
	gtk_box_pack_start (GTK_BOX (hbox4_font), btn_font_name, FALSE, TRUE, 0);
	gtk_widget_set_size_request (btn_font_name, 150, -1);

	label_font_size = gtk_label_new ("of size");
	gtk_widget_show (label_font_size);
	gtk_box_pack_start (GTK_BOX (hbox4_font), label_font_size, FALSE, FALSE,
											0);

	spin_font_size_adj = gtk_adjustment_new (14, 0, 150, 1, 10, 10);
	spin_font_size =
			gtk_spin_button_new (GTK_ADJUSTMENT (spin_font_size_adj), 1, 0);
	gtk_widget_show (spin_font_size);
	gtk_box_pack_start (GTK_BOX (hbox4_font), spin_font_size, FALSE, TRUE,
											0);

	hbox5_colors = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox5_colors);
	gtk_box_pack_start (GTK_BOX (vbox), hbox5_colors, FALSE, TRUE, 0);

	tgl5_colors = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl5_colors);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), tgl5_colors, FALSE, FALSE,
											0);
	gtk_button_set_relief (GTK_BUTTON (tgl5_colors), GTK_RELIEF_HALF);

	label_colors_fore = gtk_label_new ("and colors");
	gtk_widget_show (label_colors_fore);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), label_colors_fore, FALSE,
											FALSE, 0);

	img_fore_color = gtk_image_new ();
	gtk_widget_show (img_fore_color);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), img_fore_color, FALSE, FALSE,
											0);
	gtk_widget_set_size_request (img_fore_color, 16, 16);

	btn_fore_color = gtk_button_new_with_mnemonic ("fore color");
	gtk_widget_show (btn_fore_color);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), btn_fore_color, FALSE, TRUE,
											0);
	gtk_widget_set_size_request (btn_fore_color, 90, -1);
	gtk_button_set_relief (GTK_BUTTON (btn_fore_color), GTK_RELIEF_HALF);

	label_colors_back = gtk_label_new ("over");
	gtk_widget_show (label_colors_back);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), label_colors_back, FALSE,
											FALSE, 0);

	img_back_color = gtk_image_new ();
	gtk_widget_show (img_back_color);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), img_back_color, FALSE, FALSE,
											0);
	gtk_widget_set_size_request (img_back_color, 16, 16);

	btn_back_color = gtk_button_new_with_mnemonic ("back color");
	gtk_widget_show (btn_back_color);
	gtk_box_pack_start (GTK_BOX (hbox5_colors), btn_back_color, FALSE, TRUE,
											0);
	gtk_widget_set_size_request (btn_back_color, 90, -1);
	gtk_button_set_relief (GTK_BUTTON (btn_back_color), GTK_RELIEF_HALF);

	hbox6_shadow = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox6_shadow);
	gtk_box_pack_start (GTK_BOX (vbox), hbox6_shadow, FALSE, TRUE, 0);

	tgl5_shadow = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl5_shadow);
	gtk_box_pack_start (GTK_BOX (hbox6_shadow), tgl5_shadow, FALSE, FALSE,
											0);
	gtk_button_set_relief (GTK_BUTTON (tgl5_shadow), GTK_RELIEF_HALF);

	label_shadow = gtk_label_new ("using shadow type");
	gtk_widget_show (label_shadow);
	gtk_box_pack_start (GTK_BOX (hbox6_shadow), label_shadow, FALSE, FALSE,
											0);

	combo_shadow_type = gtk_combo_box_new_text ();
	gtk_widget_show (combo_shadow_type);
	gtk_box_pack_start (GTK_BOX (hbox6_shadow), combo_shadow_type, TRUE,
											TRUE, 0);
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Normal text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Embossed 3D text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Sunken 3D text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Shade above the text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Shade below the text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Thick embossed 3D text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Thick sunken 3D text");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Outlined upper edge");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Outlined bottom edge");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_shadow_type),
														 "Outlined all around");

	hbox7_background = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox7_background);
	gtk_box_pack_start (GTK_BOX (vbox), hbox7_background, FALSE, TRUE, 0);

	tgl7_background = gtk_toggle_button_new_with_mnemonic ("[-]");
	gtk_widget_show (tgl7_background);
	gtk_box_pack_start (GTK_BOX (hbox7_background), tgl7_background, FALSE,
											FALSE, 0);
	gtk_button_set_relief (GTK_BUTTON (tgl7_background), GTK_RELIEF_HALF);

	label_background = gtk_label_new ("over");
	gtk_widget_show (label_background);
	gtk_box_pack_start (GTK_BOX (hbox7_background), label_background, FALSE,
											FALSE, 0);

	combo_background_type = gtk_combo_box_new_text ();
	gtk_widget_show (combo_background_type);
	gtk_box_pack_start (GTK_BOX (hbox7_background), combo_background_type,
											TRUE, TRUE, 0);
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Solid color background");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Horizontal gradient");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Vertical gradient");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Left-top to right-bottom gradient");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Right-top to left-bottom gradient");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Scaled texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Tiled texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Tinted desktop background");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Scaled shaped texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Sliced shaped texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Tiled shaped texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Two-way Tinted desktop background");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Tiled pseudo-transp. texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Scaled pseudo-transp. texture");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_background_type),
														 "Sliced pseudo-transp. texture");

	hbox8_grad_details = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox8_grad_details);
	gtk_box_pack_start (GTK_BOX (vbox), hbox8_grad_details, FALSE, TRUE, 0);

	arrow1_grad_details = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
	gtk_widget_show (arrow1_grad_details);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), arrow1_grad_details,
											FALSE, TRUE, 0);

	btn_grad_color1 = gtk_button_new_with_mnemonic ("color1");
	gtk_widget_show (btn_grad_color1);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), btn_grad_color1, FALSE,
											FALSE, 0);
	gtk_button_set_relief (GTK_BUTTON (btn_grad_color1), GTK_RELIEF_HALF);

	label_to1 = gtk_label_new ("to");
	gtk_widget_show (label_to1);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), label_to1, FALSE,
											FALSE, 0);

	btn_grad_color2 = gtk_button_new_with_mnemonic ("color2");
	gtk_widget_show (btn_grad_color2);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), btn_grad_color2, FALSE,
											FALSE, 0);
	gtk_button_set_relief (GTK_BUTTON (btn_grad_color2), GTK_RELIEF_HALF);

	label1_to2 = gtk_label_new ("to");
	gtk_widget_show (label1_to2);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), label1_to2, FALSE,
											FALSE, 0);

	btn_grad_color3 = gtk_button_new_with_mnemonic ("color3");
	gtk_widget_show (btn_grad_color3);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), btn_grad_color3, FALSE,
											FALSE, 0);
	gtk_button_set_relief (GTK_BUTTON (btn_grad_color3), GTK_RELIEF_HALF);

	btn_grad_edit = gtk_button_new_with_mnemonic ("Edit");
	gtk_widget_show (btn_grad_edit);
	gtk_box_pack_start (GTK_BOX (hbox8_grad_details), btn_grad_edit, FALSE,
											FALSE, 0);

	hbox9_texture_file = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox9_texture_file);
	gtk_box_pack_start (GTK_BOX (vbox), hbox9_texture_file, FALSE, TRUE, 0);

	arrow2_texture_file = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
	gtk_widget_show (arrow2_texture_file);
	gtk_box_pack_start (GTK_BOX (hbox9_texture_file), arrow2_texture_file,
											FALSE, FALSE, 0);

	label_texture_file = gtk_label_new ("from file :");
	gtk_widget_show (label_texture_file);
	gtk_box_pack_start (GTK_BOX (hbox9_texture_file), label_texture_file,
											FALSE, FALSE, 0);

	filechooserbtn_texture_file =
			gtk_file_chooser_button_new ("", GTK_FILE_CHOOSER_ACTION_OPEN);
	gtk_widget_show (filechooserbtn_texture_file);
	gtk_box_pack_start (GTK_BOX (hbox9_texture_file),
											filechooserbtn_texture_file, TRUE, TRUE, 0);

	hbox10_texture_blend_type = gtk_hbox_new (FALSE, 5);
	gtk_widget_show (hbox10_texture_blend_type);
	gtk_box_pack_start (GTK_BOX (vbox), hbox10_texture_blend_type, FALSE,
											TRUE, 0);

	arrow3_texture_blend_type =
			gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
	gtk_widget_show (arrow3_texture_blend_type);
	gtk_box_pack_start (GTK_BOX (hbox10_texture_blend_type),
											arrow3_texture_blend_type, FALSE, TRUE, 0);

	label_texture_blend_type = gtk_label_new ("blending type :");
	gtk_widget_show (label_texture_blend_type);
	gtk_box_pack_start (GTK_BOX (hbox10_texture_blend_type),
											label_texture_blend_type, FALSE, FALSE, 0);

	combo_texture_blend_type = gtk_combo_box_new_text ();
	gtk_widget_show (combo_texture_blend_type);
	gtk_box_pack_start (GTK_BOX (hbox10_texture_blend_type),
											combo_texture_blend_type, TRUE, TRUE, 0);
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "average color values");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "alpha-blending");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "tint");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "color add");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "color substruct");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "color difference");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "lowest color value");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "highest color value");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "screen");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "overlay");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "same hue");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "saturation");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "value");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "colorize");
	gtk_combo_box_append_text (GTK_COMBO_BOX (combo_texture_blend_type),
														 "dissipate");

	table1_texture_slicing = gtk_table_new (2, 5, FALSE);
	gtk_widget_show (table1_texture_slicing);
	gtk_box_pack_start (GTK_BOX (vbox), table1_texture_slicing, FALSE, TRUE,
											0);
	gtk_table_set_col_spacings (GTK_TABLE (table1_texture_slicing), 5);

	label1_texture_slicing_x = gtk_label_new ("scaled horiz. between");
	gtk_widget_show (label1_texture_slicing_x);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										label1_texture_slicing_x, 1, 2, 0, 1,
										(GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0),
										0, 0);

	spin_texture_slicing_x_start_adj =
			gtk_adjustment_new (1, 0, 100, 1, 10, 10);
	spin_texture_slicing_x_start =
			gtk_spin_button_new (GTK_ADJUSTMENT
													 (spin_texture_slicing_x_start_adj), 1, 0);
	gtk_widget_show (spin_texture_slicing_x_start);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										spin_texture_slicing_x_start, 2, 3, 0, 1,
										(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
										(GtkAttachOptions) (0), 0, 0);

	label_texture_slicing_x2 = gtk_label_new ("and");
	gtk_widget_show (label_texture_slicing_x2);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										label_texture_slicing_x2, 3, 4, 0, 1,
										(GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0),
										0, 0);
	gtk_misc_set_alignment (GTK_MISC (label_texture_slicing_x2), 0.51, 0.5);

	spin_texture_slicing_x_end_adj =
			gtk_adjustment_new (1, 0, 100, 1, 10, 10);
	spin_texture_slicing_x_end =
			gtk_spin_button_new (GTK_ADJUSTMENT (spin_texture_slicing_x_end_adj),
													 1, 0);
	gtk_widget_show (spin_texture_slicing_x_end);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										spin_texture_slicing_x_end, 4, 5, 0, 1,
										(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
										(GtkAttachOptions) (0), 0, 0);

	label_texture_slicing_y = gtk_label_new ("scaled vert. between");
	gtk_widget_show (label_texture_slicing_y);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										label_texture_slicing_y, 1, 2, 1, 2,
										(GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0),
										0, 0);
	gtk_misc_set_alignment (GTK_MISC (label_texture_slicing_y), 1, 0.5);

	spin_texture_slicing_y_start_adj =
			gtk_adjustment_new (1, 0, 100, 1, 10, 10);
	spin_texture_slicing_y_start =
			gtk_spin_button_new (GTK_ADJUSTMENT
													 (spin_texture_slicing_y_start_adj), 1, 0);
	gtk_widget_show (spin_texture_slicing_y_start);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										spin_texture_slicing_y_start, 2, 3, 1, 2,
										(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
										(GtkAttachOptions) (0), 0, 0);

	label_texture_slicing_y2 = gtk_label_new ("and");
	gtk_widget_show (label_texture_slicing_y2);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										label_texture_slicing_y2, 3, 4, 1, 2,
										(GtkAttachOptions) (GTK_FILL), (GtkAttachOptions) (0),
										0, 0);

	spin_texture_slicing_y_end_adj =
			gtk_adjustment_new (1, 0, 100, 1, 10, 10);
	spin_texture_slicing_y_end =
			gtk_spin_button_new (GTK_ADJUSTMENT (spin_texture_slicing_y_end_adj),
													 1, 0);
	gtk_widget_show (spin_texture_slicing_y_end);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										spin_texture_slicing_y_end, 4, 5, 1, 2,
										(GtkAttachOptions) (GTK_EXPAND | GTK_FILL),
										(GtkAttachOptions) (0), 0, 0);

	arrow5_texture_slicing = gtk_arrow_new (GTK_ARROW_RIGHT, GTK_SHADOW_OUT);
	gtk_widget_show (arrow5_texture_slicing);
	gtk_table_attach (GTK_TABLE (table1_texture_slicing),
										arrow5_texture_slicing, 0, 1, 0, 1,
										(GtkAttachOptions) (GTK_FILL),
										(GtkAttachOptions) (GTK_FILL), 0, 0);

	/* Store pointers to all widgets, for use by lookup_widget(). */
	GLADE_HOOKUP_OBJECT_NO_REF (mystyle_editor, mystyle_editor,
															"mystyle_editor");
	/*-- hand edit start --*/
	/* GLADE_HOOKUP_OBJECT (mystyle_editor, vbox, "vbox"); */
	/*-- hand edit end --*/
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox1_mystyle_name,
											 "hbox1_mystyle_name");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_mystyle, "label_mystyle");
	GLADE_HOOKUP_OBJECT (mystyle_editor, entry_mystyle_name,
											 "entry_mystyle_name");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox2_overlay, "hbox2_overlay");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl2_overlay, "tgl2_overlay");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_overlay, "label_overlay");
	GLADE_HOOKUP_OBJECT (mystyle_editor, combo_overlay_mystyle,
											 "combo_overlay_mystyle");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox3_inherit, "hbox3_inherit");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl3_inherit, "tgl3_inherit");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_inherit, "label_inherit");
	GLADE_HOOKUP_OBJECT (mystyle_editor, sw_inherit_list, "sw_inherit_list");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tw_inherit_list, "tw_inherit_list");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_inherit_add, "btn_inherit_add");
	GLADE_HOOKUP_OBJECT (mystyle_editor, image3, "image3");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_inherit_remove,
											 "btn_inherit_remove");
	GLADE_HOOKUP_OBJECT (mystyle_editor, image4, "image4");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox4_font, "hbox4_font");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl4_font, "tgl4_font");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_font, "label_font");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_font_name, "btn_font_name");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_font_size, "label_font_size");
	GLADE_HOOKUP_OBJECT (mystyle_editor, spin_font_size, "spin_font_size");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox5_colors, "hbox5_colors");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl5_colors, "tgl5_colors");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_colors_fore,
											 "label_colors_fore");
	GLADE_HOOKUP_OBJECT (mystyle_editor, img_fore_color, "img_fore_color");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_fore_color, "btn_fore_color");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_colors_back,
											 "label_colors_back");
	GLADE_HOOKUP_OBJECT (mystyle_editor, img_back_color, "img_back_color");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_back_color, "btn_back_color");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox6_shadow, "hbox6_shadow");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl5_shadow, "tgl5_shadow");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_shadow, "label_shadow");
	GLADE_HOOKUP_OBJECT (mystyle_editor, combo_shadow_type,
											 "combo_shadow_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox7_background,
											 "hbox7_background");
	GLADE_HOOKUP_OBJECT (mystyle_editor, tgl7_background, "tgl7_background");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_background,
											 "label_background");
	GLADE_HOOKUP_OBJECT (mystyle_editor, combo_background_type,
											 "combo_background_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox8_grad_details,
											 "hbox8_grad_details");
	GLADE_HOOKUP_OBJECT (mystyle_editor, arrow1_grad_details,
											 "arrow1_grad_details");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_grad_color1, "btn_grad_color1");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_to1, "label_to1");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_grad_color2, "btn_grad_color2");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label1_to2, "label1_to2");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_grad_color3, "btn_grad_color3");
	GLADE_HOOKUP_OBJECT (mystyle_editor, btn_grad_edit, "btn_grad_edit");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox9_texture_file,
											 "hbox9_texture_file");
	GLADE_HOOKUP_OBJECT (mystyle_editor, arrow2_texture_file,
											 "arrow2_texture_file");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_texture_file,
											 "label_texture_file");
	GLADE_HOOKUP_OBJECT (mystyle_editor, filechooserbtn_texture_file,
											 "filechooserbtn_texture_file");
	GLADE_HOOKUP_OBJECT (mystyle_editor, hbox10_texture_blend_type,
											 "hbox10_texture_blend_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, arrow3_texture_blend_type,
											 "arrow3_texture_blend_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_texture_blend_type,
											 "label_texture_blend_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, combo_texture_blend_type,
											 "combo_texture_blend_type");
	GLADE_HOOKUP_OBJECT (mystyle_editor, table1_texture_slicing,
											 "table1_texture_slicing");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label1_texture_slicing_x,
											 "label1_texture_slicing_x");
	GLADE_HOOKUP_OBJECT (mystyle_editor, spin_texture_slicing_x_start,
											 "spin_texture_slicing_x_start");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_texture_slicing_x2,
											 "label_texture_slicing_x2");
	GLADE_HOOKUP_OBJECT (mystyle_editor, spin_texture_slicing_x_end,
											 "spin_texture_slicing_x_end");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_texture_slicing_y,
											 "label_texture_slicing_y");
	GLADE_HOOKUP_OBJECT (mystyle_editor, spin_texture_slicing_y_start,
											 "spin_texture_slicing_y_start");
	GLADE_HOOKUP_OBJECT (mystyle_editor, label_texture_slicing_y2,
											 "label_texture_slicing_y2");
	GLADE_HOOKUP_OBJECT (mystyle_editor, spin_texture_slicing_y_end,
											 "spin_texture_slicing_y_end");
	GLADE_HOOKUP_OBJECT (mystyle_editor, arrow5_texture_slicing,
											 "arrow5_texture_slicing");

	return mystyle_editor;
}
示例#15
0
//=====================================================================
  MemObj GUI_entry__ (MemObj *o_par, char* ltxt, char* etxt,
                      void *funcnam, void *data, char *opts) {
//=====================================================================
///  
/// \code
/// Create text-inputfiled. Gtk-2: siza cannot be smaller than ~10 characters ..
///
///   ltxt:      Labeltext; NULL or "" for none
///   etxt:      Text in Entryfield; NULL oder "" for none
///   funcnam:   callback-function for Keypress & FocusIn-Events (none: NULL)
///   opts       options;  must have correct sequence (Frame Side HorSiz VertSiz)
///              Frame: 'f' make a frameless inputfield; default = with frame.
///              Side:  'r' labeltext is right of inputfield; default is left.
///              HorSiz,VertSiz:  size in characters; default is automatic size. 
///                              'e' = expand widget; default is fixed size.
///              Examples: "f,20" or "r" or "r,10" or "10e,e"
///                "r"     label right of inputfield; defaults.
///                "r,10"  label right, horiz. size 10 chars, vert. size autom.
///                "10e,e" horiz. size 10 chars, hor. and vert. expandable.
///
/// prototyp funcnam:
/// int funcnam (MemObj *mo, void **data); 
///   // data=table of 4 pointers;
///   GUI_DATA_EVENT =*(int*)data[0]=TYP_EventEnter|
///                                  TYP_EventPress|
///                                  TYP_EventRelease
///   GUI_DATA_S1    =(char*)data[1]=userdata
///   GUI_DATA_I2    =*(int*)data[2]=keyvalue; eg 'a'
///   GUI_DATA_I3    =*(int*)data[3]=state of modifierkeys;
///                                  see ../gui/gui_types.h  GUI_Modif_*
///                                  &1=shift; &4=ctrl; &8=alt.
///                                  &256=MB1; &512=MB2; &1024=MB3.
///   GUI_OBJ_TYP(mo)  = TYP_GUI_Entry
///   Returncodes:    0=continue with defaultOperations for this key.
///                   1=do no defaultOperations; skip handling this key
/// 
/// Example without callback-function:
///   we1 = GUI_entry__ (&box1, "0.0", "sum", NULL, NULL, "");
///
///   printf(" |%s|\n",GUI_entry_get(&we1));
///
/// Example with callback-function:
///   we2 = GUI_entry__ (&box1, "0.0", "sum", went_cb, NULL, "10");
///   ..
///   int we2_cb (MemObj *mo, void **data) {
///     printf(" event=%d typ=%d\n",GUI_DATA_EVENT,GUI_OBJ_TYP(mo));
///     if(GUI_DATA_I2 == GUI_KeyCurDown) return 1;       // skip handling
///     if(GUI_DATA_EVENT != TYP_EventRelease) return 0;  // continue normal
///     printf(" |%s|\n",GUI_entry_get(mo));
///     ..
///   }
///
/// \endcode


// gtk_widget_modify_bg and gtk_widget_set_style modifies framecolor; but
//   not bg-color !


  int        is, i1, pTyp;
  char       c1;
  void       *w_par, *wb;
  GtkWidget  *w1, *w2, *box1;
  Obj_Entry  *gEnt;


  // printf("GUI_entry__ |%s|%s|%s|\n",ltxt,etxt,opts);

  // get gtk-widget for parentBox from MemObj
  w_par = GUI_obj_parent__ (&pTyp, o_par);
  if(!w_par) return (UME_obj_invalid_set (-3));


  // get address & memspc
  GUI_obj_spc ((void**)&gEnt, sizeof(Obj_Entry));
  if(!gEnt) return (UME_obj_invalid_set (-1));



  //----------------------------------------------------------------
  w1 = gtk_entry_new ();
  UI_act_wi = w1;              // GUI_Tip

  if (funcnam) {
    gtk_widget_set_events (GTK_WIDGET(w1),
                           GDK_FOCUS_CHANGE_MASK|
                           GDK_BUTTON_RELEASE_MASK);

    g_signal_connect (G_OBJECT (w1),
                        "key-press-event",
                        G_CALLBACK (GUI_entry_cb),
                        PTR_MEMOBJ(gEnt->mem_obj));

    g_signal_connect (G_OBJECT (w1),
                        "key-release-event",
                        G_CALLBACK (GUI_entry_cb),
                        PTR_MEMOBJ(gEnt->mem_obj));

    g_signal_connect (G_OBJECT (w1),
                        "focus-in-event",
                        G_CALLBACK (GUI_entry_cb),
                        PTR_MEMOBJ(gEnt->mem_obj));
  }


  // preset Text
  i1 = 0;
  if(etxt) i1 = strlen(etxt);
  if(i1 > 0) {
    /* printf("preset Text /%s/\n",etxt); */
    gtk_entry_set_text (GTK_ENTRY(w1), etxt);
  }


  //----------------------------------------------------------------
  c1 = GUI_opts_get1 (&opts, "f");  // 1=default
  if(c1 == 'f') {
    gtk_entry_set_has_frame (GTK_ENTRY(w1), FALSE);
  }
  // gtk_entry_set_inner_border (GTK_ENTRY(w1), NULL);


  // pack & size without label
  if(ltxt) goto L_WL;

  GUI_w_pack1 (pTyp, w_par, w1, opts);

  goto L_done;



  //----------------------------------------------------------------
  // pack & size with label
  L_WL:


  // if parent is horiz.Box: OK; if it is vertic.Box: insert horiz.Box.
  if(pTyp == TYP_GUI_BoxV) {

    box1 = gtk_hbox_new (FALSE, 0);

    gtk_container_add (GTK_CONTAINER (w_par), box1);
    // gtk_box_pack_start (GTK_BOX (w_par), box1, FALSE,FALSE, 0);
    gtk_widget_show (box1);

    w_par = box1;
  }



    // printf("Labelext /%s/\n",ltxt);
    w2 = gtk_label_new (ltxt);
    gtk_misc_set_alignment (GTK_MISC (w2), 0.f, 0.5f); // left

    c1 = GUI_opts_get1 (&opts, "lcr");  // 1=default
    if(c1 != 'r') {
      // pack label into box; on the left side of the inputfield.
      gtk_container_add (GTK_CONTAINER (w_par), w2);
      // gtk_box_pack_start (GTK_BOX (w_par), w2, TRUE,TRUE, 0);
      gtk_widget_show (w2);

      // pack entry w1 into box
      GUI_w_pack2 (pTyp, w_par, w1, opts);  // pack1 no fixed entry-length!

    } else {
      // pack entry w1 into box
      GUI_w_pack2 (pTyp, w_par, w1, opts); // pack1 no fixed entry-length!

      // label right of inputfield
      gtk_container_add (GTK_CONTAINER (w_par), w2);
      gtk_widget_show (w2);
    }


  //----------------------------------------------------------------
  L_done:
  // fill obj
  gEnt->gio_typ  = TYP_GUI_Entry;
  gEnt->entry    = w1;
  gEnt->data     = data;
  gEnt->uFunc    = funcnam;

  // return memObj
  return (((Obj_Unknown*)gEnt)->mem_obj);

}
示例#16
0
static void
saa_solid_manager_init (SaaSolidManager * mgr) {
	GtkWidget * but_numero, * but_wythoff, * but_filename;
	GtkWidget * image1, * image2, * image3;
	GtkObject * sbut_numero_adj;
	const gchar * filename_path;

	gtk_table_resize(GTK_TABLE(mgr), 3, 5);
	gtk_table_set_homogeneous(GTK_TABLE(mgr), FALSE);

	gtk_table_set_row_spacings (GTK_TABLE (mgr), 5);
	gtk_table_set_col_spacings (GTK_TABLE (mgr), 5);
	gtk_container_set_border_width (GTK_CONTAINER (mgr), 5);

	// Numero
	mgr->radio_numero = gtk_radio_button_new_with_label_from_widget (NULL, _("Number:"));
	gtk_widget_set_name(mgr->radio_numero, "numero-rad");
	gtk_widget_show (mgr->radio_numero);
	gtk_table_attach (GTK_TABLE (mgr), mgr->radio_numero, 0, 1, 0, 1, GTK_FILL, GTK_FILL, 0, 0);

	sbut_numero_adj = gtk_adjustment_new (1, 1, 80, 1, 10, 0);
	mgr->spin_numero = gtk_spin_button_new (GTK_ADJUSTMENT (sbut_numero_adj), 1, 0);
	gtk_widget_set_name(mgr->spin_numero, "numero-ent");
	gtk_widget_show (mgr->spin_numero);
	gtk_table_attach (GTK_TABLE (mgr), mgr->spin_numero, 1, 2, 0, 1, GTK_FILL, GTK_FILL, 0, 0);
	gtk_spin_button_set_numeric (GTK_SPIN_BUTTON (mgr->spin_numero), TRUE);
	gtk_spin_button_set_wrap (GTK_SPIN_BUTTON (mgr->spin_numero), TRUE);

	but_numero = gtk_button_new ();
	gtk_widget_set_name(but_numero, "numero-btn");
	gtk_widget_show (but_numero);
	gtk_table_attach (GTK_TABLE (mgr), but_numero, 2, 3, 0, 1, GTK_FILL, GTK_FILL, 0, 0);

	image1 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image1);
	gtk_container_add (GTK_CONTAINER (but_numero), image1);

	// Wythoff
	mgr->radio_wythoff = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (mgr->radio_numero), _("Wythoff symbol:"));
	gtk_widget_set_name(mgr->radio_wythoff, "wythoff-rad");
	gtk_widget_show (mgr->radio_wythoff);
	gtk_table_attach (GTK_TABLE (mgr), mgr->radio_wythoff, 0, 1, 1, 2, GTK_FILL, GTK_FILL, 0, 0);

	mgr->entry_wythoff = gtk_entry_new ();
	gtk_widget_set_name(mgr->entry_wythoff, "wythoff-ent");
	gtk_widget_show (mgr->entry_wythoff);
	gtk_table_attach (GTK_TABLE (mgr), mgr->entry_wythoff, 1, 2, 1, 2, GTK_FILL, GTK_FILL, 0, 0);
	gtk_entry_set_has_frame (GTK_ENTRY (mgr->entry_wythoff), FALSE);

	but_wythoff = gtk_button_new ();
	gtk_widget_set_name(but_wythoff, "wythoff-btn");
	gtk_widget_show (but_wythoff);
	gtk_table_attach (GTK_TABLE (mgr), but_wythoff, 2, 3, 1, 2, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);

	image2 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image2);
	gtk_container_add (GTK_CONTAINER (but_wythoff), image2);

	// Dual
	mgr->but_dual = gtk_toggle_button_new_with_mnemonic (_("Dual"));
	gtk_widget_set_name(mgr->but_dual, "numero-wythoff-dual-btn");
	gtk_widget_show (mgr->but_dual);
	gtk_table_attach (GTK_TABLE (mgr), mgr->but_dual, 3, 4, 0, 2, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);

	// Filename
	mgr->radio_filename = gtk_radio_button_new_with_label_from_widget (GTK_RADIO_BUTTON (mgr->radio_wythoff), _("File:"));
	gtk_widget_set_name(mgr->radio_filename, "filename-rad");
	gtk_widget_show (mgr->radio_filename);
	gtk_table_attach (GTK_TABLE (mgr), mgr->radio_filename, 0, 1, 2, 3, GTK_FILL, GTK_FILL, 0, 0);

	mgr->but_filename = gtk_file_chooser_button_new (_("Load a solid"), GTK_FILE_CHOOSER_ACTION_OPEN);
	gtk_widget_set_name(mgr->but_filename, "filename-but");
	gtk_widget_show (mgr->but_filename);
	gtk_table_attach (GTK_TABLE (mgr), mgr->but_filename, 1, 2, 2, 3, GTK_FILL, GTK_FILL, 0, 0);
	filename_path = g_get_user_special_dir(G_USER_DIRECTORY_DOCUMENTS);
	gtk_file_chooser_set_filename (GTK_FILE_CHOOSER(mgr->but_filename), filename_path);


	but_filename = gtk_button_new ();
	gtk_widget_set_name(but_filename, "filename-btn");
	gtk_widget_show (but_filename);
	gtk_table_attach (GTK_TABLE (mgr), but_filename, 2, 3, 2, 3, GTK_FILL, GTK_SHRINK | GTK_FILL, 0, 0);

	image3 = gtk_image_new_from_stock ("gtk-refresh", GTK_ICON_SIZE_BUTTON);
	gtk_widget_show (image3);
	gtk_container_add (GTK_CONTAINER (but_filename), image3);

	// Nom
	mgr->label_nom = gtk_label_new ("");
	gtk_widget_set_name(mgr->label_nom, "numero-wythoff-filename-lbl");
	gtk_widget_show (mgr->label_nom);
	gtk_table_attach (GTK_TABLE (mgr), mgr->label_nom, 0, 4, 4, 5, GTK_FILL, GTK_FILL, 0, 0);
	gtk_label_set_justify (GTK_LABEL (mgr->label_nom), GTK_JUSTIFY_CENTER);

	g_signal_connect_swapped ((gpointer) mgr->radio_numero, "toggled",
			G_CALLBACK (saa_solid_manager_radio_numero_toggled),
			mgr);
	g_signal_connect_swapped ((gpointer) mgr->radio_wythoff, "toggled",
			G_CALLBACK (saa_solid_manager_radio_wythoff_toggled),
			mgr);
	g_signal_connect_swapped ((gpointer) mgr->radio_filename, "toggled",
			G_CALLBACK (saa_solid_manager_radio_filename_toggled),
			mgr);

	g_signal_connect_swapped ((gpointer) but_numero, "clicked",
			G_CALLBACK (saa_solid_manager_numero_changed),
			mgr);

	g_signal_connect_swapped ((gpointer) but_wythoff, "clicked",
			G_CALLBACK (saa_solid_manager_wythoff_changed),
			mgr);

	g_signal_connect_swapped ((gpointer) but_filename, "clicked",
			G_CALLBACK (saa_solid_manager_filename_changed),
			mgr);

	g_signal_connect_swapped ((gpointer) mgr->but_dual, "toggled",
			G_CALLBACK (saa_solid_manager_dual_toggled),
			mgr);

	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mgr->radio_wythoff), TRUE);
	gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(mgr->radio_numero), TRUE);
}
GtkWidget *
gnc_item_edit_new (GnucashSheet *sheet)
{
    char *hpad_str, *vpad_str, *entry_css;
    GtkStyleContext *stylecontext;
    GtkCssProvider *provider;
    GncItemEdit *item_edit =
            g_object_new (GNC_TYPE_ITEM_EDIT,
                          "sheet", sheet,
                          "spacing",     0,
                          "homogeneous", FALSE,
                           NULL);
    gtk_layout_put (GTK_LAYOUT(sheet), GTK_WIDGET(item_edit), 0, 0);

    // This sets a style class for when Gtk+ version is less than 3.20
    gnc_widget_set_css_name (GTK_WIDGET(item_edit), "cursor");

    /* Create the text entry */
    item_edit->editor = gtk_entry_new();
    sheet->entry = item_edit->editor;
    gtk_entry_set_width_chars (GTK_ENTRY(item_edit->editor), 1);
    gtk_box_pack_start (GTK_BOX(item_edit), item_edit->editor,  TRUE, TRUE, 0);

    // Make sure the Entry can not have focus and no frame
    gtk_widget_set_can_focus (GTK_WIDGET(item_edit->editor), FALSE);
    gtk_entry_set_has_frame (GTK_ENTRY(item_edit->editor), FALSE);

    // Connect to the draw signal so we can draw a cursor
    g_signal_connect_after (item_edit->editor, "draw",
                            G_CALLBACK (draw_text_cursor_cb), NULL);

    // Fill in the background so the underlying sheet cell can not be seen
    g_signal_connect (item_edit, "draw",
                            G_CALLBACK (draw_background_cb), item_edit);

    /* Force padding on the entry to align with the rest of the register this
       is done in the gnucash.css file which should be in line with sheet.h */

    /* Create the popup button
       It will only be displayed when the cell being edited provides
       a popup item (like a calendar or account list) */
    item_edit->popup_toggle.tbutton = gtk_toggle_button_new();
    gtk_toggle_button_set_mode (GTK_TOGGLE_BUTTON (item_edit->popup_toggle.tbutton), FALSE);

    /* Force padding on the button to keep it small and display as much as
       possible of the arrow which is done in the gnucash.css file */

    /* Wrap the popup button in an event box to give it its own gdkwindow.
     * Without one the button would disappear behind the grid object. */
    item_edit->popup_toggle.ebox = gtk_event_box_new();
    g_object_ref(item_edit->popup_toggle.ebox);
    gtk_container_add(GTK_CONTAINER(item_edit->popup_toggle.ebox),
                      item_edit->popup_toggle.tbutton);

    gtk_box_pack_start (GTK_BOX(item_edit),
                        item_edit->popup_toggle.ebox,
                        FALSE, TRUE, 0);
    gtk_widget_show_all(GTK_WIDGET(item_edit));

    return GTK_WIDGET(item_edit);
}
示例#18
0
GtkWidget*
create_BookkeepingMainwindow (void)
{
  GtkWidget *BookkeepingMainwindow;
  GtkWidget *vbox1;
  GtkWidget *menubar1;
  GtkWidget *file1;
  GtkWidget *file1_menu;
  GtkWidget *choosePrinter1;
  GtkWidget *separator2;
  GtkWidget *quit1;
  GtkWidget *bookkeeping;
  GtkWidget *bookkeeping_menu;
  GtkWidget *new1;
  GtkWidget *edit1;
  GtkWidget *trennlinie1;
  GtkWidget *save1;
  GtkWidget *separator3;
  GtkWidget *print1;
  GtkWidget *separator1;
  GtkWidget *delete1;
  GtkWidget *journal1;
  GtkWidget *journal1_menu;
  GtkWidget *journal_monthly1;
  GtkWidget *journal_all1;
  GtkWidget *toolbar1;
  GtkIconSize tmp_toolbar_icon_size;
  GtkWidget *hbox1;
  GtkWidget *lFindNumber;
  GtkWidget *eFindName;
  GtkWidget *lFindDesignation;
  GtkWidget *eFindCity;
  GtkWidget *bSearch;
  GtkWidget *scrolledwindow1;
  GtkWidget *viewport1;
  GtkWidget *tree1;
  GtkWidget *notebook1;
  GtkWidget *vbox2;
  GtkWidget *hbox2;
  GtkWidget *label1;
  GtkWidget *eDate;
  GtkWidget *label2;
  GtkWidget *eShortKey;
  GtkWidget *cbAutomatic;
  GtkWidget *hbox3;
  GtkWidget *label3;
  GtkWidget *eDesignation;
  GtkWidget *hbox25;
  GtkWidget *hbox26;
  GtkWidget *label13;
  GtkWidget *eDocumentNumber1;
  GtkWidget *hbox27;
  GtkWidget *label14;
  GtkWidget *eDocumentNumber2;
  GtkWidget *hbox4;
  GtkWidget *label11;
  GtkWidget *hbox10;
  GtkWidget *label9;
  GtkWidget *label10;
  GtkWidget *hbox17;
  GtkWidget *hbox28;
  GtkWidget *eBookAccount1;
  GtkWidget *eInfo1;
  GtkWidget *hbox18;
  GtkWidget *eDebit1;
  GtkWidget *eCredit1;
  GtkWidget *hbox32;
  GtkWidget *hbox33;
  GtkWidget *eBookAccount2;
  GtkWidget *eInfo2;
  GtkWidget *hbox34;
  GtkWidget *eDebit2;
  GtkWidget *eCredit2;
  GtkWidget *hbox35;
  GtkWidget *hbox36;
  GtkWidget *eBookAccount3;
  GtkWidget *eInfo3;
  GtkWidget *hbox37;
  GtkWidget *eDebit3;
  GtkWidget *eCredit3;
  GtkWidget *hseparator1;
  GtkWidget *hbox9;
  GtkWidget *label12;
  GtkWidget *hbox15;
  GtkWidget *hbox16;
  GtkWidget *hbox19;
  GtkWidget *hbox29;
  GtkWidget *eBookAccount5;
  GtkWidget *eInfo5;
  GtkWidget *hbox21;
  GtkWidget *eDebit5;
  GtkWidget *eCredit5;
  GtkWidget *hbox20;
  GtkWidget *hbox30;
  GtkWidget *eBookAccount6;
  GtkWidget *eInfo6;
  GtkWidget *hbox22;
  GtkWidget *eDebit6;
  GtkWidget *eCredit6;
  GtkWidget *hbox23;
  GtkWidget *hbox31;
  GtkWidget *eBookAccount7;
  GtkWidget *eInfo7;
  GtkWidget *hbox24;
  GtkWidget *eDebit7;
  GtkWidget *eCredit7;
  GtkWidget *bCash;
  GtkAccelGroup *accel_group;

  accel_group = gtk_accel_group_new ();

  BookkeepingMainwindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);
  gtk_window_set_title (GTK_WINDOW (BookkeepingMainwindow), _("Bookkeeping"));

  vbox1 = gtk_vbox_new (FALSE, 17);
  gtk_widget_show (vbox1);
  gtk_container_add (GTK_CONTAINER (BookkeepingMainwindow), vbox1);

  menubar1 = gtk_menu_bar_new ();
  gtk_widget_show (menubar1);
  gtk_box_pack_start (GTK_BOX (vbox1), menubar1, FALSE, FALSE, 0);

  file1 = gtk_menu_item_new_with_mnemonic (_("_File"));
  gtk_widget_show (file1);
  gtk_container_add (GTK_CONTAINER (menubar1), file1);

  file1_menu = gtk_menu_new ();
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (file1), file1_menu);

  choosePrinter1 = gtk_menu_item_new_with_mnemonic (_("Print S_etup..."));
  gtk_widget_show (choosePrinter1);
  gtk_container_add (GTK_CONTAINER (file1_menu), choosePrinter1);

  separator2 = gtk_separator_menu_item_new ();
  gtk_widget_show (separator2);
  gtk_container_add (GTK_CONTAINER (file1_menu), separator2);
  gtk_widget_set_sensitive (separator2, FALSE);

  quit1 = gtk_image_menu_item_new_from_stock ("gtk-close", accel_group);
  gtk_widget_show (quit1);
  gtk_container_add (GTK_CONTAINER (file1_menu), quit1);

  bookkeeping = gtk_menu_item_new_with_mnemonic (_("Bookkeeping"));
  gtk_widget_show (bookkeeping);
  gtk_container_add (GTK_CONTAINER (menubar1), bookkeeping);

  bookkeeping_menu = gtk_menu_new ();
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (bookkeeping), bookkeeping_menu);

  new1 = gtk_image_menu_item_new_from_stock ("gtk-new", accel_group);
  gtk_widget_show (new1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), new1);

  edit1 = gtk_image_menu_item_new_from_stock ("gtk-edit", accel_group);
  gtk_widget_show (edit1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), edit1);

  trennlinie1 = gtk_separator_menu_item_new ();
  gtk_widget_show (trennlinie1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), trennlinie1);
  gtk_widget_set_sensitive (trennlinie1, FALSE);

  save1 = gtk_image_menu_item_new_from_stock ("gtk-save", accel_group);
  gtk_widget_show (save1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), save1);

  separator3 = gtk_separator_menu_item_new ();
  gtk_widget_show (separator3);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), separator3);
  gtk_widget_set_sensitive (separator3, FALSE);

  print1 = gtk_image_menu_item_new_from_stock ("gtk-print", accel_group);
  gtk_widget_show (print1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), print1);

  separator1 = gtk_separator_menu_item_new ();
  gtk_widget_show (separator1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), separator1);
  gtk_widget_set_sensitive (separator1, FALSE);

  delete1 = gtk_image_menu_item_new_from_stock ("gtk-clear", accel_group);
  gtk_widget_show (delete1);
  gtk_container_add (GTK_CONTAINER (bookkeeping_menu), delete1);

  journal1 = gtk_menu_item_new_with_mnemonic (_("Journal"));
  gtk_widget_show (journal1);
  gtk_container_add (GTK_CONTAINER (menubar1), journal1);

  journal1_menu = gtk_menu_new ();
  gtk_menu_item_set_submenu (GTK_MENU_ITEM (journal1), journal1_menu);

  journal_monthly1 = gtk_menu_item_new_with_mnemonic (_("Monthly"));
  gtk_widget_show (journal_monthly1);
  gtk_container_add (GTK_CONTAINER (journal1_menu), journal_monthly1);

  journal_all1 = gtk_menu_item_new_with_mnemonic (_("All"));
  gtk_widget_show (journal_all1);
  gtk_container_add (GTK_CONTAINER (journal1_menu), journal_all1);

  toolbar1 = gtk_toolbar_new ();
  gtk_widget_show (toolbar1);
  gtk_box_pack_start (GTK_BOX (vbox1), toolbar1, FALSE, FALSE, 0);
  gtk_toolbar_set_style (GTK_TOOLBAR (toolbar1), GTK_TOOLBAR_BOTH);
  tmp_toolbar_icon_size = gtk_toolbar_get_icon_size (GTK_TOOLBAR (toolbar1));

  hbox1 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox1);
  gtk_box_pack_start (GTK_BOX (vbox1), hbox1, FALSE, FALSE, 0);

  lFindNumber = gtk_label_new (_("Date"));
  gtk_widget_show (lFindNumber);
  gtk_box_pack_start (GTK_BOX (hbox1), lFindNumber, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (lFindNumber), GTK_JUSTIFY_CENTER);

  eFindName = gtk_entry_new ();
  gtk_widget_show (eFindName);
  gtk_box_pack_start (GTK_BOX (hbox1), eFindName, FALSE, FALSE, 0);

  lFindDesignation = gtk_label_new (_("Designation"));
  gtk_widget_show (lFindDesignation);
  gtk_box_pack_start (GTK_BOX (hbox1), lFindDesignation, FALSE, FALSE, 0);
  gtk_label_set_justify (GTK_LABEL (lFindDesignation), GTK_JUSTIFY_CENTER);

  eFindCity = gtk_entry_new ();
  gtk_widget_show (eFindCity);
  gtk_box_pack_start (GTK_BOX (hbox1), eFindCity, FALSE, FALSE, 0);

  bSearch = gtk_button_new_with_mnemonic (_("Search"));
  gtk_widget_show (bSearch);
  gtk_box_pack_start (GTK_BOX (hbox1), bSearch, FALSE, FALSE, 0);

  scrolledwindow1 = gtk_scrolled_window_new (NULL, NULL);
  gtk_widget_show (scrolledwindow1);
  gtk_box_pack_start (GTK_BOX (vbox1), scrolledwindow1, TRUE, TRUE, 0);
  GTK_WIDGET_UNSET_FLAGS (scrolledwindow1, GTK_CAN_FOCUS);

  viewport1 = gtk_viewport_new (NULL, NULL);
  gtk_widget_show (viewport1);
  gtk_container_add (GTK_CONTAINER (scrolledwindow1), viewport1);

  tree1 = gtk_tree_view_new ();
  gtk_widget_show (tree1);
  gtk_container_add (GTK_CONTAINER (viewport1), tree1);
  GTK_WIDGET_UNSET_FLAGS (tree1, GTK_CAN_FOCUS);

  notebook1 = gtk_notebook_new ();
  gtk_widget_show (notebook1);
  gtk_box_pack_start (GTK_BOX (vbox1), notebook1, TRUE, TRUE, 0);

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

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

  label1 = gtk_label_new (_("date"));
  gtk_widget_show (label1);
  gtk_box_pack_start (GTK_BOX (hbox2), label1, FALSE, FALSE, 0);

  eDate = gtk_entry_new ();
  gtk_widget_show (eDate);
  gtk_box_pack_start (GTK_BOX (hbox2), eDate, TRUE, TRUE, 0);
  gtk_entry_set_width_chars (GTK_ENTRY (eDate), 10);

  label2 = gtk_label_new (_("short key"));
  gtk_widget_show (label2);
  gtk_box_pack_start (GTK_BOX (hbox2), label2, FALSE, FALSE, 0);

  eShortKey = gtk_entry_new ();
  gtk_widget_show (eShortKey);
  gtk_box_pack_start (GTK_BOX (hbox2), eShortKey, TRUE, TRUE, 0);
  gtk_entry_set_has_frame (GTK_ENTRY (eShortKey), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eShortKey), 6);

  cbAutomatic = gtk_check_button_new_with_mnemonic (_("Automatic"));
  gtk_widget_show (cbAutomatic);
  gtk_box_pack_start (GTK_BOX (hbox2), cbAutomatic, FALSE, FALSE, 0);
  gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (cbAutomatic), TRUE);

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

  label3 = gtk_label_new (_("Designation"));
  gtk_widget_show (label3);
  gtk_box_pack_start (GTK_BOX (hbox3), label3, FALSE, FALSE, 0);

  eDesignation = gtk_entry_new ();
  gtk_widget_show (eDesignation);
  gtk_box_pack_start (GTK_BOX (hbox3), eDesignation, TRUE, TRUE, 0);

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

  hbox26 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox26);
  gtk_box_pack_start (GTK_BOX (hbox25), hbox26, TRUE, TRUE, 0);

  label13 = gtk_label_new (_("Doc.-Nr. 1"));
  gtk_widget_show (label13);
  gtk_box_pack_start (GTK_BOX (hbox26), label13, FALSE, FALSE, 0);

  eDocumentNumber1 = gtk_entry_new ();
  gtk_widget_show (eDocumentNumber1);
  gtk_box_pack_start (GTK_BOX (hbox26), eDocumentNumber1, TRUE, TRUE, 0);

  hbox27 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox27);
  gtk_box_pack_start (GTK_BOX (hbox25), hbox27, TRUE, TRUE, 0);

  label14 = gtk_label_new (_("Doc-Nr. 2"));
  gtk_widget_show (label14);
  gtk_box_pack_start (GTK_BOX (hbox27), label14, FALSE, FALSE, 0);

  eDocumentNumber2 = gtk_entry_new ();
  gtk_widget_show (eDocumentNumber2);
  gtk_box_pack_start (GTK_BOX (hbox27), eDocumentNumber2, TRUE, TRUE, 0);

  hbox4 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox4);
  gtk_box_pack_start (GTK_BOX (vbox2), hbox4, TRUE, TRUE, 0);
  gtk_container_set_border_width (GTK_CONTAINER (hbox4), 3);

  label11 = gtk_label_new (_("account"));
  gtk_widget_show (label11);
  gtk_box_pack_start (GTK_BOX (hbox4), label11, FALSE, FALSE, 0);

  hbox10 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox10);
  gtk_box_pack_start (GTK_BOX (hbox4), hbox10, TRUE, TRUE, 0);

  label9 = gtk_label_new (_("debit (receipt)"));
  gtk_widget_show (label9);
  gtk_box_pack_start (GTK_BOX (hbox10), label9, FALSE, FALSE, 0);

  label10 = gtk_label_new (_("credit (cost)"));
  gtk_widget_show (label10);
  gtk_box_pack_start (GTK_BOX (hbox10), label10, FALSE, FALSE, 0);

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

  hbox28 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox28);
  gtk_box_pack_start (GTK_BOX (hbox17), hbox28, TRUE, TRUE, 0);

  eBookAccount1 = gtk_entry_new ();
  gtk_widget_show (eBookAccount1);
  gtk_box_pack_start (GTK_BOX (hbox28), eBookAccount1, TRUE, TRUE, 0);
  gtk_widget_add_accelerator (eBookAccount1, "activate", accel_group,
                              GDK_F1, (GdkModifierType) GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount1), 10);

  eInfo1 = gtk_entry_new ();
  gtk_widget_show (eInfo1);
  gtk_box_pack_start (GTK_BOX (hbox28), eInfo1, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo1), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo1), 30);

  hbox18 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox18);
  gtk_box_pack_start (GTK_BOX (hbox17), hbox18, TRUE, TRUE, 0);

  eDebit1 = gtk_entry_new ();
  gtk_widget_show (eDebit1);
  gtk_box_pack_start (GTK_BOX (hbox18), eDebit1, TRUE, TRUE, 0);

  eCredit1 = gtk_entry_new ();
  gtk_widget_show (eCredit1);
  gtk_box_pack_start (GTK_BOX (hbox18), eCredit1, TRUE, TRUE, 0);

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

  hbox33 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox33);
  gtk_box_pack_start (GTK_BOX (hbox32), hbox33, TRUE, TRUE, 0);

  eBookAccount2 = gtk_entry_new ();
  gtk_widget_show (eBookAccount2);
  gtk_box_pack_start (GTK_BOX (hbox33), eBookAccount2, TRUE, TRUE, 0);
  gtk_widget_add_accelerator (eBookAccount2, "activate", accel_group,
                              GDK_F1, (GdkModifierType) GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount2), 10);

  eInfo2 = gtk_entry_new ();
  gtk_widget_show (eInfo2);
  gtk_box_pack_start (GTK_BOX (hbox33), eInfo2, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo2), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo2), 30);

  hbox34 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox34);
  gtk_box_pack_start (GTK_BOX (hbox32), hbox34, TRUE, TRUE, 0);

  eDebit2 = gtk_entry_new ();
  gtk_widget_show (eDebit2);
  gtk_box_pack_start (GTK_BOX (hbox34), eDebit2, TRUE, TRUE, 0);

  eCredit2 = gtk_entry_new ();
  gtk_widget_show (eCredit2);
  gtk_box_pack_start (GTK_BOX (hbox34), eCredit2, TRUE, TRUE, 0);

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

  hbox36 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox36);
  gtk_box_pack_start (GTK_BOX (hbox35), hbox36, TRUE, TRUE, 0);

  eBookAccount3 = gtk_entry_new ();
  gtk_widget_show (eBookAccount3);
  gtk_box_pack_start (GTK_BOX (hbox36), eBookAccount3, TRUE, TRUE, 0);
  gtk_widget_add_accelerator (eBookAccount3, "activate", accel_group,
                              GDK_F1, (GdkModifierType) GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount3), 10);

  eInfo3 = gtk_entry_new ();
  gtk_widget_show (eInfo3);
  gtk_box_pack_start (GTK_BOX (hbox36), eInfo3, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo3), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo3), 30);

  hbox37 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox37);
  gtk_box_pack_start (GTK_BOX (hbox35), hbox37, TRUE, TRUE, 0);

  eDebit3 = gtk_entry_new ();
  gtk_widget_show (eDebit3);
  gtk_box_pack_start (GTK_BOX (hbox37), eDebit3, TRUE, TRUE, 0);

  eCredit3 = gtk_entry_new ();
  gtk_widget_show (eCredit3);
  gtk_box_pack_start (GTK_BOX (hbox37), eCredit3, TRUE, TRUE, 0);

  hseparator1 = gtk_hseparator_new ();
  gtk_widget_show (hseparator1);
  gtk_box_pack_start (GTK_BOX (vbox2), hseparator1, TRUE, TRUE, 0);
  gtk_widget_set_size_request (hseparator1, -1, 13);

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

  label12 = gtk_label_new (_("counter account"));
  gtk_widget_show (label12);
  gtk_box_pack_start (GTK_BOX (hbox9), label12, FALSE, FALSE, 0);

  hbox15 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox15);
  gtk_box_pack_start (GTK_BOX (hbox9), hbox15, TRUE, TRUE, 0);

  hbox16 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox16);
  gtk_box_pack_start (GTK_BOX (hbox15), hbox16, TRUE, TRUE, 0);

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

  hbox29 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox29);
  gtk_box_pack_start (GTK_BOX (hbox19), hbox29, TRUE, TRUE, 0);

  eBookAccount5 = gtk_entry_new ();
  gtk_widget_show (eBookAccount5);
  gtk_box_pack_start (GTK_BOX (hbox29), eBookAccount5, TRUE, TRUE, 0);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount5), 10);

  eInfo5 = gtk_entry_new ();
  gtk_widget_show (eInfo5);
  gtk_box_pack_start (GTK_BOX (hbox29), eInfo5, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo5), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo5), 30);

  hbox21 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox21);
  gtk_box_pack_start (GTK_BOX (hbox19), hbox21, TRUE, TRUE, 0);

  eDebit5 = gtk_entry_new ();
  gtk_widget_show (eDebit5);
  gtk_box_pack_start (GTK_BOX (hbox21), eDebit5, TRUE, TRUE, 0);

  eCredit5 = gtk_entry_new ();
  gtk_widget_show (eCredit5);
  gtk_box_pack_start (GTK_BOX (hbox21), eCredit5, TRUE, TRUE, 0);

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

  hbox30 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox30);
  gtk_box_pack_start (GTK_BOX (hbox20), hbox30, TRUE, TRUE, 0);

  eBookAccount6 = gtk_entry_new ();
  gtk_widget_show (eBookAccount6);
  gtk_box_pack_start (GTK_BOX (hbox30), eBookAccount6, TRUE, TRUE, 0);
  gtk_widget_add_accelerator (eBookAccount6, "activate", accel_group,
                              GDK_F1, (GdkModifierType) GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount6), 10);

  eInfo6 = gtk_entry_new ();
  gtk_widget_show (eInfo6);
  gtk_box_pack_start (GTK_BOX (hbox30), eInfo6, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo6), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo6), 30);

  hbox22 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox22);
  gtk_box_pack_start (GTK_BOX (hbox20), hbox22, TRUE, TRUE, 0);

  eDebit6 = gtk_entry_new ();
  gtk_widget_show (eDebit6);
  gtk_box_pack_start (GTK_BOX (hbox22), eDebit6, TRUE, TRUE, 0);

  eCredit6 = gtk_entry_new ();
  gtk_widget_show (eCredit6);
  gtk_box_pack_start (GTK_BOX (hbox22), eCredit6, TRUE, TRUE, 0);

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

  hbox31 = gtk_hbox_new (FALSE, 0);
  gtk_widget_show (hbox31);
  gtk_box_pack_start (GTK_BOX (hbox23), hbox31, TRUE, TRUE, 0);

  eBookAccount7 = gtk_entry_new ();
  gtk_widget_show (eBookAccount7);
  gtk_box_pack_start (GTK_BOX (hbox31), eBookAccount7, TRUE, TRUE, 0);
  gtk_widget_add_accelerator (eBookAccount7, "activate", accel_group,
                              GDK_F1, (GdkModifierType) GDK_CONTROL_MASK,
                              GTK_ACCEL_VISIBLE);
  gtk_entry_set_width_chars (GTK_ENTRY (eBookAccount7), 10);

  eInfo7 = gtk_entry_new ();
  gtk_widget_show (eInfo7);
  gtk_box_pack_start (GTK_BOX (hbox31), eInfo7, FALSE, FALSE, 0);
  gtk_editable_set_editable (GTK_EDITABLE (eInfo7), FALSE);
  gtk_entry_set_width_chars (GTK_ENTRY (eInfo7), 30);

  hbox24 = gtk_hbox_new (TRUE, 0);
  gtk_widget_show (hbox24);
  gtk_box_pack_start (GTK_BOX (hbox23), hbox24, TRUE, TRUE, 0);

  eDebit7 = gtk_entry_new ();
  gtk_widget_show (eDebit7);
  gtk_box_pack_start (GTK_BOX (hbox24), eDebit7, TRUE, TRUE, 0);

  eCredit7 = gtk_entry_new ();
  gtk_widget_show (eCredit7);
  gtk_box_pack_start (GTK_BOX (hbox24), eCredit7, TRUE, TRUE, 0);

  bCash = gtk_button_new_with_mnemonic (_("Bookkeeping"));
  gtk_widget_show (bCash);
  gtk_notebook_set_tab_label (GTK_NOTEBOOK (notebook1), gtk_notebook_get_nth_page (GTK_NOTEBOOK (notebook1), 0), bCash);

  g_signal_connect ((gpointer) choosePrinter1, "activate",
                    G_CALLBACK (on_choosePrinter1_activate),
                    NULL);
  g_signal_connect ((gpointer) quit1, "activate",
                    G_CALLBACK (on_quit1_activate),
                    NULL);
  g_signal_connect ((gpointer) new1, "activate",
                    G_CALLBACK (on_new1_activate),
                    NULL);
  g_signal_connect ((gpointer) edit1, "activate",
                    G_CALLBACK (on_edit1_activate),
                    NULL);
  g_signal_connect ((gpointer) save1, "activate",
                    G_CALLBACK (on_save1_activate),
                    NULL);
  g_signal_connect ((gpointer) print1, "activate",
                    G_CALLBACK (on_print1_activate),
                    NULL);
  g_signal_connect ((gpointer) delete1, "activate",
                    G_CALLBACK (on_delete1_activate),
                    NULL);
  g_signal_connect ((gpointer) journal_monthly1, "activate",
                    G_CALLBACK (on_journal_monthly1_activate),
                    NULL);
  g_signal_connect ((gpointer) journal_all1, "activate",
                    G_CALLBACK (on_journal_all1_activate),
                    NULL);
  g_signal_connect ((gpointer) bSearch, "clicked",
                    G_CALLBACK (on_bSearch_clicked),
                    NULL);
  g_signal_connect ((gpointer) eDate, "key_press_event",
                    G_CALLBACK (on_eDate_key_press_event),
                    NULL);
  g_signal_connect ((gpointer) eShortKey, "changed",
                    G_CALLBACK (on_eShortKey_changed),
                    NULL);
  g_signal_connect ((gpointer) eShortKey, "focus_out_event",
                    G_CALLBACK (on_eShortKey_focus_out_event),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount1, "activate",
                    G_CALLBACK (on_eCAB1_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount1, "changed",
                    G_CALLBACK (on_eCAB1_changed),
                    NULL);
  g_signal_connect ((gpointer) eDebit1, "editing_done",
                    G_CALLBACK (on_eDebi1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eCredit1, "editing_done",
                    G_CALLBACK (on_eCredit1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount2, "activate",
                    G_CALLBACK (on_eCAB1_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount2, "changed",
                    G_CALLBACK (on_eCAB1_changed),
                    NULL);
  g_signal_connect ((gpointer) eDebit2, "editing_done",
                    G_CALLBACK (on_eDebi1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eCredit2, "editing_done",
                    G_CALLBACK (on_eCredit1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount3, "activate",
                    G_CALLBACK (on_eCAB1_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount3, "changed",
                    G_CALLBACK (on_eCAB1_changed),
                    NULL);
  g_signal_connect ((gpointer) eDebit3, "editing_done",
                    G_CALLBACK (on_eDebi1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eCredit3, "editing_done",
                    G_CALLBACK (on_eCredit1_editing_done),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount5, "activate",
                    G_CALLBACK (on_eCAB2_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount5, "changed",
                    G_CALLBACK (on_eCAB2_changed),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount6, "activate",
                    G_CALLBACK (on_eCAB3_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount6, "changed",
                    G_CALLBACK (on_eCAB3_changed),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount7, "activate",
                    G_CALLBACK (on_eCAB4_activate),
                    NULL);
  g_signal_connect ((gpointer) eBookAccount7, "changed",
                    G_CALLBACK (on_eCAB4_changed),
                    NULL);
  g_signal_connect ((gpointer) bCash, "clicked",
                    G_CALLBACK (on_bArticle_clicked),
                    NULL);

  /* Store pointers to all widgets, for use by lookup_widget(). */
  GLADE_HOOKUP_OBJECT_NO_REF (BookkeepingMainwindow, BookkeepingMainwindow, "BookkeepingMainwindow");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, vbox1, "vbox1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, menubar1, "menubar1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, file1, "file1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, file1_menu, "file1_menu");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, choosePrinter1, "choosePrinter1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, separator2, "separator2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, quit1, "quit1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, bookkeeping, "bookkeeping");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, bookkeeping_menu, "bookkeeping_menu");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, new1, "new1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, edit1, "edit1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, trennlinie1, "trennlinie1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, save1, "save1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, separator3, "separator3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, print1, "print1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, separator1, "separator1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, delete1, "delete1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, journal1, "journal1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, journal1_menu, "journal1_menu");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, journal_monthly1, "journal_monthly1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, journal_all1, "journal_all1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, toolbar1, "toolbar1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox1, "hbox1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, lFindNumber, "lFindNumber");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eFindName, "eFindName");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, lFindDesignation, "lFindDesignation");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eFindCity, "eFindCity");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, bSearch, "bSearch");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, scrolledwindow1, "scrolledwindow1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, viewport1, "viewport1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, tree1, "tree1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, notebook1, "notebook1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, vbox2, "vbox2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox2, "hbox2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label1, "label1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDate, "eDate");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label2, "label2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eShortKey, "eShortKey");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, cbAutomatic, "cbAutomatic");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox3, "hbox3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label3, "label3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDesignation, "eDesignation");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox25, "hbox25");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox26, "hbox26");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label13, "label13");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDocumentNumber1, "eDocumentNumber1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox27, "hbox27");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label14, "label14");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDocumentNumber2, "eDocumentNumber2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox4, "hbox4");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label11, "label11");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox10, "hbox10");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label9, "label9");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label10, "label10");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox17, "hbox17");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox28, "hbox28");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount1, "eBookAccount1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo1, "eInfo1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox18, "hbox18");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit1, "eDebit1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit1, "eCredit1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox32, "hbox32");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox33, "hbox33");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount2, "eBookAccount2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo2, "eInfo2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox34, "hbox34");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit2, "eDebit2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit2, "eCredit2");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox35, "hbox35");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox36, "hbox36");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount3, "eBookAccount3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo3, "eInfo3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox37, "hbox37");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit3, "eDebit3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit3, "eCredit3");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hseparator1, "hseparator1");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox9, "hbox9");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, label12, "label12");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox15, "hbox15");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox16, "hbox16");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox19, "hbox19");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox29, "hbox29");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount5, "eBookAccount5");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo5, "eInfo5");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox21, "hbox21");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit5, "eDebit5");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit5, "eCredit5");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox20, "hbox20");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox30, "hbox30");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount6, "eBookAccount6");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo6, "eInfo6");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox22, "hbox22");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit6, "eDebit6");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit6, "eCredit6");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox23, "hbox23");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox31, "hbox31");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eBookAccount7, "eBookAccount7");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eInfo7, "eInfo7");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, hbox24, "hbox24");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eDebit7, "eDebit7");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, eCredit7, "eCredit7");
  GLADE_HOOKUP_OBJECT (BookkeepingMainwindow, bCash, "bCash");

  gtk_window_add_accel_group (GTK_WINDOW (BookkeepingMainwindow), accel_group);

  return BookkeepingMainwindow;
}
示例#19
0
文件: surf.c 项目: sr/surf
Client *
newclient(void) {
    Client *c;
    if(!(c = calloc(1, sizeof(Client))))
        die("Cannot malloc!\n");
    /* Window */
    if(embed) {
        c->win = gtk_plug_new(0);
    }
    else {
        c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
        gtk_window_set_wmclass(GTK_WINDOW(c->win), "surf", "surf");
    }
    gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
    g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
    g_signal_connect(G_OBJECT(c->win), "key-press-event", G_CALLBACK(keypress), c);

    /* VBox */
    c->vbox = gtk_vbox_new(FALSE, 0);

    /* scrolled window */
    c->scroll = gtk_scrolled_window_new(NULL, NULL);
    gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(c->scroll),
                                   GTK_POLICY_NEVER, GTK_POLICY_NEVER);

    /* webview */
    c->view = WEBKIT_WEB_VIEW(webkit_web_view_new());
    g_signal_connect(G_OBJECT(c->view), "title-changed", G_CALLBACK(titlechange), c);
    g_signal_connect(G_OBJECT(c->view), "load-progress-changed", G_CALLBACK(progresschange), c);
    g_signal_connect(G_OBJECT(c->view), "load-committed", G_CALLBACK(loadcommit), c);
    g_signal_connect(G_OBJECT(c->view), "hovering-over-link", G_CALLBACK(linkhover), c);
    g_signal_connect(G_OBJECT(c->view), "create-web-view", G_CALLBACK(newwindow), c);
    g_signal_connect(G_OBJECT(c->view), "new-window-policy-decision-requested", G_CALLBACK(decidewindow), c);
    g_signal_connect(G_OBJECT(c->view), "download-requested", G_CALLBACK(download), c);

    /* urlbar */
    c->urlbar = gtk_entry_new();
    gtk_entry_set_has_frame(GTK_ENTRY(c->urlbar), FALSE);

    /* searchbar */
    c->searchbar = gtk_entry_new();
    gtk_entry_set_has_frame(GTK_ENTRY(c->searchbar), FALSE);

    /* Arranging */
    gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view));
    gtk_container_add(GTK_CONTAINER(c->win), c->vbox);
    gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
    gtk_container_add(GTK_CONTAINER(c->vbox), c->searchbar);
    gtk_container_add(GTK_CONTAINER(c->vbox), c->urlbar);

    /* Setup */
    gtk_box_set_child_packing(GTK_BOX(c->vbox), c->urlbar, FALSE, FALSE, 0, GTK_PACK_START);
    gtk_box_set_child_packing(GTK_BOX(c->vbox), c->searchbar, FALSE, FALSE, 0, GTK_PACK_START);
    gtk_box_set_child_packing(GTK_BOX(c->vbox), c->scroll, TRUE, TRUE, 0, GTK_PACK_START);
    gtk_widget_grab_focus(GTK_WIDGET(c->view));
    gtk_widget_hide_all(c->searchbar);
    gtk_widget_hide_all(c->urlbar);
    gtk_widget_show(c->vbox);
    gtk_widget_show(c->scroll);
    gtk_widget_show(GTK_WIDGET(c->view));
    gtk_widget_show(c->win);
    gdk_window_set_events(GTK_WIDGET(c->win)->window, GDK_ALL_EVENTS_MASK);
    gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c);
    c->next = clients;
    clients = c;
    if(showxid)
        printf("%u\n", (unsigned int)GDK_WINDOW_XID(GTK_WIDGET(c->win)->window));
    return c;
}
示例#20
0
文件: surf.c 项目: theappleman/surf
Client *
newclient(void) {
	Client *c;
	WebKitWebSettings *settings;
	gchar *uri;

	if(!(c = calloc(1, sizeof(Client))))
		die("Cannot malloc!\n");
	/* Window */
	if(embed) {
		c->win = gtk_plug_new(embed);
	}
	else {
		c->win = gtk_window_new(GTK_WINDOW_TOPLEVEL);
		gtk_window_set_wmclass(GTK_WINDOW(c->win), "surf", "surf");
	}
	gtk_window_set_default_size(GTK_WINDOW(c->win), 800, 600);
	g_signal_connect(G_OBJECT(c->win), "destroy", G_CALLBACK(destroywin), c);
	g_signal_connect(G_OBJECT(c->win), "key-press-event", G_CALLBACK(keypress), c);

	/* VBox */
	c->vbox = gtk_vbox_new(FALSE, 0);

	/* scrolled window */
	c->scroll = gtk_scrolled_window_new(NULL, NULL);
	gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(c->scroll),
			GTK_POLICY_NEVER, GTK_POLICY_NEVER);

	/* webview */
	c->view = WEBKIT_WEB_VIEW(webkit_web_view_new());
	g_signal_connect(G_OBJECT(c->view), "title-changed", G_CALLBACK(titlechange), c);
	g_signal_connect(G_OBJECT(c->view), "load-progress-changed", G_CALLBACK(progresschange), c);
	g_signal_connect(G_OBJECT(c->view), "load-finished", G_CALLBACK(loadfinished), c);
	g_signal_connect(G_OBJECT(c->view), "load-committed", G_CALLBACK(loadcommit), c);
	g_signal_connect(G_OBJECT(c->view), "load-started", G_CALLBACK(loadstart), c);
	g_signal_connect(G_OBJECT(c->view), "hovering-over-link", G_CALLBACK(linkhover), c);
	g_signal_connect(G_OBJECT(c->view), "create-web-view", G_CALLBACK(newwindow), c);
	g_signal_connect(G_OBJECT(c->view), "download-requested", G_CALLBACK(initdownload), c);
	g_signal_connect(G_OBJECT(c->view), "window-object-cleared", G_CALLBACK(windowobjectcleared), c);
	g_signal_connect_after(session, "request-started", G_CALLBACK(request), c);

	/* urlbar */
	c->urlbar = gtk_entry_new();
	gtk_entry_set_has_frame(GTK_ENTRY(c->urlbar), FALSE);
	g_signal_connect(G_OBJECT(c->urlbar), "focus-out-event", G_CALLBACK(unfocusbar), c);

	/* searchbar */
	c->searchbar = gtk_entry_new();
	gtk_entry_set_has_frame(GTK_ENTRY(c->searchbar), FALSE);
	g_signal_connect(G_OBJECT(c->searchbar), "focus-out-event", G_CALLBACK(unfocusbar), c);

	/* indicator */
	c->indicator = gtk_drawing_area_new();
	gtk_widget_set_size_request(c->indicator, 0, 2);
	g_signal_connect (G_OBJECT (c->indicator), "expose_event",
			G_CALLBACK (exposeindicator), c);

	/* Arranging */
	gtk_container_add(GTK_CONTAINER(c->scroll), GTK_WIDGET(c->view));
	gtk_container_add(GTK_CONTAINER(c->win), c->vbox);
	gtk_container_add(GTK_CONTAINER(c->vbox), c->scroll);
	gtk_container_add(GTK_CONTAINER(c->vbox), c->searchbar);
	gtk_container_add(GTK_CONTAINER(c->vbox), c->urlbar);
	gtk_container_add(GTK_CONTAINER(c->vbox), c->indicator);

	/* Setup */
	gtk_box_set_child_packing(GTK_BOX(c->vbox), c->urlbar, FALSE, FALSE, 0, GTK_PACK_START);
	gtk_box_set_child_packing(GTK_BOX(c->vbox), c->searchbar, FALSE, FALSE, 0, GTK_PACK_START);
	gtk_box_set_child_packing(GTK_BOX(c->vbox), c->indicator, FALSE, FALSE, 0, GTK_PACK_START);
	gtk_box_set_child_packing(GTK_BOX(c->vbox), c->scroll, TRUE, TRUE, 0, GTK_PACK_START);
	gtk_widget_grab_focus(GTK_WIDGET(c->view));
	gtk_widget_hide_all(c->searchbar);
	gtk_widget_hide_all(c->urlbar);
	gtk_widget_show(c->vbox);
	gtk_widget_show(c->indicator);
	gtk_widget_show(c->scroll);
	gtk_widget_show(GTK_WIDGET(c->view));
	gtk_widget_show(c->win);
	gdk_window_set_events(GTK_WIDGET(c->win)->window, GDK_ALL_EVENTS_MASK);
	gdk_window_add_filter(GTK_WIDGET(c->win)->window, processx, c);
	webkit_web_view_set_full_content_zoom(c->view, TRUE);
	settings = webkit_web_view_get_settings(c->view);
	g_object_set(G_OBJECT(settings), "user-agent", "surf", NULL);
	uri = g_strconcat("file://", stylefile, NULL);
	g_object_set(G_OBJECT(settings), "user-stylesheet-uri", uri, NULL);
	g_free(uri);

	c->download = NULL;
	c->title = NULL;
	c->next = clients;
	clients = c;
	if(showxid) {
		gdk_display_sync(gtk_widget_get_display(c->win));
		printf("%u\n", (guint)GDK_WINDOW_XID(GTK_WIDGET(c->win)->window));
		fflush(NULL);
	}
	return c;
}
示例#21
0
/*!
  \brief add_slider() creates the slider from the passed data, and attaches
  it the the gui.
  \param ctrl_name is the name of the slider as defined in the config file
  \param tbl is the table number to bind this slider to
  \param table_num is  the table_num from the firmware that this slider is
  bound to. (used for the sliders on the 3D view)
  \param row is the row of the table (tbl) that this slider goes on
  \param source is the data source for this slider 
  \param ident is the enumeration of the page this slider goes on
  \returns a Struct Rt_Slider *
  */
G_MODULE_EXPORT Rt_Slider * add_slider(gchar *ctrl_name, gint tbl, gint table_num, gint row, gchar *source, TabIdent ident)
{
	Rt_Slider *slider = NULL;
	GtkWidget *label = NULL;
	GtkWidget *pbar = NULL;
	GtkWidget *table = NULL;
	GtkWidget *hbox = NULL;
	gchar * name = NULL;
	Rtv_Map *rtv_map = NULL;
	gconstpointer *object = NULL;

	rtv_map = (Rtv_Map *)DATA_GET(global_data,"rtv_map");
	object = (gconstpointer *)g_hash_table_lookup(rtv_map->rtv_hash,source);
	if (!(object))
	{
		MTXDBG(CRITICAL,_("Request to create slider for non-existant datasource \"%s\"\n"),source);
		return NULL;
	}

	if (ident == RUNTIME_TAB)
		name = g_strdup_printf("runtime_rt_table%i",tbl);
	else if (ident == WARMUP_WIZ_TAB)
		name = g_strdup_printf("ww_rt_table%i",tbl);
	else if (ident == VE3D_VIEWER_TAB)
		name = g_strdup_printf("ve3d_rt_table%i_%i",tbl,table_num);
	else
	{
		MTXDBG(CRITICAL,_("Page ident passed is not handled, ERROR, widget add aborted\n"));
		return NULL;
	}
	table = lookup_widget(name);
	if (!table)
	{
		MTXDBG(CRITICAL,_("Table \"%s\" was not found, RuntimeSlider map or runtime datamap has a typo\n"),name);
		g_free(name);
		return NULL;
	}
	g_free(name);

	slider = (Rt_Slider *)g_malloc0(sizeof(Rt_Slider));
	slider->ctrl_name = g_strdup(ctrl_name);
	slider->tbl = tbl;
	slider->table_num = table_num;
	slider->row = row;
	slider->last = 0.0;
	slider->type = MTX_PROGRESS;
	slider->friendly_name = (gchar *) DATA_GET(object,"dlog_gui_name");
	slider->temp_dep = (GBOOLEAN)DATA_GET(object,"temp_dep");
	if ((gchar *)DATA_GET(object,"real_lower"))
		slider->lower = (GINT)strtol((gchar *)DATA_GET(object,"real_lower"),NULL,10);
	else
		MTXDBG(CRITICAL,_("No \"real_lower\" value defined for control name %s, datasource %s\n"),ctrl_name,source);
	if ((gchar *)DATA_GET(object,"real_upper"))
		slider->upper = (GINT)strtol((gchar *)DATA_GET(object,"real_upper"),NULL,10);
	else
		MTXDBG(CRITICAL,_("No \"real_upper\" value defined for control name %s, datasource %s\n"),ctrl_name,source);
	slider->history = (GArray *) DATA_GET(object,"history");
	slider->object = object;
	hbox = gtk_hbox_new(FALSE,5);

	label = gtk_label_new(NULL);
	slider->label = label;
	gtk_label_set_markup(GTK_LABEL(label),slider->friendly_name);
	gtk_misc_set_alignment(GTK_MISC(label),0.0,0.5);
	gtk_box_pack_start(GTK_BOX(hbox),label,TRUE,TRUE,0);

	label = gtk_entry_new();
	gtk_entry_set_has_frame(GTK_ENTRY(label),FALSE);
	gtk_entry_set_width_chars(GTK_ENTRY(label),6);
	gtk_entry_set_alignment(GTK_ENTRY(label),1);
	gtk_entry_set_editable(GTK_ENTRY(label),FALSE);
	/* PRELIGHT seems to not give the box as NORMAL does, not sure why */
	gtk_widget_modify_base(GTK_WIDGET(label),GTK_STATE_NORMAL,&gtk_widget_get_style(slider->label)->bg[GTK_STATE_PRELIGHT]);

	slider->textval = label;
	gtk_box_pack_start(GTK_BOX(hbox),label,FALSE,FALSE,0);

	if ((ident == RUNTIME_TAB) || (ident == VE3D_VIEWER_TAB))
	{
		if (((tbl+1) % 2) == 0)
			gtk_size_group_add_widget(size_group_right,hbox);
		else
			gtk_size_group_add_widget(size_group_left,hbox);
	}

	gtk_table_attach (GTK_TABLE (table),hbox,
			0,2,slider->row,(slider->row)+1,
			(GtkAttachOptions) (GTK_FILL),
			(GtkAttachOptions) (GTK_FILL), 0, 0);

	pbar = mtx_progress_bar_new();
	/* 1.1 Seconds peak hold time */
	mtx_progress_bar_set_hold_time(MTX_PROGRESS_BAR(pbar),1100);
	gtk_progress_bar_set_orientation(GTK_PROGRESS_BAR(pbar),
			GTK_PROGRESS_LEFT_TO_RIGHT);

	gtk_table_attach (GTK_TABLE (table),pbar,
			2,3,slider->row,(slider->row)+1,
			(GtkAttachOptions) (GTK_FILL|GTK_EXPAND|GTK_SHRINK),
			(GtkAttachOptions) (GTK_FILL|GTK_EXPAND|GTK_SHRINK), 0, 0);
	slider->pbar = pbar;

	slider->parent = table;
	gtk_widget_show_all(slider->parent);

	return slider;
}