1. wxAppBase class appers, wxApp in wxGTK and wxMSW modified accordingly
(wxMotif not yet, but this change shouldn't break it) 2. GetStdIcon() small fixes 3. #pragma warning removed from dynlib.cpp git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -176,11 +176,12 @@ void *wxLibrary::GetSymbol(const wxString& symbname)
|
||||
wxDllType
|
||||
wxDllLoader::GetProgramHandle(void)
|
||||
{
|
||||
#ifdef __WXGTK__
|
||||
return dlopen(NULL, RTLD_NOW/*RTLD_LAZY*/);
|
||||
#ifdef __UNIX__
|
||||
return dlopen(NULL, RTLD_NOW/*RTLD_LAZY*/);
|
||||
#else
|
||||
#pragma warning "Not implemented, please fix!"
|
||||
return 0;
|
||||
wxFAIL_MSG(_("This method is not implemented under Windows"));
|
||||
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
@@ -45,8 +45,6 @@
|
||||
// icons
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
#if !USE_SHARED_LIBRARY
|
||||
BEGIN_EVENT_TABLE(wxGenericMessageDialog, wxDialog)
|
||||
EVT_BUTTON(wxID_YES, wxGenericMessageDialog::OnYes)
|
||||
@@ -57,46 +55,6 @@ END_EVENT_TABLE()
|
||||
IMPLEMENT_CLASS(wxGenericMessageDialog, wxDialog)
|
||||
#endif
|
||||
|
||||
#ifdef _WXGTK__
|
||||
# include "wx/gtk/info.xpm"
|
||||
# include "wx/gtk/error.xpm"
|
||||
# include "wx/gtk/question.xpm"
|
||||
# include "wx/gtk/warning.xpm"
|
||||
#else
|
||||
// MSW icons are in the ressources, for all other platforms - in XPM files
|
||||
# ifndef __WXMSW__
|
||||
# include "wx/generic/info.xpm"
|
||||
# include "wx/generic/question.xpm"
|
||||
# include "wx/generic/warning.xpm"
|
||||
# include "wx/generic/error.xpm"
|
||||
# endif // __WXMSW__
|
||||
#endif
|
||||
|
||||
wxIcon
|
||||
wxApp::GetStdIcon(int which) const
|
||||
{
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon(info_xpm);
|
||||
break;
|
||||
case wxICON_HAND:
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon(question_xpm);
|
||||
break;
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon(warning_xpm);
|
||||
break;
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
wxGenericMessageDialog::wxGenericMessageDialog( wxWindow *parent,
|
||||
const wxString& message,
|
||||
const wxString& caption,
|
||||
|
140
src/gtk/app.cpp
140
src/gtk/app.cpp
@@ -146,7 +146,7 @@ bool wxYield()
|
||||
might have been changed (it also will update other things set from
|
||||
OnUpdateUI() which is a nice (and desired) side effect) */
|
||||
while (wxTheApp->ProcessIdle()) { }
|
||||
|
||||
|
||||
#if 0
|
||||
for ( wxWindowList::Node *node = wxTopLevelWindows.GetFirst();
|
||||
node;
|
||||
@@ -175,24 +175,24 @@ bool wxYield()
|
||||
while (gtk_events_pending())
|
||||
gtk_main_iteration();
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
||||
{
|
||||
if (!wxTheApp) return TRUE;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* when getting called from GDK's idle handler we
|
||||
are no longer within GDK's grab on the GUI
|
||||
thread so we must lock it here ourselves */
|
||||
GDK_THREADS_ENTER ();
|
||||
#endif
|
||||
|
||||
|
||||
/* sent idle event to all who request them */
|
||||
while (wxTheApp->ProcessIdle()) { }
|
||||
|
||||
|
||||
/* we don't want any more idle events until the next event is
|
||||
sent to wxGTK */
|
||||
gtk_idle_remove( wxTheApp->m_idleTag );
|
||||
@@ -204,7 +204,7 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
||||
once each time after the event queue has been completely
|
||||
emptied */
|
||||
g_isIdle = TRUE;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* release lock again */
|
||||
GDK_THREADS_LEAVE ();
|
||||
@@ -221,7 +221,7 @@ void wxapp_install_idle_handler()
|
||||
indicating that the idle is over. */
|
||||
|
||||
wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
g_isIdle = FALSE;
|
||||
}
|
||||
|
||||
@@ -231,30 +231,30 @@ static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
|
||||
{
|
||||
gtk_timeout_remove( wxTheApp->m_wakeUpTimerTag );
|
||||
wxTheApp->m_wakeUpTimerTag = 0;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
// when getting called from GDK's time-out handler
|
||||
// when getting called from GDK's time-out handler
|
||||
// we are no longer within GDK's grab on the GUI
|
||||
// thread so we must lock it here ourselves
|
||||
GDK_THREADS_ENTER ();
|
||||
#endif
|
||||
|
||||
|
||||
// unblock other threads wishing to do some GUI things
|
||||
wxMutexGuiLeave();
|
||||
|
||||
|
||||
// wake up other threads
|
||||
wxUsleep( 1 );
|
||||
|
||||
|
||||
// block other thread again
|
||||
wxMutexGuiEnter();
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
// release lock again
|
||||
GDK_THREADS_LEAVE ();
|
||||
#endif
|
||||
|
||||
|
||||
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
@@ -278,7 +278,7 @@ wxApp::wxApp()
|
||||
m_exitOnFrameDelete = TRUE;
|
||||
|
||||
m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
/*
|
||||
#if wxUSE_THREADS
|
||||
m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
|
||||
@@ -297,7 +297,7 @@ wxApp::~wxApp()
|
||||
if (m_wakeUpTimerTag) gtk_timeout_remove( m_wakeUpTimerTag );
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
||||
if (m_colorCube) free(m_colorCube);
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ bool wxApp::OnInitGui()
|
||||
{
|
||||
GdkVisual *visual = gdk_visual_get_system();
|
||||
|
||||
/* on some machines, the default visual is just 256 colours, so
|
||||
/* on some machines, the default visual is just 256 colours, so
|
||||
we make sure we get the best. this can sometimes be wasteful,
|
||||
of course, but what do these guys pay $30.000 for? */
|
||||
/*
|
||||
@@ -316,11 +316,11 @@ bool wxApp::OnInitGui()
|
||||
|
||||
GdkColormap *colormap = gdk_colormap_new( vis, FALSE );
|
||||
gtk_widget_set_default_colormap( colormap );
|
||||
|
||||
visual = vis;
|
||||
|
||||
visual = vis;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/* Nothing to do for 15, 16, 24, 32 bit displays */
|
||||
if (visual->depth > 8) return TRUE;
|
||||
|
||||
@@ -378,24 +378,24 @@ bool wxApp::OnInitGui()
|
||||
int bdiff = ((bb << 8) - colors[i].blue);
|
||||
int sum = ABS (rdiff) + ABS (gdiff) + ABS (bdiff);
|
||||
if (sum < max)
|
||||
{
|
||||
{
|
||||
index = i; max = sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* assume 8-bit true or static colors. this really
|
||||
exists. */
|
||||
GdkVisual* vis = gdk_colormap_get_visual( cmap );
|
||||
index = (r >> (5 - vis->red_prec)) << vis->red_shift;
|
||||
index |= (g >> (5 - vis->green_prec)) << vis->green_shift;
|
||||
index |= (b >> (5 - vis->blue_prec)) << vis->blue_shift;
|
||||
/* assume 8-bit true or static colors. this really
|
||||
exists. */
|
||||
GdkVisual* vis = gdk_colormap_get_visual( cmap );
|
||||
index = (r >> (5 - vis->red_prec)) << vis->red_shift;
|
||||
index |= (g >> (5 - vis->green_prec)) << vis->green_shift;
|
||||
index |= (b >> (5 - vis->blue_prec)) << vis->blue_shift;
|
||||
#else
|
||||
wxFAIL_MSG( _T("Unsupported graphics hardware") );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
m_colorCube[ (r*1024) + (g*32) + b ] = index;
|
||||
}
|
||||
}
|
||||
@@ -551,21 +551,6 @@ void wxApp::DeletePendingObjects()
|
||||
}
|
||||
}
|
||||
|
||||
wxWindow *wxApp::GetTopWindow()
|
||||
{
|
||||
if (m_topWindow)
|
||||
return m_topWindow;
|
||||
else if (wxTopLevelWindows.GetCount() > 0)
|
||||
return wxTopLevelWindows.GetFirst()->GetData();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxApp::SetTopWindow( wxWindow *win )
|
||||
{
|
||||
m_topWindow = win;
|
||||
}
|
||||
|
||||
bool wxApp::Initialize()
|
||||
{
|
||||
wxBuffer = new wxChar[BUFSIZ + 512];
|
||||
@@ -670,10 +655,6 @@ void wxApp::CleanUp()
|
||||
delete oldLog;
|
||||
}
|
||||
|
||||
wxLog *wxApp::CreateLogTarget()
|
||||
{
|
||||
return new wxLogGui;
|
||||
}
|
||||
#endif // wxUSE_LOG
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -689,7 +670,7 @@ int wxEntry( int argc, char *argv[] )
|
||||
gtk_init( &argc, &argv );
|
||||
|
||||
wxSetDetectableAutoRepeat( TRUE );
|
||||
|
||||
|
||||
if (!wxApp::Initialize())
|
||||
return -1;
|
||||
|
||||
@@ -730,14 +711,14 @@ 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() */
|
||||
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();
|
||||
@@ -755,7 +736,7 @@ int wxEntry( int argc, char *argv[] )
|
||||
delete topWindow;
|
||||
wxTheApp->SetTopWindow( (wxWindow*) NULL );
|
||||
}
|
||||
}
|
||||
}
|
||||
wxTheApp->OnExit();
|
||||
}
|
||||
}
|
||||
@@ -779,31 +760,30 @@ int wxEntry( int argc, char *argv[] )
|
||||
return retValue;
|
||||
}
|
||||
|
||||
# include "wx/gtk/info.xpm"
|
||||
# include "wx/gtk/error.xpm"
|
||||
# include "wx/gtk/question.xpm"
|
||||
# include "wx/gtk/warning.xpm"
|
||||
|
||||
#include "wx/gtk/info.xpm"
|
||||
#include "wx/gtk/error.xpm"
|
||||
#include "wx/gtk/question.xpm"
|
||||
#include "wx/gtk/warning.xpm"
|
||||
|
||||
wxIcon
|
||||
wxApp::GetStdIcon(int which) const
|
||||
{
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon(info_xpm);
|
||||
break;
|
||||
case wxICON_HAND:
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon(question_xpm);
|
||||
break;
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon(warning_xpm);
|
||||
break;
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
}
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon(info_xpm);
|
||||
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon(question_xpm);
|
||||
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon(warning_xpm);
|
||||
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
// still fall through
|
||||
|
||||
case wxICON_HAND:
|
||||
return wxIcon(error_xpm);
|
||||
}
|
||||
}
|
||||
|
140
src/gtk1/app.cpp
140
src/gtk1/app.cpp
@@ -146,7 +146,7 @@ bool wxYield()
|
||||
might have been changed (it also will update other things set from
|
||||
OnUpdateUI() which is a nice (and desired) side effect) */
|
||||
while (wxTheApp->ProcessIdle()) { }
|
||||
|
||||
|
||||
#if 0
|
||||
for ( wxWindowList::Node *node = wxTopLevelWindows.GetFirst();
|
||||
node;
|
||||
@@ -175,24 +175,24 @@ bool wxYield()
|
||||
while (gtk_events_pending())
|
||||
gtk_main_iteration();
|
||||
}
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
||||
{
|
||||
if (!wxTheApp) return TRUE;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* when getting called from GDK's idle handler we
|
||||
are no longer within GDK's grab on the GUI
|
||||
thread so we must lock it here ourselves */
|
||||
GDK_THREADS_ENTER ();
|
||||
#endif
|
||||
|
||||
|
||||
/* sent idle event to all who request them */
|
||||
while (wxTheApp->ProcessIdle()) { }
|
||||
|
||||
|
||||
/* we don't want any more idle events until the next event is
|
||||
sent to wxGTK */
|
||||
gtk_idle_remove( wxTheApp->m_idleTag );
|
||||
@@ -204,7 +204,7 @@ gint wxapp_idle_callback( gpointer WXUNUSED(data) )
|
||||
once each time after the event queue has been completely
|
||||
emptied */
|
||||
g_isIdle = TRUE;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* release lock again */
|
||||
GDK_THREADS_LEAVE ();
|
||||
@@ -221,7 +221,7 @@ void wxapp_install_idle_handler()
|
||||
indicating that the idle is over. */
|
||||
|
||||
wxTheApp->m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
g_isIdle = FALSE;
|
||||
}
|
||||
|
||||
@@ -231,30 +231,30 @@ static gint wxapp_wakeup_timerout_callback( gpointer WXUNUSED(data) )
|
||||
{
|
||||
gtk_timeout_remove( wxTheApp->m_wakeUpTimerTag );
|
||||
wxTheApp->m_wakeUpTimerTag = 0;
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
// when getting called from GDK's time-out handler
|
||||
// when getting called from GDK's time-out handler
|
||||
// we are no longer within GDK's grab on the GUI
|
||||
// thread so we must lock it here ourselves
|
||||
GDK_THREADS_ENTER ();
|
||||
#endif
|
||||
|
||||
|
||||
// unblock other threads wishing to do some GUI things
|
||||
wxMutexGuiLeave();
|
||||
|
||||
|
||||
// wake up other threads
|
||||
wxUsleep( 1 );
|
||||
|
||||
|
||||
// block other thread again
|
||||
wxMutexGuiEnter();
|
||||
|
||||
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
// release lock again
|
||||
GDK_THREADS_LEAVE ();
|
||||
#endif
|
||||
|
||||
|
||||
wxTheApp->m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
#endif
|
||||
@@ -278,7 +278,7 @@ wxApp::wxApp()
|
||||
m_exitOnFrameDelete = TRUE;
|
||||
|
||||
m_idleTag = gtk_idle_add( wxapp_idle_callback, (gpointer) NULL );
|
||||
|
||||
|
||||
/*
|
||||
#if wxUSE_THREADS
|
||||
m_wakeUpTimerTag = gtk_timeout_add( 20, wxapp_wakeup_timerout_callback, (gpointer) NULL );
|
||||
@@ -297,7 +297,7 @@ wxApp::~wxApp()
|
||||
if (m_wakeUpTimerTag) gtk_timeout_remove( m_wakeUpTimerTag );
|
||||
#endif
|
||||
*/
|
||||
|
||||
|
||||
if (m_colorCube) free(m_colorCube);
|
||||
}
|
||||
|
||||
@@ -305,7 +305,7 @@ bool wxApp::OnInitGui()
|
||||
{
|
||||
GdkVisual *visual = gdk_visual_get_system();
|
||||
|
||||
/* on some machines, the default visual is just 256 colours, so
|
||||
/* on some machines, the default visual is just 256 colours, so
|
||||
we make sure we get the best. this can sometimes be wasteful,
|
||||
of course, but what do these guys pay $30.000 for? */
|
||||
/*
|
||||
@@ -316,11 +316,11 @@ bool wxApp::OnInitGui()
|
||||
|
||||
GdkColormap *colormap = gdk_colormap_new( vis, FALSE );
|
||||
gtk_widget_set_default_colormap( colormap );
|
||||
|
||||
visual = vis;
|
||||
|
||||
visual = vis;
|
||||
}
|
||||
*/
|
||||
|
||||
|
||||
/* Nothing to do for 15, 16, 24, 32 bit displays */
|
||||
if (visual->depth > 8) return TRUE;
|
||||
|
||||
@@ -378,24 +378,24 @@ bool wxApp::OnInitGui()
|
||||
int bdiff = ((bb << 8) - colors[i].blue);
|
||||
int sum = ABS (rdiff) + ABS (gdiff) + ABS (bdiff);
|
||||
if (sum < max)
|
||||
{
|
||||
{
|
||||
index = i; max = sum;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
else
|
||||
{
|
||||
#if (GTK_MINOR_VERSION > 0)
|
||||
/* assume 8-bit true or static colors. this really
|
||||
exists. */
|
||||
GdkVisual* vis = gdk_colormap_get_visual( cmap );
|
||||
index = (r >> (5 - vis->red_prec)) << vis->red_shift;
|
||||
index |= (g >> (5 - vis->green_prec)) << vis->green_shift;
|
||||
index |= (b >> (5 - vis->blue_prec)) << vis->blue_shift;
|
||||
/* assume 8-bit true or static colors. this really
|
||||
exists. */
|
||||
GdkVisual* vis = gdk_colormap_get_visual( cmap );
|
||||
index = (r >> (5 - vis->red_prec)) << vis->red_shift;
|
||||
index |= (g >> (5 - vis->green_prec)) << vis->green_shift;
|
||||
index |= (b >> (5 - vis->blue_prec)) << vis->blue_shift;
|
||||
#else
|
||||
wxFAIL_MSG( _T("Unsupported graphics hardware") );
|
||||
#endif
|
||||
}
|
||||
}
|
||||
m_colorCube[ (r*1024) + (g*32) + b ] = index;
|
||||
}
|
||||
}
|
||||
@@ -551,21 +551,6 @@ void wxApp::DeletePendingObjects()
|
||||
}
|
||||
}
|
||||
|
||||
wxWindow *wxApp::GetTopWindow()
|
||||
{
|
||||
if (m_topWindow)
|
||||
return m_topWindow;
|
||||
else if (wxTopLevelWindows.GetCount() > 0)
|
||||
return wxTopLevelWindows.GetFirst()->GetData();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
void wxApp::SetTopWindow( wxWindow *win )
|
||||
{
|
||||
m_topWindow = win;
|
||||
}
|
||||
|
||||
bool wxApp::Initialize()
|
||||
{
|
||||
wxBuffer = new wxChar[BUFSIZ + 512];
|
||||
@@ -670,10 +655,6 @@ void wxApp::CleanUp()
|
||||
delete oldLog;
|
||||
}
|
||||
|
||||
wxLog *wxApp::CreateLogTarget()
|
||||
{
|
||||
return new wxLogGui;
|
||||
}
|
||||
#endif // wxUSE_LOG
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -689,7 +670,7 @@ int wxEntry( int argc, char *argv[] )
|
||||
gtk_init( &argc, &argv );
|
||||
|
||||
wxSetDetectableAutoRepeat( TRUE );
|
||||
|
||||
|
||||
if (!wxApp::Initialize())
|
||||
return -1;
|
||||
|
||||
@@ -730,14 +711,14 @@ 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() */
|
||||
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();
|
||||
@@ -755,7 +736,7 @@ int wxEntry( int argc, char *argv[] )
|
||||
delete topWindow;
|
||||
wxTheApp->SetTopWindow( (wxWindow*) NULL );
|
||||
}
|
||||
}
|
||||
}
|
||||
wxTheApp->OnExit();
|
||||
}
|
||||
}
|
||||
@@ -779,31 +760,30 @@ int wxEntry( int argc, char *argv[] )
|
||||
return retValue;
|
||||
}
|
||||
|
||||
# include "wx/gtk/info.xpm"
|
||||
# include "wx/gtk/error.xpm"
|
||||
# include "wx/gtk/question.xpm"
|
||||
# include "wx/gtk/warning.xpm"
|
||||
|
||||
#include "wx/gtk/info.xpm"
|
||||
#include "wx/gtk/error.xpm"
|
||||
#include "wx/gtk/question.xpm"
|
||||
#include "wx/gtk/warning.xpm"
|
||||
|
||||
wxIcon
|
||||
wxApp::GetStdIcon(int which) const
|
||||
{
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon(info_xpm);
|
||||
break;
|
||||
case wxICON_HAND:
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon(question_xpm);
|
||||
break;
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon(warning_xpm);
|
||||
break;
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
return wxIcon(error_xpm);
|
||||
break;
|
||||
}
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon(info_xpm);
|
||||
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon(question_xpm);
|
||||
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon(warning_xpm);
|
||||
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
// still fall through
|
||||
|
||||
case wxICON_HAND:
|
||||
return wxIcon(error_xpm);
|
||||
}
|
||||
}
|
||||
|
@@ -1062,21 +1062,6 @@ void wxApp::OnQueryEndSession(wxCloseEvent& event)
|
||||
}
|
||||
}
|
||||
|
||||
wxLog* wxApp::CreateLogTarget()
|
||||
{
|
||||
return new wxLogGui;
|
||||
}
|
||||
|
||||
wxWindow* wxApp::GetTopWindow() const
|
||||
{
|
||||
if (m_topWindow)
|
||||
return m_topWindow;
|
||||
else if (wxTopLevelWindows.GetCount() > 0)
|
||||
return wxTopLevelWindows.GetFirst()->GetData();
|
||||
else
|
||||
return NULL;
|
||||
}
|
||||
|
||||
int wxApp::GetComCtl32Version() const
|
||||
{
|
||||
// have we loaded COMCTL32 yet?
|
||||
@@ -1149,28 +1134,28 @@ bool wxYield()
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
wxIcon
|
||||
wxApp::GetStdIcon(int which) const
|
||||
{
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon("wxICON_INFO");
|
||||
break;
|
||||
case wxICON_HAND:
|
||||
return wxIcon("wxICON_ERROR");
|
||||
break;
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon("wxICON_QUESTION");
|
||||
break;
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon("wxICON_WARNING");
|
||||
break;
|
||||
default:
|
||||
wxFAIL_MSG("requested non existent standard icon");
|
||||
return wxIcon("wxICON_ERROR");
|
||||
break;
|
||||
}
|
||||
switch(which)
|
||||
{
|
||||
case wxICON_INFORMATION:
|
||||
return wxIcon("wxICON_INFO");
|
||||
|
||||
case wxICON_QUESTION:
|
||||
return wxIcon("wxICON_QUESTION");
|
||||
|
||||
case wxICON_EXCLAMATION:
|
||||
return wxIcon("wxICON_WARNING");
|
||||
|
||||
default:
|
||||
wxFAIL_MSG(_T("requested non existent standard icon"));
|
||||
// still fall through
|
||||
|
||||
case wxICON_HAND:
|
||||
return wxIcon("wxICON_ERROR");
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@@ -323,15 +323,6 @@ void wxComboBox::DoSetSize(int x, int y,
|
||||
int sizeFlags)
|
||||
{
|
||||
wxControl::DoSetSize(x, y, width, height, sizeFlags);
|
||||
|
||||
// VZ: for unknown (to me) reasons, if we don't do this, the combobox
|
||||
// somehow is hidden by the static boxes, although static boxes do
|
||||
// put themselves at the very end of Z-order.
|
||||
if ( !::SetWindowPos(GetHwnd(), HWND_BOTTOM, 0, 0, 0, 0,
|
||||
SWP_NOMOVE | SWP_NOSIZE) )
|
||||
{
|
||||
wxLogLastError(_T("SetWindowPos"));
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
|
@@ -117,6 +117,8 @@ void wxStaticBox::DoSetSize(int x, int y, int width, int height, int sizeFlags)
|
||||
{
|
||||
wxControl::DoSetSize(x, y, width, height, sizeFlags);
|
||||
|
||||
return;
|
||||
|
||||
// the static box should always be on the bottom of the Z-order, otherwise
|
||||
// it may hide controls which are positioned inside it
|
||||
if ( !::SetWindowPos(GetHwnd(), HWND_TOP, 0, 0, 0, 0,
|
||||
@@ -172,7 +174,7 @@ void wxStaticBox::OnEraseBackground(wxEraseEvent& event)
|
||||
// Alternatively, just make sure that wxStaticBox is always at the back! There are probably
|
||||
// few other circumstances where it matters about child clipping. But what about painting onto
|
||||
// to panel, inside a groupbox? Doesn't appear, because the box wipes it out.
|
||||
wxWindow *parent = GetParent();
|
||||
wxWindow *parent = 0; //GetParent();
|
||||
if ( parent && parent->GetHWND() && (::GetWindowLong((HWND) parent->GetHWND(), GWL_STYLE) & WS_CLIPCHILDREN) )
|
||||
{
|
||||
// TODO: May in fact need to generate a paint event for inside this
|
||||
@@ -196,7 +198,7 @@ void wxStaticBox::OnEraseBackground(wxEraseEvent& event)
|
||||
|
||||
long wxStaticBox::MSWWindowProc(WXUINT nMsg, WXWPARAM wParam, WXLPARAM lParam)
|
||||
{
|
||||
if ( 0 )//nMsg == WM_NCHITTEST)
|
||||
if ( nMsg == WM_NCHITTEST)
|
||||
{
|
||||
int xPos = LOWORD(lParam); // horizontal position of cursor
|
||||
int yPos = HIWORD(lParam); // vertical position of cursor
|
||||
|
Reference in New Issue
Block a user