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

#include <filtnav.hxx>

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

Public Member Functions

 FmFilterNavigator (vcl::Window *pTopLevel, std::unique_ptr< weld::TreeView > xTreeView)
 
virtual ~FmFilterNavigator () override
 
void GrabFocus ()
 
void EndEditing ()
 
void UpdateContent (const css::uno::Reference< css::container::XIndexAccess > &xControllers, const css::uno::Reference< css::form::runtime::XFormController > &xCurrent)
 
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

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

Private Member Functions

 DECL_LINK (KeyInputHdl, const KeyEvent &, bool)
 
 DECL_LINK (PopupMenuHdl, const CommandEvent &, bool)
 
virtual void Notify (SfxBroadcaster &rBC, const SfxHint &rHint) override
 
 DECL_STATIC_LINK (FmFilterNavigator, CustomGetSizeHdl, weld::TreeView::get_size_args, Size)
 
 DECL_STATIC_LINK (FmFilterNavigator, CustomRenderHdl, weld::TreeView::render_args, void)
 
 DECL_LINK (SelectHdl, weld::TreeView &, void)
 
 DECL_LINK (EditingEntryHdl, const weld::TreeIter &, bool)
 
 DECL_LINK (EditedEntryHdl, const IterString &, bool)
 
 DECL_LINK (DragBeginHdl, bool &, bool)
 
void DeleteSelection ()
 
std::unique_ptr< weld::TreeIterFindEntry (const FmFilterData *pItem) const
 
void Insert (const FmFilterData *pItem, int nPos)
 
void Remove (FmFilterData const *pItem)
 
 DECL_LINK (OnRemove, void *, void)
 
FmFormItemgetSelectedFilterItems (::std::vector< FmFilterItem * > &_rItemList)
 returns the first form item and the selected FilterItems in the vector More...
 
void insertFilterItem (const ::std::vector< FmFilterItem * > &_rFilterList, FmFilterItems *_pTargetItems, bool _bCopy)
 inserts the filter items into the tree model and creates new FilterItems if needed. More...
 
bool getPrevEntry (weld::TreeIter &rEntry)
 
bool getNextEntry (weld::TreeIter &rEntry)
 

Private Attributes

VclPtr< vcl::Windowm_xTopLevel
 
std::unique_ptr< weld::TreeViewm_xTreeView
 
FmFilterNavigatorDropTarget m_aDropTargetHelper
 
std::unique_ptr< FmFilterModelm_pModel
 
std::unique_ptr< weld::TreeIterm_xEditingCurrently
 
OFilterExchangeHelper m_aControlExchange
 
ImplSVEventm_nAsyncRemoveEvent
 

Detailed Description

Definition at line 230 of file filtnav.hxx.

Member Typedef Documentation

◆ IterString

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

Definition at line 270 of file filtnav.hxx.

Constructor & Destructor Documentation

◆ FmFilterNavigator()

svxform::FmFilterNavigator::FmFilterNavigator ( vcl::Window pTopLevel,
std::unique_ptr< weld::TreeView xTreeView 
)

◆ ~FmFilterNavigator()

svxform::FmFilterNavigator::~FmFilterNavigator ( )
overridevirtual

Member Function Documentation

◆ AcceptDrop()

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

◆ DECL_LINK() [1/7]

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

◆ DECL_LINK() [2/7]

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

◆ DECL_LINK() [3/7]

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

◆ DECL_LINK() [4/7]

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

◆ DECL_LINK() [5/7]

svxform::FmFilterNavigator::DECL_LINK ( OnRemove  ,
void *  ,
void   
)
private

◆ DECL_LINK() [6/7]

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

◆ DECL_LINK() [7/7]

svxform::FmFilterNavigator::DECL_LINK ( SelectHdl  ,
weld::TreeView ,
void   
)
private

◆ DECL_STATIC_LINK() [1/2]

svxform::FmFilterNavigator::DECL_STATIC_LINK ( FmFilterNavigator  ,
CustomGetSizeHdl  ,
weld::TreeView::get_size_args  ,
Size   
)
private

◆ DECL_STATIC_LINK() [2/2]

svxform::FmFilterNavigator::DECL_STATIC_LINK ( FmFilterNavigator  ,
CustomRenderHdl  ,
weld::TreeView::render_args  ,
void   
)
private

◆ DeleteSelection()

void svxform::FmFilterNavigator::DeleteSelection ( )
private

Definition at line 1696 of file filtnav.cxx.

References i, m_pModel, and m_xTreeView.

◆ EndEditing()

void svxform::FmFilterNavigator::EndEditing ( )

Definition at line 1343 of file filtnav.cxx.

References m_xEditingCurrently, and m_xTreeView.

Referenced by Remove().

◆ ExecuteDrop()

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

◆ FindEntry()

std::unique_ptr< weld::TreeIter > svxform::FmFilterNavigator::FindEntry ( const FmFilterData pItem) const
private

Definition at line 1307 of file filtnav.cxx.

References m_xTreeView.

Referenced by AcceptDrop(), ExecuteDrop(), Insert(), Notify(), Remove(), and UpdateContent().

◆ get_widget()

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

Definition at line 255 of file filtnav.hxx.

References m_xTreeView.

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

◆ getNextEntry()

bool svxform::FmFilterNavigator::getNextEntry ( weld::TreeIter rEntry)
private

Definition at line 1564 of file filtnav.cxx.

References m_xTreeView.

Referenced by svxform::IMPL_LINK().

◆ getPrevEntry()

bool svxform::FmFilterNavigator::getPrevEntry ( weld::TreeIter rEntry)
private

Definition at line 1581 of file filtnav.cxx.

References m_xTreeView.

Referenced by svxform::IMPL_LINK().

◆ getSelectedFilterItems()

FmFormItem * svxform::FmFilterNavigator::getSelectedFilterItems ( ::std::vector< FmFilterItem * > &  _rItemList)
private

returns the first form item and the selected FilterItems in the vector

Parameters
_rItemListIs filled inside. <OUT>
Returns
The first form item.

Definition at line 1366 of file filtnav.cxx.

References svxform::FmFilterData::GetParent(), and m_xTreeView.

◆ GrabFocus()

void svxform::FmFilterNavigator::GrabFocus ( )
inline

Definition at line 246 of file filtnav.hxx.

References m_xTreeView.

◆ Insert()

void svxform::FmFilterNavigator::Insert ( const FmFilterData pItem,
int  nPos 
)
private

◆ insertFilterItem()

void svxform::FmFilterNavigator::insertFilterItem ( const ::std::vector< FmFilterItem * > &  _rFilterList,
FmFilterItems _pTargetItems,
bool  _bCopy 
)
private

inserts the filter items into the tree model and creates new FilterItems if needed.

Parameters
_rFilterListThe items which should be inserted.
_pTargetItemsThe target where to insert the items.
_bCopyIf <TRUE> the items will not be removed from the model, otherwise they will.

Definition at line 1401 of file filtnav.cxx.

References svxform::FmFilterItems::Find(), svxform::FmFilterData::GetParent(), svxform::FmFilterData::GetText(), and m_pModel.

Referenced by ExecuteDrop().

◆ Notify()

void svxform::FmFilterNavigator::Notify ( SfxBroadcaster rBC,
const SfxHint rHint 
)
overrideprivatevirtual

Reimplemented from SfxListener.

Definition at line 1281 of file filtnav.cxx.

References FindEntry(), Insert(), m_xTreeView, and Remove().

◆ Remove()

void svxform::FmFilterNavigator::Remove ( FmFilterData const *  pItem)
private

Definition at line 1353 of file filtnav.cxx.

References EndEditing(), FindEntry(), m_xEditingCurrently, and m_xTreeView.

Referenced by Notify().

◆ UpdateContent()

void svxform::FmFilterNavigator::UpdateContent ( const css::uno::Reference< css::container::XIndexAccess > &  xControllers,
const css::uno::Reference< css::form::runtime::XFormController > &  xCurrent 
)

Definition at line 1082 of file filtnav.cxx.

References FindEntry(), m_pModel, and m_xTreeView.

Member Data Documentation

◆ m_aControlExchange

OFilterExchangeHelper svxform::FmFilterNavigator::m_aControlExchange
private

Definition at line 238 of file filtnav.hxx.

Referenced by AcceptDrop(), and ExecuteDrop().

◆ m_aDropTargetHelper

FmFilterNavigatorDropTarget svxform::FmFilterNavigator::m_aDropTargetHelper
private

Definition at line 234 of file filtnav.hxx.

Referenced by AcceptDrop().

◆ m_nAsyncRemoveEvent

ImplSVEvent* svxform::FmFilterNavigator::m_nAsyncRemoveEvent
private

Definition at line 240 of file filtnav.hxx.

Referenced by ~FmFilterNavigator().

◆ m_pModel

std::unique_ptr<FmFilterModel> svxform::FmFilterNavigator::m_pModel
private

◆ m_xEditingCurrently

std::unique_ptr<weld::TreeIter> svxform::FmFilterNavigator::m_xEditingCurrently
private

Definition at line 237 of file filtnav.hxx.

Referenced by EndEditing(), and Remove().

◆ m_xTopLevel

VclPtr<vcl::Window> svxform::FmFilterNavigator::m_xTopLevel
private

Definition at line 232 of file filtnav.hxx.

◆ m_xTreeView

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

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