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
 
void RemoveBroadcaster_Impl (SfxBroadcaster &rBC)
 

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

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

Definition at line 455 of file fmexpl.hxx.

Member Enumeration Documentation

Enumerator
SDI_DIRTY 
SDI_ALL 
SDI_NORMALIZED 
SDI_NORMALIZED_FORMARK 

Definition at line 380 of file fmexpl.hxx.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Definition at line 180 of file navigatortree.cxx.

References m_pNavModel.

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

void svxform::NavigatorTree::CollectObjects ( FmFormData const *  pFormData,
bool  bDeep,
::std::set< css::uno::Reference< css::form::XFormComponent > > &  _rObjects 
)
private
void svxform::NavigatorTree::CollectSelectionData ( SELDATA_ITEMS  sdiHow)
private
svxform::NavigatorTree::DECL_LINK ( KeyInputHdl  ,
const KeyEvent ,
bool   
)
private
svxform::NavigatorTree::DECL_LINK ( PopupMenuHdl  ,
const CommandEvent ,
bool   
)
private
svxform::NavigatorTree::DECL_LINK ( EditingEntryHdl  ,
const weld::TreeIter ,
bool   
)
private
svxform::NavigatorTree::DECL_LINK ( EditedEntryHdl  ,
const IterString ,
bool   
)
private
svxform::NavigatorTree::DECL_LINK ( OnEdit  ,
void ,
void   
)
private
svxform::NavigatorTree::DECL_LINK ( OnEntrySelDesel  ,
weld::TreeView ,
void   
)
private
svxform::NavigatorTree::DECL_LINK ( OnSynchronizeTimer  ,
Timer ,
void   
)
private
svxform::NavigatorTree::DECL_LINK ( OnClipboardAction  ,
OLocalExchange &  ,
void   
)
private
svxform::NavigatorTree::DECL_LINK ( DragBeginHdl  ,
bool &  ,
bool   
)
private
void svxform::NavigatorTree::DeleteSelection ( )
private
void svxform::NavigatorTree::doCopy ( )
private
void svxform::NavigatorTree::doCut ( )
private
bool svxform::NavigatorTree::doingKeyboardCut ( ) const
inlineprivate

Definition at line 514 of file fmexpl.hxx.

References m_bKeyboardCut.

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

void svxform::NavigatorTree::doPaste ( )
private
sal_Int8 svxform::NavigatorTree::ExecuteDrop ( const ExecuteDropEvent rEvt)
std::unique_ptr< weld::TreeIter > svxform::NavigatorTree::FindEntry ( FmEntryData pEntryData)
OUString svxform::NavigatorTree::GenerateName ( FmEntryData const *  pEntryData)

Definition at line 1367 of file navigatortree.cxx.

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

Referenced by NewForm().

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

Definition at line 489 of file fmexpl.hxx.

References m_xTreeView.

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

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

Definition at line 477 of file fmexpl.hxx.

Referenced by UpdateContent().

sal_Int8 svxform::NavigatorTree::implAcceptDataTransfer ( const DataFlavorExVector _rFlavors,
sal_Int8  _nAction,
const weld::TreeIter _pTargetEntry,
bool  _bDnD 
)
private
bool svxform::NavigatorTree::implAcceptPaste ( )
private
bool svxform::NavigatorTree::implAllowExchange ( sal_Int8  _nAction,
bool *  _pHasNonHidden = nullptr 
)
private
sal_Int8 svxform::NavigatorTree::implExecuteDataTransfer ( const OControlTransferData _rData,
sal_Int8  _nAction,
const Point &  _rDropPos,
bool  _bDnD 
)
private

Referenced by doPaste(), and ExecuteDrop().

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

Definition at line 867 of file navigatortree.cxx.

References SdrModel::AddUndo(), 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(), FmFormPage::GetForms(), svxform::NavigatorTreeModel::GetForms(), svxform::NavigatorTreeModel::GetFormShell(), svxform::OControlTransferData::getFormsRoot(), FmFormShell::GetFormView(), FmFormShell::GetImpl(), SdrMarkView::GetMarkedObjectList(), GetNavModel(), FmEntryData::GetPropertySet(), svxform::NavigatorTreeModel::GetRootList(), svxform::OControlExchange::hasFieldExchangeFormat(), svxform::OControlExchange::hasHiddenControlModelsFormat(), svxform::OControlTransferData::hiddenControls(), i, implAcceptDataTransfer(), FmEntryDataList::insert(), Insert(), FmUndoContainerAction::Inserted, IsFormEntry(), SdrModel::IsUndoEnabled(), LockSelectionHandling(), m_aControlExchange, m_bDragDataDirty, svxform::NavigatorTreeModel::m_pPropChangeList, m_xRootEntry, m_xTreeView, makeAny(), nCount, NewControl(), nIndex, Property, Remove(), FmUndoContainerAction::Removed, FmEntryDataList::removeNoDelete(), svxform::OControlTransferData::selected(), SvxResId(), SynchronizeSelection(), and UnlockSelectionHandling().

bool svxform::NavigatorTree::implPrepareExchange ( sal_Int8  _nAction)
private
std::unique_ptr< weld::TreeIter > svxform::NavigatorTree::Insert ( FmEntryData pEntryData,
int  nRelPos 
)
private
bool svxform::NavigatorTree::IsEditingActive ( ) const
inlineprivate

Definition at line 447 of file fmexpl.hxx.

References m_bEditing.

Referenced by UpdateContent().

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

Definition at line 688 of file navigatortree.cxx.

References m_xTreeView.

Referenced by implAcceptDataTransfer(), and SynchronizeMarkList().

bool svxform::NavigatorTree::IsFormEntry ( const weld::TreeIter rEntry)
bool svxform::NavigatorTree::IsHiddenControl ( FmEntryData const *  pEntryData)
staticprivate
bool svxform::NavigatorTree::IsSelectionHandlingLocked ( ) const
inlineprivate

Definition at line 445 of file fmexpl.hxx.

void svxform::NavigatorTree::LockSelectionHandling ( )
inlineprivate

Definition at line 443 of file fmexpl.hxx.

References m_nSelectLock.

Referenced by implExecuteDataTransfer(), Remove(), and SynchronizeSelection().

void svxform::NavigatorTree::MarkViewObj ( FmFormData const *  pFormData,
bool  bDeep 
)
void svxform::NavigatorTree::MarkViewObj ( FmControlData const *  pControlData)
void svxform::NavigatorTree::ModelHasRemoved ( const weld::TreeIter _pEntry)
private
FmControlData * svxform::NavigatorTree::NewControl ( const OUString &  rServiceName,
const weld::TreeIter rParentEntry,
bool  bEditName 
)
private
void svxform::NavigatorTree::NewForm ( const weld::TreeIter rParentEntry)
private
void svxform::NavigatorTree::Notify ( SfxBroadcaster rBC,
const SfxHint rHint 
)
overridevirtual
void svxform::NavigatorTree::Remove ( FmEntryData pEntryData)
private
void svxform::NavigatorTree::ShowSelectionProperties ( bool  bForce = false)
private
void svxform::NavigatorTree::SynchronizeMarkList ( )
private
void svxform::NavigatorTree::SynchronizeSelection ( FmEntryDataArray arredToSelect)
private
void svxform::NavigatorTree::SynchronizeSelection ( )
private
void svxform::NavigatorTree::UnlockSelectionHandling ( )
inlineprivate

Definition at line 444 of file fmexpl.hxx.

References m_nSelectLock.

Referenced by implExecuteDataTransfer(), Remove(), and SynchronizeSelection().

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

Member Data Documentation

::svxform::OControlExchangeHelper svxform::NavigatorTree::m_aControlExchange
private
ListBoxEntrySet svxform::NavigatorTree::m_aCutEntries
private

Definition at line 386 of file fmexpl.hxx.

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

NavigatorTreeDropTarget svxform::NavigatorTree::m_aDropTargetHelper
private

Definition at line 378 of file fmexpl.hxx.

Referenced by AcceptDrop().

SvLBoxEntrySortedArray svxform::NavigatorTree::m_arrCurrentSelection
private
Timer svxform::NavigatorTree::m_aSynchronizeTimer
private

Definition at line 382 of file fmexpl.hxx.

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

bool svxform::NavigatorTree::m_bDragDataDirty
private
bool svxform::NavigatorTree::m_bEditing
private

Definition at line 408 of file fmexpl.hxx.

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

bool svxform::NavigatorTree::m_bInitialUpdate
private

Definition at line 406 of file fmexpl.hxx.

Referenced by UpdateContent().

bool svxform::NavigatorTree::m_bKeyboardCut
private

Definition at line 407 of file fmexpl.hxx.

Referenced by doCut(), and doingKeyboardCut().

bool svxform::NavigatorTree::m_bPrevSelectionMixed
private

Definition at line 404 of file fmexpl.hxx.

Referenced by DeleteSelection(), and Notify().

bool svxform::NavigatorTree::m_bRootSelected
private

Definition at line 405 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

sal_uInt16 svxform::NavigatorTree::m_nControlsSelected
private

Definition at line 400 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

sal_uInt16 svxform::NavigatorTree::m_nFormsSelected
private
sal_uInt16 svxform::NavigatorTree::m_nHiddenControls
private

Definition at line 401 of file fmexpl.hxx.

Referenced by CollectSelectionData(), and ShowSelectionProperties().

sal_uInt16 svxform::NavigatorTree::m_nSelectLock
private

Definition at line 398 of file fmexpl.hxx.

Referenced by LockSelectionHandling(), and UnlockSelectionHandling().

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

Definition at line 390 of file fmexpl.hxx.

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

SELDATA_ITEMS svxform::NavigatorTree::m_sdiState
private

Definition at line 396 of file fmexpl.hxx.

Referenced by CollectSelectionData().

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

Definition at line 392 of file fmexpl.hxx.

std::unique_ptr<weld::TreeIter> svxform::NavigatorTree::m_xRootEntry
private
std::unique_ptr<weld::TreeView> svxform::NavigatorTree::m_xTreeView
private
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: