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
LINK_PROPERTY_INT(Value)
};
class CAscColor
class CColorMods
{
private:
int m_nType; // c_oAscColor_COLOR_TYPE
BYTE m_nR;
BYTE m_nG;
BYTE m_nB;
BYTE m_nA;
CColorMod* m_pMods;
int m_lCount;
bool m_bAuto;
public:
CColorMods()
{
m_pMods = NULL;
m_lCount = 0;
}
~CColorMods()
{
if (NULL != m_pMods)
delete [] m_pMods;
}
int m_nValue;
int m_nColorSchemeId;
int GetCount() { return m_lCount; }
CColorMod* GetMods() { return m_pMods; }
CColorMod* m_pMods;
void SetMods(CColorMod* pMods, int nCount)
{
m_pMods = pMods;
m_lCount = nCount;
}
};
public:
CAscColor()
class CAscColor
{
m_nType = c_oAscColor_COLOR_TYPE_SRGB;
private:
js_wrapper<int> m_nType; // c_oAscColor_COLOR_TYPE
m_nR = 0;
m_nG = 0;
m_nB = 0;
m_nA = 255;
js_wrapper<BYTE> m_nR;
js_wrapper<BYTE> m_nG;
js_wrapper<BYTE> m_nB;
js_wrapper<BYTE> m_nA;
m_bAuto = false;
js_wrapper<bool> m_bAuto;
m_nValue = -1;
m_nColorSchemeId = -1;
js_wrapper<int> m_nValue;
js_wrapper<int> m_nColorSchemeId;
m_pMods = NULL;
js_wrapper<CColorMods> m_oMods;
public:
CAscColor()
{
}
~CAscColor()
{
if (NULL != m_pMods)
delete [] m_pMods;
}
LINK_PROPERTY_INT(Type)
LINK_PROPERTY_BYTE(R)
LINK_PROPERTY_BYTE(G)
LINK_PROPERTY_BYTE(B)
LINK_PROPERTY_BYTE(A)
LINK_PROPERTY_BOOL(Auto)
LINK_PROPERTY_INT(Value)
LINK_PROPERTY_INT(ColorSchemeId)
// эти методы дергает лишь sdk. оно должно следить за удалением само.
CColorMod* GetMods() { return m_pMods; }
void SetMods(CColorMod* pMods) { m_pMods = pMods; }
LINK_PROPERTY_INT_JS(Type)
LINK_PROPERTY_BYTE_JS(R)
LINK_PROPERTY_BYTE_JS(G)
LINK_PROPERTY_BYTE_JS(B)
LINK_PROPERTY_BYTE_JS(A)
LINK_PROPERTY_BOOL_JS(Auto)
LINK_PROPERTY_INT_JS(Value)
LINK_PROPERTY_INT_JS(ColorSchemeId)
LINK_PROPERTY_OBJECT_JS(CColorMods, Mods)
};
}
......
......@@ -729,6 +729,10 @@ namespace NSEditorApi
return m_o##memberName##; \
} \
inline void put_##memberName##(const js_wrapper<##objectType##>& newVal)\
{ \
m_o##memberName## = newVal; \
} \
inline void put_##memberName##(##objectType##* newVal)\
{ \
m_o##memberName## = newVal; \
}
......@@ -760,6 +764,11 @@ public:
m_pPointer = new Type( (const Type&)*(oOther.m_pPointer) );
}
}
js_wrapper(Type* pOther)
{
m_pPointer = pOther;
m_bIsNull = false;
}
virtual ~js_wrapper()
{
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