Applied Russel's changes to wxToolBarBase

fixed stippled brush for bitmaps (as opposed to pixmaps)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@1702 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling
1999-02-16 09:31:28 +00:00
parent 84c188148d
commit 4fcd73bd9b
10 changed files with 59 additions and 145 deletions

View File

@@ -48,20 +48,36 @@ END_EVENT_TABLE()
// is still valid: a tool may have quit the toolbar.
static wxList gs_ToolBars;
#ifdef __WXGTK__
wxToolBarTool::wxToolBarTool(wxToolBar *owner, int theIndex,
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2,
bool toggle, wxObject *clientData,
const wxString& helpS1, const wxString& helpS2,
GtkWidget *item )
#else
wxToolBarTool::wxToolBarTool(int theIndex,
const wxBitmap& theBitmap1, const wxBitmap& theBitmap2, bool toggle,
long xPos, long yPos, const wxString& helpS1, const wxString& helpS2)
#endif
{
m_toolStyle = wxTOOL_STYLE_BUTTON;
#ifdef __WXGTK__
m_owner = owner;
m_item = item;
m_clientData = clientData;
m_x = 0;
m_y = 0;
#else
m_clientData = NULL;
m_x = xPos;
m_y = yPos;
#endif
m_index = theIndex;
m_isToggle = toggle;
m_toggleState = FALSE;
m_enabled = TRUE;
m_bitmap1 = theBitmap1;
m_bitmap2 = theBitmap2;
m_x = xPos;
m_y = yPos;
m_width = m_height = 0;
m_deleteSecondBitmap = FALSE;
if (m_bitmap1.Ok())
@@ -167,7 +183,12 @@ wxToolBarTool *wxToolBarBase::AddTool(int index, const wxBitmap& bitmap, const w
bool toggle, long xPos, long yPos, wxObject *clientData,
const wxString& helpString1, const wxString& helpString2)
{
#ifdef __WXGTK__
wxToolBarTool *tool = new wxToolBarTool( (wxToolBar*)this, index, bitmap, pushedBitmap, toggle,
(wxObject*) NULL, helpString1, helpString2);
#else
wxToolBarTool *tool = new wxToolBarTool(index, bitmap, pushedBitmap, toggle, xPos, yPos, helpString1, helpString2);
#endif
tool->m_clientData = clientData;
if (xPos > -1)
@@ -698,7 +719,9 @@ void wxToolBarBase::ViewStart (int *x, int *y) const
void wxToolBarBase::OnIdle(wxIdleEvent& event)
{
#ifndef __WXGTK__
wxWindow::OnIdle(event);
#endif
DoToolbarUpdates();
}

View File

@@ -64,6 +64,7 @@ LIB_CPP_SRC=\
common/http.cpp \
common/ftp.cpp \
common/url.cpp \
common/tbarbase.cpp \
common/tokenzr.cpp \
common/resource.cpp \
common/wxexpr.cpp \

View File

@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
gdk_gc_set_fill( m_brushGC, fillStyle );
if (m_brush.GetStyle() == wxSTIPPLE)
if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
{
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
if (m_brush.GetStipple()->GetPixmap())
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
else
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
}
if (IS_HATCH(m_brush.GetStyle()))

View File

@@ -23,39 +23,6 @@
extern bool g_blockEventsOnDrag;
//-----------------------------------------------------------------------------
// wxToolBarTool
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
const wxBitmap& bitmap1, const wxBitmap& bitmap2,
bool toggle,
wxObject *clientData,
const wxString& shortHelpString,
const wxString& longHelpString,
GtkWidget *item )
{
m_owner = owner;
m_index = theIndex;
m_bitmap1 = bitmap1;
m_bitmap2 = bitmap2;
m_isToggle = toggle;
m_enabled = TRUE;
m_toggleState = FALSE;
m_shortHelpString = shortHelpString;
m_longHelpString = longHelpString;
m_isMenuCommand = TRUE;
m_clientData = clientData;
m_deleteSecondBitmap = FALSE;
m_item = item;
}
wxToolBarTool::~wxToolBarTool()
{
}
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
//-----------------------------------------------------------------------------

View File

@@ -971,9 +971,12 @@ void wxWindowDC::SetBrush( const wxBrush &brush )
gdk_gc_set_fill( m_brushGC, fillStyle );
if (m_brush.GetStyle() == wxSTIPPLE)
if ((m_brush.GetStyle() == wxSTIPPLE) && (m_brush.GetStipple()->Ok()))
{
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
if (m_brush.GetStipple()->GetPixmap())
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetPixmap() );
else
gdk_gc_set_stipple( m_brushGC, m_brush.GetStipple()->GetBitmap() );
}
if (IS_HATCH(m_brush.GetStyle()))

View File

@@ -23,39 +23,6 @@
extern bool g_blockEventsOnDrag;
//-----------------------------------------------------------------------------
// wxToolBarTool
//-----------------------------------------------------------------------------
IMPLEMENT_DYNAMIC_CLASS(wxToolBarTool,wxObject)
wxToolBarTool::wxToolBarTool( wxToolBar *owner, int theIndex,
const wxBitmap& bitmap1, const wxBitmap& bitmap2,
bool toggle,
wxObject *clientData,
const wxString& shortHelpString,
const wxString& longHelpString,
GtkWidget *item )
{
m_owner = owner;
m_index = theIndex;
m_bitmap1 = bitmap1;
m_bitmap2 = bitmap2;
m_isToggle = toggle;
m_enabled = TRUE;
m_toggleState = FALSE;
m_shortHelpString = shortHelpString;
m_longHelpString = longHelpString;
m_isMenuCommand = TRUE;
m_clientData = clientData;
m_deleteSecondBitmap = FALSE;
m_item = item;
}
wxToolBarTool::~wxToolBarTool()
{
}
//-----------------------------------------------------------------------------
// "clicked" (internal from gtk_toolbar)
//-----------------------------------------------------------------------------