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