|
|
|
@ -46,7 +46,7 @@
|
|
|
|
|
#define DEBUG_FILL_BACKGROUND_WITH_COLOR(p,x,y,z) TQBrush brush2( TQColor(x,y,z), TQBrush::SolidPattern ); \
|
|
|
|
|
p.setBrush( brush2 ); \
|
|
|
|
|
p.setPen( TQt::NoPen ); \
|
|
|
|
|
p.drawRect( 0,0, 5000,5000 );
|
|
|
|
|
p.drawRect( 0,0, width*2,height*2 );
|
|
|
|
|
|
|
|
|
|
#define DRAW_FILLED_RECTANGLE_OVER_ENTIRE_AREA(p,x) p.setBrush(x); \
|
|
|
|
|
p.setPen(TQt::NoPen); \
|
|
|
|
@ -374,10 +374,13 @@ tdegtk_draw_activity (DRAW_ARGS)
|
|
|
|
|
ceData.rect = boundingRect;
|
|
|
|
|
ceData.orientation = (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_VERTICAL))?TQt::Vertical:TQt::Horizontal;
|
|
|
|
|
|
|
|
|
|
TQStyle::SFlags sflags = gtkToTQtStyleFlags(engine, state, TQT3WT_NONE);
|
|
|
|
|
sflags = sflags | ((ceData.orientation == TQt::Horizontal)?TQStyle::Style_Horizontal:TQStyle::Style_Default);
|
|
|
|
|
|
|
|
|
|
TQRect progressBarRect = TQStyle::visualRect(tqApp->style().subRect(TQStyle::SR_ProgressBarContents, ceData, elementFlags, NULL), ceData, elementFlags);
|
|
|
|
|
|
|
|
|
|
// Draw item
|
|
|
|
|
tqApp->style().drawControl(TQStyle::CE_ProgressBarContents, &p, ceData, elementFlags, progressBarRect, ((state & GTK_STATE_FLAG_INSENSITIVE)?objectPalette.disabled():objectPalette.active()), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE) | ((ceData.orientation == TQt::Horizontal)?TQStyle::Style_Horizontal:TQStyle::Style_Default));
|
|
|
|
|
tqApp->style().drawControl(TQStyle::CE_ProgressBarContents, &p, ceData, elementFlags, progressBarRect, ((state & GTK_STATE_FLAG_INSENSITIVE)?objectPalette.disabled():objectPalette.active()), sflags);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else {
|
|
|
|
@ -426,6 +429,13 @@ tdegtk_draw_arrow (GtkThemingEngine *engine,
|
|
|
|
|
arrow_direction = GTK_ARROW_LEFT;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
if (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_COMBO_BOX)) {
|
|
|
|
|
// Do nothing
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else
|
|
|
|
|
#endif
|
|
|
|
|
if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_SCROLLBAR)) {
|
|
|
|
|
TQStringList objectTypes;
|
|
|
|
|
objectTypes.append(TQSCROLLBAR_OBJECT_NAME_STRING);
|
|
|
|
@ -529,50 +539,15 @@ tdegtk_draw_arrow (GtkThemingEngine *engine,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
cairo_restore(cr);
|
|
|
|
|
|
|
|
|
|
return;
|
|
|
|
|
|
|
|
|
|
GdkRGBA color;
|
|
|
|
|
gdouble size_reduction = 2;
|
|
|
|
|
|
|
|
|
|
state = gtk_theming_engine_get_state (engine);
|
|
|
|
|
|
|
|
|
|
gtk_theming_engine_get_color (engine, state, &color);
|
|
|
|
|
|
|
|
|
|
cairo_save (cr);
|
|
|
|
|
|
|
|
|
|
/* use floor function to adjust doubles */
|
|
|
|
|
y = floor (y);
|
|
|
|
|
x = floor (x);
|
|
|
|
|
size = floor (size);
|
|
|
|
|
|
|
|
|
|
size -= size_reduction;
|
|
|
|
|
|
|
|
|
|
cairo_translate (cr, size_reduction / 2, size_reduction / 2);
|
|
|
|
|
cairo_translate (cr, x + (gint) (size / 2.0) + 0.5, y + (gint) (size / 2.0) + 0.5);
|
|
|
|
|
cairo_rotate (cr, angle - G_PI_2);
|
|
|
|
|
cairo_translate (cr, (gint) (size / 4.0), 0);
|
|
|
|
|
|
|
|
|
|
/* FIXME this + 1/- 1 is done to fix blurred diagonal lines.
|
|
|
|
|
* I know it's not nice at all, but it fix a visual bug */
|
|
|
|
|
cairo_move_to (cr, - (gint) (size / 2.0), - (gint) (size / 2.0));
|
|
|
|
|
cairo_rel_line_to (cr, (gint) (size / 2.0) + 1, (gint) (size / 2.0));
|
|
|
|
|
cairo_rel_line_to (cr, - (gint) (size / 2.0) - 1, (gint) (size / 2.0));
|
|
|
|
|
cairo_close_path (cr);
|
|
|
|
|
|
|
|
|
|
cairo_set_source_rgba (cr, color.red, color.green, color.blue, color.alpha * 0.75);
|
|
|
|
|
cairo_fill_preserve (cr);
|
|
|
|
|
|
|
|
|
|
gdk_cairo_set_source_rgba (cr, &color);
|
|
|
|
|
cairo_stroke (cr);
|
|
|
|
|
|
|
|
|
|
cairo_restore (cr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
|
tdegtk_draw_cell_background (DRAW_ARGS,
|
|
|
|
|
GtkRegionFlags flags)
|
|
|
|
|
{
|
|
|
|
|
cairo_save(cr);
|
|
|
|
|
cairo_reset_clip(cr);
|
|
|
|
|
|
|
|
|
|
TQRect boundingRect(0, 0, width, height);
|
|
|
|
|
TQt3CairoPaintDevice pd(NULL, x, y, width, height, cr);
|
|
|
|
|
TQPainter p(&pd);
|
|
|
|
@ -614,6 +589,8 @@ tdegtk_draw_cell_background (DRAW_ARGS,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
p.end();
|
|
|
|
|
|
|
|
|
|
cairo_restore(cr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
@ -756,6 +733,30 @@ tdegtk_draw_common_background (DRAW_ARGS)
|
|
|
|
|
tqApp->style().drawPrimitive(TQStyle::PE_PanelLineEdit, &p, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE) | ((ceData.orientation == TQt::Horizontal)?TQStyle::Style_Horizontal:TQStyle::Style_Default));
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#if 0
|
|
|
|
|
else if (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_COMBO_BOX)) {
|
|
|
|
|
bool mousedown = (state & GTK_STATE_FLAG_ACTIVE) != 0;
|
|
|
|
|
|
|
|
|
|
TQStringList objectTypes;
|
|
|
|
|
objectTypes.append(TQCOMBOBOX_OBJECT_NAME_STRING);
|
|
|
|
|
TQPalette objectPalette = tqApp->palette(objectTypes);
|
|
|
|
|
|
|
|
|
|
TQStyleControlElementData ceData;
|
|
|
|
|
TQStyle::ControlElementFlags elementFlags;
|
|
|
|
|
ceData.widgetObjectTypes = objectTypes;
|
|
|
|
|
ceData.orientation = (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_VERTICAL))?TQt::Vertical:TQt::Horizontal;
|
|
|
|
|
|
|
|
|
|
if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_ENTRY)) {
|
|
|
|
|
elementFlags = elementFlags | TQStyle::CEF_IsEditable;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ceData.rect = boundingRect;
|
|
|
|
|
|
|
|
|
|
// Draw item
|
|
|
|
|
tqApp->style().drawComplexControl(TQStyle::CC_ComboBox, &p, ceData, elementFlags, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE), TQStyle::SC_ComboBoxEditField, TQStyle::SC_None);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
|
|
|
|
|
else if (gtk_widget_path_is_type(path, GTK_TYPE_BUTTON)) {
|
|
|
|
|
TQStringList objectTypes;
|
|
|
|
|
objectTypes.append(TQBUTTON_OBJECT_NAME_STRING);
|
|
|
|
@ -889,7 +890,7 @@ tdegtk_draw_common_background (DRAW_ARGS)
|
|
|
|
|
tqApp->style().drawComplexControl(TQStyle::CC_ListView, &p, ceData, elementFlags, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE), TQStyle::SC_ListView, TQStyle::SC_All, listViewItemOpt);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
else if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_SCALE)) {
|
|
|
|
|
else if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_SCALE) /*&& gtk_theming_engine_has_class (engine, GTK_STYLE_CLASS_TROUGH)*/) {
|
|
|
|
|
//bool mousedown = (state & GTK_STATE_FLAG_SELECTED) != 0;
|
|
|
|
|
bool mousedown = (state & GTK_STATE_FLAG_ACTIVE) != 0;
|
|
|
|
|
|
|
|
|
@ -994,6 +995,29 @@ tdegtk_draw_common_frame (DRAW_ARGS)
|
|
|
|
|
tqApp->style().drawPrimitive(TQStyle::PE_ScrollBarAddPage, &p, scrollpagerect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
#if 0
|
|
|
|
|
else if (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_COMBO_BOX)) {
|
|
|
|
|
bool mousedown = (state & GTK_STATE_FLAG_ACTIVE) != 0;
|
|
|
|
|
|
|
|
|
|
TQStringList objectTypes;
|
|
|
|
|
objectTypes.append(TQCOMBOBOX_OBJECT_NAME_STRING);
|
|
|
|
|
TQPalette objectPalette = tqApp->palette(objectTypes);
|
|
|
|
|
|
|
|
|
|
TQStyleControlElementData ceData;
|
|
|
|
|
TQStyle::ControlElementFlags elementFlags;
|
|
|
|
|
ceData.widgetObjectTypes = objectTypes;
|
|
|
|
|
ceData.orientation = (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_VERTICAL))?TQt::Vertical:TQt::Horizontal;
|
|
|
|
|
|
|
|
|
|
if (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_ENTRY)) {
|
|
|
|
|
elementFlags = elementFlags | TQStyle::CEF_IsEditable;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
ceData.rect = boundingRect;
|
|
|
|
|
|
|
|
|
|
// Draw item
|
|
|
|
|
tqApp->style().drawComplexControl(TQStyle::CC_ComboBox, &p, ceData, elementFlags, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE), TQStyle::SC_ComboBoxFrame, TQStyle::SC_None);
|
|
|
|
|
}
|
|
|
|
|
#endif
|
|
|
|
|
else {
|
|
|
|
|
if (gtk_widget_path_is_type(path, GTK_TYPE_BUTTON)) {
|
|
|
|
|
if (Gtk::gtk_widget_path_has_type(path, GTK_TYPE_TOOLBAR)) {
|
|
|
|
@ -1364,6 +1388,9 @@ tdegtk_draw_focus (DRAW_ARGS)
|
|
|
|
|
else if (gtk_widget_path_is_type(path, GTK_TYPE_TREE_VIEW)) {
|
|
|
|
|
objectTypes.append(TQLISTVIEW_OBJECT_NAME_STRING);
|
|
|
|
|
}
|
|
|
|
|
else if (gtk_widget_path_is_type(path, GTK_TYPE_BUTTON)) {
|
|
|
|
|
objectTypes.append(TQPUSHBUTTON_OBJECT_NAME_STRING);
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
objectTypes.append(TQWIDGET_OBJECT_NAME_STRING);
|
|
|
|
|
}
|
|
|
|
@ -1491,9 +1518,6 @@ tdegtk_draw_frame_gap (DRAW_ARGS,
|
|
|
|
|
static void
|
|
|
|
|
tdegtk_draw_grip (DRAW_ARGS)
|
|
|
|
|
{
|
|
|
|
|
cairo_save(cr);
|
|
|
|
|
cairo_reset_clip(cr);
|
|
|
|
|
|
|
|
|
|
TQRect boundingRect(0, 0, width, height);
|
|
|
|
|
TQt3CairoPaintDevice pd(NULL, x, y, width, height, cr);
|
|
|
|
|
TQPainter p(&pd);
|
|
|
|
@ -1501,11 +1525,23 @@ tdegtk_draw_grip (DRAW_ARGS)
|
|
|
|
|
GtkStateFlags state;
|
|
|
|
|
state = gtk_theming_engine_get_state(engine);
|
|
|
|
|
|
|
|
|
|
tqApp->style().drawPrimitive(TQStyle::PE_SizeGrip, &p, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE));
|
|
|
|
|
TQStringList objectTypes;
|
|
|
|
|
objectTypes.append(TQSTATUSBAR_OBJECT_NAME_STRING);
|
|
|
|
|
TQPalette objectPalette = tqApp->palette(objectTypes);
|
|
|
|
|
|
|
|
|
|
p.end();
|
|
|
|
|
// Draw background
|
|
|
|
|
TQBrush brush = objectPalette.brush(gtkToTQPaletteColorGroup(engine, state), TQColorGroup::Background);
|
|
|
|
|
DRAW_FILLED_RECTANGLE_OVER_ENTIRE_AREA(p, brush)
|
|
|
|
|
|
|
|
|
|
cairo_save(cr);
|
|
|
|
|
cairo_reset_clip(cr);
|
|
|
|
|
|
|
|
|
|
// Draw grip
|
|
|
|
|
tqApp->style().drawPrimitive(TQStyle::PE_SizeGrip, &p, boundingRect, gtkToTQtColorGroup(engine, state), gtkToTQtStyleFlags(engine, state, TQT3WT_NONE));
|
|
|
|
|
|
|
|
|
|
cairo_restore(cr);
|
|
|
|
|
|
|
|
|
|
p.end();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
static void
|
|
|
|
@ -1820,10 +1856,8 @@ tdegtk_draw_slider (DRAW_ARGS,
|
|
|
|
|
ceData.widgetObjectTypes = objectTypes;
|
|
|
|
|
ceData.orientation = (gtk_theming_engine_has_class(engine, GTK_STYLE_CLASS_VERTICAL))?TQt::Vertical:TQt::Horizontal;
|
|
|
|
|
|
|
|
|
|
// HACK
|
|
|
|
|
// GTK3 or TQt3 (not sure which) does not draw the slider in the correct location!
|
|
|
|
|
boundingRect = TQRect((ceData.orientation == TQt::Horizontal)?2:0, (ceData.orientation == TQt::Horizontal)?0:2, width, height);
|
|
|
|
|
TQt3CairoPaintDevice pd2(NULL, x, y, width, height, cr);
|
|
|
|
|
boundingRect = TQRect(0, 0, width, height);
|
|
|
|
|
TQt3CairoPaintDevice pd2(NULL, x, y, width+4, height+4, cr);
|
|
|
|
|
TQPainter p2(&pd2);
|
|
|
|
|
|
|
|
|
|
ceData.rect = boundingRect;
|
|
|
|
|