projects
/
wxWidgets.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Set focus to generic wxDataViewCtrl when clicking with any mouse button, not just...
[wxWidgets.git]
/
src
/
gtk1
/
renderer.cpp
diff --git
a/src/gtk1/renderer.cpp
b/src/gtk1/renderer.cpp
index 43b904d76027728dd70225ca1159027dd342dd90..3a089c690801af691c85388e5145cc7f1f08e953 100644
(file)
--- a/
src/gtk1/renderer.cpp
+++ b/
src/gtk1/renderer.cpp
@@
-6,7
+6,7
@@
// Created: 20.07.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
// Created: 20.07.2003
// RCS-ID: $Id$
// Copyright: (c) 2003 Vadim Zeitlin <vadim@wxwindows.org>
-// Licen
s
e: wxWindows licence
+// Licen
c
e: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
///////////////////////////////////////////////////////////////////////////////
// ============================================================================
@@
-28,13
+28,12
@@
#ifndef WX_PRECOMP
#include "wx/window.h"
#ifndef WX_PRECOMP
#include "wx/window.h"
+ #include "wx/dc.h"
#endif
#include <gtk/gtk.h>
#include "wx/gtk1/win_gtk.h"
#endif
#include <gtk/gtk.h>
#include "wx/gtk1/win_gtk.h"
-
-#include "wx/dc.h"
-#include "wx/dcclient.h"
+#include "wx/gtk1/dcclient.h"
// RR: After a correction to the orientation of the sash
// this doesn't seem to be required anymore and it
// RR: After a correction to the orientation of the sash
// this doesn't seem to be required anymore and it
@@
-49,10
+48,12
@@
class WXDLLEXPORT wxRendererGTK : public wxDelegateRendererNative
{
public:
// draw the header control button (used by wxListCtrl)
{
public:
// draw the header control button (used by wxListCtrl)
- virtual void DrawHeaderButton(wxWindow *win,
- wxDC& dc,
- const wxRect& rect,
- int flags = 0);
+ virtual int DrawHeaderButton(wxWindow *win,
+ wxDC& dc,
+ const wxRect& rect,
+ int flags = 0,
+ wxHeaderSortIconType sortArrow = wxHDR_SORT_ICON_NONE,
+ wxHeaderButtonParams* params=NULL);
virtual void DrawSplitterBorder(wxWindow *win,
wxDC& dc,
virtual void DrawSplitterBorder(wxWindow *win,
wxDC& dc,
@@
-122,11
+123,13
@@
wxRendererGTK::GetButtonWidget()
// list/tree controls drawing
// ----------------------------------------------------------------------------
// list/tree controls drawing
// ----------------------------------------------------------------------------
-void
+int
wxRendererGTK::DrawHeaderButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
wxRendererGTK::DrawHeaderButton(wxWindow *win,
wxDC& dc,
const wxRect& rect,
- int flags)
+ int flags,
+ wxHeaderSortIconType WXUNUSED(sortArrow),
+ wxHeaderButtonParams* WXUNUSED(params))
{
GtkWidget *button = GetButtonWidget();
{
GtkWidget *button = GetButtonWidget();
@@
-142,8
+145,10
@@
wxRendererGTK::DrawHeaderButton(wxWindow *win,
NULL,
button,
"button",
NULL,
button,
"button",
- dc.
XLOG2DEV
(rect.x) -1, rect.y -1, rect.width +2, rect.height +2
+ dc.
LogicalToDeviceX
(rect.x) -1, rect.y -1, rect.width +2, rect.height +2
);
);
+
+ return rect.width + 2;
}
// ----------------------------------------------------------------------------
}
// ----------------------------------------------------------------------------
@@
-184,7
+189,7
@@
wxRendererGTK::DrawSplitterBorder(wxWindow * WXUNUSED(win),
void
wxRendererGTK::DrawSplitterSash(wxWindow *win,
void
wxRendererGTK::DrawSplitterSash(wxWindow *win,
- wxDC&
dc
,
+ wxDC&
WXUNUSED(dc)
,
const wxSize& size,
wxCoord position,
wxOrientation orient,
const wxSize& size,
wxCoord position,
wxOrientation orient,
@@
-288,7
+293,7
@@
wxRendererGTK::DrawSplitterSash(wxWindow *win,
GTK_PIZZA(win->m_wxwindow)->bin_window,
GTK_STATE_NORMAL,
GTK_SHADOW_OUT,
GTK_PIZZA(win->m_wxwindow)->bin_window,
GTK_STATE_NORMAL,
GTK_SHADOW_OUT,
-
(GdkRectangle*)
NULL,
+ NULL,
win->m_wxwindow,
(char *)"paned", // const_cast
isVert ? position : size.x - 2*SASH_SIZE,
win->m_wxwindow,
(char *)"paned", // const_cast
isVert ? position : size.x - 2*SASH_SIZE,
@@
-298,7
+303,7
@@
wxRendererGTK::DrawSplitterSash(wxWindow *win,
}
void
}
void
-wxRendererGTK::DrawDropArrow(wxWindow *
win
,
+wxRendererGTK::DrawDropArrow(wxWindow *
WXUNUSED(win)
,
wxDC& dc,
const wxRect& rect,
int flags)
wxDC& dc,
const wxRect& rect,
int flags)
@@
-310,11
+315,10
@@
wxRendererGTK::DrawDropArrow(wxWindow *win,
// work for wxMemoryDC. So that is why we assume wxDC
// is wxWindowDC (wxClientDC, wxMemoryDC and wxPaintDC
// are derived from it) and use its m_window.
// work for wxMemoryDC. So that is why we assume wxDC
// is wxWindowDC (wxClientDC, wxMemoryDC and wxPaintDC
// are derived from it) and use its m_window.
- wxWindowDC& wdc = (wxWindowDC&)dc;
+ wxWindowDCImpl * const impl = wxDynamicCast(dc.GetImpl(), wxWindowDCImpl);
+ wxCHECK_RET( impl, "must have a window DC" );
- // only doing debug-time checking here (it should
- // probably be enough)
- wxASSERT ( wdc.IsKindOf(CLASSINFO(wxWindowDC)) );
+ GdkWindow* gdk_window = impl->GetGDKWindow();
// draw arrow so that there is even space horizontally
// on both sides
// draw arrow so that there is even space horizontally
// on both sides
@@
-341,7
+345,7
@@
wxRendererGTK::DrawDropArrow(wxWindow *win,
gtk_paint_arrow
(
button->style,
gtk_paint_arrow
(
button->style,
-
wdc.m
_window,
+
gdk
_window,
state,
flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
NULL,
state,
flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
NULL,
@@
-365,8
+369,10
@@
wxRendererGTK::DrawComboBoxDropButton(wxWindow *win,
GtkWidget *button = GetButtonWidget();
// for reason why we do this, see DrawDropArrow
GtkWidget *button = GetButtonWidget();
// for reason why we do this, see DrawDropArrow
- wxWindowDC& wdc = (wxWindowDC&)dc;
- wxASSERT ( wdc.IsKindOf(CLASSINFO(wxWindowDC)) );
+ wxWindowDCImpl * const impl = wxDynamicCast(dc.GetImpl(), wxWindowDCImpl);
+ wxCHECK_RET( impl, "must have a window DC" );
+
+ GdkWindow* gdk_window = impl->GetGDKWindow();
// draw button
GtkStateType state;
// draw button
GtkStateType state;
@@
-383,7
+389,7
@@
wxRendererGTK::DrawComboBoxDropButton(wxWindow *win,
gtk_paint_box
(
button->style,
gtk_paint_box
(
button->style,
-
wdc.m
_window,
+
gdk
_window,
state,
flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
NULL,
state,
flags & wxCONTROL_PRESSED ? GTK_SHADOW_IN : GTK_SHADOW_OUT,
NULL,