/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /* * This file is part of the LibreOffice project. * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * This file incorporates work covered by the following license notice: * * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed * with this work for additional information regarding copyright * ownership. The ASF licenses this file to you under the Apache * License, Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a copy of * the License at http://www.apache.org/licenses/LICENSE-2.0 .
*/ #ifndef INCLUDED_SVX_SOURCE_INC_FMEXPL_HXX #define INCLUDED_SVX_SOURCE_INC_FMEXPL_HXX
// note that the interface returned is normalized, i.e. querying the given XInterface of the object // for XInterface must return the interface itself. const css::uno::Reference< css::uno::XInterface >& GetElement() const
{ return m_xNormalizedIFace;
}
void BroadcastMarkedObjects(const SdrMarkList& mlMarked); // send a RequestSelectHint with the currently selected objects bool InsertFormComponent(FmNavRequestSelectHint& rHint, SdrObject* pObject); // is a helper for previous, manages the ... in SdrObjGroups; // returns sal_True if the object is a FormComponent (or recursively consists only of such)
Timer m_aSynchronizeTimer; // the meta-data about my current selection
SvLBoxEntrySortedArray m_arrCurrentSelection; // the entries which, in the view, are currently marked as "cut" (painted semi-transparent)
ListBoxEntrySet m_aCutEntries;
sal_uInt16 m_nSelectLock;
sal_uInt16 m_nFormsSelected;
sal_uInt16 m_nControlsSelected;
sal_uInt16 m_nHiddenControls; // (the number is included in m_nControlsSelected)
bool m_bDragDataDirty : 1; // ditto bool m_bPrevSelectionMixed : 1; bool m_bRootSelected : 1; bool m_bInitialUpdate : 1; // am I the first time in the UpdateContent? bool m_bKeyboardCut : 1; bool m_bEditing : 1;
void CollectSelectionData(SELDATA_ITEMS sdiHow); // Collects the currently selected entries in m_arrCurrentSelection, normalizes the list if requested. // - SDI_NORMALIZED simply means that all entries that already have a selected ancestor are not collected. // - SDI_NORMALIZED_FORMARK means that the procedure is the same as for SDI_NORMALIZED, // but entries whose direct parent is not selected are collected (independent of the // status of further ancestors). The same applies for forms that are selected, // regardless of the status of any ancestors. // For both normalized modes, the m_nFormsSelected, ... contain the correct number, // even if not all of these entries end up in m_arrCurrentSelection. // SDI_DIRTY is of course not allowed as a parameter.
// a single interface for all selected entries void ShowSelectionProperties(bool bForce = false); // delete all selected elements void DeleteSelection();
void SynchronizeSelection(FmEntryDataArray& arredToSelect); // after calling this method, exactly the entries marked in the array are selected void SynchronizeSelection(); // makes the same, takes the MarkList of the View void SynchronizeMarkList(); // reverse direction of SynchronizeMarkList: selects in the view all controls corresponding to the current selection
// in the Select I usually update the Marklist of the corresponding view, // with the following functions I can control the locking of this behavior void LockSelectionHandling() { ++m_nSelectLock; } void UnlockSelectionHandling() { --m_nSelectLock; } bool IsSelectionHandlingLocked() const { return m_nSelectLock>0; }
// check if a cut, copy, or drag operation can be started in the current situation bool implAllowExchange( sal_Int8 _nAction, bool* _pHasNonHidden = nullptr ); // check if a paste with the current clipboard content can be accepted bool implAcceptPaste( );
// fills m_aControlExchange in preparation of a DnD or clipboard operation bool implPrepareExchange( sal_Int8 _nAction );
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.