BGE Py api, deleting properties didnt raise an error when the property wasnt there...
[blender.git] / source / gameengine / Expressions / StringValue.h
1 /*
2  * StringValue.h: interface for the CStringValue class.
3  * $Id$
4  * Copyright (c) 1996-2000 Erwin Coumans <coockie@acm.org>
5  *
6  * Permission to use, copy, modify, distribute and sell this software
7  * and its documentation for any purpose is hereby granted without fee,
8  * provided that the above copyright notice appear in all copies and
9  * that both that copyright notice and this permission notice appear
10  * in supporting documentation.  Erwin Coumans makes no
11  * representations about the suitability of this software for any
12  * purpose.  It is provided "as is" without express or implied warranty.
13  *
14  */
15
16 #ifndef __STRINGVALUE_H__
17 #define __STRINGVALUE_H__
18
19 #include "Value.h"
20
21 class CStringValue : public CPropValue  
22 {
23
24         
25         //PLUGIN_DECLARE_SERIAL(CStringValue,CValue)            
26 public:
27         /// Construction / destruction
28         CStringValue();
29         CStringValue (STR_String txt, STR_String name , AllocationTYPE alloctype = CValue::HEAPVALUE);
30
31         virtual ~CStringValue() {
32         };
33         /// CValue implementation
34         virtual bool            IsEqual(const STR_String & other);
35         virtual const STR_String &      GetText();
36         virtual float           GetNumber();
37         
38         virtual CValue*         Calc(VALUE_OPERATOR op, CValue *val);
39         virtual CValue*         CalcFinal(VALUE_DATA_TYPE dtype, VALUE_OPERATOR op, CValue *val);
40         virtual void            SetValue(CValue* newval) {      m_strString = newval->GetText(); SetModified(true);     };
41         virtual CValue*         GetReplica();
42         virtual PyObject*       ConvertValueToPython() {
43                 return PyString_FromString(m_strString.Ptr());
44         }
45
46 private:
47         // data member
48         STR_String                              m_strString;
49 };
50
51 #endif
52