1. wxTextCtrl::SetBackgroundColour() now works

2. wxListBox::SetBackgroundColour() now does something, although still not
   what I'd like
3. wxColour() now has a ctor from "const char *" to allow calls like
   SetBackgroundColour("green");
4. controls sample modified to use colors


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@872 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
1998-10-19 14:18:56 +00:00
parent be6bf94bf0
commit 68dda78574
21 changed files with 303 additions and 243 deletions

View File

@@ -27,9 +27,9 @@ class wxColourRefData: public wxObjectRefData
{
public:
wxColourRefData(void);
~wxColourRefData(void);
void FreeColour(void);
wxColourRefData();
~wxColourRefData();
void FreeColour();
GdkColor m_color;
GdkColormap *m_colormap;
@@ -38,7 +38,7 @@ class wxColourRefData: public wxObjectRefData
friend wxColour;
};
wxColourRefData::wxColourRefData(void)
wxColourRefData::wxColourRefData()
{
m_color.red = 0;
m_color.green = 0;
@@ -48,12 +48,12 @@ wxColourRefData::wxColourRefData(void)
m_hasPixel = FALSE;
}
wxColourRefData::~wxColourRefData(void)
wxColourRefData::~wxColourRefData()
{
FreeColour();
}
void wxColourRefData::FreeColour(void)
void wxColourRefData::FreeColour()
{
// if (m_hasPixel) gdk_colors_free( m_colormap, &m_color, 1, 0 );
}
@@ -66,7 +66,7 @@ void wxColourRefData::FreeColour(void)
IMPLEMENT_DYNAMIC_CLASS(wxColour,wxGDIObject)
wxColour::wxColour(void)
wxColour::wxColour()
{
}
@@ -79,7 +79,7 @@ wxColour::wxColour( char red, char green, char blue )
M_COLDATA->m_color.pixel = 0;
}
wxColour::wxColour( const wxString &colourName )
void wxColour::InitFromName( const wxString &colourName )
{
wxNode *node = (wxNode *) NULL;
if ( (wxTheColourDatabase) && (node = wxTheColourDatabase->Find(colourName)) )
@@ -110,7 +110,7 @@ wxColour::wxColour( const wxColour* col )
if (col) Ref( *col );
}
wxColour::~wxColour(void)
wxColour::~wxColour()
{
}
@@ -163,7 +163,7 @@ void wxColour::Set( const unsigned char red, const unsigned char green, const un
M_COLDATA->m_color.pixel = 0;
}
unsigned char wxColour::Red(void) const
unsigned char wxColour::Red() const
{
if (!Ok())
{
@@ -174,7 +174,7 @@ unsigned char wxColour::Red(void) const
return (unsigned char)(M_COLDATA->m_color.red >> SHIFT);
}
unsigned char wxColour::Green(void) const
unsigned char wxColour::Green() const
{
if (!Ok())
{
@@ -185,7 +185,7 @@ unsigned char wxColour::Green(void) const
return (unsigned char)(M_COLDATA->m_color.green >> SHIFT);
}
unsigned char wxColour::Blue(void) const
unsigned char wxColour::Blue() const
{
if (!Ok())
{
@@ -196,7 +196,7 @@ unsigned char wxColour::Blue(void) const
return (unsigned char)(M_COLDATA->m_color.blue >> SHIFT);
}
bool wxColour::Ok(void) const
bool wxColour::Ok() const
{
return (m_refData != NULL);
}
@@ -225,14 +225,14 @@ void wxColour::CalcPixel( GdkColormap *cmap )
M_COLDATA->m_colormap = cmap;
}
int wxColour::GetPixel(void)
int wxColour::GetPixel() const
{
if (!Ok()) return 0;
return M_COLDATA->m_color.pixel;
}
GdkColor *wxColour::GetColor(void)
GdkColor *wxColour::GetColor() const
{
if (!Ok()) return (GdkColor *) NULL;

View File

@@ -445,4 +445,10 @@ bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
return FALSE;
}
void wxListBox::SetBackgroundColour(const wxColour &colour)
{
wxCHECK_RET( m_list != NULL, "invalid list ctrl" );
SetBackgroundColourHelper( colour, GTK_WIDGET(m_list)->window );
}

View File

@@ -115,7 +115,8 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_handle_box_new();
m_toolbar = GTK_TOOLBAR( gtk_toolbar_new( GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS ) );
m_toolbar = GTK_TOOLBAR( gtk_toolbar_new( GTK_ORIENTATION_HORIZONTAL,
GTK_TOOLBAR_ICONS ) );
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
@@ -177,53 +178,49 @@ wxToolBarTool *wxToolBar::AddTool( int toolIndex, const wxBitmap& bitmap,
wxCHECK_MSG( bitmap.GetPixmap() != NULL, (wxToolBarTool *)NULL,
"wxToolBar::Add needs a wxBitmap" );
GtkWidget *tool_pixmap = (GtkWidget *) NULL;
GtkWidget *tool_pixmap = (GtkWidget *)NULL;
if (TRUE) // FIXME huh?
{
GdkPixmap *pixmap = bitmap.GetPixmap();
GdkBitmap *mask = (GdkBitmap *) NULL;
if (bitmap.GetMask()) mask = bitmap.GetMask()->GetBitmap();
GdkBitmap *mask = (GdkBitmap *)NULL;
if ( bitmap.GetMask() )
mask = bitmap.GetMask()->GetBitmap();
tool_pixmap = gtk_pixmap_new( pixmap, mask );
}
gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );
#if 0
GtkToolbarChildType ctype = toggle ? GTK_TOOLBAR_CHILD_TOGGLEBUTTON
: GTK_TOOLBAR_CHILD_BUTTON;
tool->m_item = gtk_toolbar_append_element
(
GTK_TOOLBAR(m_toolbar),
ctype,
(GtkWidget *)NULL,
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
GtkWidget *item = gtk_toolbar_append_element
(
GTK_TOOLBAR(m_toolbar),
ctype,
(GtkWidget *)NULL,
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
// VZ: we don't want GDK_NO_EXPOSE events because for some reason our
// toolbar buttons get them (it doesn't happen in a standalone GTK+ program
// for unknown reasons) and it prevents tooltips from appearing.
gtk_widget_set_events( GTK_WIDGET(item),
gtk_widget_get_events( GTK_WIDGET(item) ) &
~GDK_EXPOSURE_MASK);
tool->m_item = item;
gtk_signal_connect( GTK_OBJECT(tool->m_item),
"enter_notify_event",
GTK_SIGNAL_FUNC(gtk_toolbar_enter_callback),
(gpointer)tool );
#else
tool->m_item = gtk_toolbar_append_item
(
GTK_TOOLBAR(m_toolbar),
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
#endif
m_tools.Append( tool );

View File

@@ -464,4 +464,12 @@ void wxTextCtrl::SetFont( const wxFont &font )
gtk_widget_set_style( m_text, style );
}
// as our GTK widget is m_text and not m_widget, we have to override
// SetBackgroundColour() to make it work
void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
{
wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
// NB: the GtkEntry and GtkText classes have text_area at the same offset
SetBackgroundColourHelper( colour, GTK_TEXT(m_text)->text_area );
}

View File

@@ -1021,7 +1021,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
return TRUE;
}
wxWindow::~wxWindow(void)
wxWindow::~wxWindow()
{
m_hasVMT = FALSE;
@@ -1113,7 +1113,7 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_hasOwnStyle = FALSE;
}
void wxWindow::PostCreation(void)
void wxWindow::PostCreation()
{
if (m_parent) m_parent->AddChild( this );
@@ -1168,7 +1168,7 @@ void wxWindow::ConnectWidget( GtkWidget *widget )
GTK_SIGNAL_FUNC(gtk_window_leave_callback), (gpointer)this );
}
bool wxWindow::HasVMT(void)
bool wxWindow::HasVMT()
{
return m_hasVMT;
}
@@ -1184,7 +1184,7 @@ bool wxWindow::Close( bool force )
return GetEventHandler()->ProcessEvent(event);
}
bool wxWindow::Destroy(void)
bool wxWindow::Destroy()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1193,7 +1193,7 @@ bool wxWindow::Destroy(void)
return TRUE;
}
bool wxWindow::DestroyChildren(void)
bool wxWindow::DestroyChildren()
{
if (GetChildren())
{
@@ -1216,7 +1216,7 @@ void wxWindow::PrepareDC( wxDC &WXUNUSED(dc) )
// are we to set fonts here ?
}
void wxWindow::ImplementSetSize(void)
void wxWindow::ImplementSetSize()
{
if ((m_minWidth != -1) && (m_width < m_minWidth)) m_width = m_minWidth;
if ((m_minHeight != -1) && (m_height < m_minHeight)) m_height = m_minHeight;
@@ -1225,7 +1225,7 @@ void wxWindow::ImplementSetSize(void)
gtk_widget_set_usize( m_widget, m_width, m_height );
}
void wxWindow::ImplementSetPosition(void)
void wxWindow::ImplementSetPosition()
{
if (IS_KIND_OF(this,wxFrame) || IS_KIND_OF(this,wxDialog))
{
@@ -1523,7 +1523,7 @@ void wxWindow::Centre( int direction )
}
}
void wxWindow::Fit(void)
void wxWindow::Fit()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1582,7 +1582,7 @@ void wxWindow::Enable( bool enable )
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
}
int wxWindow::GetCharHeight(void) const
int wxWindow::GetCharHeight() const
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1596,7 +1596,7 @@ int wxWindow::GetCharHeight(void) const
return font->ascent + font->descent;
}
int wxWindow::GetCharWidth(void) const
int wxWindow::GetCharWidth() const
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1650,7 +1650,7 @@ void wxWindow::MakeModal( bool modal )
}
}
void wxWindow::SetFocus(void)
void wxWindow::SetFocus()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1664,7 +1664,7 @@ void wxWindow::SetFocus(void)
}
}
bool wxWindow::OnClose(void)
bool wxWindow::OnClose()
{
return TRUE;
}
@@ -1740,7 +1740,7 @@ void wxWindow::AddChild( wxWindow *child )
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
}
wxList *wxWindow::GetChildren(void)
wxList *wxWindow::GetChildren()
{
return (&m_children);
}
@@ -1757,26 +1757,26 @@ void wxWindow::SetReturnCode( int retCode )
m_retCode = retCode;
}
int wxWindow::GetReturnCode(void)
int wxWindow::GetReturnCode()
{
return m_retCode;
}
void wxWindow::Raise(void)
void wxWindow::Raise()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_widget) gdk_window_raise( m_widget->window );
}
void wxWindow::Lower(void)
void wxWindow::Lower()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_widget) gdk_window_lower( m_widget->window );
}
wxEvtHandler *wxWindow::GetEventHandler(void)
wxEvtHandler *wxWindow::GetEventHandler()
{
return m_eventHandler;
}
@@ -1812,7 +1812,7 @@ wxEvtHandler *wxWindow::PopEventHandler(bool deleteHandler)
return (wxEvtHandler *) NULL;
}
wxValidator *wxWindow::GetValidator(void)
wxValidator *wxWindow::GetValidator()
{
return m_windowValidator;
}
@@ -1824,7 +1824,7 @@ void wxWindow::SetValidator( const wxValidator& validator )
if (m_windowValidator) m_windowValidator->SetWindow(this);
}
bool wxWindow::IsBeingDeleted(void)
bool wxWindow::IsBeingDeleted()
{
return FALSE;
}
@@ -1834,7 +1834,7 @@ void wxWindow::SetId( wxWindowID id )
m_windowId = id;
}
wxWindowID wxWindow::GetId(void)
wxWindowID wxWindow::GetId()
{
return m_windowId;
}
@@ -1937,33 +1937,36 @@ bool wxWindow::IsExposed( const wxRect& rect ) const
return (m_updateRegion.Contains( rect.x, rect.y, rect.width, rect.height ) != wxOutRegion );
}
void wxWindow::Clear(void)
void wxWindow::Clear()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_wxwindow && m_wxwindow->window) gdk_window_clear( m_wxwindow->window );
}
wxColour wxWindow::GetBackgroundColour(void) const
wxColour wxWindow::GetBackgroundColour() const
{
return m_backgroundColour;
}
void wxWindow::SetBackgroundColour( const wxColour &colour )
void wxWindow::SetBackgroundColourHelper(const wxColour& colour,
GdkWindow *window)
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
m_backgroundColour = colour;
if (m_wxwindow)
{
m_backgroundColour.CalcPixel( m_wxwindow->style->colormap );
gdk_window_set_background( m_wxwindow->window, m_backgroundColour.GetColor() );
gdk_window_clear( m_wxwindow->window );
}
// do something ?
m_backgroundColour.CalcPixel( gdk_window_get_colormap(window) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
}
wxColour wxWindow::GetForegroundColour(void) const
void wxWindow::SetBackgroundColour( const wxColour &colour )
{
wxASSERT_MSG( m_widget != NULL, "invalid window" );
GtkWidget *widget = m_wxwindow == NULL ? m_widget : m_wxwindow;
SetBackgroundColourHelper( colour, widget->window );
}
wxColour wxWindow::GetForegroundColour() const
{
return m_foregroundColour;
}
@@ -1973,7 +1976,7 @@ void wxWindow::SetForegroundColour( const wxColour &colour )
m_foregroundColour = colour;
}
bool wxWindow::Validate(void)
bool wxWindow::Validate()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1988,7 +1991,7 @@ bool wxWindow::Validate(void)
return TRUE;
}
bool wxWindow::TransferDataToWindow(void)
bool wxWindow::TransferDataToWindow()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2007,7 +2010,7 @@ bool wxWindow::TransferDataToWindow(void)
return TRUE;
}
bool wxWindow::TransferDataFromWindow(void)
bool wxWindow::TransferDataFromWindow()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2032,7 +2035,7 @@ void wxWindow::OnInitDialog( wxInitDialogEvent &WXUNUSED(event) )
TransferDataToWindow();
}
void wxWindow::InitDialog(void)
void wxWindow::InitDialog()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2110,7 +2113,7 @@ void wxWindow::DisconnectDnDWidget( GtkWidget *widget )
m_pDropTarget->UnregisterWidget( widget );
}
GtkWidget* wxWindow::GetConnectWidget(void)
GtkWidget* wxWindow::GetConnectWidget()
{
GtkWidget *connect_widget = m_widget;
if (m_wxwindow) connect_widget = m_wxwindow;
@@ -2150,7 +2153,7 @@ void wxWindow::SetFont( const wxFont &font )
gtk_widget_set_style( m_widget, style );
}
wxFont *wxWindow::GetFont(void)
wxFont *wxWindow::GetFont()
{
return &m_font;
}
@@ -2160,12 +2163,12 @@ void wxWindow::SetWindowStyleFlag( long flag )
m_windowStyle = flag;
}
long wxWindow::GetWindowStyleFlag(void) const
long wxWindow::GetWindowStyleFlag() const
{
return m_windowStyle;
}
void wxWindow::CaptureMouse(void)
void wxWindow::CaptureMouse()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2182,7 +2185,7 @@ void wxWindow::CaptureMouse(void)
g_capturing = TRUE;
}
void wxWindow::ReleaseMouse(void)
void wxWindow::ReleaseMouse()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2198,12 +2201,12 @@ void wxWindow::SetTitle( const wxString &WXUNUSED(title) )
{
}
wxString wxWindow::GetTitle(void) const
wxString wxWindow::GetTitle() const
{
return (wxString&)m_windowName;
}
wxString wxWindow::GetLabel(void) const
wxString wxWindow::GetLabel() const
{
return GetTitle();
}
@@ -2213,17 +2216,17 @@ void wxWindow::SetName( const wxString &name )
m_windowName = name;
}
wxString wxWindow::GetName(void) const
wxString wxWindow::GetName() const
{
return (wxString&)m_windowName;
}
bool wxWindow::IsShown(void) const
bool wxWindow::IsShown() const
{
return m_isShown;
}
bool wxWindow::IsRetained(void)
bool wxWindow::IsRetained()
{
return FALSE;
}
@@ -2442,7 +2445,7 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
// Layout
//-------------------------------------------------------------------------------------
wxLayoutConstraints *wxWindow::GetConstraints(void) const
wxLayoutConstraints *wxWindow::GetConstraints() const
{
return m_constraints;
}
@@ -2484,12 +2487,12 @@ void wxWindow::SetAutoLayout( bool autoLayout )
m_autoLayout = autoLayout;
}
bool wxWindow::GetAutoLayout(void) const
bool wxWindow::GetAutoLayout() const
{
return m_autoLayout;
}
wxSizer *wxWindow::GetSizer(void) const
wxSizer *wxWindow::GetSizer() const
{
return m_windowSizer;
}
@@ -2499,7 +2502,7 @@ void wxWindow::SetSizerParent( wxWindow *win )
m_sizerParent = win;
}
wxWindow *wxWindow::GetSizerParent(void) const
wxWindow *wxWindow::GetSizerParent() const
{
return m_sizerParent;
}
@@ -2547,7 +2550,7 @@ void wxWindow::RemoveConstraintReference(wxWindow *otherWin)
}
// Reset any constraints that mention this window
void wxWindow::DeleteRelatedConstraints(void)
void wxWindow::DeleteRelatedConstraints()
{
if (m_constraintsInvolvedIn)
{
@@ -2589,7 +2592,7 @@ void wxWindow::SetSizer(wxSizer *sizer)
* New version
*/
bool wxWindow::Layout(void)
bool wxWindow::Layout()
{
if (GetConstraints())
{
@@ -2689,7 +2692,7 @@ bool wxWindow::DoPhase(int phase)
return TRUE;
}
void wxWindow::ResetConstraints(void)
void wxWindow::ResetConstraints()
{
wxLayoutConstraints *constr = GetConstraints();
if (constr)

View File

@@ -27,9 +27,9 @@ class wxColourRefData: public wxObjectRefData
{
public:
wxColourRefData(void);
~wxColourRefData(void);
void FreeColour(void);
wxColourRefData();
~wxColourRefData();
void FreeColour();
GdkColor m_color;
GdkColormap *m_colormap;
@@ -38,7 +38,7 @@ class wxColourRefData: public wxObjectRefData
friend wxColour;
};
wxColourRefData::wxColourRefData(void)
wxColourRefData::wxColourRefData()
{
m_color.red = 0;
m_color.green = 0;
@@ -48,12 +48,12 @@ wxColourRefData::wxColourRefData(void)
m_hasPixel = FALSE;
}
wxColourRefData::~wxColourRefData(void)
wxColourRefData::~wxColourRefData()
{
FreeColour();
}
void wxColourRefData::FreeColour(void)
void wxColourRefData::FreeColour()
{
// if (m_hasPixel) gdk_colors_free( m_colormap, &m_color, 1, 0 );
}
@@ -66,7 +66,7 @@ void wxColourRefData::FreeColour(void)
IMPLEMENT_DYNAMIC_CLASS(wxColour,wxGDIObject)
wxColour::wxColour(void)
wxColour::wxColour()
{
}
@@ -79,7 +79,7 @@ wxColour::wxColour( char red, char green, char blue )
M_COLDATA->m_color.pixel = 0;
}
wxColour::wxColour( const wxString &colourName )
void wxColour::InitFromName( const wxString &colourName )
{
wxNode *node = (wxNode *) NULL;
if ( (wxTheColourDatabase) && (node = wxTheColourDatabase->Find(colourName)) )
@@ -110,7 +110,7 @@ wxColour::wxColour( const wxColour* col )
if (col) Ref( *col );
}
wxColour::~wxColour(void)
wxColour::~wxColour()
{
}
@@ -163,7 +163,7 @@ void wxColour::Set( const unsigned char red, const unsigned char green, const un
M_COLDATA->m_color.pixel = 0;
}
unsigned char wxColour::Red(void) const
unsigned char wxColour::Red() const
{
if (!Ok())
{
@@ -174,7 +174,7 @@ unsigned char wxColour::Red(void) const
return (unsigned char)(M_COLDATA->m_color.red >> SHIFT);
}
unsigned char wxColour::Green(void) const
unsigned char wxColour::Green() const
{
if (!Ok())
{
@@ -185,7 +185,7 @@ unsigned char wxColour::Green(void) const
return (unsigned char)(M_COLDATA->m_color.green >> SHIFT);
}
unsigned char wxColour::Blue(void) const
unsigned char wxColour::Blue() const
{
if (!Ok())
{
@@ -196,7 +196,7 @@ unsigned char wxColour::Blue(void) const
return (unsigned char)(M_COLDATA->m_color.blue >> SHIFT);
}
bool wxColour::Ok(void) const
bool wxColour::Ok() const
{
return (m_refData != NULL);
}
@@ -225,14 +225,14 @@ void wxColour::CalcPixel( GdkColormap *cmap )
M_COLDATA->m_colormap = cmap;
}
int wxColour::GetPixel(void)
int wxColour::GetPixel() const
{
if (!Ok()) return 0;
return M_COLDATA->m_color.pixel;
}
GdkColor *wxColour::GetColor(void)
GdkColor *wxColour::GetColor() const
{
if (!Ok()) return (GdkColor *) NULL;

View File

@@ -445,4 +445,10 @@ bool wxListBox::IsOwnGtkWindow( GdkWindow *window )
return FALSE;
}
void wxListBox::SetBackgroundColour(const wxColour &colour)
{
wxCHECK_RET( m_list != NULL, "invalid list ctrl" );
SetBackgroundColourHelper( colour, GTK_WIDGET(m_list)->window );
}

View File

@@ -115,7 +115,8 @@ bool wxToolBar::Create( wxWindow *parent, wxWindowID id,
m_widget = gtk_handle_box_new();
m_toolbar = GTK_TOOLBAR( gtk_toolbar_new( GTK_ORIENTATION_HORIZONTAL, GTK_TOOLBAR_ICONS ) );
m_toolbar = GTK_TOOLBAR( gtk_toolbar_new( GTK_ORIENTATION_HORIZONTAL,
GTK_TOOLBAR_ICONS ) );
gtk_toolbar_set_tooltips( GTK_TOOLBAR(m_toolbar), TRUE );
gtk_container_add( GTK_CONTAINER(m_widget), GTK_WIDGET(m_toolbar) );
@@ -177,53 +178,49 @@ wxToolBarTool *wxToolBar::AddTool( int toolIndex, const wxBitmap& bitmap,
wxCHECK_MSG( bitmap.GetPixmap() != NULL, (wxToolBarTool *)NULL,
"wxToolBar::Add needs a wxBitmap" );
GtkWidget *tool_pixmap = (GtkWidget *) NULL;
GtkWidget *tool_pixmap = (GtkWidget *)NULL;
if (TRUE) // FIXME huh?
{
GdkPixmap *pixmap = bitmap.GetPixmap();
GdkBitmap *mask = (GdkBitmap *) NULL;
if (bitmap.GetMask()) mask = bitmap.GetMask()->GetBitmap();
GdkBitmap *mask = (GdkBitmap *)NULL;
if ( bitmap.GetMask() )
mask = bitmap.GetMask()->GetBitmap();
tool_pixmap = gtk_pixmap_new( pixmap, mask );
}
gtk_misc_set_alignment( GTK_MISC(tool_pixmap), 0.5, 0.5 );
#if 0
GtkToolbarChildType ctype = toggle ? GTK_TOOLBAR_CHILD_TOGGLEBUTTON
: GTK_TOOLBAR_CHILD_BUTTON;
tool->m_item = gtk_toolbar_append_element
(
GTK_TOOLBAR(m_toolbar),
ctype,
(GtkWidget *)NULL,
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
GtkWidget *item = gtk_toolbar_append_element
(
GTK_TOOLBAR(m_toolbar),
ctype,
(GtkWidget *)NULL,
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
// VZ: we don't want GDK_NO_EXPOSE events because for some reason our
// toolbar buttons get them (it doesn't happen in a standalone GTK+ program
// for unknown reasons) and it prevents tooltips from appearing.
gtk_widget_set_events( GTK_WIDGET(item),
gtk_widget_get_events( GTK_WIDGET(item) ) &
~GDK_EXPOSURE_MASK);
tool->m_item = item;
gtk_signal_connect( GTK_OBJECT(tool->m_item),
"enter_notify_event",
GTK_SIGNAL_FUNC(gtk_toolbar_enter_callback),
(gpointer)tool );
#else
tool->m_item = gtk_toolbar_append_item
(
GTK_TOOLBAR(m_toolbar),
(const char *)NULL,
helpString1,
"",
tool_pixmap,
(GtkSignalFunc)gtk_toolbar_callback,
(gpointer)tool
);
#endif
m_tools.Append( tool );

View File

@@ -464,4 +464,12 @@ void wxTextCtrl::SetFont( const wxFont &font )
gtk_widget_set_style( m_text, style );
}
// as our GTK widget is m_text and not m_widget, we have to override
// SetBackgroundColour() to make it work
void wxTextCtrl::SetBackgroundColour( const wxColour &colour )
{
wxCHECK_RET( m_text != NULL, "invalid text ctrl" );
// NB: the GtkEntry and GtkText classes have text_area at the same offset
SetBackgroundColourHelper( colour, GTK_TEXT(m_text)->text_area );
}

View File

@@ -1021,7 +1021,7 @@ bool wxWindow::Create( wxWindow *parent, wxWindowID id,
return TRUE;
}
wxWindow::~wxWindow(void)
wxWindow::~wxWindow()
{
m_hasVMT = FALSE;
@@ -1113,7 +1113,7 @@ void wxWindow::PreCreation( wxWindow *parent, wxWindowID id,
m_hasOwnStyle = FALSE;
}
void wxWindow::PostCreation(void)
void wxWindow::PostCreation()
{
if (m_parent) m_parent->AddChild( this );
@@ -1168,7 +1168,7 @@ void wxWindow::ConnectWidget( GtkWidget *widget )
GTK_SIGNAL_FUNC(gtk_window_leave_callback), (gpointer)this );
}
bool wxWindow::HasVMT(void)
bool wxWindow::HasVMT()
{
return m_hasVMT;
}
@@ -1184,7 +1184,7 @@ bool wxWindow::Close( bool force )
return GetEventHandler()->ProcessEvent(event);
}
bool wxWindow::Destroy(void)
bool wxWindow::Destroy()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1193,7 +1193,7 @@ bool wxWindow::Destroy(void)
return TRUE;
}
bool wxWindow::DestroyChildren(void)
bool wxWindow::DestroyChildren()
{
if (GetChildren())
{
@@ -1216,7 +1216,7 @@ void wxWindow::PrepareDC( wxDC &WXUNUSED(dc) )
// are we to set fonts here ?
}
void wxWindow::ImplementSetSize(void)
void wxWindow::ImplementSetSize()
{
if ((m_minWidth != -1) && (m_width < m_minWidth)) m_width = m_minWidth;
if ((m_minHeight != -1) && (m_height < m_minHeight)) m_height = m_minHeight;
@@ -1225,7 +1225,7 @@ void wxWindow::ImplementSetSize(void)
gtk_widget_set_usize( m_widget, m_width, m_height );
}
void wxWindow::ImplementSetPosition(void)
void wxWindow::ImplementSetPosition()
{
if (IS_KIND_OF(this,wxFrame) || IS_KIND_OF(this,wxDialog))
{
@@ -1523,7 +1523,7 @@ void wxWindow::Centre( int direction )
}
}
void wxWindow::Fit(void)
void wxWindow::Fit()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1582,7 +1582,7 @@ void wxWindow::Enable( bool enable )
if (m_wxwindow) gtk_widget_set_sensitive( m_wxwindow, enable );
}
int wxWindow::GetCharHeight(void) const
int wxWindow::GetCharHeight() const
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1596,7 +1596,7 @@ int wxWindow::GetCharHeight(void) const
return font->ascent + font->descent;
}
int wxWindow::GetCharWidth(void) const
int wxWindow::GetCharWidth() const
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1650,7 +1650,7 @@ void wxWindow::MakeModal( bool modal )
}
}
void wxWindow::SetFocus(void)
void wxWindow::SetFocus()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1664,7 +1664,7 @@ void wxWindow::SetFocus(void)
}
}
bool wxWindow::OnClose(void)
bool wxWindow::OnClose()
{
return TRUE;
}
@@ -1740,7 +1740,7 @@ void wxWindow::AddChild( wxWindow *child )
gtk_widget_set_usize( child->m_widget, child->m_width, child->m_height );
}
wxList *wxWindow::GetChildren(void)
wxList *wxWindow::GetChildren()
{
return (&m_children);
}
@@ -1757,26 +1757,26 @@ void wxWindow::SetReturnCode( int retCode )
m_retCode = retCode;
}
int wxWindow::GetReturnCode(void)
int wxWindow::GetReturnCode()
{
return m_retCode;
}
void wxWindow::Raise(void)
void wxWindow::Raise()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_widget) gdk_window_raise( m_widget->window );
}
void wxWindow::Lower(void)
void wxWindow::Lower()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_widget) gdk_window_lower( m_widget->window );
}
wxEvtHandler *wxWindow::GetEventHandler(void)
wxEvtHandler *wxWindow::GetEventHandler()
{
return m_eventHandler;
}
@@ -1812,7 +1812,7 @@ wxEvtHandler *wxWindow::PopEventHandler(bool deleteHandler)
return (wxEvtHandler *) NULL;
}
wxValidator *wxWindow::GetValidator(void)
wxValidator *wxWindow::GetValidator()
{
return m_windowValidator;
}
@@ -1824,7 +1824,7 @@ void wxWindow::SetValidator( const wxValidator& validator )
if (m_windowValidator) m_windowValidator->SetWindow(this);
}
bool wxWindow::IsBeingDeleted(void)
bool wxWindow::IsBeingDeleted()
{
return FALSE;
}
@@ -1834,7 +1834,7 @@ void wxWindow::SetId( wxWindowID id )
m_windowId = id;
}
wxWindowID wxWindow::GetId(void)
wxWindowID wxWindow::GetId()
{
return m_windowId;
}
@@ -1937,33 +1937,36 @@ bool wxWindow::IsExposed( const wxRect& rect ) const
return (m_updateRegion.Contains( rect.x, rect.y, rect.width, rect.height ) != wxOutRegion );
}
void wxWindow::Clear(void)
void wxWindow::Clear()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
if (m_wxwindow && m_wxwindow->window) gdk_window_clear( m_wxwindow->window );
}
wxColour wxWindow::GetBackgroundColour(void) const
wxColour wxWindow::GetBackgroundColour() const
{
return m_backgroundColour;
}
void wxWindow::SetBackgroundColour( const wxColour &colour )
void wxWindow::SetBackgroundColourHelper(const wxColour& colour,
GdkWindow *window)
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
m_backgroundColour = colour;
if (m_wxwindow)
{
m_backgroundColour.CalcPixel( m_wxwindow->style->colormap );
gdk_window_set_background( m_wxwindow->window, m_backgroundColour.GetColor() );
gdk_window_clear( m_wxwindow->window );
}
// do something ?
m_backgroundColour.CalcPixel( gdk_window_get_colormap(window) );
gdk_window_set_background( window, m_backgroundColour.GetColor() );
gdk_window_clear( window );
}
wxColour wxWindow::GetForegroundColour(void) const
void wxWindow::SetBackgroundColour( const wxColour &colour )
{
wxASSERT_MSG( m_widget != NULL, "invalid window" );
GtkWidget *widget = m_wxwindow == NULL ? m_widget : m_wxwindow;
SetBackgroundColourHelper( colour, widget->window );
}
wxColour wxWindow::GetForegroundColour() const
{
return m_foregroundColour;
}
@@ -1973,7 +1976,7 @@ void wxWindow::SetForegroundColour( const wxColour &colour )
m_foregroundColour = colour;
}
bool wxWindow::Validate(void)
bool wxWindow::Validate()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -1988,7 +1991,7 @@ bool wxWindow::Validate(void)
return TRUE;
}
bool wxWindow::TransferDataToWindow(void)
bool wxWindow::TransferDataToWindow()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2007,7 +2010,7 @@ bool wxWindow::TransferDataToWindow(void)
return TRUE;
}
bool wxWindow::TransferDataFromWindow(void)
bool wxWindow::TransferDataFromWindow()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2032,7 +2035,7 @@ void wxWindow::OnInitDialog( wxInitDialogEvent &WXUNUSED(event) )
TransferDataToWindow();
}
void wxWindow::InitDialog(void)
void wxWindow::InitDialog()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2110,7 +2113,7 @@ void wxWindow::DisconnectDnDWidget( GtkWidget *widget )
m_pDropTarget->UnregisterWidget( widget );
}
GtkWidget* wxWindow::GetConnectWidget(void)
GtkWidget* wxWindow::GetConnectWidget()
{
GtkWidget *connect_widget = m_widget;
if (m_wxwindow) connect_widget = m_wxwindow;
@@ -2150,7 +2153,7 @@ void wxWindow::SetFont( const wxFont &font )
gtk_widget_set_style( m_widget, style );
}
wxFont *wxWindow::GetFont(void)
wxFont *wxWindow::GetFont()
{
return &m_font;
}
@@ -2160,12 +2163,12 @@ void wxWindow::SetWindowStyleFlag( long flag )
m_windowStyle = flag;
}
long wxWindow::GetWindowStyleFlag(void) const
long wxWindow::GetWindowStyleFlag() const
{
return m_windowStyle;
}
void wxWindow::CaptureMouse(void)
void wxWindow::CaptureMouse()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2182,7 +2185,7 @@ void wxWindow::CaptureMouse(void)
g_capturing = TRUE;
}
void wxWindow::ReleaseMouse(void)
void wxWindow::ReleaseMouse()
{
wxASSERT_MSG( (m_widget != NULL), "invalid window" );
@@ -2198,12 +2201,12 @@ void wxWindow::SetTitle( const wxString &WXUNUSED(title) )
{
}
wxString wxWindow::GetTitle(void) const
wxString wxWindow::GetTitle() const
{
return (wxString&)m_windowName;
}
wxString wxWindow::GetLabel(void) const
wxString wxWindow::GetLabel() const
{
return GetTitle();
}
@@ -2213,17 +2216,17 @@ void wxWindow::SetName( const wxString &name )
m_windowName = name;
}
wxString wxWindow::GetName(void) const
wxString wxWindow::GetName() const
{
return (wxString&)m_windowName;
}
bool wxWindow::IsShown(void) const
bool wxWindow::IsShown() const
{
return m_isShown;
}
bool wxWindow::IsRetained(void)
bool wxWindow::IsRetained()
{
return FALSE;
}
@@ -2442,7 +2445,7 @@ void wxWindow::ScrollWindow( int dx, int dy, const wxRect* WXUNUSED(rect) )
// Layout
//-------------------------------------------------------------------------------------
wxLayoutConstraints *wxWindow::GetConstraints(void) const
wxLayoutConstraints *wxWindow::GetConstraints() const
{
return m_constraints;
}
@@ -2484,12 +2487,12 @@ void wxWindow::SetAutoLayout( bool autoLayout )
m_autoLayout = autoLayout;
}
bool wxWindow::GetAutoLayout(void) const
bool wxWindow::GetAutoLayout() const
{
return m_autoLayout;
}
wxSizer *wxWindow::GetSizer(void) const
wxSizer *wxWindow::GetSizer() const
{
return m_windowSizer;
}
@@ -2499,7 +2502,7 @@ void wxWindow::SetSizerParent( wxWindow *win )
m_sizerParent = win;
}
wxWindow *wxWindow::GetSizerParent(void) const
wxWindow *wxWindow::GetSizerParent() const
{
return m_sizerParent;
}
@@ -2547,7 +2550,7 @@ void wxWindow::RemoveConstraintReference(wxWindow *otherWin)
}
// Reset any constraints that mention this window
void wxWindow::DeleteRelatedConstraints(void)
void wxWindow::DeleteRelatedConstraints()
{
if (m_constraintsInvolvedIn)
{
@@ -2589,7 +2592,7 @@ void wxWindow::SetSizer(wxSizer *sizer)
* New version
*/
bool wxWindow::Layout(void)
bool wxWindow::Layout()
{
if (GetConstraints())
{
@@ -2689,7 +2692,7 @@ bool wxWindow::DoPhase(int phase)
return TRUE;
}
void wxWindow::ResetConstraints(void)
void wxWindow::ResetConstraints()
{
wxLayoutConstraints *constr = GetConstraints();
if (constr)

View File

@@ -31,7 +31,7 @@ IMPLEMENT_DYNAMIC_CLASS(wxColour, wxObject)
// Colour
wxColour::wxColour (void)
wxColour::wxColour ()
{
m_isInit = FALSE;
m_pixel = 0;
@@ -66,7 +66,7 @@ wxColour& wxColour::operator =(const wxColour& col)
return *this;
}
wxColour::wxColour (const wxString& col)
void wxColour::InitFromName(const wxString& col)
{
wxColour *the_colour = wxTheColourDatabase->FindColour (col);
if (the_colour)
@@ -86,7 +86,7 @@ wxColour::wxColour (const wxString& col)
m_pixel = PALETTERGB (m_red, m_green, m_blue);
}
wxColour::~wxColour (void)
wxColour::~wxColour()
{
}