Commit 16e17315 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@57666 954022d7-b5bf-4e40-9824-e11837661b57
parent 0c769b8a
...@@ -98,7 +98,7 @@ namespace NSEditorApi ...@@ -98,7 +98,7 @@ namespace NSEditorApi
}; };
} }
// common // document
namespace NSEditorApi namespace NSEditorApi
{ {
class CAscEditorPermissions class CAscEditorPermissions
...@@ -160,6 +160,72 @@ namespace NSEditorApi ...@@ -160,6 +160,72 @@ namespace NSEditorApi
LINK_PROPERTY_STRING_JS(CustomerLogo) LINK_PROPERTY_STRING_JS(CustomerLogo)
}; };
class CAscDocumentOpenProgress
{
private:
int m_nType;
int m_nFontsCount;
int m_nFontCurrent;
int m_nImagesCount;
int m_nImageCurrent;
public:
CAscDocumentOpenProgress()
{
m_nType = c_oAscAsyncAction_Open;
m_nFontsCount = 0;
m_nFontCurrent = 0;
m_nImagesCount = 0;
m_nImageCurrent = 0;
}
LINK_PROPERTY_INT(Type)
LINK_PROPERTY_INT(FontsCount)
LINK_PROPERTY_INT(FontCurrent)
LINK_PROPERTY_INT(ImagesCount)
LINK_PROPERTY_INT(ImageCurrent)
};
class CAscDocumentInfo
{
private:
js_wrapper<std::wstring> m_sId;
js_wrapper<std::wstring> m_sUrl;
js_wrapper<std::wstring> m_sTitle;
js_wrapper<std::wstring> m_sFormat;
js_wrapper<std::wstring> m_sVKey;
js_wrapper<std::wstring> m_sUserId;
js_wrapper<std::wstring> m_sUserName;
public:
CAscDocumentInfo()
{
m_sId.SetNull();
m_sUrl.SetNull();
m_sTitle.SetNull();
m_sFormat.SetNull();
m_sVKey.SetNull();
m_sUserId.SetNull();
m_sUserName.SetNull();
}
LINK_PROPERTY_STRING_JS(Id)
LINK_PROPERTY_STRING_JS(Url)
LINK_PROPERTY_STRING_JS(Title)
LINK_PROPERTY_STRING_JS(Format)
LINK_PROPERTY_STRING_JS(VKey)
LINK_PROPERTY_STRING_JS(UserId)
LINK_PROPERTY_STRING_JS(UserName)
};
}
// base
namespace NSEditorApi
{
class CAscRect class CAscRect
{ {
public: public:
...@@ -177,6 +243,42 @@ namespace NSEditorApi ...@@ -177,6 +243,42 @@ namespace NSEditorApi
Height = 0; Height = 0;
} }
}; };
class CAscPaddings
{
private:
js_wrapper<double> m_dLeft;
js_wrapper<double> m_dTop;
js_wrapper<double> m_dRight;
js_wrapper<double> m_dBottom;
public:
CAscPaddings()
{
}
LINK_PROPERTY_DOUBLE_JS(Left)
LINK_PROPERTY_DOUBLE_JS(Top)
LINK_PROPERTY_DOUBLE_JS(Right)
LINK_PROPERTY_DOUBLE_JS(Bottom)
};
class CAscPosition
{
private:
js_wrapper<double> m_dX;
js_wrapper<double> m_dY;
public:
CAscPosition()
{
m_dX.SetNull();
m_dY.SetNull();
}
LINK_PROPERTY_DOUBLE_JS(X)
LINK_PROPERTY_DOUBLE_JS(Y)
};
} }
// fill // fill
...@@ -356,203 +458,203 @@ namespace NSEditorApi ...@@ -356,203 +458,203 @@ namespace NSEditorApi
}; };
} }
// shape/image/chart props
namespace NSEditorApi namespace NSEditorApi
{ {
class CAscShapeProp
{
js_wrapper<int> m_nType;
class CAscColorScheme js_wrapper<CAscFill> m_oFill;
{ js_wrapper<CAscStroke> m_oStroke;
private:
std::wstring m_sName;
bool m_bIsDelete; js_wrapper<CAscPaddings> m_oPaddings;
CAscColorSimple* m_pColors;
int m_lColorsCount;
public: js_wrapper<bool> m_bCanFill;
CAscColorScheme() js_wrapper<bool> m_bFromChart;
public:
CAscShapeProp()
{ {
m_sName = L""; m_nType.SetNull();
m_bIsDelete = true; m_oFill.SetNull();
m_pColors = NULL; m_oStroke.SetNull();
m_lColorsCount = 0; m_oPaddings.SetNull();
m_bCanFill = true;
m_bFromChart = false;
} }
~CAscColorScheme()
LINK_PROPERTY_INT_JS(Type)
LINK_PROPERTY_BOOL_JS(CanFill)
LINK_PROPERTY_BOOL_JS(FromChart)
LINK_PROPERTY_OBJECT_JS(CAscFill, Fill)
LINK_PROPERTY_OBJECT_JS(CAscStroke, Stroke)
};
class CAscImagePosition
{ {
if (m_bIsDelete) private:
js_wrapper<int> m_nRelativeFrom;
js_wrapper<bool> m_bUseAlign;
js_wrapper<int> m_nAlign;
js_wrapper<int> m_nValue;
public:
CAscImagePosition()
{ {
if (NULL != m_pColors)
delete [] m_pColors;
m_pColors = NULL;
}
} }
void Create(const std::wstring& sName, const bool& bDelete, const int& nCountColors) LINK_PROPERTY_INT_JS(RelativeFrom)
LINK_PROPERTY_BOOL_JS(UseAlign)
LINK_PROPERTY_INT_JS(Align)
LINK_PROPERTY_INT_JS(Value)
};
class CAscImageSize
{ {
if (m_bIsDelete) private:
double m_dWidth;
double m_dHeight;
bool m_bIsCorrect;
public:
CAscImageSize()
{ {
if (NULL != m_pColors) m_dWidth = 0;
delete [] m_pColors; m_dHeight = 0;
m_pColors = NULL; m_bIsCorrect = false;
} }
m_sName = sName; LINK_PROPERTY_DOUBLE(Width)
m_bIsDelete = bDelete; LINK_PROPERTY_DOUBLE(Height)
m_lColorsCount = nCountColors; LINK_PROPERTY_BOOL(IsCorrect)
};
if (0 < m_lColorsCount) class CAscChartProperties
{ {
m_pColors = new CAscColorSimple[m_lColorsCount]; // TODO:
} };
}
LINK_PROPERTY_STRING(Name)
inline int get_ColorsCount() { return m_lColorsCount; } class CAscImageProp
inline CAscColorSimple* get_Colors() { return m_pColors; }
void put_AscColorSimple(CAscColorSimple* pColors, int lCount)
{ {
if (NULL != m_pColors) private:
delete [] m_pColors; js_wrapper<bool> m_bCanBeFlow;
m_pColors = pColors;
m_lColorsCount = lCount;
}
};
class CAscTexture js_wrapper<double> m_dWidth;
{ js_wrapper<double> m_dHeight;
private:
int m_nId;
std::wstring m_sImage;
public: js_wrapper<int> m_nWrappingStyle;
CAscTexture()
{
m_nId = 0;
m_sImage = L"";
}
LINK_PROPERTY_INT(Id) js_wrapper<CAscPaddings> m_oPaddings;
LINK_PROPERTY_STRING(Image) js_wrapper<CAscPosition> m_oPosition;
};
js_wrapper<bool> m_bAllowOverlap;
class CAscPaddings js_wrapper<CAscImagePosition> m_oPositionH;
{ js_wrapper<CAscImagePosition> m_oPositionV;
private:
js_wrapper<double> m_dLeft;
js_wrapper<double> m_dTop;
js_wrapper<double> m_dRight;
js_wrapper<double> m_dBottom;
public: js_wrapper<int> m_nInternalPosition;
CAscPaddings()
{
}
LINK_PROPERTY_DOUBLE_JS(Left) js_wrapper<std::wstring> m_sUrl;
LINK_PROPERTY_DOUBLE_JS(Top) js_wrapper<bool> m_bLocked;
LINK_PROPERTY_DOUBLE_JS(Right)
LINK_PROPERTY_DOUBLE_JS(Bottom)
};
class CAscShapeProp js_wrapper<CAscChartProperties> m_oChartProperties;
{ js_wrapper<CAscShapeProp> m_oShapeProperties;
int m_nType;
CAscFill m_oFill; js_wrapper<int> m_nChangeLevel;
CAscStroke m_oStroke; js_wrapper<bool> m_bGroup;
CAscPaddings m_oPaddings; js_wrapper<bool> m_bFromGroup;
bool m_bCanFill; js_wrapper<bool> m_bSeveralCharts;
bool m_bFromChart; js_wrapper<int> m_nSeveralChartTypes;
js_wrapper<int> m_nSeveralChartStyles;
public: js_wrapper<int> m_nVerticalTextAlign;
CAscShapeProp()
{
m_nType = 0;
m_bCanFill = true; public:
m_bFromChart = false; LINK_PROPERTY_BOOL_JS(CanBeFlow)
}
LINK_PROPERTY_INT(Type) LINK_PROPERTY_DOUBLE_JS(Width)
LINK_PROPERTY_BOOL(CanFill) LINK_PROPERTY_DOUBLE_JS(Height)
LINK_PROPERTY_BOOL(FromChart)
CAscFill& get_Fill() { return m_oFill; } LINK_PROPERTY_INT_JS(WrappingStyle)
CAscStroke& get_Stroke() { return m_oStroke; }
};
class CAscDocumentOpenProgress LINK_PROPERTY_OBJECT_JS(CAscPaddings, Paddings)
{ LINK_PROPERTY_OBJECT_JS(CAscPosition, Position)
private:
int m_nType;
int m_nFontsCount; LINK_PROPERTY_BOOL_JS(AllowOverlap)
int m_nFontCurrent;
int m_nImagesCount; LINK_PROPERTY_OBJECT_JS(CAscImagePosition, PositionH)
int m_nImageCurrent; LINK_PROPERTY_OBJECT_JS(CAscImagePosition, PositionV)
public: LINK_PROPERTY_INT_JS(InternalPosition)
CAscDocumentOpenProgress()
{
m_nType = c_oAscAsyncAction_Open;
m_nFontsCount = 0; LINK_PROPERTY_STRING_JS(Url)
m_nFontCurrent = 0; LINK_PROPERTY_BOOL_JS(Locked)
m_nImagesCount = 0; LINK_PROPERTY_OBJECT_JS(CAscChartProperties, ChartProperties)
m_nImageCurrent = 0; LINK_PROPERTY_OBJECT_JS(CAscShapeProp, ShapeProperties)
}
LINK_PROPERTY_INT(Type) LINK_PROPERTY_INT_JS(ChangeLevel)
LINK_PROPERTY_INT(FontsCount)
LINK_PROPERTY_INT(FontCurrent) LINK_PROPERTY_BOOL_JS(Group)
LINK_PROPERTY_INT(ImagesCount) LINK_PROPERTY_BOOL_JS(FromGroup)
LINK_PROPERTY_INT(ImageCurrent) LINK_PROPERTY_BOOL_JS(SeveralCharts)
};
class CAscDocumentInfo LINK_PROPERTY_INT_JS(SeveralChartTypes)
LINK_PROPERTY_INT_JS(SeveralChartStyles)
LINK_PROPERTY_INT_JS(VerticalTextAlign)
};
}
// section
namespace NSEditorApi
{ {
private: class CAscSection
std::wstring m_sId; {
std::wstring m_sUrl; private:
std::wstring m_sTitle; js_wrapper<double> m_dPageWidth;
std::wstring m_sFormat; js_wrapper<double> m_dPageHeight;
std::wstring m_sVKey;
std::wstring m_sUserId;
std::wstring m_sUserName;
public: js_wrapper<double> m_dMarginLeft;
CAscDocumentInfo() js_wrapper<double> m_dMarginRight;
js_wrapper<double> m_dMarginTop;
js_wrapper<double> m_dMarginBottom;
public:
CAscSection()
{ {
m_sId = L""; m_dPageWidth = (double)0;
m_sUrl = L""; m_dPageHeight = (double)0;
m_sTitle = L"";
m_sFormat = L""; m_dMarginLeft = (double)0;
m_sVKey = L""; m_dMarginRight = (double)0;
m_sUserId = L""; m_dMarginTop = (double)0;
m_sUserName = L""; m_dMarginBottom = (double)0;
} }
LINK_PROPERTY_STRING(Id) LINK_PROPERTY_DOUBLE_JS(PageWidth)
LINK_PROPERTY_STRING(Url) LINK_PROPERTY_DOUBLE_JS(PageHeight)
LINK_PROPERTY_STRING(Title) LINK_PROPERTY_DOUBLE_JS(MarginLeft)
LINK_PROPERTY_STRING(Format) LINK_PROPERTY_DOUBLE_JS(MarginRight)
LINK_PROPERTY_STRING(VKey) LINK_PROPERTY_DOUBLE_JS(MarginTop)
LINK_PROPERTY_STRING(UserId) LINK_PROPERTY_DOUBLE_JS(MarginBottom)
LINK_PROPERTY_STRING(UserName) };
}; }
class CAscListType // text
namespace NSEditorApi
{ {
private: class CAscListType
{
private:
int m_nType; int m_nType;
int m_nSubType; int m_nSubType;
public: public:
CAscListType() CAscListType()
{ {
...@@ -562,128 +664,87 @@ public: ...@@ -562,128 +664,87 @@ public:
LINK_PROPERTY_INT(Type) LINK_PROPERTY_INT(Type)
LINK_PROPERTY_INT(SubType) LINK_PROPERTY_INT(SubType)
}; };
}
class CAscSection // common
namespace NSEditorApi
{ {
private: class CAscColorScheme
double m_dPageWidth; {
double m_dPageHeight; private:
std::wstring m_sName;
double m_dMarginLeft; bool m_bIsDelete;
double m_dMarginRight; CAscColorSimple* m_pColors;
double m_dMarginTop; int m_lColorsCount;
double m_dMarginBottom;
public: public:
CAscSection() CAscColorScheme()
{ {
m_dPageWidth = 0; m_sName = L"";
m_dPageHeight = 0; m_bIsDelete = true;
m_pColors = NULL;
m_dMarginLeft = 0; m_lColorsCount = 0;
m_dMarginRight = 0;
m_dMarginTop = 0;
m_dMarginBottom = 0;
} }
~CAscColorScheme()
LINK_PROPERTY_DOUBLE(PageWidth)
LINK_PROPERTY_DOUBLE(PageHeight)
LINK_PROPERTY_DOUBLE(MarginLeft)
LINK_PROPERTY_DOUBLE(MarginRight)
LINK_PROPERTY_DOUBLE(MarginTop)
LINK_PROPERTY_DOUBLE(MarginBottom)
};
class CAscImagePosition
{
private:
int m_nRelativeFrom;
bool m_bUseAlign;
int m_nAlign;
int m_nValue;
public:
CAscImagePosition()
{ {
m_nRelativeFrom = 0; if (m_bIsDelete)
m_bUseAlign = false; {
m_nAlign = 0; if (NULL != m_pColors)
m_nValue = 0; delete [] m_pColors;
m_pColors = NULL;
}
} }
LINK_PROPERTY_INT(RelativeFrom) void Create(const std::wstring& sName, const bool& bDelete, const int& nCountColors)
LINK_PROPERTY_BOOL(UseAlign)
LINK_PROPERTY_INT(Align)
LINK_PROPERTY_INT(Value)
};
class CAscPosition
{
private:
double m_dX;
double m_dY;
public:
CAscPosition()
{ {
m_dX = 0; if (m_bIsDelete)
m_dY = 0; {
if (NULL != m_pColors)
delete [] m_pColors;
m_pColors = NULL;
} }
LINK_PROPERTY_DOUBLE(X) m_sName = sName;
LINK_PROPERTY_DOUBLE(Y) m_bIsDelete = bDelete;
}; m_lColorsCount = nCountColors;
class CAscImageSize
{
private:
double m_dWidth;
double m_dHeight;
bool m_bIsCorrect;
public: if (0 < m_lColorsCount)
CAscImageSize()
{ {
m_dWidth = 0; m_pColors = new CAscColorSimple[m_lColorsCount];
m_dHeight = 0; }
m_bIsCorrect = false;
} }
LINK_PROPERTY_DOUBLE(Width) LINK_PROPERTY_STRING(Name)
LINK_PROPERTY_DOUBLE(Height)
LINK_PROPERTY_BOOL(IsCorrect)
};
class CAscImageProp
{
private:
bool m_bCanBeFlow;
double m_dWidth;
double m_dHeight;
int m_nWrappingStyle;
CAscPaddings m_oPaddings;
CAscPosition m_oPosition;
bool m_bAllowOverlap;
CAscImagePosition m_oPositionH;
CAscImagePosition m_oPositionV;
int m_nInternalPosition;
std::wstring m_sUrl; inline int get_ColorsCount() { return m_lColorsCount; }
bool m_bLocked; inline CAscColorSimple* get_Colors() { return m_pColors; }
void put_AscColorSimple(CAscColorSimple* pColors, int lCount)
{
if (NULL != m_pColors)
delete [] m_pColors;
m_pColors = pColors;
m_lColorsCount = lCount;
}
};
int m_nChangeLevel; class CAscTexture
bool m_bGroup; {
private:
int m_nId;
std::wstring m_sImage;
// TODO: public:
}; CAscTexture()
{
m_nId = 0;
m_sImage = L"";
}
LINK_PROPERTY_INT(Id)
LINK_PROPERTY_STRING(Image)
};
} }
#endif //_BUILD_EDITOR_API_CROSSPLATFORM_H_ #endif //_BUILD_EDITOR_API_CROSSPLATFORM_H_
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