Commit f584e6fc authored by Oleg.Korshul's avatar Oleg.Korshul Committed by Alexander Trofimov

menu objects

git-svn-id: svn://fileserver/activex/AVS/Sources/TeamlabOffice/trunk/ServerComponents@57687 954022d7-b5bf-4e40-9824-e11837661b57
parent c2bb86b4
...@@ -43,58 +43,68 @@ namespace NSEditorApi ...@@ -43,58 +43,68 @@ namespace NSEditorApi
LINK_PROPERTY_INT(Value) LINK_PROPERTY_INT(Value)
}; };
class CColorMods
{
private:
CColorMod* m_pMods;
int m_lCount;
public:
CColorMods()
{
m_pMods = NULL;
m_lCount = 0;
}
~CColorMods()
{
if (NULL != m_pMods)
delete [] m_pMods;
}
int GetCount() { return m_lCount; }
CColorMod* GetMods() { return m_pMods; }
void SetMods(CColorMod* pMods, int nCount)
{
m_pMods = pMods;
m_lCount = nCount;
}
};
class CAscColor class CAscColor
{ {
private: private:
int m_nType; // c_oAscColor_COLOR_TYPE js_wrapper<int> m_nType; // c_oAscColor_COLOR_TYPE
BYTE m_nR; js_wrapper<BYTE> m_nR;
BYTE m_nG; js_wrapper<BYTE> m_nG;
BYTE m_nB; js_wrapper<BYTE> m_nB;
BYTE m_nA; js_wrapper<BYTE> m_nA;
bool m_bAuto; js_wrapper<bool> m_bAuto;
int m_nValue; js_wrapper<int> m_nValue;
int m_nColorSchemeId; js_wrapper<int> m_nColorSchemeId;
CColorMod* m_pMods; js_wrapper<CColorMods> m_oMods;
public: public:
CAscColor() CAscColor()
{ {
m_nType = c_oAscColor_COLOR_TYPE_SRGB;
m_nR = 0;
m_nG = 0;
m_nB = 0;
m_nA = 255;
m_bAuto = false;
m_nValue = -1;
m_nColorSchemeId = -1;
m_pMods = NULL;
} }
~CAscColor() ~CAscColor()
{ {
if (NULL != m_pMods)
delete [] m_pMods;
} }
LINK_PROPERTY_INT(Type) LINK_PROPERTY_INT_JS(Type)
LINK_PROPERTY_BYTE(R) LINK_PROPERTY_BYTE_JS(R)
LINK_PROPERTY_BYTE(G) LINK_PROPERTY_BYTE_JS(G)
LINK_PROPERTY_BYTE(B) LINK_PROPERTY_BYTE_JS(B)
LINK_PROPERTY_BYTE(A) LINK_PROPERTY_BYTE_JS(A)
LINK_PROPERTY_BOOL(Auto) LINK_PROPERTY_BOOL_JS(Auto)
LINK_PROPERTY_INT(Value) LINK_PROPERTY_INT_JS(Value)
LINK_PROPERTY_INT(ColorSchemeId) LINK_PROPERTY_INT_JS(ColorSchemeId)
LINK_PROPERTY_OBJECT_JS(CColorMods, Mods)
// эти методы дергает лишь sdk. оно должно следить за удалением само.
CColorMod* GetMods() { return m_pMods; }
void SetMods(CColorMod* pMods) { m_pMods = pMods; }
}; };
} }
......
...@@ -729,6 +729,10 @@ namespace NSEditorApi ...@@ -729,6 +729,10 @@ namespace NSEditorApi
return m_o##memberName##; \ return m_o##memberName##; \
} \ } \
inline void put_##memberName##(const js_wrapper<##objectType##>& newVal)\ inline void put_##memberName##(const js_wrapper<##objectType##>& newVal)\
{ \
m_o##memberName## = newVal; \
} \
inline void put_##memberName##(##objectType##* newVal)\
{ \ { \
m_o##memberName## = newVal; \ m_o##memberName## = newVal; \
} }
...@@ -760,6 +764,11 @@ public: ...@@ -760,6 +764,11 @@ public:
m_pPointer = new Type( (const Type&)*(oOther.m_pPointer) ); m_pPointer = new Type( (const Type&)*(oOther.m_pPointer) );
} }
} }
js_wrapper(Type* pOther)
{
m_pPointer = pOther;
m_bIsNull = false;
}
virtual ~js_wrapper() virtual ~js_wrapper()
{ {
if (NULL != m_pPointer) if (NULL != m_pPointer)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment