Made listctrl header BG grey again

mapped XOR to GdkInvert and vice versa
  No more EVT_TEXT after SetValue()


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2556 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Robert Roebling 1999-05-24 23:53:12 +00:00
parent 764a3a4906
commit cfb50f14ec
8 changed files with 66 additions and 41 deletions

View File

@ -365,7 +365,7 @@ class WXDLLEXPORT wxListHeaderWindow : public wxWindow
wxListMainWindow *m_owner;
wxCursor *m_currentCursor;
wxCursor *m_resizeCursor;
bool m_isDraging;
bool m_isDragging;
int m_column;
int m_minX;
int m_currentX;

View File

@ -685,7 +685,7 @@ wxListHeaderWindow::wxListHeaderWindow( void )
m_owner = (wxListMainWindow *) NULL;
m_currentCursor = (wxCursor *) NULL;
m_resizeCursor = (wxCursor *) NULL;
m_isDraging = FALSE;
m_isDragging = FALSE;
}
wxListHeaderWindow::wxListHeaderWindow( wxWindow *win, wxWindowID id, wxListMainWindow *owner,
@ -697,7 +697,8 @@ wxListHeaderWindow::wxListHeaderWindow( wxWindow *win, wxWindowID id, wxListMain
// m_currentCursor = wxSTANDARD_CURSOR;
m_currentCursor = (wxCursor *) NULL;
m_resizeCursor = new wxCursor( wxCURSOR_SIZEWE );
m_isDraging = FALSE;
m_isDragging = FALSE;
SetBackgroundColour( wxSystemSettings::GetSystemColour( wxSYS_COLOUR_BTNFACE ) );
}
wxListHeaderWindow::~wxListHeaderWindow( void )
@ -796,13 +797,13 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event )
{
int x = event.GetX();
int y = event.GetY();
if (m_isDraging)
if (m_isDragging)
{
DrawCurrent();
if (event.ButtonUp())
{
ReleaseMouse();
m_isDraging = FALSE;
m_isDragging = FALSE;
m_owner->SetColumnWidth( m_column, m_currentX-m_minX );
}
else
@ -837,7 +838,7 @@ void wxListHeaderWindow::OnMouse( wxMouseEvent &event )
if (event.LeftDown() && hit_border)
{
m_isDraging = TRUE;
m_isDragging = TRUE;
m_currentX = x;
DrawCurrent();
CaptureMouse();
@ -2829,7 +2830,7 @@ bool wxListCtrl::SetBackgroundColour( const wxColour &colour )
if (m_headerWin)
{
m_headerWin->SetBackgroundColour( colour );
// m_headerWin->SetBackgroundColour( colour );
}
return TRUE;

View File

@ -690,29 +690,35 @@ int wxEntry( int argc, char *argv[] )
if ( retValue == 0 )
{
/* delete pending toplevel windows (typically a single
dialog) so that, if there isn't any left, we don't
call OnRun() */
wxTheApp->DeletePendingObjects();
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
if (wxTheApp->Initialized())
{
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
/* Forcibly delete the window. */
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
}
wxTheApp->OnExit();
}
wxTheApp->OnExit();
}
// flush the logged messages if any

View File

@ -974,7 +974,7 @@ void wxWindowDC::SetLogicalFunction( int function )
switch (function)
{
case wxXOR: mode = GDK_INVERT; break;
case wxINVERT: mode = GDK_INVERT; break;
case wxINVERT: mode = GDK_XOR; break;
#if (GDK_MINOR_VERSION > 0)
case wxOR_REVERSE: mode = GDK_OR_REVERSE; break;
case wxAND_REVERSE: mode = GDK_AND_REVERSE; break;

View File

@ -311,6 +311,9 @@ void wxTextCtrl::SetValue( const wxString &value )
{
wxCHECK_RET( m_text != NULL, _T("invalid text ctrl") );
gtk_signal_disconnect_by_func( GTK_OBJECT(m_text),
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
wxString tmp = _T("");
if (!value.IsNull()) tmp = value;
if (m_windowStyle & wxTE_MULTILINE)
@ -329,6 +332,9 @@ void wxTextCtrl::SetValue( const wxString &value )
{
gtk_entry_set_text( GTK_ENTRY(m_text), tmp.mbc_str() );
}
gtk_signal_connect( GTK_OBJECT(m_text), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
}
void wxTextCtrl::WriteText( const wxString &text )

View File

@ -690,29 +690,35 @@ int wxEntry( int argc, char *argv[] )
if ( retValue == 0 )
{
/* delete pending toplevel windows (typically a single
dialog) so that, if there isn't any left, we don't
call OnRun() */
wxTheApp->DeletePendingObjects();
wxTheApp->m_initialized = wxTopLevelWindows.GetCount() != 0;
if (wxTheApp->Initialized())
{
retValue = wxTheApp->OnRun();
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
// Forcibly delete the window.
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
wxWindow *topWindow = wxTheApp->GetTopWindow();
if (topWindow)
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
/* Forcibly delete the window. */
if (topWindow->IsKindOf(CLASSINFO(wxFrame)) ||
topWindow->IsKindOf(CLASSINFO(wxDialog)) )
{
topWindow->Close( TRUE );
wxTheApp->DeletePendingObjects();
}
else
{
delete topWindow;
wxTheApp->SetTopWindow( (wxWindow*) NULL );
}
}
wxTheApp->OnExit();
}
wxTheApp->OnExit();
}
// flush the logged messages if any

View File

@ -974,7 +974,7 @@ void wxWindowDC::SetLogicalFunction( int function )
switch (function)
{
case wxXOR: mode = GDK_INVERT; break;
case wxINVERT: mode = GDK_INVERT; break;
case wxINVERT: mode = GDK_XOR; break;
#if (GDK_MINOR_VERSION > 0)
case wxOR_REVERSE: mode = GDK_OR_REVERSE; break;
case wxAND_REVERSE: mode = GDK_AND_REVERSE; break;

View File

@ -311,6 +311,9 @@ void wxTextCtrl::SetValue( const wxString &value )
{
wxCHECK_RET( m_text != NULL, _T("invalid text ctrl") );
gtk_signal_disconnect_by_func( GTK_OBJECT(m_text),
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
wxString tmp = _T("");
if (!value.IsNull()) tmp = value;
if (m_windowStyle & wxTE_MULTILINE)
@ -329,6 +332,9 @@ void wxTextCtrl::SetValue( const wxString &value )
{
gtk_entry_set_text( GTK_ENTRY(m_text), tmp.mbc_str() );
}
gtk_signal_connect( GTK_OBJECT(m_text), "changed",
GTK_SIGNAL_FUNC(gtk_text_changed_callback), (gpointer)this);
}
void wxTextCtrl::WriteText( const wxString &text )