wxListMainWindow *m_owner;
wxCursor *m_currentCursor;
wxCursor *m_resizeCursor;
- bool m_isDraging;
+ bool m_isDragging;
int m_column;
int m_minX;
int m_currentX;
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,
// 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 )
{
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
if (event.LeftDown() && hit_border)
{
- m_isDraging = TRUE;
+ m_isDragging = TRUE;
m_currentX = x;
DrawCurrent();
CaptureMouse();
if (m_headerWin)
{
- m_headerWin->SetBackgroundColour( colour );
+// m_headerWin->SetBackgroundColour( colour );
}
return TRUE;
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)) )
- {
- topWindow->Close( TRUE );
- wxTheApp->DeletePendingObjects();
- }
- else
+ wxWindow *topWindow = wxTheApp->GetTopWindow();
+ if (topWindow)
{
- 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
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;
{
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)
{
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 )
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)) )
- {
- topWindow->Close( TRUE );
- wxTheApp->DeletePendingObjects();
- }
- else
+ wxWindow *topWindow = wxTheApp->GetTopWindow();
+ if (topWindow)
{
- 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
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;
{
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)
{
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 )