Kaydet (Commit) 82ed9aa0 authored tarafından Tor Lillqvist's avatar Tor Lillqvist

Add WordBasic.FileClose()

Change-Id: Ifc48e5fbcc212f0e80cf6877e2781910e38e5e54
üst be3dce73
...@@ -18,6 +18,7 @@ interface XWordBasic ...@@ -18,6 +18,7 @@ interface XWordBasic
void FileOpen( [in] string Name, [in] any ConfirmConversions, [in] any ReadOnly, [in] any AddToMru, [in] any PasswordDoc, [in] any PasswordDot, [in] any Revert, [in] any WritePasswordDoc, [in] any WritePasswordDot ); void FileOpen( [in] string Name, [in] any ConfirmConversions, [in] any ReadOnly, [in] any AddToMru, [in] any PasswordDoc, [in] any PasswordDot, [in] any Revert, [in] any WritePasswordDoc, [in] any WritePasswordDot );
void FileSave(); void FileSave();
void FileClose( [in] any Save );
void ToolsOptionsView( [in] any DraftFont, [in] any WrapToWindow, [in] any PicturePlaceHolders, [in] any FieldCodes, [in] any BookMarks, [in] any FieldShading, [in] any StatusBar, [in] any HScroll, [in] any VScroll, [in] any StyleAreaWidth, [in] any Tabs, [in] any Spaces, [in] any Paras, [in] any Hyphens, [in] any Hidden, [in] any ShowAll, [in] any Drawings, [in] any Anchors, [in] any TextBoundaries, [in] any VRuler, [in] any Highlight ); void ToolsOptionsView( [in] any DraftFont, [in] any WrapToWindow, [in] any PicturePlaceHolders, [in] any FieldCodes, [in] any BookMarks, [in] any FieldShading, [in] any StatusBar, [in] any HScroll, [in] any VScroll, [in] any StyleAreaWidth, [in] any Tabs, [in] any Spaces, [in] any Paras, [in] any Hyphens, [in] any Hidden, [in] any ShowAll, [in] any Drawings, [in] any Anchors, [in] any TextBoundaries, [in] any VRuler, [in] any Highlight );
string WindowName(); string WindowName();
boolean ExistingBookmark( [in] string Name ); boolean ExistingBookmark( [in] string Name );
......
...@@ -77,6 +77,7 @@ public: ...@@ -77,6 +77,7 @@ public:
virtual void SAL_CALL FileOpen( const OUString& Name, const uno::Any& ConfirmConversions, const uno::Any& ReadOnly, const uno::Any& AddToMru, const uno::Any& PasswordDoc, const uno::Any& PasswordDot, const uno::Any& Revert, const uno::Any& WritePasswordDoc, const uno::Any& WritePasswordDot ) override; virtual void SAL_CALL FileOpen( const OUString& Name, const uno::Any& ConfirmConversions, const uno::Any& ReadOnly, const uno::Any& AddToMru, const uno::Any& PasswordDoc, const uno::Any& PasswordDot, const uno::Any& Revert, const uno::Any& WritePasswordDoc, const uno::Any& WritePasswordDot ) override;
virtual void SAL_CALL FileSave() override; virtual void SAL_CALL FileSave() override;
virtual void SAL_CALL FileClose( const css::uno::Any& Save ) override;
virtual void SAL_CALL ToolsOptionsView( const css::uno::Any& DraftFont, virtual void SAL_CALL ToolsOptionsView( const css::uno::Any& DraftFont,
const css::uno::Any& WrapToWindow, const css::uno::Any& WrapToWindow,
const css::uno::Any& PicturePlaceHolders, const css::uno::Any& PicturePlaceHolders,
...@@ -538,6 +539,25 @@ SwWordBasic::FileSave() ...@@ -538,6 +539,25 @@ SwWordBasic::FileSave()
dispatchRequests(xModel,".uno:Save"); dispatchRequests(xModel,".uno:Save");
} }
void SAL_CALL
SwWordBasic::FileClose( const css::uno::Any& Save )
{
uno::Reference< frame::XModel > xModel( mpApp->getCurrentDocument(), uno::UNO_SET_THROW );
bool bSave = false;
if (Save.hasValue() && (Save >>= bSave) && bSave)
FileSave();
// FIXME: Here I would much prefer to call VbaDocumentBase::Close() but not sure how to get at
// the VbaDocumentBase of the current document. (Probably it is easy and I haven't looked hard
// enough.)
//
// FIXME: Error handling. If there is no current document, return some kind of error? But for
// now, just ignore errors. This code is written to work for a very specific customer use case
// ayway, not for an arbitrary sequence of COM calls to the "VBA" API.
dispatchRequests(xModel,".uno:CloseDoc");
}
void SAL_CALL void SAL_CALL
SwWordBasic::ToolsOptionsView( const css::uno::Any& DraftFont, SwWordBasic::ToolsOptionsView( const css::uno::Any& DraftFont,
const css::uno::Any& WrapToWindow, const css::uno::Any& WrapToWindow,
......
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