716cd4107b
applet code (with changes copyright headers) as well as updates to the wxImage and dib.cpp modules to use virtual file systems so that we can load these objects from ZIP files correctly. The dib.cpp module was also extensively cleaned up (although the DIB writing code does not presently use file streams as we couldn't figure out if it was possible to write to a ZIP file stream). The code has been tested and functions correctly for both regular files and ZIP files. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@10551 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
96 lines
3.8 KiB
C++
96 lines
3.8 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 wxEchoVariable Class, Dynamically constructed
|
|
* objects representing variables in SSI #echo directive
|
|
*
|
|
****************************************************************************/
|
|
|
|
#ifndef __WX_ECHOVAR_H
|
|
#define __WX_ECHOVAR_H
|
|
|
|
/*--------------------------- Class Definitions ---------------------------*/
|
|
|
|
/****************************************************************************
|
|
REMARKS:
|
|
wxEchoVariable class Definition
|
|
****************************************************************************/
|
|
class wxEchoVariable : public wxObject {
|
|
private:
|
|
DECLARE_ABSTRACT_CLASS(wxEchoVariable);
|
|
|
|
public:
|
|
wxEchoVariable() : wxObject() {}
|
|
~wxEchoVariable() {}
|
|
|
|
/****************************************************************************
|
|
RETURNS:
|
|
The boolean value of the variable
|
|
|
|
PARAMETERS:
|
|
parms - Optional parameter string passed from parm= field in HTML
|
|
|
|
REMARKS:
|
|
To create new variables for the #echo HTML preprocessing directives
|
|
you need to derive classes from wxEchoVariable and override the
|
|
pure virtual GetValue function. However this should not be done directly
|
|
but by using the BEGIN_ECHO_VARIABLE and END_ECHO_VARIABLE macros
|
|
|
|
SEE ALSO:
|
|
wxEchoPrep, BEGIN_ECHO_VARIABLE, END_ECHO_VARIABLE
|
|
****************************************************************************/
|
|
virtual wxString GetValue(const char *parms = NULL) const = 0;
|
|
|
|
|
|
public:
|
|
// static function to retrieve any variable avaliable
|
|
static wxString GetValue(const wxString &cls, const char *parms = NULL);
|
|
};
|
|
|
|
/*--------------------------------- MACROS --------------------------------*/
|
|
|
|
#define ECHO_PARM (_BEV_parm)
|
|
#define BEGIN_ECHO_VARIABLE(name) \
|
|
class wxEchoVariable##name : public wxEchoVariable { \
|
|
private: \
|
|
DECLARE_DYNAMIC_CLASS(wxEchoVariable##name##); \
|
|
public: \
|
|
wxEchoVariable##name##() : wxEchoVariable() {} \
|
|
virtual wxString GetValue(const char *parms = NULL) const; \
|
|
}; \
|
|
IMPLEMENT_DYNAMIC_CLASS(wxEchoVariable##name##, wxEchoVariable); \
|
|
wxString wxEchoVariable##name :: GetValue(const char *parms) const { \
|
|
wxString _BEV_parm = wxString(parms);
|
|
|
|
#define END_ECHO_VARIABLE(name, returnval) \
|
|
return returnval; \
|
|
}
|
|
|
|
#define STRING_ECHO_VARIABLE(name, string) \
|
|
BEGIN_ECHO_VARIABLE(##name##); \
|
|
END_ECHO_VARIABLE(##name##, wxString(##string##))
|
|
|
|
#endif // __WX_ECHOVAR_H
|
|
|