LibreOffice Module sc (master)  1
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ScXMLSourceDlg Class Reference

#include <xmlsourcedlg.hxx>

Inheritance diagram for ScXMLSourceDlg:
[legend]
Collaboration diagram for ScXMLSourceDlg:
[legend]

Public Member Functions

 ScXMLSourceDlg (SfxBindings *pB, SfxChildWindow *pCW, weld::Window *pParent, ScDocument *pDoc)
 
virtual ~ScXMLSourceDlg () override
 
virtual bool IsRefInputMode () const override
 
virtual void SetReference (const ScRange &rRange, ScDocument &rDoc) override
 
virtual void Deactivate () override
 
virtual void SetActive () override
 
virtual void Close () override
 
- Public Member Functions inherited from ScAnyRefDlgController
 ScAnyRefDlgController (SfxBindings *rt1, SfxChildWindow *rt2, weld::Window *rt3, const OUString &rt4, const OString &rt5)
 
- Public Member Functions inherited from ScRefHdlrControllerImpl< SfxModelessDialogController >
 ScRefHdlrControllerImpl (weld::Window *pParent, const OUString &rUIXMLDescription, const OString &rID, const SfxItemSet *pArg, SfxBindings *pB)
 
 ScRefHdlrControllerImpl (SfxBindings *pB, SfxChildWindow *pCW, weld::Window *pParent, const OUString &rUIXMLDescription, const OString &rID)
 
- Public Member Functions inherited from SfxModelessDialogController
virtual ~SfxModelessDialogController () override
 
void Initialize (SfxChildWinInfo const *pInfo)
 
bool IsClosing () const
 
virtual void EndDialog () override
 
virtual void Activate () override
 
virtual void ChildWinDispose () override
 
virtual void FillInfo (SfxChildWinInfo &) const
 
SfxBindingsGetBindings () const
 
- Public Member Functions inherited from SfxDialogController
 SfxDialogController (weld::Widget *pParent, const OUString &rUIFile, const OString &rDialogId)
 
- Public Member Functions inherited from ScRefHandler
 ScRefHandler (SfxDialogController &rController, SfxBindings *pB, bool bBindRef)
 
virtual ~ScRefHandler () COVERITY_NOEXCEPT_FALSE override
 
virtual void AddRefEntry () override
 
virtual bool IsTableLocked () const override
 
virtual bool IsDocAllowed (SfxObjectShell *pDocSh) const override
 
virtual void ShowReference (const OUString &rStr) override
 
virtual void HideReference (bool bDoneRefMode=true) override
 
virtual void ToggleCollapsed (formula::RefEdit *pEdit, formula::RefButton *pButton) override
 
virtual void ReleaseFocus (formula::RefEdit *pEdit) override
 
virtual void ViewShellChanged () override
 
void SwitchToDocument ()
 
bool EnterRefMode ()
 
bool LeaveRefMode ()
 
bool CanInputDone (bool bForced)
 
- Public Member Functions inherited from IAnyRefDialog
virtual ~IAnyRefDialog () COVERITY_NOEXCEPT_FALSE
 

Private Member Functions

void SelectSourceFile ()
 
void LoadSourceFileStructure (const OUString &rPath)
 
void TreeItemSelected ()
 
void DefaultElementSelected (weld::TreeIter &rEntry)
 
void RepeatElementSelected (weld::TreeIter &rEntry)
 
void AttributeSelected (weld::TreeIter &rEntry)
 
void SetNonLinkable ()
 
void SetSingleLinkable ()
 
void SetRangeLinkable ()
 
void SelectAllChildEntries (weld::TreeIter &rEntry)
 
bool IsParentDirty (const weld::TreeIter *pEntry) const
 Check if any of its parents is linked or repeated. More...
 
bool IsChildrenDirty (const weld::TreeIter *pEntry) const
 
void OkPressed ()
 
void CancelPressed ()
 
void RefEditModified ()
 
 DECL_LINK (BtnPressedHdl, weld::Button &, void)
 
 DECL_LINK (TreeItemSelectHdl, weld::TreeView &, void)
 
 DECL_LINK (RefModifiedHdl, formula::RefEdit &, void)
 

Private Attributes

OUString maSrcPath
 
ScOrcusXMLTreeParam maXMLParam
 
std::unique_ptr< weld::TreeItermxCurRefEntry
 
std::unique_ptr< ScOrcusXMLContextmpXMLContext
 
ScDocumentmpDoc
 
bool mbDlgLostFocus
 
formula::RefEditmpActiveEdit
 
std::unique_ptr< weld::ButtonmxBtnSelectSource
 
std::unique_ptr< weld::LabelmxFtSourceFile
 
std::unique_ptr< weld::ContainermxMapGrid
 
std::unique_ptr< weld::TreeViewmxLbTree
 
std::unique_ptr< formula::RefEditmxRefEdit
 
std::unique_ptr< formula::RefButtonmxRefBtn
 
std::unique_ptr< weld::ButtonmxBtnOk
 
std::unique_ptr< weld::ButtonmxBtnCancel
 
CustomCompare maCustomCompare
 
std::set< std::unique_ptr< weld::TreeIter >, CustomComparemaCellLinks
 
std::set< std::unique_ptr< weld::TreeIter >, CustomComparemaRangeLinks
 

Additional Inherited Members

- Public Types inherited from ScRefHdlrControllerImpl< SfxModelessDialogController >
enum  
 
- Static Public Member Functions inherited from ScRefHandler
static bool CanInputStart (const formula::RefEdit *pEdit)
 
- Protected Member Functions inherited from SfxModelessDialogController
 SfxModelessDialogController (SfxBindings *, SfxChildWindow *pChildWin, weld::Window *pParent, const OUString &rUIXMLDescription, const OString &rID)
 
- Protected Member Functions inherited from ScRefHandler
void disposeRefHandler ()
 
bool DoClose (sal_uInt16 nId)
 
void SetDispatcherLock (bool bLock)
 
virtual void RefInputStart (formula::RefEdit *pEdit, formula::RefButton *pButton=nullptr) override
 
virtual void RefInputDone (bool bForced=false) override
 
bool ParseWithNames (ScRangeList &rRanges, const OUString &rStr, const ScDocument &pDoc)
 
- Protected Member Functions inherited from formula::IControlReferenceHandler
 ~IControlReferenceHandler ()
 

Detailed Description

Definition at line 38 of file xmlsourcedlg.hxx.

Constructor & Destructor Documentation

ScXMLSourceDlg::ScXMLSourceDlg ( SfxBindings pB,
SfxChildWindow pCW,
weld::Window pParent,
ScDocument pDoc 
)
ScXMLSourceDlg::~ScXMLSourceDlg ( )
overridevirtual

Definition at line 111 of file xmlsourcedlg.cxx.

Member Function Documentation

void ScXMLSourceDlg::AttributeSelected ( weld::TreeIter rEntry)
private
void ScXMLSourceDlg::CancelPressed ( )
private

Definition at line 551 of file xmlsourcedlg.cxx.

References m_xDialog, and RET_CANCEL.

void ScXMLSourceDlg::Close ( )
overridevirtual

Reimplemented from SfxModelessDialogController.

Definition at line 157 of file xmlsourcedlg.cxx.

References ScRefHandler::DoClose().

void ScXMLSourceDlg::Deactivate ( )
overridevirtual

Reimplemented from SfxModelessDialogController.

Definition at line 134 of file xmlsourcedlg.cxx.

References mbDlgLostFocus.

ScXMLSourceDlg::DECL_LINK ( BtnPressedHdl  ,
weld::Button ,
void   
)
private
ScXMLSourceDlg::DECL_LINK ( TreeItemSelectHdl  ,
weld::TreeView ,
void   
)
private
ScXMLSourceDlg::DECL_LINK ( RefModifiedHdl  ,
formula::RefEdit ,
void   
)
private
void ScXMLSourceDlg::DefaultElementSelected ( weld::TreeIter rEntry)
private
bool ScXMLSourceDlg::IsChildrenDirty ( const weld::TreeIter pEntry) const
private
bool ScXMLSourceDlg::IsParentDirty ( const weld::TreeIter pEntry) const
private

Check if any of its parents is linked or repeated.

The passed entry is not checked; its parent is the first one to be checked, then all its parents get checked all the way to the root.

Definition at line 404 of file xmlsourcedlg.cxx.

References assert(), ScOrcusXMLTreeParam::getUserData(), ScAddress::IsValid(), ScOrcusXMLTreeParam::EntryData::maLinkedPos, and mxLbTree.

Referenced by AttributeSelected(), DefaultElementSelected(), and RepeatElementSelected().

bool ScXMLSourceDlg::IsRefInputMode ( ) const
overridevirtual

Reimplemented from ScRefHandler.

Definition at line 115 of file xmlsourcedlg.cxx.

References weld::Widget::get_sensitive(), formula::RefEdit::GetWidget(), and mpActiveEdit.

void ScXMLSourceDlg::LoadSourceFileStructure ( const OUString &  rPath)
private
void ScXMLSourceDlg::OkPressed ( )
private
void ScXMLSourceDlg::RefEditModified ( )
private
void ScXMLSourceDlg::RepeatElementSelected ( weld::TreeIter rEntry)
private
void ScXMLSourceDlg::SelectAllChildEntries ( weld::TreeIter rEntry)
private

Definition at line 392 of file xmlsourcedlg.cxx.

References mxLbTree.

Referenced by RepeatElementSelected().

void ScXMLSourceDlg::SelectSourceFile ( )
private
void ScXMLSourceDlg::SetActive ( )
overridevirtual
void ScXMLSourceDlg::SetNonLinkable ( )
private
void ScXMLSourceDlg::SetRangeLinkable ( )
private

Definition at line 387 of file xmlsourcedlg.cxx.

References mxMapGrid.

Referenced by RepeatElementSelected().

void ScXMLSourceDlg::SetReference ( const ScRange rRange,
ScDocument rDoc 
)
overridevirtual
void ScXMLSourceDlg::SetSingleLinkable ( )
private

Definition at line 382 of file xmlsourcedlg.cxx.

References mxMapGrid.

Referenced by AttributeSelected(), and DefaultElementSelected().

void ScXMLSourceDlg::TreeItemSelected ( )
private

Member Data Documentation

std::set<std::unique_ptr<weld::TreeIter>, CustomCompare> ScXMLSourceDlg::maCellLinks
private

Definition at line 64 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

CustomCompare ScXMLSourceDlg::maCustomCompare
private

Definition at line 62 of file xmlsourcedlg.hxx.

std::set<std::unique_ptr<weld::TreeIter>, CustomCompare> ScXMLSourceDlg::maRangeLinks
private

Definition at line 65 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

OUString ScXMLSourceDlg::maSrcPath
private

Definition at line 40 of file xmlsourcedlg.hxx.

Referenced by SelectSourceFile().

ScOrcusXMLTreeParam ScXMLSourceDlg::maXMLParam
private

Definition at line 42 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and ScXMLSourceDlg().

bool ScXMLSourceDlg::mbDlgLostFocus
private

Definition at line 47 of file xmlsourcedlg.hxx.

Referenced by Deactivate(), and SetActive().

formula::RefEdit* ScXMLSourceDlg::mpActiveEdit
private

Definition at line 49 of file xmlsourcedlg.hxx.

Referenced by IsRefInputMode(), ScXMLSourceDlg(), SetActive(), and SetReference().

ScDocument* ScXMLSourceDlg::mpDoc
private
std::unique_ptr<ScOrcusXMLContext> ScXMLSourceDlg::mpXMLContext
private

Definition at line 44 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and OkPressed().

std::unique_ptr<weld::Button> ScXMLSourceDlg::mxBtnCancel
private

Definition at line 60 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

std::unique_ptr<weld::Button> ScXMLSourceDlg::mxBtnOk
private

Definition at line 59 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and ScXMLSourceDlg().

std::unique_ptr<weld::Button> ScXMLSourceDlg::mxBtnSelectSource
private

Definition at line 50 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

std::unique_ptr<weld::TreeIter> ScXMLSourceDlg::mxCurRefEntry
private

Definition at line 43 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and TreeItemSelected().

std::unique_ptr<weld::Label> ScXMLSourceDlg::mxFtSourceFile
private

Definition at line 51 of file xmlsourcedlg.hxx.

Referenced by SelectSourceFile().

std::unique_ptr<weld::TreeView> ScXMLSourceDlg::mxLbTree
private
std::unique_ptr<weld::Container> ScXMLSourceDlg::mxMapGrid
private

Definition at line 53 of file xmlsourcedlg.hxx.

Referenced by SetNonLinkable(), SetRangeLinkable(), and SetSingleLinkable().

std::unique_ptr<formula::RefButton> ScXMLSourceDlg::mxRefBtn
private

Definition at line 57 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

std::unique_ptr<formula::RefEdit> ScXMLSourceDlg::mxRefEdit
private

Definition at line 56 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), ScXMLSourceDlg(), and TreeItemSelected().


The documentation for this class was generated from the following files: