X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c693edf3bc9539378a7ac56d90d41d89c7dc7579..6d89ddefa968e2449d10e07a261d070b3fc180ab:/include/wx/wxexpr.h?ds=sidebyside diff --git a/include/wx/wxexpr.h b/include/wx/wxexpr.h index adaaa4c7f5..304aeb09c9 100644 --- a/include/wx/wxexpr.h +++ b/include/wx/wxexpr.h @@ -12,11 +12,11 @@ #ifndef _WX_WXEXPRH__ #define _WX_WXEXPRH__ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(__APPLE__) #pragma interface "wxexpr.h" #endif -#include +#if wxUSE_PROLOGIO #include "wx/defs.h" #include "wx/string.h" @@ -26,6 +26,8 @@ #include "wx/expr.h" +#include + // Compatibility #define PrologExpr wxExpr #define PrologDatabase wxExprDatabase @@ -50,9 +52,6 @@ typedef bool (*wxExprErrorHandler) (int errorType, char *msg); WXDLLEXPORT_DATA(extern wxExprErrorHandler) currentwxExprErrorHandler; -extern "C" WXDLLEXPORT_DATA(FILE*) yyin; - -extern "C" WXDLLEXPORT int yyparse(void); typedef enum { wxExprNull, @@ -83,7 +82,7 @@ class WXDLLEXPORT wxExpr wxExpr(wxExprType the_type, wxChar *word_or_string, bool allocate); wxExpr(const wxString& functor); // Assume this is a new clause - pass functor - wxExpr(wxExprType the_type, const wxString& word_or_string = ""); + wxExpr(wxExprType the_type, const wxString& word_or_string = wxT("")); wxExpr(long the_integer); wxExpr(double the_real); wxExpr(wxList *the_list); @@ -112,7 +111,7 @@ class WXDLLEXPORT wxExpr return value.word; else if (type == wxExprString) return wxString(value.string); - else return wxString(_T("")); + else return wxString(wxT("")); } inline wxString StringValue(void) const { @@ -120,7 +119,7 @@ class WXDLLEXPORT wxExpr return wxString(value.string); else if (type == wxExprWord) return wxString(value.word); - else return wxString(_T("")); + else return wxString(wxT("")); } // Get nth arg of clause (starting from 1) @@ -191,6 +190,8 @@ class WXDLLEXPORT wxExpr // so we can index into the wxExpr database and fish out the pointer. inline void SetClientData(wxObject *data) { client_data = data; } inline wxObject *GetClientData(void) const { return client_data; } + + DECLARE_NO_COPY_CLASS(wxExpr) }; class WXDLLEXPORT wxExprDatabase: public wxList @@ -245,11 +246,15 @@ public: // Compatibility inline bool ReadProlog(wxChar *filename) { return Read(wxString(filename)); } - inline bool ReadPrologFromString(char *buffer) { return ReadFromString(wxString(buffer)); } + inline bool ReadPrologFromString(char *buffer) + { + return ReadFromString(wxString(buffer, wxConvLibc)); + } inline void WriteProlog(FILE* stream) { Write(stream); } private: DECLARE_DYNAMIC_CLASS(wxExprDatabase) + DECLARE_NO_COPY_CLASS(wxExprDatabase) }; // Function call-style interface - some more convenience wrappers/unwrappers @@ -272,5 +277,7 @@ WXDLLEXPORT_DATA(extern wxExprDatabase*) thewxExprDatabase; // YACC/LEX can leave memory lying around... extern "C" WXDLLEXPORT int wxExprCleanUp(); -#endif +#endif // wxUSE_PROLOGIO + +#endif // _WX_WXEXPRH__