bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { m_needParent = true; m_acceptsFocus = true; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxButton creation failed") ); return false; } m_widget = gtk_button_new_with_mnemonic(""); float x_alignment = 0.5; if (HasFlag(wxBU_LEFT)) x_alignment = 0.0; else if (HasFlag(wxBU_RIGHT)) x_alignment = 1.0; float y_alignment = 0.5; if (HasFlag(wxBU_TOP)) y_alignment = 0.0; else if (HasFlag(wxBU_BOTTOM)) y_alignment = 1.0; #ifdef __WXGTK24__ if (!gtk_check_version(2,4,0)) { gtk_button_set_alignment(GTK_BUTTON(m_widget), x_alignment, y_alignment); } else #endif { if (GTK_IS_MISC(GTK_BIN(m_widget)->child)) gtk_misc_set_alignment(GTK_MISC(GTK_BIN(m_widget)->child), x_alignment, y_alignment); } SetLabel(label); if (style & wxNO_BORDER) gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE ); g_signal_connect_after (m_widget, "clicked", G_CALLBACK (gtk_button_clicked_callback), this); g_signal_connect_after (m_widget, "style_set", G_CALLBACK (gtk_button_style_set_callback), this); m_parent->DoAddChild( this ); PostCreation(size); return true; }
static GtkWidget * accellabel_new (GladeXML *xml, GladeWidgetInfo *info) { GList *tmp; GtkWidget *label; gchar *string = NULL; GtkJustification just = GTK_JUSTIFY_CENTER; gboolean wrap = FALSE; for (tmp = info->attributes; tmp; tmp = tmp->next) { GladeAttribute *attr = tmp->data; if (!strcmp(attr->name, "label")) { string = attr->value; } else if (!strcmp(attr->name, "justify")) just = glade_enum_from_string(GTK_TYPE_JUSTIFICATION, attr->value); else if (!strcmp(attr->name, "wrap")) wrap = attr->value[0] == 'T'; } label = gtk_accel_label_new(_(string)); if (just != GTK_JUSTIFY_CENTER) gtk_label_set_justify(GTK_LABEL(label), just); if (wrap) gtk_label_set_line_wrap(GTK_LABEL(label), wrap); if (GTK_IS_MISC(label)) misc_set(GTK_MISC(label), info); return label; }
static void panda_clist_build_children (GladeXML *xml, GtkWidget *w, GladeWidgetInfo *info, const char *longname) { GList *tmp; GtkTreeViewColumn *column; gint col = 0; for (tmp = info->children; tmp; tmp = tmp->next) { GtkWidget *child = glade_xml_build_widget (xml, tmp->data, longname); gtk_widget_show(child); column = gtk_tree_view_get_column(GTK_TREE_VIEW(w), col); gtk_tree_view_column_set_widget(column, child); if (GTK_IS_MISC(child)) { gtk_tree_view_column_set_alignment(column, GTK_MISC(child)->xalign); gtk_misc_set_padding(GTK_MISC(child),0,0); } gtk_tree_view_column_set_clickable(column, FALSE); gtk_tree_view_column_set_spacing(column,0); if (!GTK_PANDA_CLIST(w)->show_titles) { gtk_widget_hide(child); } col++; } }
/** * gimp_enum_icon_box_set_child_padding: * @icon_box: an icon box widget * @xpad: horizontal padding * @ypad: vertical padding * * Sets the padding of all buttons in a box created by * gimp_enum_icon_box_new(). * * Since: GIMP 2.10 **/ void gimp_enum_icon_box_set_child_padding (GtkWidget *icon_box, gint xpad, gint ypad) { GList *children; GList *list; g_return_if_fail (GTK_IS_CONTAINER (icon_box)); children = gtk_container_get_children (GTK_CONTAINER (icon_box)); for (list = children; list; list = g_list_next (list)) { GtkWidget *child = gtk_bin_get_child (GTK_BIN (list->data)); if (GTK_IS_MISC (child)) { GtkMisc *misc = GTK_MISC (child); gint misc_xpad; gint misc_ypad; gtk_misc_get_padding (misc, &misc_xpad, &misc_ypad); gtk_misc_set_padding (misc, xpad < 0 ? misc_xpad : xpad, ypad < 0 ? misc_ypad : ypad); } } g_list_free (children); }
// Could use GtkGrids but that is Gtk3+ static GtkWidget *create_table (int cnt, char *labels[], GtkWidget *contents[], gboolean extended) { GtkTable *table; int i; table = GTK_TABLE(gtk_table_new (cnt, 2, FALSE)); gtk_table_set_col_spacing (table, 0, 10); for (i=0; i<cnt; i++) { // Hacky method to only show 4th entry (Eddington number) when wanted if ( !(i == 4) || extended ) { GtkWidget *label; label = gtk_label_new(NULL); gtk_misc_set_alignment ( GTK_MISC(label), 1, 0.5 ); // Position text centrally in vertical plane // All text labels are set to be in bold char *markup = g_markup_printf_escaped ("<b>%s:</b>", _(labels[i]) ); gtk_label_set_markup ( GTK_LABEL(label), markup ); g_free ( markup ); gtk_table_attach ( table, label, 0, 1, i, i+1, GTK_FILL, GTK_EXPAND, 4, 2 ); if (GTK_IS_MISC(contents[i])) { gtk_misc_set_alignment ( GTK_MISC(contents[i]), 0, 0.5 ); } gtk_table_attach_defaults ( table, contents[i], 1, 2, i, i+1 ); } } return GTK_WIDGET (table); }
void gconf_block_add(gconf_block *b, GtkWidget *w, gboolean new_row) { GtkWidget *hbox; if (!b->rows || new_row) { GtkWidget *s; new_row = TRUE; hbox = gtk_hbox_new(FALSE, 8); b->rows = g_slist_prepend(b->rows, hbox); gtk_box_pack_start(GTK_BOX(b->area), hbox, FALSE, FALSE, 0); /* space */ s = gtk_vbox_new(FALSE, 0); gtk_box_pack_end(GTK_BOX(hbox), s, TRUE, TRUE, 0); /* allign first elem */ if (GTK_IS_MISC(w)) { DBG("misc \n"); gtk_misc_set_alignment(GTK_MISC(w), 0, 0.5); gtk_size_group_add_widget(b->sgr, w); } } else hbox = b->rows->data; gtk_box_pack_start(GTK_BOX(hbox), w, FALSE, FALSE, 0); }
static void hig_workarea_add_tall_control (GtkWidget * t, guint row, GtkWidget * control) { if (GTK_IS_MISC (control)) gtk_misc_set_alignment (GTK_MISC (control), 0.0f, 0.5f); g_object_set (control, "expand", TRUE, NULL); gtk_grid_attach (GTK_GRID (t), control, 1, row, 1, 1); }
static void hig_workarea_add_control (GtkWidget * t, guint row, GtkWidget * control) { if (GTK_IS_MISC (control)) gtk_misc_set_alignment (GTK_MISC (control), 0.0f, 0.5f); gtk_widget_set_hexpand (control, TRUE); gtk_grid_attach (GTK_GRID (t), control, 1, row, 1, 1); }
void hig_workarea_add_control(GtkWidget * t, int row, GtkWidget * control) { if (GTK_IS_MISC(control)) gtk_misc_set_alignment(GTK_MISC(control), 0.0f, 0.5f); gtk_table_attach(GTK_TABLE(t), control, 1, 2, row, row + 1, GTK_EXPAND | GTK_SHRINK | GTK_FILL, 0, 0, 0); }
void hig_workarea_add_label_w (GtkWidget * t, guint row, GtkWidget * w) { gtk_widget_set_margin_left (w, 18); if (GTK_IS_MISC (w)) gtk_misc_set_alignment (GTK_MISC (w), 0.0f, 0.5f); if (GTK_IS_LABEL (w)) gtk_label_set_use_markup (GTK_LABEL (w), TRUE); gtk_grid_attach (GTK_GRID (t), w, 0, row, 1, 1); }
static GtkWidget * label_new (GladeXML *xml, GladeWidgetInfo *info) { GList *tmp; GtkWidget *label; guint key; gchar *string = NULL, *focus_target = NULL; GtkJustification just = GTK_JUSTIFY_CENTER; gboolean wrap = FALSE; for (tmp = info->attributes; tmp; tmp = tmp->next) { GladeAttribute *attr = tmp->data; if (!strcmp(attr->name, "label")) { string = attr->value; } else if (!strcmp(attr->name, "justify")) { just = glade_enum_from_string(GTK_TYPE_JUSTIFICATION, attr->value); } else if (!strcmp(attr->name, "default_focus_target")) { if (!focus_target) focus_target = attr->value; } else if (!strcmp(attr->name, "focus_target")) focus_target = attr->value; else if (!strcmp(attr->name, "wrap")) wrap = attr->value[0] == 'T'; } label = gtk_label_new(""); if (string){ char *s = string [0] ? _(string) : ""; key = gtk_label_parse_uline(GTK_LABEL(label), s); } else key = 0; if (key) glade_xml_handle_label_accel(xml, focus_target, key); // for Gtk+1.2 compatibility // in Gtk+2.x Justify > Align #if 0 if (just != GTK_JUSTIFY_CENTER) gtk_label_set_justify(GTK_LABEL(label), just); #endif if (wrap) gtk_label_set_line_wrap(GTK_LABEL(label), wrap); if (GTK_IS_MISC(label)) misc_set (GTK_MISC(label), info); g_object_set(label,"use-markup",TRUE,NULL); return label; }
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { m_needParent = true; m_acceptsFocus = true; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxButton creation failed") ); return false; } m_widget = gtk_button_new_with_label(""); float x_alignment = 0.5; if (HasFlag(wxBU_LEFT)) x_alignment = 0.0; else if (HasFlag(wxBU_RIGHT)) x_alignment = 1.0; float y_alignment = 0.5; if (HasFlag(wxBU_TOP)) y_alignment = 0.0; else if (HasFlag(wxBU_BOTTOM)) y_alignment = 1.0; if (GTK_IS_MISC(BUTTON_CHILD(m_widget))) gtk_misc_set_alignment (GTK_MISC (BUTTON_CHILD (m_widget)), x_alignment, y_alignment); SetLabel(label); if (style & wxNO_BORDER) gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE ); gtk_signal_connect_after( GTK_OBJECT(m_widget), "clicked", GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this ); gtk_signal_connect_after( GTK_OBJECT(m_widget), "style_set", GTK_SIGNAL_FUNC(gtk_button_style_set_callback), (gpointer*) this ); m_parent->DoAddChild( this ); PostCreation(size); return true; }
/** * gtk_tool_button_new: * @label: (allow-none): a string that will be used as label, or %NULL * @icon_widget: (allow-none): a #GtkMisc widget that will be used as icon widget, or %NULL * * Creates a new %GtkToolButton using @icon_widget as icon and @label as * label. * * Return value: A new #GtkToolButton * * Since: 2.4 **/ GtkToolItem * gtk_tool_button_new (GtkWidget *icon_widget, const gchar *label) { GtkToolButton *button; g_return_val_if_fail (icon_widget == NULL || GTK_IS_MISC (icon_widget), NULL); button = g_object_new (GTK_TYPE_TOOL_BUTTON, "label", label, "icon-widget", icon_widget, NULL); return GTK_TOOL_ITEM (button); }
static GtkWidget *rowNew(GtkWidget * w) { GtkWidget *a; GtkWidget *h = gtk_hbox_new(FALSE, 0); /* spacer */ a = gtk_alignment_new(0.0f, 0.0f, 0.0f, 0.0f); gtk_widget_set_size_request(a, 18u, 0u); gtk_box_pack_start(GTK_BOX(h), a, FALSE, FALSE, 0); /* lhs widget */ if (GTK_IS_MISC(w)) gtk_misc_set_alignment(GTK_MISC(w), 0.0f, 0.5f); if (GTK_IS_LABEL(w)) gtk_label_set_use_markup(GTK_LABEL(w), TRUE); gtk_box_pack_start(GTK_BOX(h), w, TRUE, TRUE, 0); return h; }
bool wxButton::Create( wxWindow *parent, wxWindowID id, const wxString &label, const wxPoint &pos, const wxSize &size, long style, const wxValidator& validator, const wxString &name ) { m_needParent = TRUE; m_acceptsFocus = TRUE; if (!PreCreation( parent, pos, size ) || !CreateBase( parent, id, pos, size, style, validator, name )) { wxFAIL_MSG( wxT("wxButton creation failed") ); return FALSE; } /* wxString label2( label ); for (size_t i = 0; i < label2.Len(); i++) { if (label2.GetChar(i) == wxT('&')) label2.SetChar(i,wxT('_')); } GtkWidget *accel_label = gtk_accel_label_new( label2.mb_str() ); gtk_widget_show( accel_label ); m_widget = gtk_button_new(); gtk_container_add( GTK_CONTAINER(m_widget), accel_label ); gtk_accel_label_set_accel_widget( GTK_ACCEL_LABEL(accel_label), m_widget ); guint accel_key = gtk_label_parse_uline (GTK_LABEL(accel_label), label2.mb_str() ); gtk_accel_label_refetch( GTK_ACCEL_LABEL(accel_label) ); wxControl::SetLabel( label ); */ #ifdef __WXGTK20__ m_widget = gtk_button_new_with_mnemonic(""); #else m_widget = gtk_button_new_with_label(""); #endif float x_alignment = 0.5; if (HasFlag(wxBU_LEFT)) x_alignment = 0.0; else if (HasFlag(wxBU_RIGHT)) x_alignment = 1.0; float y_alignment = 0.5; if (HasFlag(wxBU_TOP)) y_alignment = 0.0; else if (HasFlag(wxBU_BOTTOM)) y_alignment = 1.0; #if __WXGTK24__ if (!gtk_check_version(2,4,0)) { gtk_button_set_alignment(GTK_BUTTON(m_widget), x_alignment, y_alignment); } else #endif { if (GTK_IS_MISC(BUTTON_CHILD(m_widget))) gtk_misc_set_alignment (GTK_MISC (BUTTON_CHILD (m_widget)), x_alignment, y_alignment); } SetLabel(label); if (style & wxNO_BORDER) gtk_button_set_relief( GTK_BUTTON(m_widget), GTK_RELIEF_NONE ); gtk_signal_connect_after( GTK_OBJECT(m_widget), "clicked", GTK_SIGNAL_FUNC(gtk_button_clicked_callback), (gpointer*)this ); gtk_signal_connect_after( GTK_OBJECT(m_widget), "style_set", GTK_SIGNAL_FUNC(gtk_button_style_set_callback), (gpointer*) this ); m_parent->DoAddChild( this ); PostCreation(size); return true; }