void RenderThemeGtk::initMediaColors() { GtkStyle* style = gtk_widget_get_style(GTK_WIDGET(gtkContainer())); m_panelColor = style->bg[GTK_STATE_NORMAL]; m_sliderColor = style->bg[GTK_STATE_ACTIVE]; m_sliderThumbColor = style->bg[GTK_STATE_SELECTED]; }
GtkWidget* RenderThemeGtk::gtkTreeView() const { if (m_gtkTreeView) return m_gtkTreeView; m_gtkTreeView = gtk_tree_view_new(); setupWidgetAndAddToContainer(m_gtkTreeView, gtkContainer()); return m_gtkTreeView; }
GtkWidget* RenderThemeGtk::gtkHScale() const { if (m_gtkHScale) return m_gtkHScale; m_gtkHScale = gtk_hscale_new(0); setupWidgetAndAddToContainer(m_gtkHScale, gtkContainer()); return m_gtkHScale; }
GtkWidget* RenderThemeGtk::gtkButton() const { if (m_gtkButton) return m_gtkButton; m_gtkButton = gtk_button_new(); setupWidgetAndAddToContainer(m_gtkButton, gtkContainer()); return m_gtkButton; }
GtkWidget* RenderThemeGtk::gtkEntry() const { if (m_gtkEntry) return m_gtkEntry; m_gtkEntry = gtk_entry_new(); setupWidgetAndAddToContainer(m_gtkEntry, gtkContainer()); return m_gtkEntry; }
GtkWidget* RenderThemeGtk::gtkSpinButton() const { if (m_gtkSpinButton) return m_gtkSpinButton; m_gtkSpinButton = gtk_spin_button_new_with_range(0, 10, 1); setupWidgetAndAddToContainer(m_gtkSpinButton, gtkContainer()); return m_gtkSpinButton; }
GtkWidget* RenderThemeGtk::gtkVScrollbar() const { if (m_gtkVScrollbar) return m_gtkVScrollbar; m_gtkVScrollbar = gtk_vscrollbar_new(0); setupWidgetAndAddToContainer(m_gtkVScrollbar, gtkContainer()); return m_gtkVScrollbar; }
GtkWidget* RenderThemeGtk::gtkComboBox() const { if (m_gtkComboBox) return m_gtkComboBox; m_gtkComboBox = gtk_combo_box_new(); setupWidgetAndAddToContainer(m_gtkComboBox, gtkContainer()); return m_gtkComboBox; }
GtkWidget* RenderThemeGtk::gtkProgressBar() const { if (m_gtkProgressBar) return m_gtkProgressBar; m_gtkProgressBar = gtk_progress_bar_new(); setupWidgetAndAddToContainer(m_gtkProgressBar, gtkContainer()); return m_gtkProgressBar; }
GRefPtr<GdkPixbuf> RenderThemeGtk::getStockIcon(GType widgetType, const char* iconName, gint direction, gint state, gint iconSize) { ASSERT(widgetType == GTK_TYPE_CONTAINER || widgetType == GTK_TYPE_ENTRY); GtkWidget* widget = widgetType == GTK_TYPE_CONTAINER ? GTK_WIDGET(gtkContainer()) : gtkEntry(); GtkStyle* style = gtk_widget_get_style(widget); GtkIconSet* iconSet = gtk_style_lookup_icon_set(style, iconName); return adoptGRef(gtk_icon_set_render_icon(iconSet, style, static_cast<GtkTextDirection>(direction), static_cast<GtkStateType>(state), static_cast<GtkIconSize>(iconSize), 0, 0)); }
GtkWidget* RenderThemeGtk::gtkTreeView() const { if (m_gtkTreeView) return m_gtkTreeView; m_gtkTreeView = gtk_tree_view_new(); g_signal_connect(m_gtkTreeView, "style-set", G_CALLBACK(gtkStyleSetCallback), theme()); gtk_container_add(gtkContainer(), m_gtkTreeView); gtk_widget_realize(m_gtkTreeView); return m_gtkTreeView; }
GtkWidget* RenderThemeGtk::gtkEntry() const { if (m_gtkEntry) return m_gtkEntry; m_gtkEntry = gtk_entry_new(); g_signal_connect(m_gtkEntry, "style-set", G_CALLBACK(gtkStyleSetCallback), theme()); gtk_container_add(gtkContainer(), m_gtkEntry); gtk_widget_realize(m_gtkEntry); return m_gtkEntry; }