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 (const weld::TreeIter &rEntry)
 
void RepeatElementSelected (const weld::TreeIter &rEntry)
 
void AttributeSelected (const weld::TreeIter &rEntry)
 
void SetNonLinkable ()
 
void SetSingleLinkable ()
 
void SetRangeLinkable ()
 
void SelectAllChildEntries (const 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 36 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 ( const weld::TreeIter rEntry)
private
void ScXMLSourceDlg::CancelPressed ( )
private

Definition at line 546 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 ( const 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 399 of file xmlsourcedlg.cxx.

References 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 ( const weld::TreeIter rEntry)
private
void ScXMLSourceDlg::SelectAllChildEntries ( const weld::TreeIter rEntry)
private

Definition at line 387 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 382 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 377 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 62 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

CustomCompare ScXMLSourceDlg::maCustomCompare
private

Definition at line 60 of file xmlsourcedlg.hxx.

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

Definition at line 63 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

OUString ScXMLSourceDlg::maSrcPath
private

Definition at line 38 of file xmlsourcedlg.hxx.

Referenced by SelectSourceFile().

ScOrcusXMLTreeParam ScXMLSourceDlg::maXMLParam
private

Definition at line 40 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and ScXMLSourceDlg().

bool ScXMLSourceDlg::mbDlgLostFocus
private

Definition at line 45 of file xmlsourcedlg.hxx.

Referenced by Deactivate(), and SetActive().

formula::RefEdit* ScXMLSourceDlg::mpActiveEdit
private

Definition at line 47 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 42 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and OkPressed().

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

Definition at line 58 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

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

Definition at line 57 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and ScXMLSourceDlg().

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

Definition at line 48 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

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

Definition at line 41 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and TreeItemSelected().

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

Definition at line 49 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 51 of file xmlsourcedlg.hxx.

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

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

Definition at line 55 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

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

Definition at line 54 of file xmlsourcedlg.hxx.

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


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