// Modified by:
// Created: 07.04.98 (adapted from appconf.cpp)
// RCS-ID: $Id$
-// Copyright: (c) 1997 Karsten Ballüder & Vadim Zeitlin
+// Copyright: (c) 1997 Karsten Ballueder & Vadim Zeitlin
// Ballueder@usa.net <zeitlin@dptmaths.ens-cachan.fr>
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#include "wx/stdpaths.h"
-#if defined(__WXMAC__)
- #include "wx/mac/private.h" // includes mac headers
-#endif
-
#if defined(__WXMSW__)
#include "wx/msw/private.h"
#endif //windows.h
wxFileConfigLineList *m_pNext, // next node
*m_pPrev; // previous one
- DECLARE_NO_COPY_CLASS(wxFileConfigLineList)
+ wxDECLARE_NO_COPY_CLASS(wxFileConfigLineList);
};
// ----------------------------------------------------------------------------
void SetValue(const wxString& strValue, bool bUser = true);
void SetLine(wxFileConfigLineList *pLine);
- DECLARE_NO_COPY_CLASS(wxFileConfigEntry)
+ wxDECLARE_NO_COPY_CLASS(wxFileConfigEntry);
};
// ----------------------------------------------------------------------------
// get the last line belonging to an entry/subgroup of this group
wxFileConfigLineList *GetGroupLine(); // line which contains [group]
+ // may be NULL for "/" only
wxFileConfigLineList *GetLastEntryLine(); // after which our subgroups start
wxFileConfigLineList *GetLastGroupLine(); // after which the next group starts
void SetLastGroup(wxFileConfigGroup *pGroup)
{ m_pLastGroup = pGroup; }
- DECLARE_NO_COPY_CLASS(wxFileConfigGroup)
+ wxDECLARE_NO_COPY_CLASS(wxFileConfigGroup);
};
// ============================================================================
#if defined( __WXMAC__ )
fn.SetName(fn.GetName() + wxT(" Preferences"));
#elif defined( __UNIX__ )
- fn.SetExt(wxT(".conf"));
+ fn.SetExt(wxT("conf"));
#else // Windows
- fn.SetExt(wxT(".ini"));
+ fn.SetExt(wxT("ini"));
#endif // UNIX/Win
}
}
{
wxFileName fn(GetLocalDir(style), szFile);
-#ifdef __UNIX__
+#if defined( __UNIX__ ) && !defined( __WXMAC__ )
if ( !(style & wxCONFIG_USE_SUBDIR) )
{
// dot-files under Unix start with, well, a dot (but OTOH they usually
fn.SetName(wxT('.') + fn.GetName());
}
else // we do append ".conf" extension to config files in subdirectories
-#endif // __UNIX__
+#endif // defined( __UNIX__ ) && !defined( __WXMAC__ )
{
AddConfFileExtIfNeeded(fn);
}
}
#else // !wxUSE_UNICODE
// no need for conversion
- cbuf = wxCharBuffer::CreateNonOwned((char *)buf.GetData());
+ cbuf = wxCharBuffer::CreateNonOwned((char *)buf.GetData(), buf.GetDataLen());
#endif // wxUSE_UNICODE/!wxUSE_UNICODE
// add the line to linked list
if ( bLocal )
- {
LineListAppend(strLine);
- // let the root group have its start line as well
- if ( !n )
- {
- m_pCurrentGroup->SetLine(m_linesTail);
- }
- }
-
// skip leading spaces
for ( pStart = buf; wxIsspace(*pStart); pStart++ )
const wxString pathOld = GetPath();
- wxFileConfig *self = wx_const_cast(wxFileConfig *, this);
+ wxFileConfig *self = const_cast<wxFileConfig *>(this);
const bool
rc = self->DoSetPath(strName, false /* don't create missing components */);
// change to the path of the entry if necessary and remember the old path
// to restore it later
wxString pathOld;
- wxFileConfig * const self = wx_const_cast(wxFileConfig *, this);
+ wxFileConfig * const self = const_cast<wxFileConfig *>(this);
if ( !path.empty() )
{
pathOld = GetPath();
SetDirty();
- // this will add a line for this group if it didn't have it before
-
+ // this will add a line for this group if it didn't have it before (or
+ // do nothing for the root but it's ok as it always exists anyhow)
(void)m_pCurrentGroup->GetGroupLine();
}
else
ResetDirty();
-#if defined(__WXMAC__)
+#if defined( __WXOSX_MAC__ ) && wxOSX_USE_CARBON
m_fnLocalFile.MacSetTypeAndCreator('TEXT', 'ttxt');
#endif // __WXMAC__
else
pNext->SetPrev(pPrev);
- if ( m_pRootGroup->GetGroupLine() == pLine )
- m_pRootGroup->SetLine(m_linesHead);
-
wxLogTrace( FILECONF_TRACE_MASK,
_T(" head: %s"),
((m_linesHead) ? (const wxChar*)m_linesHead->Text().c_str()
wxLogTrace( FILECONF_TRACE_MASK,
_T(" (m_pLine) = prev: %p, this %p, next %p"),
- m_pLine ? wx_static_cast(void*, m_pLine->Prev()) : 0,
- wx_static_cast(void*, m_pLine),
- m_pLine ? wx_static_cast(void*, m_pLine->Next()) : 0 );
+ m_pLine ? static_cast<void*>(m_pLine->Prev()) : 0,
+ static_cast<void*>(m_pLine),
+ m_pLine ? static_cast<void*>(m_pLine->Next()) : 0 );
wxLogTrace( FILECONF_TRACE_MASK,
_T(" text: '%s'"),
m_pLine ? (const wxChar*)m_pLine->Text().c_str()