25#include <com/sun/star/beans/XPropertySet.hpp>
26#include <com/sun/star/awt/XTabControllerModel.hpp>
43#include <svx/svxids.hrc>
64#define ShellClass_FmFormShell
65#include <svxslots.hxx>
86 SID_FM_CTL_PROPERTIES,
91 SID_FM_SHOW_FMEXPLORER,
92 SID_FM_SHOW_PROPERTIES,
93 SID_FM_FMEXPLORER_CONTROL,
102 SID_FM_FORMATTEDFIELD,
103 SID_FM_FILTER_NAVIGATOR,
104 SID_FM_AUTOCONTROLFOCUS,
107 SID_FM_SHOW_DATANAVIGATOR,
108 SID_FM_DATANAVIGATOR_CONTROL,
123 :m_bDesignMode( bDesMode )
136 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_NAVIGATION, SfxVisibilityFlags::Standard|SfxVisibilityFlags::ReadonlyDoc,
137 ToolbarId::SvxTbx_Form_Navigation,
138 SfxShellFeature::FormShowDatabaseBar);
140 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_NAVIGATION, SfxVisibilityFlags::Standard|SfxVisibilityFlags::ReadonlyDoc,
141 ToolbarId::SvxTbx_Form_Filter,
142 SfxShellFeature::FormShowFilterBar);
144 GetStaticInterface()->RegisterObjectBar(
SFX_OBJECTBAR_OBJECT, SfxVisibilityFlags::Standard | SfxVisibilityFlags::ReadonlyDoc,
145 ToolbarId::SvxTbx_Text_Control_Attributes,
146 SfxShellFeature::FormShowTextControlBar);
148 GetStaticInterface()->RegisterChildWindow(SID_FM_ADD_FIELD,
false, SfxShellFeature::FormShowField);
149 GetStaticInterface()->RegisterChildWindow(SID_FM_SHOW_PROPERTIES,
false, SfxShellFeature::FormShowProperties);
150 GetStaticInterface()->RegisterChildWindow(SID_FM_SHOW_FMEXPLORER,
false, SfxShellFeature::FormShowExplorer);
151 GetStaticInterface()->RegisterChildWindow(SID_FM_FILTER_NAVIGATOR,
false, SfxShellFeature::FormShowFilterNavigator);
152 GetStaticInterface()->RegisterChildWindow(SID_FM_SHOW_DATANAVIGATOR,
false, SfxShellFeature::FormShowDataNavigator);
155 ToolbarId::SvxTbx_Controls,
156 SfxShellFeature::FormTBControls);
159 ToolbarId::SvxTbx_FormDesign,
160 SfxShellFeature::FormTBDesign);
166 ,
m_pImpl(new FmXFormShell(*this, &_pParent->GetViewFrame()))
167 ,m_pFormView( pView )
168 ,m_pFormModel( nullptr )
170 ,m_bDesignMode( true )
192 Broadcast(aChangeNotification);
198 if (
GetImpl()->didPrepareClose_Lock())
217 if (
GetImpl()->getActiveController_Lock().is())
224 if ( bModified && bUI )
230 std::unique_ptr<weld::MessageDialog> xQry(xBuilder->weld_message_dialog(
"SaveModifiedDialog"));
237 GetImpl()->didPrepareClose_Lock(
true);
274 assert((nFeature & ~SfxShellFeature::FormMask) == SfxShellFeature::NONE);
275 bool bResult =
false;
276 if (nFeature & SfxShellFeature::FormShowDatabaseBar)
281 else if (nFeature & SfxShellFeature::FormShowFilterBar)
286 else if (nFeature & SfxShellFeature::FormShowFilterNavigator)
290 else if (nFeature & SfxShellFeature::FormShowField)
294 else if (nFeature & SfxShellFeature::FormShowProperties)
298 else if (nFeature & SfxShellFeature::FormShowExplorer)
302 else if (nFeature & SfxShellFeature::FormShowTextControlBar)
304 bResult = !
GetImpl()->IsReadonlyDoc_Lock() &&
m_pImpl->IsActiveControl_Lock(
true);
306 else if (nFeature & SfxShellFeature::FormShowDataNavigator)
308 bResult =
GetImpl()->isEnhancedForm_Lock();
310 else if ( (nFeature & SfxShellFeature::FormTBControls)
311 || (nFeature & SfxShellFeature::FormTBDesign)
323 sal_uInt16 nSlot = rReq.
GetSlot();
329 case SID_FM_PUSHBUTTON:
330 case SID_FM_RADIOBUTTON:
331 case SID_FM_CHECKBOX:
332 case SID_FM_FIXEDTEXT:
333 case SID_FM_GROUPBOX:
335 case SID_FM_COMBOBOX:
336 case SID_FM_NAVIGATIONBAR:
339 case SID_FM_IMAGEBUTTON:
340 case SID_FM_IMAGECONTROL:
341 case SID_FM_FILECONTROL:
342 case SID_FM_DATEFIELD:
343 case SID_FM_TIMEFIELD:
344 case SID_FM_NUMERICFIELD:
345 case SID_FM_CURRENCYFIELD:
346 case SID_FM_PATTERNFIELD:
347 case SID_FM_FORMATTEDFIELD:
348 case SID_FM_SCROLLBAR:
349 case SID_FM_SPINBUTTON:
359 case SID_FM_CHECKBOX:
362 case SID_FM_PUSHBUTTON:
365 case SID_FM_FIXEDTEXT:
374 case SID_FM_RADIOBUTTON:
377 case SID_FM_GROUPBOX:
380 case SID_FM_COMBOBOX:
383 case SID_FM_NAVIGATIONBAR:
389 case SID_FM_IMAGEBUTTON:
392 case SID_FM_IMAGECONTROL:
395 case SID_FM_FILECONTROL:
398 case SID_FM_DATEFIELD:
401 case SID_FM_TIMEFIELD:
404 case SID_FM_NUMERICFIELD:
407 case SID_FM_CURRENCYFIELD:
410 case SID_FM_PATTERNFIELD:
413 case SID_FM_FORMATTEDFIELD:
416 case SID_FM_SCROLLBAR:
419 case SID_FM_SPINBUTTON:
426 case SID_FM_CHECKBOX:
427 case SID_FM_PUSHBUTTON:
428 case SID_FM_FIXEDTEXT:
431 case SID_FM_RADIOBUTTON:
432 case SID_FM_COMBOBOX:
433 case SID_FM_NAVIGATIONBAR:
434 case SID_FM_GROUPBOX:
436 case SID_FM_IMAGEBUTTON:
437 case SID_FM_IMAGECONTROL:
438 case SID_FM_FILECONTROL:
439 case SID_FM_DATEFIELD:
440 case SID_FM_TIMEFIELD:
441 case SID_FM_NUMERICFIELD:
442 case SID_FM_CURRENCYFIELD:
443 case SID_FM_PATTERNFIELD:
444 case SID_FM_FORMATTEDFIELD:
445 case SID_FM_SCROLLBAR:
446 case SID_FM_SPINBUTTON:
449 if ( pGrabFocusItem && pGrabFocusItem->
GetValue() )
458 SfxUInt16Item aIdentifierItem( SID_FM_CONTROL_IDENTIFIER,
static_cast<sal_uInt16
>(nIdentifier) );
462 &aIdentifierItem, &aInventorItem,
nullptr
478 SfxBoolItem aGrabFocusIndicatorItem( SID_FM_TOGGLECONTROLFOCUS,
true );
480 nSlot, SfxCallMode::ASYNCHRON,
481 { &aGrabFocusIndicatorItem });
491 case SID_FM_FORM_DESIGN_TOOLS:
493 FormToolboxes aToolboxAccess(
GetImpl()->getHostFrame_Lock());
494 aToolboxAccess.toggleToolbox( nSlot );
499 case SID_FM_TOGGLECONTROLFOCUS:
508 const bool bHasControlFocus =
GetImpl()->HasControlFocus_Lock();
509 if ( bHasControlFocus )
526 case SID_FM_VIEW_AS_GRID:
527 GetImpl()->CreateExternalView_Lock();
529 case SID_FM_CONVERTTO_EDIT :
530 case SID_FM_CONVERTTO_BUTTON :
531 case SID_FM_CONVERTTO_FIXEDTEXT :
532 case SID_FM_CONVERTTO_LISTBOX :
533 case SID_FM_CONVERTTO_CHECKBOX :
534 case SID_FM_CONVERTTO_RADIOBUTTON :
535 case SID_FM_CONVERTTO_GROUPBOX :
536 case SID_FM_CONVERTTO_COMBOBOX :
537 case SID_FM_CONVERTTO_IMAGEBUTTON :
538 case SID_FM_CONVERTTO_FILECONTROL :
539 case SID_FM_CONVERTTO_DATE :
540 case SID_FM_CONVERTTO_TIME :
541 case SID_FM_CONVERTTO_NUMERIC :
542 case SID_FM_CONVERTTO_CURRENCY :
543 case SID_FM_CONVERTTO_PATTERN :
544 case SID_FM_CONVERTTO_IMAGECONTROL :
545 case SID_FM_CONVERTTO_FORMATTED :
546 case SID_FM_CONVERTTO_SCROLLBAR :
547 case SID_FM_CONVERTTO_SPINBUTTON :
548 case SID_FM_CONVERTTO_NAVIGATIONBAR :
549 GetImpl()->executeControlConversionSlot_Lock(FmXFormShell::SlotToIdent(nSlot));
554 case SID_FM_LEAVE_CREATE:
558 case SID_FM_SHOW_PROPERTY_BROWSER:
564 GetImpl()->ShowSelectionProperties_Lock(bShow);
569 case SID_FM_PROPERTIES:
573 bool bShow = pShowItem ==
nullptr || pShowItem->
GetValue();
576 aOnlyTheForm.
insert(Reference<XInterface>(
GetImpl()->getCurrentForm_Lock(), UNO_QUERY));
577 GetImpl()->setCurrentSelection_Lock(std::move(aOnlyTheForm));
579 GetImpl()->ShowSelectionProperties_Lock(bShow);
584 case SID_FM_CTL_PROPERTIES:
587 bool bShow = pShowItem ==
nullptr || pShowItem->
GetValue();
589 OSL_ENSURE(
GetImpl()->onlyControlsAreMarked_Lock(),
"FmFormShell::Execute: ControlProperties should be disabled!" );
591 GetImpl()->selectLastMarkedControls_Lock();
592 GetImpl()->ShowSelectionProperties_Lock(bShow);
596 case SID_FM_SHOW_PROPERTIES:
597 case SID_FM_ADD_FIELD:
598 case SID_FM_FILTER_NAVIGATOR:
599 case SID_FM_SHOW_DATANAVIGATOR :
604 case SID_FM_SHOW_FMEXPLORER:
614 case SID_FM_TAB_DIALOG:
616 GetImpl()->ExecuteTabOrderDialog_Lock(
617 Reference<XTabControllerModel>(
GetImpl()->getCurrentForm_Lock(), UNO_QUERY));
622 case SID_FM_DESIGN_MODE:
634 case SID_FM_AUTOCONTROLFOCUS:
637 DBG_ASSERT(pModel,
"FmFormShell::Execute : invalid call !");
643 case SID_FM_OPEN_READONLY:
646 DBG_ASSERT(pModel,
"FmFormShell::Execute : invalid call !");
652 case SID_FM_USE_WIZARDS:
654 GetImpl()->SetWizardUsing_Lock(!
GetImpl()->GetWizardUsing_Lock());
662 GetImpl()->ExecuteSearch_Lock();
667 case SID_FM_RECORD_FIRST:
668 case SID_FM_RECORD_PREV:
669 case SID_FM_RECORD_NEXT:
670 case SID_FM_RECORD_LAST:
671 case SID_FM_RECORD_NEW:
673 case SID_FM_REFRESH_FORM_CONTROL:
674 case SID_FM_RECORD_DELETE:
675 case SID_FM_RECORD_UNDO:
676 case SID_FM_RECORD_SAVE:
677 case SID_FM_REMOVE_FILTER_SORT:
678 case SID_FM_SORTDOWN:
680 case SID_FM_AUTOFILTER:
681 case SID_FM_ORDERCRIT:
682 case SID_FM_FORM_FILTERED:
684 GetImpl()->ExecuteFormSlot_Lock(nSlot);
689 case SID_FM_RECORD_ABSOLUTE:
692 sal_Int32 nRecord = -1;
698 if ( ( pArgs->
GetItemState( FN_PARAM_1,
true, &pItem ) ) == SfxItemState::SET )
702 nRecord = std::max( pTypedItem->
GetValue(), sal_Int32(0) );
709 dlg->SetValue( rController->
getCursor()->getRow() );
710 if ( dlg->Execute() ==
RET_OK )
711 nRecord = dlg->GetValue();
717 rController->
execute( nSlot,
"Position",
Any( nRecord ) );
721 case SID_FM_FILTER_EXECUTE:
722 case SID_FM_FILTER_EXIT:
724 bool bCancelled = ( SID_FM_FILTER_EXIT == nSlot );
725 bool bReopenNavigator =
false;
735 bReopenNavigator =
true;
738 Reference<runtime::XFormController>
const xController(
GetImpl()->getActiveController_Lock());
740 if (
GetViewShell()->GetViewFrame().HasChildWindow( SID_FM_FILTER_NAVIGATOR )
744 && !
GetImpl()->getActiveControllerFeatures_Lock()->commitCurrentControl()
754 GetImpl()->stopFiltering_Lock(!bCancelled);
757 if ( bReopenNavigator )
764 case SID_FM_FILTER_START:
766 GetImpl()->startFiltering_Lock();
770 SfxBoolItem aIdentifierItem( SID_FM_FILTER_NAVIGATOR,
true );
772 SID_FM_FILTER_NAVIGATOR, SfxCallMode::ASYNCHRON,
773 { &aIdentifierItem });
787 case SID_FM_FORM_DESIGN_TOOLS:
789 FormToolboxes aToolboxAccess(
GetImpl()->getHostFrame_Lock());
794 case SID_FM_FILTER_EXECUTE:
795 case SID_FM_FILTER_EXIT:
796 if (!
GetImpl()->isInFilterMode_Lock())
800 case SID_FM_USE_WIZARDS:
808 case SID_FM_AUTOCONTROLFOCUS:
814 case SID_FM_OPEN_READONLY:
821 case SID_FM_NAVIGATIONBAR:
830 case SID_FM_SCROLLBAR:
831 case SID_FM_IMAGECONTROL:
832 case SID_FM_FILECONTROL:
833 case SID_FM_CURRENCYFIELD:
834 case SID_FM_PATTERNFIELD:
835 case SID_FM_IMAGEBUTTON:
836 case SID_FM_RADIOBUTTON:
837 case SID_FM_COMBOBOX:
838 case SID_FM_GROUPBOX:
839 case SID_FM_CHECKBOX:
840 case SID_FM_PUSHBUTTON:
841 case SID_FM_FIXEDTEXT:
844 case SID_FM_DATEFIELD:
845 case SID_FM_TIMEFIELD:
846 case SID_FM_NUMERICFIELD:
847 case SID_FM_FORMATTEDFIELD:
848 case SID_FM_SPINBUTTON:
853 bool bLayerLocked =
false;
867 case SID_FM_FILTER_NAVIGATOR_CONTROL:
869 if (
GetImpl()->isInFilterMode_Lock())
874 case SID_FM_FIELDS_CONTROL:
875 case SID_FM_PROPERTY_CONTROL:
883 case SID_FM_FMEXPLORER_CONTROL:
884 case SID_FM_DATANAVIGATOR_CONTROL :
892 case SID_FM_ADD_FIELD:
893 case SID_FM_SHOW_FMEXPLORER:
894 case SID_FM_SHOW_PROPERTIES:
895 case SID_FM_FILTER_NAVIGATOR:
896 case SID_FM_SHOW_DATANAVIGATOR:
898 if (
GetViewShell()->GetViewFrame().KnowsChildWindow(nWhich) )
904 case SID_FM_SHOW_PROPERTY_BROWSER:
910 case SID_FM_CTL_PROPERTIES:
914 if (
GetImpl()->IsSelectionUpdatePending_Lock())
915 GetImpl()->ForceUpdateSelection_Lock();
921 bool const bChecked =
GetImpl()->IsPropBrwOpen_Lock() && !
GetImpl()->isSolelySelected_Lock(
GetImpl()->getCurrentForm_Lock());
929 case SID_FM_PROPERTIES:
933 if (
GetImpl()->IsSelectionUpdatePending_Lock())
934 GetImpl()->ForceUpdateSelection_Lock();
940 bool const bChecked =
GetImpl()->IsPropBrwOpen_Lock() &&
GetImpl()->isSolelySelected_Lock(
GetImpl()->getCurrentForm_Lock());
944 case SID_FM_TAB_DIALOG:
947 if (
GetImpl()->IsSelectionUpdatePending_Lock())
948 GetImpl()->ForceUpdateSelection_Lock();
953 case SID_FM_DESIGN_MODE:
960 case SID_FM_RECORD_FIRST:
961 case SID_FM_RECORD_NEXT:
962 case SID_FM_RECORD_PREV:
963 case SID_FM_RECORD_LAST:
964 case SID_FM_RECORD_NEW:
965 case SID_FM_RECORD_DELETE:
966 case SID_FM_RECORD_ABSOLUTE:
967 case SID_FM_RECORD_TOTAL:
968 case SID_FM_RECORD_SAVE:
969 case SID_FM_RECORD_UNDO:
970 case SID_FM_FORM_FILTERED:
971 case SID_FM_REMOVE_FILTER_SORT:
973 case SID_FM_SORTDOWN:
974 case SID_FM_ORDERCRIT:
975 case SID_FM_FILTER_START:
976 case SID_FM_AUTOFILTER:
978 case SID_FM_REFRESH_FORM_CONTROL:
979 case SID_FM_VIEW_AS_GRID:
983 case SID_FM_CHANGECONTROLTYPE:
989 if (!
GetImpl()->canConvertCurrentSelectionToControl_Lock(
u"ConvertToFixed"))
995 case SID_FM_CONVERTTO_FILECONTROL :
996 case SID_FM_CONVERTTO_CURRENCY :
997 case SID_FM_CONVERTTO_PATTERN :
998 case SID_FM_CONVERTTO_IMAGECONTROL :
999 case SID_FM_CONVERTTO_SCROLLBAR :
1000 case SID_FM_CONVERTTO_NAVIGATIONBAR :
1001 case SID_FM_CONVERTTO_IMAGEBUTTON :
1002 case SID_FM_CONVERTTO_EDIT :
1003 case SID_FM_CONVERTTO_BUTTON :
1004 case SID_FM_CONVERTTO_FIXEDTEXT :
1005 case SID_FM_CONVERTTO_LISTBOX :
1006 case SID_FM_CONVERTTO_CHECKBOX :
1007 case SID_FM_CONVERTTO_RADIOBUTTON :
1008 case SID_FM_CONVERTTO_GROUPBOX :
1009 case SID_FM_CONVERTTO_COMBOBOX :
1010 case SID_FM_CONVERTTO_DATE :
1011 case SID_FM_CONVERTTO_TIME :
1012 case SID_FM_CONVERTTO_NUMERIC :
1013 case SID_FM_CONVERTTO_FORMATTED :
1014 case SID_FM_CONVERTTO_SPINBUTTON :
1033 if ( !
GetImpl()->getNavController_Lock().is()
1037 || !
GetImpl()->getActiveForm_Lock().is()
1038 ||
GetImpl()->isInFilterMode_Lock()
1043 bool bEnable =
false;
1048 case SID_FM_VIEW_AS_GRID:
1049 if (
GetImpl()->getHostFrame_Lock().is() &&
GetImpl()->getNavController_Lock().is())
1052 bool bDisplayingCurrent =
1053 GetImpl()->getInternalForm_Lock(
1054 Reference<XForm>(
GetImpl()->getNavController_Lock()->getModel(), UNO_QUERY)
1055 ) ==
GetImpl()->getExternallyDisplayedForm_Lock();
1062 Reference<css::beans::XPropertySet>
const xNavSet(
GetImpl()->getActiveForm_Lock(), UNO_QUERY);
1066 case SID_FM_RECORD_ABSOLUTE:
1067 case SID_FM_RECORD_TOTAL:
1069 FeatureState aState;
1070 GetImpl()->getNavControllerFeatures_Lock()->getState( nWhich, aState );
1071 if ( SID_FM_RECORD_ABSOLUTE == nWhich )
1073 sal_Int32 nPosition = 0;
1074 aState.State >>= nPosition;
1077 else if ( SID_FM_RECORD_TOTAL == nWhich )
1079 OUString sTotalCount;
1080 aState.State >>= sTotalCount;
1083 bEnable = aState.Enabled;
1089 case SID_FM_RECORD_FIRST:
1090 case SID_FM_RECORD_PREV:
1091 case SID_FM_RECORD_NEXT:
1092 case SID_FM_RECORD_LAST:
1093 case SID_FM_RECORD_NEW:
1094 case SID_FM_RECORD_SAVE:
1095 case SID_FM_RECORD_UNDO:
1096 case SID_FM_RECORD_DELETE:
1097 case SID_FM_REFRESH:
1098 case SID_FM_REFRESH_FORM_CONTROL:
1099 case SID_FM_REMOVE_FILTER_SORT:
1101 case SID_FM_SORTDOWN:
1102 case SID_FM_AUTOFILTER:
1103 case SID_FM_ORDERCRIT:
1104 bEnable =
GetImpl()->IsFormSlotEnabled( nWhich,
nullptr );
1107 case SID_FM_FORM_FILTERED:
1109 FeatureState aState;
1110 bEnable =
GetImpl()->IsFormSlotEnabled( nWhich, &aState );
1116 case SID_FM_FILTER_START:
1117 bEnable =
GetImpl()->getActiveControllerFeatures_Lock()->canDoFormFilter();
1173 bool bForms =
GetImpl()->hasForms_Lock();
1185 return GetImpl()->GetY2KState_Lock(nReturn);
1215 m_pImpl->ExecuteTextAttribute_Lock(_rReq);
1221 m_pImpl->GetTextAttributeState_Lock(_rSet);
1227 return m_pImpl->IsActiveControl_Lock(
false);
1233 m_pImpl->ForgetActiveControl_Lock();
1239 m_pImpl->SetControlActivationHandler_Lock(_rHdl);
1245 SdrUnoObj* lcl_findUnoObject(
const SdrObjList& _rObjList,
const Reference< XControlModel >& _rxModel )
1248 while ( aIter.IsMore() )
1256 if ( !xControlModel.is() )
1259 if ( _rxModel == xControlModel )
1274 const bool bHasControlFocus =
GetImpl()->HasControlFocus_Lock();
1276 if ( bHasControlFocus )
1279 OSL_ENSURE( pWindow,
"FmFormShell::ToggleControlFocus: I need a Window, really!" );
1285 Reference< XControl > xControl;
1287 Reference< XWindow > xControlWindow( xControl, UNO_QUERY );
1288 if ( xControlWindow.is() )
1289 xControlWindow->setFocus();
1306 ,m_rDevice( i_rDevice )
1317 Reference< XControl > xControl = pUnoObj->
GetUnoControl( m_rView, m_rDevice );
1330 ::std::unique_ptr< svx::ISdrObjectFilter > pFilter;
1333 pFilter.reset(
new FocusableControlsFilter( i_rView, i_rDevice ) );
1341 if ( !_rxModel.is() )
1347 OSL_ENSURE( pPage,
"FmFormShell::GetFormControl: no page displayed in the given view!" );
1351 SdrUnoObj* pUnoObject = lcl_findUnoObject( *pPage, _rxModel );
1354 _out_rxControl = pUnoObject->
GetUnoControl( _rView, _rDevice );
1358#if OSL_DEBUG_LEVEL > 0
1365 for ( sal_uInt16 page = 0; page < pageCount; ++page )
1367 pPage = pModel->
GetPage( page );
1368 OSL_ENSURE( pPage,
"FmFormShell::GetFormControl: NULL page encountered!" );
1372 pUnoObject = lcl_findUnoObject( *pPage, _rxModel );
1373 OSL_ENSURE( !pUnoObject,
"FmFormShell::GetFormControl: the given control model belongs to a wrong page (displayed elsewhere)!" );
SfxApplication * SfxGetpApp()
static std::unique_ptr< weld::Builder > CreateBuilder(weld::Widget *pParent, const OUString &rUIFile, bool bMobile=false, sal_uInt64 nLOKWindowId=0)
sal_Int32 GetValue() const
FmDesignModeChangedHint(bool bDesMode)
virtual ~FmDesignModeChangedHint() override
OutDevType GetOutDevType() const
virtual vcl::Window * GetOwnerWindow() const
bool IsDesignMode() const
const SdrPage * GetPage(sal_uInt16 nPgNum) const
sal_uInt16 GetPageCount() const
SdrPage * GetPage() const
bool IsLayerLocked(const OUString &rName) const
SdrPageWindow * FindPageWindow(const SdrPaintWindow &rPaintWindow) const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
SdrPageView * GetSdrPageView() const
SdrModel & GetModel() const
const OUString & GetActiveLayer() const
const css::uno::Reference< css::awt::XControlModel > & GetUnoControlModel() const
css::uno::Reference< css::awt::XControl > GetUnoControl(const SdrView &_rView, const OutputDevice &_rOut) const
void Invalidate(sal_uInt16 nId)
const SfxPoolItem * Execute(sal_uInt16 nSlot, SfxCallMode nCall=SfxCallMode::SLOT, const SfxPoolItem **pArgs=nullptr, sal_uInt16 nModi=0, const SfxPoolItem **pInternalArgs=nullptr)
const SfxPoolItem * ExecuteList(sal_uInt16 nSlot, SfxCallMode nCall, std::initializer_list< SfxPoolItem const * > args, std::initializer_list< SfxPoolItem const * > internalargs=std::initializer_list< SfxPoolItem const * >())
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
const SfxPoolItem * Put(const SfxPoolItem &rItem, sal_uInt16 nWhich)
void DisableItem(sal_uInt16 nWhich)
sal_uInt16 GetSlot() const
const SfxItemSet * GetArgs() const
const T * GetArg(sal_uInt16 nSlotId) const
void AppendItem(const SfxPoolItem &)
sal_uInt16 GetModifier() const
weld::Window * GetFrameWeld() const
void Done(bool bRemove=false)
SfxItemPool & GetPool() const
virtual void Activate(bool bMDI)
virtual void Deactivate(bool bMDI)
SfxViewShell * GetViewShell() const
void SetPool(SfxItemPool *pNewPool)
friend friend class SfxObjectItem
void SetName(const OUString &rName)
void ToggleChildWindow(sal_uInt16)
SfxBindings & GetBindings()
bool HasChildWindow(sal_uInt16)
SfxDispatcher * GetDispatcher()
void ChildWindowExecute(SfxRequest &)
SfxViewFrame & GetViewFrame() const
vcl::Window * GetWindow() const
virtual VclPtr< AbstractFmInputRecordNoDialog > CreateFmInputRecordNoDialog(weld::Window *pParent)=0
static SvxAbstractDialogFactory * Create()
std::pair< const_iterator, bool > insert(Value &&x)
easier access to a FormControllerHelper instance
specifies a boolean predicate on the set of all SdrObjects - vulgo a filter.
virtual bool includeObject(const SdrObject &i_rObject) const =0
weld::Window * GetFrameWeld() const
#define DBG_ASSERT(sCon, aError)
#define TOOLS_WARN_EXCEPTION(area, stream)
#define DBG_UNHANDLED_EXCEPTION(...)
EmbeddedObjectRef * pObject
constexpr OUStringLiteral FM_PROP_ROWCOUNT
sal_uInt16 const ControllerSlotMap[]
constexpr sal_uInt16 KEY_MOD1
#define SFX_OBJECTBAR_NAVIGATION
#define SFX_OBJECTBAR_OBJECT
#define SFX_IMPL_INTERFACE(Class, SuperClass)
Reference< XController > xController