\section{Log classes overview}\label{wxlogoverview}
-Classes: \helpref{wxLog}{wxlog}
-
-%\helpref{wxLogStderr}{wxlogstderr},%
-%\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},%
-%\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},%
-%\helpref{wxLogNull}{wxlognull}%
+Classes: \helpref{wxLog}{wxlog}\\
+\helpref{wxLogStderr}{wxlogstderr},\\
+\helpref{wxLogOstream}{wxlogostream}, \helpref{wxLogTextCtrl}{wxlogtextctrl},\\
+\helpref{wxLogWindow}{wxlogwindow}, \helpref{wxLogGui}{wxloggui},\\
+\helpref{wxLogNull}{wxlognull}
This is a general overview of logging classes provided by wxWindows. The word
logging here has a broad sense, including all of the program output, not only
\item{\bf wxLogNull} The last log class is quite particular: it doesn't do
anything. The objects of this class may be instantiated to (temporarily)
suppress output of {\it wxLogXXX()} functions. As an example, trying to open a
-non-existing file will usually provoke an error message, but if you for some
-reason it's unwanted, just use this construction:
+non-existing file will usually provoke an error message, but if for some
+reasons it's unwanted, just use this construction:
{\small
\begin{verbatim}
bool wxFile::Flush()
{
if ( IsOpened() ) {
- // @@@ fsync() is not ANSI (BSDish)
-// if ( fsync(m_fd) == -1 ) { // TODO
- if (wxTrue) {
- wxLogSysError(_("can't flush file descriptor %d"), m_fd);
- return FALSE;
- }
+ #if defined(_MSC_VER) || wxHAVE_FSYNC
+ if ( fsync(m_fd) == -1 )
+ {
+ wxLogSysError(_("can't flush file descriptor %d"), m_fd);
+ return FALSE;
+ }
+ #else // no fsync
+ // just do nothing
+ #endif // fsync
}
return TRUE;
// compatibility with old code
if ( m_list != NULL )
{
+ if ( m_list->m_keyType == wxKEY_STRING )
+ {
+ free(m_key.string);
+ }
+
m_list->DetachNode(this);
}
}
node->DeleteData();
}
+ // so that the node knows that it's being deleted by the list
+ node->m_list = NULL;
delete node;
}
return TRUE;
}
-static char *g_ValidControlClasses[] = { "wxButton", "wxBitmapButton", "wxMessage",
- "wxStaticText", "wxStaticBitmap", "wxText", "wxTextCtrl", "wxMultiText",
- "wxListBox", "wxRadioBox", "wxRadioButton", "wxCheckBox", "wxBitmapCheckBox",
- "wxGroupBox", "wxStaticBox", "wxSlider", "wxGauge", "wxScrollBar",
- "wxChoice", "wxComboBox" } ;
-static int g_ValidControlClassesCount = sizeof(g_ValidControlClasses) / sizeof(char *) ;
+static const char *g_ValidControlClasses[] =
+{
+ "wxButton",
+ "wxBitmapButton",
+ "wxMessage",
+ "wxStaticText",
+ "wxStaticBitmap",
+ "wxText",
+ "wxTextCtrl",
+ "wxMultiText",
+ "wxListBox",
+ "wxRadioBox",
+ "wxRadioButton",
+ "wxCheckBox",
+ "wxBitmapCheckBox",
+ "wxGroupBox",
+ "wxStaticBox",
+ "wxSlider",
+ "wxGauge",
+ "wxScrollBar",
+ "wxChoice",
+ "wxComboBox"
+};
static bool wxIsValidControlClass(const wxString& c)
{
- int i;
- for ( i = 0; i < g_ValidControlClassesCount; i++)
+ for ( size_t i = 0; i < WXSIZEOF(g_ValidControlClasses); i++ )
{
if ( c == g_ValidControlClasses[i] )
return TRUE;
#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
#ifndef WX_PRECOMP
#endif
#if wxUSE_OWNER_DRAWN
-#include "wx/ownerdrw.h"
+ #include "wx/ownerdrw.h"
#endif
#if wxUSE_DRAG_AND_DROP
-#include "wx/msw/ole/droptgt.h"
+ #include "wx/msw/ole/droptgt.h"
#endif
#include "wx/menuitem.h"
#endif
#ifdef __WXDEBUG__
-const char *wxGetMessageName(int message);
+ const char *wxGetMessageName(int message);
#endif //__WXDEBUG__
#define WINDOW_MARGIN 3 // This defines sensitivity of Leave events
wxWndHook = NULL;
wnd->m_hWnd = (WXHWND) hWnd;
}
- // wxDebugMsg("hWnd = %d, m_hWnd = %d, msg = %d\n", hWnd, m_hWnd, message);
// Stop right here if we don't have a valid handle
// in our wxWnd object.
// Should probably have a test for 'genuine' NT
#if defined(__WIN32__)
-#define DIMENSION_TYPE short
+ #define DIMENSION_TYPE short
#else
-#define DIMENSION_TYPE int
+ #define DIMENSION_TYPE int
#endif
// Main Windows 3 window proc
long wxWindow::MSWWindowProc(WXUINT message, WXWPARAM wParam, WXLPARAM lParam)
{
wxASSERT( m_lastMsg == message &&
- m_lastWParam == wParam &&
- m_lastLParam == lParam );
+ m_lastWParam == wParam && m_lastLParam == lParam );
#ifdef __WXDEBUG__
wxLogTrace(wxTraceMessages, "Processing %s(%lx, %lx)",