LibreOffice Module svx (master) 1
Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
svxform::NavigatorTree Class Referencefinal

#include <fmexpl.hxx>

Inheritance diagram for svxform::NavigatorTree:
[legend]
Collaboration diagram for svxform::NavigatorTree:
[legend]

Public Member Functions

 NavigatorTree (std::unique_ptr< weld::TreeView > xTreeView)
 
virtual ~NavigatorTree () override
 
void Clear ()
 
void UpdateContent (FmFormShell *pFormShell)
 
void MarkViewObj (FmFormData const *pFormData, bool bDeep)
 
void MarkViewObj (FmControlData const *pControlData)
 
void UnmarkAllViewObj ()
 
void GrabFocus ()
 
bool IsFormEntry (const weld::TreeIter &rEntry)
 
bool IsFormComponentEntry (const weld::TreeIter &rEntry)
 
OUString GenerateName (FmEntryData const *pEntryData)
 
NavigatorTreeModelGetNavModel () const
 
std::unique_ptr< weld::TreeIterFindEntry (FmEntryData *pEntryData)
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint) override
 
weld::TreeViewget_widget ()
 
sal_Int8 AcceptDrop (const AcceptDropEvent &rEvt)
 
sal_Int8 ExecuteDrop (const ExecuteDropEvent &rEvt)
 
- Public Member Functions inherited from SfxListener
 SfxListener ()
 
 SfxListener (const SfxListener &rCopy)
 
virtual ~SfxListener () COVERITY_NOEXCEPT_FALSE
 
void StartListening (SfxBroadcaster &rBroadcaster, DuplicateHandling eDuplicateHanding=DuplicateHandling::Unexpected)
 
void EndListening (SfxBroadcaster &rBroadcaster, bool bRemoveAllDuplicates=false)
 
void EndListeningAll ()
 
bool IsListening (SfxBroadcaster &rBroadcaster) const
 
sal_uInt16 GetBroadcasterCount () const
 
SfxBroadcasterGetBroadcasterJOE (sal_uInt16 nNo) const
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint)
 
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
 
virtual bool IsSdrView () const
 

Private Types

enum  SELDATA_ITEMS {
  SDI_DIRTY ,
  SDI_ALL ,
  SDI_NORMALIZED ,
  SDI_NORMALIZED_FORMARK
}
 
typedef std::pair< const weld::TreeIter &, OUString > IterString
 

Private Member Functions

FmControlDataNewControl (const OUString &rServiceName, const weld::TreeIter &rParentEntry, bool bEditName)
 
void NewForm (const weld::TreeIter &rParentEntry)
 
std::unique_ptr< weld::TreeIterInsert (const FmEntryData *pEntryData, int nRelPos)
 
void Remove (FmEntryData *pEntryData)
 
void CollectSelectionData (SELDATA_ITEMS sdiHow)
 
void ShowSelectionProperties (bool bForce=false)
 
void DeleteSelection ()
 
void SynchronizeSelection (FmEntryDataArray &arredToSelect)
 
void SynchronizeSelection ()
 
void SynchronizeMarkList ()
 
void CollectObjects (FmFormData const *pFormData, bool bDeep, ::std::set< css::uno::Reference< css::form::XFormComponent > > &_rObjects)
 
void LockSelectionHandling ()
 
void UnlockSelectionHandling ()
 
bool IsSelectionHandlingLocked () const
 
bool IsEditingActive () const
 
 DECL_LINK (KeyInputHdl, const KeyEvent &, bool)
 
 DECL_LINK (PopupMenuHdl, const CommandEvent &, bool)
 
 DECL_LINK (EditingEntryHdl, const weld::TreeIter &, bool)
 
 DECL_LINK (EditedEntryHdl, const IterString &, bool)
 
 DECL_LINK (OnEdit, void *, void)
 
 DECL_LINK (OnEntrySelDesel, weld::TreeView &, void)
 
 DECL_LINK (OnSynchronizeTimer, Timer *, void)
 
 DECL_LINK (OnClipboardAction, OLocalExchange &, void)
 
 DECL_LINK (DragBeginHdl, bool &, bool)
 
sal_Int8 implAcceptDataTransfer (const DataFlavorExVector &_rFlavors, sal_Int8 _nAction, const weld::TreeIter *_pTargetEntry, bool _bDnD)
 
sal_Int8 implExecuteDataTransfer (const OControlTransferData &_rData, sal_Int8 _nAction, const Point &_rDropPos, bool _bDnD)
 
sal_Int8 implExecuteDataTransfer (const OControlTransferData &_rData, sal_Int8 _nAction, const weld::TreeIter *_pTargetEntry, bool _bDnD)
 
bool implAllowExchange (sal_Int8 _nAction, bool *_pHasNonHidden=nullptr)
 
bool implAcceptPaste ()
 
bool implPrepareExchange (sal_Int8 _nAction)
 
void ModelHasRemoved (const weld::TreeIter *_pEntry)
 
void doPaste ()
 
void doCopy ()
 
void doCut ()
 
bool doingKeyboardCut () const
 

Static Private Member Functions

static bool IsHiddenControl (FmEntryData const *pEntryData)
 

Private Attributes

std::unique_ptr< weld::TreeViewm_xTreeView
 
NavigatorTreeDropTarget m_aDropTargetHelper
 
Timer m_aSynchronizeTimer
 
SvLBoxEntrySortedArray m_arrCurrentSelection
 
ListBoxEntrySet m_aCutEntries
 
::svxform::OControlExchangeHelper m_aControlExchange
 
std::unique_ptr< NavigatorTreeModelm_pNavModel
 
std::unique_ptr< weld::TreeIterm_xRootEntry
 
std::unique_ptr< weld::TreeIterm_xEditEntry
 
ImplSVEventnEditEvent
 
SELDATA_ITEMS m_sdiState
 
sal_uInt16 m_nSelectLock
 
sal_uInt16 m_nFormsSelected
 
sal_uInt16 m_nControlsSelected
 
sal_uInt16 m_nHiddenControls
 
bool m_bDragDataDirty: 1
 
bool m_bPrevSelectionMixed: 1
 
bool m_bRootSelected: 1
 
bool m_bInitialUpdate: 1
 
bool m_bKeyboardCut: 1
 
bool m_bEditing: 1
 

Detailed Description

Definition at line 375 of file fmexpl.hxx.

Member Typedef Documentation

◆ IterString

typedef std::pair<const weld::TreeIter&, OUString> svxform::NavigatorTree::IterString
private

Definition at line 455 of file fmexpl.hxx.

Member Enumeration Documentation

◆ SELDATA_ITEMS

Enumerator
SDI_DIRTY 
SDI_ALL 
SDI_NORMALIZED 
SDI_NORMALIZED_FORMARK 

Definition at line 380 of file fmexpl.hxx.

Constructor & Destructor Documentation

◆ NavigatorTree()

svxform::NavigatorTree::NavigatorTree ( std::unique_ptr< weld::TreeView xTreeView)

◆ ~NavigatorTree()

svxform::NavigatorTree::~NavigatorTree ( )
overridevirtual

Member Function Documentation

◆ AcceptDrop()

sal_Int8 svxform::NavigatorTree::AcceptDrop ( const AcceptDropEvent rEvt)

◆ Clear()

void svxform::NavigatorTree::Clear ( )

Definition at line 181 of file navigatortree.cxx.

References m_pNavModel.

Referenced by NavigatorTree(), and ~NavigatorTree().

◆ CollectObjects()

void svxform::NavigatorTree::CollectObjects ( FmFormData const *  pFormData,
bool  bDeep,
::std::set< css::uno::Reference< css::form::XFormComponent > > &  _rObjects 
)
private

◆ CollectSelectionData()

void svxform::NavigatorTree::CollectSelectionData ( SELDATA_ITEMS  sdiHow)
private

◆ DECL_LINK() [1/9]

svxform::NavigatorTree::DECL_LINK ( DragBeginHdl  ,
bool &  ,
bool   
)
private

◆ DECL_LINK() [2/9]

svxform::NavigatorTree::DECL_LINK ( EditedEntryHdl  ,
const IterString ,
bool   
)
private

◆ DECL_LINK() [3/9]

svxform::NavigatorTree::DECL_LINK ( EditingEntryHdl  ,
const weld::TreeIter ,
bool   
)
private

◆ DECL_LINK() [4/9]

svxform::NavigatorTree::DECL_LINK ( KeyInputHdl  ,
const KeyEvent ,
bool   
)
private

◆ DECL_LINK() [5/9]

svxform::NavigatorTree::DECL_LINK ( OnClipboardAction  ,
OLocalExchange &  ,
void   
)
private

◆ DECL_LINK() [6/9]

svxform::NavigatorTree::DECL_LINK ( OnEdit  ,
void *  ,
void   
)
private

◆ DECL_LINK() [7/9]

svxform::NavigatorTree::DECL_LINK ( OnEntrySelDesel  ,
weld::TreeView ,
void   
)
private

◆ DECL_LINK() [8/9]

svxform::NavigatorTree::DECL_LINK ( OnSynchronizeTimer  ,
Timer ,
void   
)
private

◆ DECL_LINK() [9/9]

svxform::NavigatorTree::DECL_LINK ( PopupMenuHdl  ,
const CommandEvent ,
bool   
)
private

◆ DeleteSelection()

void svxform::NavigatorTree::DeleteSelection ( )
private

◆ doCopy()

void svxform::NavigatorTree::doCopy ( )
private

◆ doCut()

void svxform::NavigatorTree::doCut ( )
private

◆ doingKeyboardCut()

bool svxform::NavigatorTree::doingKeyboardCut ( ) const
inlineprivate

Definition at line 514 of file fmexpl.hxx.

References m_bKeyboardCut.

Referenced by doPaste(), implAcceptPaste(), and ModelHasRemoved().

◆ doPaste()

void svxform::NavigatorTree::doPaste ( )
private

◆ ExecuteDrop()

sal_Int8 svxform::NavigatorTree::ExecuteDrop ( const ExecuteDropEvent rEvt)

◆ FindEntry()

std::unique_ptr< weld::TreeIter > svxform::NavigatorTree::FindEntry ( FmEntryData pEntryData)

◆ GenerateName()

OUString svxform::NavigatorTree::GenerateName ( FmEntryData const *  pEntryData)

Definition at line 1368 of file navigatortree.cxx.

References GetNavModel(), FmEntryData::GetParent(), i, and SvxResId().

Referenced by NewForm().

◆ get_widget()

weld::TreeView & svxform::NavigatorTree::get_widget ( )
inline

Definition at line 489 of file fmexpl.hxx.

References m_xTreeView.

Referenced by svxform::NavigatorTreeDropTarget::AcceptDrop().

◆ GetNavModel()

NavigatorTreeModel * svxform::NavigatorTree::GetNavModel ( ) const
inline

◆ GrabFocus()

void svxform::NavigatorTree::GrabFocus ( )
inline

Definition at line 477 of file fmexpl.hxx.

References m_xTreeView.

Referenced by UpdateContent().

◆ implAcceptDataTransfer()

sal_Int8 svxform::NavigatorTree::implAcceptDataTransfer ( const DataFlavorExVector _rFlavors,
sal_Int8  _nAction,
const weld::TreeIter _pTargetEntry,
bool  _bDnD 
)
private

◆ implAcceptPaste()

bool svxform::NavigatorTree::implAcceptPaste ( )
private

◆ implAllowExchange()

bool svxform::NavigatorTree::implAllowExchange ( sal_Int8  _nAction,
bool *  _pHasNonHidden = nullptr 
)
private

◆ implExecuteDataTransfer() [1/2]

sal_Int8 svxform::NavigatorTree::implExecuteDataTransfer ( const OControlTransferData _rData,
sal_Int8  _nAction,
const Point _rDropPos,
bool  _bDnD 
)
private

Referenced by doPaste(), and ExecuteDrop().

◆ implExecuteDataTransfer() [2/2]

sal_Int8 svxform::NavigatorTree::implExecuteDataTransfer ( const OControlTransferData _rData,
sal_Int8  _nAction,
const weld::TreeIter _pTargetEntry,
bool  _bDnD 
)
private

Definition at line 868 of file navigatortree.cxx.

References SdrModel::AddUndo(), Any, aStr, SdrModel::BegUndo(), DBG_ASSERT, FmUndoContainerAction::DisposeElement(), DND_ACTION_COPY, DND_ACTION_MOVE, DND_ACTION_NONE, SdrModel::EndUndo(), FindEntry(), FM_COMPONENT_HIDDEN, FM_PROP_CLASSID, FM_PROP_NAME, FmEntryData::GetChildIFace(), FmEntryData::GetChildList(), svxform::OControlTransferData::GetDataFlavorExVector(), FmEntryData::GetElement(), getElementPos(), FmFormShell::GetFormModel(), svxform::NavigatorTreeModel::GetFormPage(), svxform::NavigatorTreeModel::GetForms(), FmFormPage::GetForms(), svxform::NavigatorTreeModel::GetFormShell(), svxform::OControlTransferData::getFormsRoot(), FmFormShell::GetFormView(), FmFormShell::GetImpl(), SdrMarkView::GetMarkedObjectList(), GetNavModel(), FmEntryData::GetParent(), FmEntryData::GetPropertySet(), svxform::NavigatorTreeModel::GetRootList(), svxform::OControlExchange::hasFieldExchangeFormat(), svxform::OControlExchange::hasHiddenControlModelsFormat(), svxform::OControlTransferData::hiddenControls(), i, implAcceptDataTransfer(), Insert(), FmEntryDataList::insert(), FmUndoContainerAction::Inserted, IsFormEntry(), SdrModel::IsUndoEnabled(), LockSelectionHandling(), m_aControlExchange, m_bDragDataDirty, svxform::NavigatorTreeModel::m_pPropChangeList, m_xRootEntry, m_xTreeView, nCount, NewControl(), nIndex, Property, Remove(), FmUndoContainerAction::Removed, FmEntryDataList::removeNoDelete(), svxform::OControlTransferData::selected(), FmEntryData::SetParent(), SvxResId(), SynchronizeSelection(), and UnlockSelectionHandling().

◆ implPrepareExchange()

bool svxform::NavigatorTree::implPrepareExchange ( sal_Int8  _nAction)
private

◆ Insert()

std::unique_ptr< weld::TreeIter > svxform::NavigatorTree::Insert ( const FmEntryData pEntryData,
int  nRelPos 
)
private

◆ IsEditingActive()

bool svxform::NavigatorTree::IsEditingActive ( ) const
inlineprivate

Definition at line 447 of file fmexpl.hxx.

References m_bEditing.

Referenced by UpdateContent().

◆ IsFormComponentEntry()

bool svxform::NavigatorTree::IsFormComponentEntry ( const weld::TreeIter rEntry)

Definition at line 689 of file navigatortree.cxx.

References m_xTreeView.

Referenced by implAcceptDataTransfer().

◆ IsFormEntry()

bool svxform::NavigatorTree::IsFormEntry ( const weld::TreeIter rEntry)

Definition at line 683 of file navigatortree.cxx.

References m_xTreeView.

Referenced by implAcceptDataTransfer(), implExecuteDataTransfer(), NewControl(), and NewForm().

◆ IsHiddenControl()

bool svxform::NavigatorTree::IsHiddenControl ( FmEntryData const *  pEntryData)
staticprivate

Definition at line 1905 of file navigatortree.cxx.

References aClassID, Any, FM_PROP_CLASSID, and FmEntryData::GetPropertySet().

Referenced by DeleteSelection().

◆ IsSelectionHandlingLocked()

bool svxform::NavigatorTree::IsSelectionHandlingLocked ( ) const
inlineprivate

Definition at line 445 of file fmexpl.hxx.

References m_nSelectLock.

◆ LockSelectionHandling()

void svxform::NavigatorTree::LockSelectionHandling ( )
inlineprivate

Definition at line 443 of file fmexpl.hxx.

References m_nSelectLock.

Referenced by implExecuteDataTransfer(), and Remove().

◆ MarkViewObj() [1/2]

void svxform::NavigatorTree::MarkViewObj ( FmControlData const *  pControlData)

◆ MarkViewObj() [2/2]

void svxform::NavigatorTree::MarkViewObj ( FmFormData const *  pFormData,
bool  bDeep 
)

◆ ModelHasRemoved()

void svxform::NavigatorTree::ModelHasRemoved ( const weld::TreeIter _pEntry)
private

◆ NewControl()

FmControlData * svxform::NavigatorTree::NewControl ( const OUString &  rServiceName,
const weld::TreeIter rParentEntry,
bool  bEditName 
)
private

◆ NewForm()

void svxform::NavigatorTree::NewForm ( const weld::TreeIter rParentEntry)
private

◆ Notify()

void svxform::NavigatorTree::Notify ( SfxBroadcaster rBC,
const SfxHint rHint 
)
overridevirtual

◆ Remove()

void svxform::NavigatorTree::Remove ( FmEntryData pEntryData)
private

◆ ShowSelectionProperties()

void svxform::NavigatorTree::ShowSelectionProperties ( bool  bForce = false)
private

◆ SynchronizeMarkList()

void svxform::NavigatorTree::SynchronizeMarkList ( )
private

◆ SynchronizeSelection() [1/2]

void svxform::NavigatorTree::SynchronizeSelection ( )
private

◆ SynchronizeSelection() [2/2]

void svxform::NavigatorTree::SynchronizeSelection ( FmEntryDataArray arredToSelect)
private

Definition at line 1766 of file navigatortree.cxx.

◆ UnlockSelectionHandling()

void svxform::NavigatorTree::UnlockSelectionHandling ( )
inlineprivate

Definition at line 444 of file fmexpl.hxx.

References m_nSelectLock.

Referenced by implExecuteDataTransfer(), and Remove().

◆ UnmarkAllViewObj()

void svxform::NavigatorTree::UnmarkAllViewObj ( )

Definition at line 1918 of file navigatortree.cxx.

References FmFormShell::GetFormView(), and SdrMarkView::UnMarkAll().

◆ UpdateContent()

void svxform::NavigatorTree::UpdateContent ( FmFormShell pFormShell)

Member Data Documentation

◆ m_aControlExchange

::svxform::OControlExchangeHelper svxform::NavigatorTree::m_aControlExchange
private

◆ m_aCutEntries

ListBoxEntrySet svxform::NavigatorTree::m_aCutEntries
private

Definition at line 386 of file fmexpl.hxx.

Referenced by doCut(), ModelHasRemoved(), and Notify().

◆ m_aDropTargetHelper

NavigatorTreeDropTarget svxform::NavigatorTree::m_aDropTargetHelper
private

Definition at line 378 of file fmexpl.hxx.

Referenced by AcceptDrop().

◆ m_arrCurrentSelection

SvLBoxEntrySortedArray svxform::NavigatorTree::m_arrCurrentSelection
private

◆ m_aSynchronizeTimer

Timer svxform::NavigatorTree::m_aSynchronizeTimer
private

Definition at line 382 of file fmexpl.hxx.

Referenced by NavigatorTree(), and ~NavigatorTree().

◆ m_bDragDataDirty

bool svxform::NavigatorTree::m_bDragDataDirty
private

◆ m_bEditing

bool svxform::NavigatorTree::m_bEditing
private

Definition at line 408 of file fmexpl.hxx.

Referenced by IsEditingActive(), NewControl(), NewForm(), and UpdateContent().

◆ m_bInitialUpdate

bool svxform::NavigatorTree::m_bInitialUpdate
private

Definition at line 406 of file fmexpl.hxx.

Referenced by UpdateContent().

◆ m_bKeyboardCut

bool svxform::NavigatorTree::m_bKeyboardCut
private

Definition at line 407 of file fmexpl.hxx.

Referenced by doCut(), and doingKeyboardCut().

◆ m_bPrevSelectionMixed

bool svxform::NavigatorTree::m_bPrevSelectionMixed
private

Definition at line 404 of file fmexpl.hxx.

Referenced by DeleteSelection(), and Notify().

◆ m_bRootSelected

bool svxform::NavigatorTree::m_bRootSelected
private

Definition at line 405 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

◆ m_nControlsSelected

sal_uInt16 svxform::NavigatorTree::m_nControlsSelected
private

Definition at line 400 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

◆ m_nFormsSelected

sal_uInt16 svxform::NavigatorTree::m_nFormsSelected
private

Definition at line 399 of file fmexpl.hxx.

Referenced by CollectSelectionData(), DeleteSelection(), and ShowSelectionProperties().

◆ m_nHiddenControls

sal_uInt16 svxform::NavigatorTree::m_nHiddenControls
private

Definition at line 401 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

◆ m_nSelectLock

sal_uInt16 svxform::NavigatorTree::m_nSelectLock
private

◆ m_pNavModel

std::unique_ptr<NavigatorTreeModel> svxform::NavigatorTree::m_pNavModel
private

Definition at line 390 of file fmexpl.hxx.

Referenced by Clear(), GetNavModel(), NavigatorTree(), and ~NavigatorTree().

◆ m_sdiState

SELDATA_ITEMS svxform::NavigatorTree::m_sdiState
private

Definition at line 396 of file fmexpl.hxx.

Referenced by CollectSelectionData().

◆ m_xEditEntry

std::unique_ptr<weld::TreeIter> svxform::NavigatorTree::m_xEditEntry
private

Definition at line 392 of file fmexpl.hxx.

◆ m_xRootEntry

std::unique_ptr<weld::TreeIter> svxform::NavigatorTree::m_xRootEntry
private

◆ m_xTreeView

std::unique_ptr<weld::TreeView> svxform::NavigatorTree::m_xTreeView
private

◆ nEditEvent

ImplSVEvent* svxform::NavigatorTree::nEditEvent
private

Definition at line 394 of file fmexpl.hxx.

Referenced by ~NavigatorTree().


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