static void Widget_setFont(GtkWidget *widget, gpointer font) { gtk_widget_modify_font(widget, (PangoFontDescription*)font); if(GTK_IS_CONTAINER(widget)) { gtk_container_foreach(GTK_CONTAINER(widget), (GtkCallback)Widget_setFont, font); } } void Widget::setFont(Font &font) { Widget_setFont(object->widget, font.font->font); } bool Widget::visible() { return gtk_widget_get_visible(object->widget); } void Widget::setVisible(bool visible) { if(visible) gtk_widget_show(object->widget); else gtk_widget_hide(object->widget); } bool Widget::enabled() { return gtk_widget_get_sensitive(object->widget); } void Widget::setEnabled(bool enabled) { gtk_widget_set_sensitive(object->widget, enabled); } bool Widget::focused() { return gtk_widget_is_focus(object->widget); } void Widget::setFocused() { if(visible() == false) setVisible(true); gtk_widget_grab_focus(object->widget); } void Widget::setGeometry(unsigned x, unsigned y, unsigned width, unsigned height) { if(widget->parent == 0) return; gtk_fixed_move(GTK_FIXED(widget->parent->object->formContainer), object->widget, x, y); gtk_widget_set_size_request(object->widget, width, height); } Widget::Widget() { widget = new Widget::Data; widget->parent = 0; }