// open/close
bool Create(const char *szFileName, bool bOverwrite = FALSE);
bool Open(const char *szFileName, OpenMode mode = read);
- inline bool Close(); // Close is a NOP if not opened
+ bool Close(); // Close is a NOP if not opened
// assign an existing file descriptor and get it back from wxFile object
void Attach(int fd) { Close(); m_fd = fd; }
// ----------------------------------------------------------------------------
class WXDLLEXPORT wxLocale;
class WXDLLEXPORT wxMsgCatalog;
-
-// ----------------------------------------------------------------------------
-// global functions
-// ----------------------------------------------------------------------------
-extern wxLocale* WXDLLEXPORT wxGetLocale();
-inline const char* wxGetTranslation(const char *sz);
+extern WXDLLEXPORT_DATA(wxLocale *) g_pLocale;
// ============================================================================
// locale support
public:
// ctor & dtor
// the ctor has a side effect of changing current locale
- wxLocale(const char *szName, // name (for messages)
- const char *szShort = NULL, // dir prefix (for msg files)
- const char *szLocale = NULL, // locale (for setlocale)
- bool bLoadDefault = TRUE); // preload wxstd.mo?
+ wxLocale(const char *szName, // name (for messages)
+ const char *szShort = NULL, // dir prefix (for msg files)
+ const char *szLocale = NULL, // locale (for setlocale)
+ bool bLoadDefault = TRUE); // preload wxstd.mo?
// restores old locale
~wxLocale();
};
// ----------------------------------------------------------------------------
-// inline functions
+// global functions
// ----------------------------------------------------------------------------
+inline WXDLLEXPORT wxLocale* wxGetLocale() { return g_pLocale; }
// get the translation of the string in the current locale
-inline const char *wxGetTranslation(const char *sz)
+inline WXDLLEXPORT const char *wxGetTranslation(const char *sz)
{
wxLocale *pLoc = wxGetLocale();
return pLoc == NULL ? sz : pLoc->GetString(sz);
}
-// ============================================================================
-// optional features
-// ============================================================================
-
-// ----------------------------------------------------------------------------
-// wxTString: automatically translates strings to current language
-// ----------------------------------------------------------------------------
-
-// this feature should be enabled by defining WX_USE_AUTOTRANS, if it's not
-// done no automatic translation is performed
-#if USE_AUTOTRANS
- class WXDLLEXPORT wxTString
- {
- public:
- // NB: different ctors do different things!
- // does translation
- wxTString(const char *sz) : m_pcsz(wxGetTranslation(sz)) { }
- // no translation
- wxTString(const wxString& s) : m_pcsz(s) { }
-
- // NB: no copy ctor, it must be a POD so that we can pass it
- // to vararg functions (and it's not needed anyhow)
-
- // implicit conversion
- operator const char *() const { return m_pcsz; }
-
- private:
- const char *m_pcsz;
- };
-#else //!USE_AUTOTRANS
- #define wxTString wxString
-#endif //USE_AUTOTRANS
-
-#define TRANSSTRING_DEFINED
-
#endif
// __INTLH__
class WXDLLEXPORT wxLogWindow : public wxLog
{
public:
- wxLogWindow(const wxTString& strTitle, bool bShow = TRUE);
+ wxLogWindow(const char *szTitle, bool bShow = TRUE);
~wxLogWindow();
// show/hide the log window
// define wxLog<level>
// -------------------
-// NB: all these functions take `wxTString' and not
-// `const wxTString&' because according to C++ standard
-// the first argument to a vararg function can not be
-// an array, function or reference :-(
-
-// the most generic log function
-void WXDLLEXPORT wxLogGeneric(wxLogLevel level, wxTString strFormat, ...);
-
#define DECLARE_LOG_FUNCTION(level) \
- extern void WXDLLEXPORT wxLog##level(wxTString strFormat, ...)
+ extern void WXDLLEXPORT wxLog##level(const char *szFormat, ...)
+#define DECLARE_LOG_FUNCTION2(level, arg1) \
+ extern void WXDLLEXPORT wxLog##level(arg1, const char *szFormat, ...)
+
+// a generic function for all levels (level is passes as parameter)
+DECLARE_LOG_FUNCTION2(Generic, wxLogLevel level);
// one function per each level
DECLARE_LOG_FUNCTION(FatalError);
// and another one which also takes the error code (for those broken APIs
// that don't set the errno (like registry APIs in Win32))
-void WXDLLEXPORT wxLogSysError(long lErrCode, wxTString strFormat, ...);
+DECLARE_LOG_FUNCTION2(SysError, long lErrCode);
// debug functions do nothing in release mode
#ifdef __WXDEBUG__
- // NB: debug functions don't translate their arguments
- extern void WXDLLEXPORT wxLogDebug(const char *szFormat, ...);
+ DECLARE_LOG_FUNCTION(Debug);
// first king of LogTrace is uncoditional: it doesn't check the level,
// while the second one does nothing if all of level bits are not set
// in wxLog::GetActive()->GetTraceMask().
- extern void WXDLLEXPORT wxLogTrace(const char *szFormat, ...);
- extern void WXDLLEXPORT wxLogTrace(wxTraceMask mask,
- const char *szFormat, ...);
+ DECLARE_LOG_FUNCTION(Trace);
+ DECLARE_LOG_FUNCTION2(Trace, wxTraceMask mask);
#else //!debug
// these functions do nothing
inline void wxLogDebug(const char *, ...) { }
public:
// ctor & dtor
wxMenuItem(wxMenu *pParentMenu = NULL, int id = ID_SEPARATOR,
- const wxTString& strName = "", const wxTString& wxHelp = "",
+ const wxString& strName = "", const wxString& wxHelp = "",
bool bCheckable = FALSE, wxMenu *pSubMenu = NULL);
virtual ~wxMenuItem();
{
public:
// ctor & dtor
- wxOwnerDrawn(const wxTString& str = "",
- bool bCheckable = FALSE,
- bool bMenuItem = FALSE); // ## kludge for colors
+ wxOwnerDrawn(const wxString& str = "",
+ bool bCheckable = FALSE,
+ bool bMenuItem = FALSE); // @@ kludge for colors
virtual ~wxOwnerDrawn() { }
// fix appearance