d699f48ba3
the Watcom and other compilers. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@11217 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
95 lines
3.7 KiB
C++
95 lines
3.7 KiB
C++
/****************************************************************************
|
|
*
|
|
* wxWindows HTML Applet Package
|
|
*
|
|
* Copyright (C) 1991-2001 SciTech Software, Inc.
|
|
* All rights reserved.
|
|
*
|
|
* ========================================================================
|
|
*
|
|
* The contents of this file are subject to the wxWindows License
|
|
* Version 3.0 (the "License"); you may not use this file except in
|
|
* compliance with the License. You may obtain a copy of the License at
|
|
* http://www.wxwindows.org/licence3.txt
|
|
*
|
|
* Software distributed under the License is distributed on an
|
|
* "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
|
* implied. See the License for the specific language governing
|
|
* rights and limitations under the License.
|
|
*
|
|
* ========================================================================
|
|
*
|
|
* Language: ANSI C++
|
|
* Environment: Any
|
|
*
|
|
* Description: Header file for wxIfElseVariable Class, Dynamically constructed
|
|
* objects representing variables in SSI #if, #else and #endif directives
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __WX_IFELSEVAR_H
|
|
#define __WX_IFELSEVAR_H
|
|
|
|
/*--------------------------- Class Definitions ---------------------------*/
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
This class is used to create variables for the HTML preprocessor #if, #else,
|
|
and #endif directives.
|
|
|
|
SEE ALSO:
|
|
wxIfElsePrep
|
|
****************************************************************************/
|
|
class wxIfElseVariable : public wxObject {
|
|
private:
|
|
DECLARE_ABSTRACT_CLASS(wxIfElseVariable);
|
|
|
|
public:
|
|
wxIfElseVariable() : wxObject() {}
|
|
~wxIfElseVariable() {}
|
|
|
|
/****************************************************************************
|
|
RETURNS:
|
|
The boolean value of the variable
|
|
|
|
REMARKS:
|
|
To create new variables for the #if, #else and #endif HTML preprocessing
|
|
blocks you need to derive classes from wxIfElseVariable and override the
|
|
pure virtual GetValue function. However this should not be done directly
|
|
but by using the BEGIN_IFELSE_VARIABLE and END_IFELSE_VARIABLE macros
|
|
|
|
SEE ALSO:
|
|
wxIfElsePrep, BEGIN_IFELSE_VARIABLE, END_IFELSE_VARIABLE
|
|
****************************************************************************/
|
|
virtual bool GetValue() const = 0;
|
|
|
|
|
|
public:
|
|
// static function to retrieve any variable avaliable
|
|
static bool FindValue(const wxString &cls);
|
|
};
|
|
|
|
/*--------------------------------- MACROS --------------------------------*/
|
|
|
|
#define BEGIN_IFELSE_VARIABLE(name) \
|
|
class wxIfElseVariable##name : public wxIfElseVariable { \
|
|
private: \
|
|
DECLARE_DYNAMIC_CLASS(wxIfElseVariable##name##); \
|
|
public: \
|
|
wxIfElseVariable##name##() : wxIfElseVariable() {} \
|
|
virtual bool GetValue() const; \
|
|
}; \
|
|
IMPLEMENT_DYNAMIC_CLASS(wxIfElseVariable##name##, wxIfElseVariable); \
|
|
bool wxIfElseVariable##name :: GetValue() const {
|
|
|
|
#define END_IFELSE_VARIABLE(returnval) \
|
|
return returnval; \
|
|
}
|
|
|
|
#define IFELSE_VARIABLE(name, state) \
|
|
BEGIN_IFELSE_VARIABLE(##name##); \
|
|
END_IFELSE_VARIABLE(bool (state))
|
|
|
|
#endif // __WX_IFELSEVAR_H
|
|
|