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 OUString &rt5)
 
- Public Member Functions inherited from ScRefHdlrControllerImpl< SfxModelessDialogController >
 ScRefHdlrControllerImpl (weld::Window *pParent, const OUString &rUIXMLDescription, const OUString &rID, const SfxItemSet *pArg, SfxBindings *pB)
 
 ScRefHdlrControllerImpl (SfxBindings *pB, SfxChildWindow *pCW, weld::Window *pParent, const OUString &rUIXMLDescription, const OUString &rID)
 
- Public Member Functions inherited from SfxModelessDialogController
virtual ~SfxModelessDialogController () override
 
void Initialize (SfxChildWinInfo const *pInfo)
 
bool IsClosing () const
 
virtual void Close () override
 
virtual void EndDialog (int nResponse) override
 
virtual void Activate () override
 
virtual void Deactivate () 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 OUString &rDialogId)
 
virtual void Activate ()
 
virtual void Deactivate ()
 
virtual void ChildWinDispose ()
 
virtual void Close ()
 
virtual void EndDialog (int nResponse)
 
virtual bool CloseOnHide () const
 
- Public Member Functions inherited from ScRefHandler
 ScRefHandler (SfxDialogController &rController, SfxBindings *pB, bool bBindRef)
 
virtual ~ScRefHandler () COVERITY_NOEXCEPT_FALSE override
 
virtual void SetReference (const ScRange &rRef, ScDocument &rDoc) override=0
 
virtual void AddRefEntry () override
 
virtual bool IsRefInputMode () const 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 ()
 
virtual void SetActive () override=0
 
bool EnterRefMode ()
 
bool LeaveRefMode ()
 
bool CanInputDone (bool bForced)
 

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 OUString &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, std::u16string_view rStr, const ScDocument &pDoc)
 

Detailed Description

Definition at line 36 of file xmlsourcedlg.hxx.

Constructor & Destructor Documentation

◆ ScXMLSourceDlg()

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

◆ ~ScXMLSourceDlg()

ScXMLSourceDlg::~ScXMLSourceDlg ( )
overridevirtual

Definition at line 111 of file xmlsourcedlg.cxx.

Member Function Documentation

◆ AttributeSelected()

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

◆ CancelPressed()

void ScXMLSourceDlg::CancelPressed ( )
private

Definition at line 548 of file xmlsourcedlg.cxx.

References m_xDialog, and RET_CANCEL.

◆ Close()

void ScXMLSourceDlg::Close ( )
overridevirtual

Reimplemented from SfxModelessDialogController.

Definition at line 157 of file xmlsourcedlg.cxx.

References ScRefHandler::DoClose().

◆ Deactivate()

void ScXMLSourceDlg::Deactivate ( )
overridevirtual

Reimplemented from SfxModelessDialogController.

Definition at line 134 of file xmlsourcedlg.cxx.

References mbDlgLostFocus.

◆ DECL_LINK() [1/3]

ScXMLSourceDlg::DECL_LINK ( BtnPressedHdl  ,
weld::Button ,
void   
)
private

◆ DECL_LINK() [2/3]

ScXMLSourceDlg::DECL_LINK ( RefModifiedHdl  ,
formula::RefEdit ,
void   
)
private

◆ DECL_LINK() [3/3]

ScXMLSourceDlg::DECL_LINK ( TreeItemSelectHdl  ,
weld::TreeView ,
void   
)
private

◆ DefaultElementSelected()

void ScXMLSourceDlg::DefaultElementSelected ( const weld::TreeIter rEntry)
private

◆ IsChildrenDirty()

bool ScXMLSourceDlg::IsChildrenDirty ( const weld::TreeIter pEntry) const
private

◆ IsParentDirty()

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().

◆ IsRefInputMode()

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.

◆ LoadSourceFileStructure()

void ScXMLSourceDlg::LoadSourceFileStructure ( const OUString &  rPath)
private

◆ OkPressed()

void ScXMLSourceDlg::OkPressed ( )
private

◆ RefEditModified()

void ScXMLSourceDlg::RefEditModified ( )
private

◆ RepeatElementSelected()

void ScXMLSourceDlg::RepeatElementSelected ( const weld::TreeIter rEntry)
private

◆ SelectAllChildEntries()

void ScXMLSourceDlg::SelectAllChildEntries ( const weld::TreeIter rEntry)
private

Definition at line 387 of file xmlsourcedlg.cxx.

References mxLbTree, and SelectAllChildEntries().

Referenced by RepeatElementSelected(), and SelectAllChildEntries().

◆ SelectSourceFile()

void ScXMLSourceDlg::SelectSourceFile ( )
private

◆ SetActive()

void ScXMLSourceDlg::SetActive ( )
overridevirtual

◆ SetNonLinkable()

void ScXMLSourceDlg::SetNonLinkable ( )
private

◆ SetRangeLinkable()

void ScXMLSourceDlg::SetRangeLinkable ( )
private

Definition at line 382 of file xmlsourcedlg.cxx.

References mxMapGrid.

Referenced by RepeatElementSelected().

◆ SetReference()

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

◆ SetSingleLinkable()

void ScXMLSourceDlg::SetSingleLinkable ( )
private

Definition at line 377 of file xmlsourcedlg.cxx.

References mxMapGrid.

Referenced by AttributeSelected(), and DefaultElementSelected().

◆ TreeItemSelected()

void ScXMLSourceDlg::TreeItemSelected ( )
private

Member Data Documentation

◆ maCellLinks

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

Definition at line 62 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

◆ maCustomCompare

CustomCompare ScXMLSourceDlg::maCustomCompare
private

Definition at line 60 of file xmlsourcedlg.hxx.

◆ maRangeLinks

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

Definition at line 63 of file xmlsourcedlg.hxx.

Referenced by OkPressed(), and RefEditModified().

◆ maSrcPath

OUString ScXMLSourceDlg::maSrcPath
private

Definition at line 38 of file xmlsourcedlg.hxx.

Referenced by SelectSourceFile().

◆ maXMLParam

ScOrcusXMLTreeParam ScXMLSourceDlg::maXMLParam
private

Definition at line 40 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and ScXMLSourceDlg().

◆ mbDlgLostFocus

bool ScXMLSourceDlg::mbDlgLostFocus
private

Definition at line 45 of file xmlsourcedlg.hxx.

Referenced by Deactivate(), and SetActive().

◆ mpActiveEdit

formula::RefEdit* ScXMLSourceDlg::mpActiveEdit
private

Definition at line 47 of file xmlsourcedlg.hxx.

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

◆ mpDoc

ScDocument* ScXMLSourceDlg::mpDoc
private

◆ mpXMLContext

std::unique_ptr<ScOrcusXMLContext> ScXMLSourceDlg::mpXMLContext
private

Definition at line 42 of file xmlsourcedlg.hxx.

Referenced by LoadSourceFileStructure(), and OkPressed().

◆ mxBtnCancel

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

Definition at line 58 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

◆ mxBtnOk

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

Definition at line 57 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and ScXMLSourceDlg().

◆ mxBtnSelectSource

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

Definition at line 48 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

◆ mxCurRefEntry

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

Definition at line 41 of file xmlsourcedlg.hxx.

Referenced by RefEditModified(), and TreeItemSelected().

◆ mxFtSourceFile

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

Definition at line 49 of file xmlsourcedlg.hxx.

Referenced by SelectSourceFile().

◆ mxLbTree

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

◆ mxMapGrid

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

Definition at line 51 of file xmlsourcedlg.hxx.

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

◆ mxRefBtn

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

Definition at line 55 of file xmlsourcedlg.hxx.

Referenced by ScXMLSourceDlg().

◆ mxRefEdit

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: