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);
275 assert((nFeature & ~SfxShellFeature::FormMask) == SfxShellFeature::NONE);
276 bool bResult =
false;
277 if (nFeature & SfxShellFeature::FormShowDatabaseBar)
282 else if (nFeature & SfxShellFeature::FormShowFilterBar)
287 else if (nFeature & SfxShellFeature::FormShowFilterNavigator)
291 else if (nFeature & SfxShellFeature::FormShowField)
295 else if (nFeature & SfxShellFeature::FormShowProperties)
299 else if (nFeature & SfxShellFeature::FormShowExplorer)
303 else if (nFeature & SfxShellFeature::FormShowTextControlBar)
305 bResult = !
GetImpl()->IsReadonlyDoc_Lock() &&
m_pImpl->IsActiveControl_Lock(
true);
307 else if (nFeature & SfxShellFeature::FormShowDataNavigator)
309 bResult =
GetImpl()->isEnhancedForm_Lock();
311 else if ( (nFeature & SfxShellFeature::FormTBControls)
312 || (nFeature & SfxShellFeature::FormTBDesign)
324 sal_uInt16 nSlot = rReq.
GetSlot();
330 case SID_FM_PUSHBUTTON:
331 case SID_FM_RADIOBUTTON:
332 case SID_FM_CHECKBOX:
333 case SID_FM_FIXEDTEXT:
334 case SID_FM_GROUPBOX:
336 case SID_FM_COMBOBOX:
337 case SID_FM_NAVIGATIONBAR:
340 case SID_FM_IMAGEBUTTON:
341 case SID_FM_IMAGECONTROL:
342 case SID_FM_FILECONTROL:
343 case SID_FM_DATEFIELD:
344 case SID_FM_TIMEFIELD:
345 case SID_FM_NUMERICFIELD:
346 case SID_FM_CURRENCYFIELD:
347 case SID_FM_PATTERNFIELD:
348 case SID_FM_FORMATTEDFIELD:
349 case SID_FM_SCROLLBAR:
350 case SID_FM_SPINBUTTON:
360 case SID_FM_CHECKBOX:
363 case SID_FM_PUSHBUTTON:
366 case SID_FM_FIXEDTEXT:
375 case SID_FM_RADIOBUTTON:
378 case SID_FM_GROUPBOX:
381 case SID_FM_COMBOBOX:
384 case SID_FM_NAVIGATIONBAR:
390 case SID_FM_IMAGEBUTTON:
393 case SID_FM_IMAGECONTROL:
396 case SID_FM_FILECONTROL:
399 case SID_FM_DATEFIELD:
402 case SID_FM_TIMEFIELD:
405 case SID_FM_NUMERICFIELD:
408 case SID_FM_CURRENCYFIELD:
411 case SID_FM_PATTERNFIELD:
414 case SID_FM_FORMATTEDFIELD:
417 case SID_FM_SCROLLBAR:
420 case SID_FM_SPINBUTTON:
427 case SID_FM_CHECKBOX:
428 case SID_FM_PUSHBUTTON:
429 case SID_FM_FIXEDTEXT:
432 case SID_FM_RADIOBUTTON:
433 case SID_FM_COMBOBOX:
434 case SID_FM_NAVIGATIONBAR:
435 case SID_FM_GROUPBOX:
437 case SID_FM_IMAGEBUTTON:
438 case SID_FM_IMAGECONTROL:
439 case SID_FM_FILECONTROL:
440 case SID_FM_DATEFIELD:
441 case SID_FM_TIMEFIELD:
442 case SID_FM_NUMERICFIELD:
443 case SID_FM_CURRENCYFIELD:
444 case SID_FM_PATTERNFIELD:
445 case SID_FM_FORMATTEDFIELD:
446 case SID_FM_SCROLLBAR:
447 case SID_FM_SPINBUTTON:
450 if ( pGrabFocusItem && pGrabFocusItem->
GetValue() )
459 SfxUInt16Item aIdentifierItem( SID_FM_CONTROL_IDENTIFIER,
static_cast<sal_uInt16
>(nIdentifier) );
463 &aIdentifierItem, &aInventorItem,
nullptr
479 SfxBoolItem aGrabFocusIndicatorItem( SID_FM_TOGGLECONTROLFOCUS,
true );
481 nSlot, SfxCallMode::ASYNCHRON,
482 { &aGrabFocusIndicatorItem });
492 case SID_FM_FORM_DESIGN_TOOLS:
494 FormToolboxes aToolboxAccess(
GetImpl()->getHostFrame_Lock());
495 aToolboxAccess.toggleToolbox( nSlot );
500 case SID_FM_TOGGLECONTROLFOCUS:
509 const bool bHasControlFocus =
GetImpl()->HasControlFocus_Lock();
510 if ( bHasControlFocus )
527 case SID_FM_VIEW_AS_GRID:
528 GetImpl()->CreateExternalView_Lock();
530 case SID_FM_CONVERTTO_EDIT :
531 case SID_FM_CONVERTTO_BUTTON :
532 case SID_FM_CONVERTTO_FIXEDTEXT :
533 case SID_FM_CONVERTTO_LISTBOX :
534 case SID_FM_CONVERTTO_CHECKBOX :
535 case SID_FM_CONVERTTO_RADIOBUTTON :
536 case SID_FM_CONVERTTO_GROUPBOX :
537 case SID_FM_CONVERTTO_COMBOBOX :
538 case SID_FM_CONVERTTO_IMAGEBUTTON :
539 case SID_FM_CONVERTTO_FILECONTROL :
540 case SID_FM_CONVERTTO_DATE :
541 case SID_FM_CONVERTTO_TIME :
542 case SID_FM_CONVERTTO_NUMERIC :
543 case SID_FM_CONVERTTO_CURRENCY :
544 case SID_FM_CONVERTTO_PATTERN :
545 case SID_FM_CONVERTTO_IMAGECONTROL :
546 case SID_FM_CONVERTTO_FORMATTED :
547 case SID_FM_CONVERTTO_SCROLLBAR :
548 case SID_FM_CONVERTTO_SPINBUTTON :
549 case SID_FM_CONVERTTO_NAVIGATIONBAR :
550 GetImpl()->executeControlConversionSlot_Lock(FmXFormShell::SlotToIdent(nSlot));
555 case SID_FM_LEAVE_CREATE:
559 case SID_FM_SHOW_PROPERTY_BROWSER:
565 GetImpl()->ShowSelectionProperties_Lock(bShow);
570 case SID_FM_PROPERTIES:
574 bool bShow = pShowItem ==
nullptr || pShowItem->
GetValue();
577 aOnlyTheForm.
insert(Reference<XInterface>(
GetImpl()->getCurrentForm_Lock(), UNO_QUERY));
578 GetImpl()->setCurrentSelection_Lock(std::move(aOnlyTheForm));
580 GetImpl()->ShowSelectionProperties_Lock(bShow);
585 case SID_FM_CTL_PROPERTIES:
588 bool bShow = pShowItem ==
nullptr || pShowItem->
GetValue();
590 OSL_ENSURE(
GetImpl()->onlyControlsAreMarked_Lock(),
"FmFormShell::Execute: ControlProperties should be disabled!" );
592 GetImpl()->selectLastMarkedControls_Lock();
593 GetImpl()->ShowSelectionProperties_Lock(bShow);
597 case SID_FM_SHOW_PROPERTIES:
598 case SID_FM_ADD_FIELD:
599 case SID_FM_FILTER_NAVIGATOR:
600 case SID_FM_SHOW_DATANAVIGATOR :
605 case SID_FM_SHOW_FMEXPLORER:
615 case SID_FM_TAB_DIALOG:
617 GetImpl()->ExecuteTabOrderDialog_Lock(
618 Reference<XTabControllerModel>(
GetImpl()->getCurrentForm_Lock(), UNO_QUERY));
623 case SID_FM_DESIGN_MODE:
635 case SID_FM_AUTOCONTROLFOCUS:
638 DBG_ASSERT(pModel,
"FmFormShell::Execute : invalid call !");
644 case SID_FM_OPEN_READONLY:
647 DBG_ASSERT(pModel,
"FmFormShell::Execute : invalid call !");
653 case SID_FM_USE_WIZARDS:
655 GetImpl()->SetWizardUsing_Lock(!
GetImpl()->GetWizardUsing_Lock());
663 GetImpl()->ExecuteSearch_Lock();
668 case SID_FM_RECORD_FIRST:
669 case SID_FM_RECORD_PREV:
670 case SID_FM_RECORD_NEXT:
671 case SID_FM_RECORD_LAST:
672 case SID_FM_RECORD_NEW:
674 case SID_FM_REFRESH_FORM_CONTROL:
675 case SID_FM_RECORD_DELETE:
676 case SID_FM_RECORD_UNDO:
677 case SID_FM_RECORD_SAVE:
678 case SID_FM_REMOVE_FILTER_SORT:
679 case SID_FM_SORTDOWN:
681 case SID_FM_AUTOFILTER:
682 case SID_FM_ORDERCRIT:
683 case SID_FM_FORM_FILTERED:
685 GetImpl()->ExecuteFormSlot_Lock(nSlot);
690 case SID_FM_RECORD_ABSOLUTE:
693 sal_Int32 nRecord = -1;
699 if ( ( pArgs->
GetItemState( FN_PARAM_1,
true, &pItem ) ) == SfxItemState::SET )
703 nRecord = std::max( pTypedItem->
GetValue(), sal_Int32(0) );
710 dlg->SetValue( rController->
getCursor()->getRow() );
711 if ( dlg->Execute() ==
RET_OK )
712 nRecord = dlg->GetValue();
718 rController->
execute( nSlot,
"Position",
Any( nRecord ) );
722 case SID_FM_FILTER_EXECUTE:
723 case SID_FM_FILTER_EXIT:
725 bool bCancelled = ( SID_FM_FILTER_EXIT == nSlot );
726 bool bReopenNavigator =
false;
736 bReopenNavigator =
true;
739 Reference<runtime::XFormController>
const xController(
GetImpl()->getActiveController_Lock());
741 if (
GetViewShell()->GetViewFrame()->HasChildWindow( SID_FM_FILTER_NAVIGATOR )
745 && !
GetImpl()->getActiveControllerFeatures_Lock()->commitCurrentControl()
755 GetImpl()->stopFiltering_Lock(!bCancelled);
758 if ( bReopenNavigator )
765 case SID_FM_FILTER_START:
767 GetImpl()->startFiltering_Lock();
771 SfxBoolItem aIdentifierItem( SID_FM_FILTER_NAVIGATOR,
true );
773 SID_FM_FILTER_NAVIGATOR, SfxCallMode::ASYNCHRON,
774 { &aIdentifierItem });
788 case SID_FM_FORM_DESIGN_TOOLS:
790 FormToolboxes aToolboxAccess(
GetImpl()->getHostFrame_Lock());
795 case SID_FM_FILTER_EXECUTE:
796 case SID_FM_FILTER_EXIT:
797 if (!
GetImpl()->isInFilterMode_Lock())
801 case SID_FM_USE_WIZARDS:
809 case SID_FM_AUTOCONTROLFOCUS:
815 case SID_FM_OPEN_READONLY:
822 case SID_FM_NAVIGATIONBAR:
831 case SID_FM_SCROLLBAR:
832 case SID_FM_IMAGECONTROL:
833 case SID_FM_FILECONTROL:
834 case SID_FM_CURRENCYFIELD:
835 case SID_FM_PATTERNFIELD:
836 case SID_FM_IMAGEBUTTON:
837 case SID_FM_RADIOBUTTON:
838 case SID_FM_COMBOBOX:
839 case SID_FM_GROUPBOX:
840 case SID_FM_CHECKBOX:
841 case SID_FM_PUSHBUTTON:
842 case SID_FM_FIXEDTEXT:
845 case SID_FM_DATEFIELD:
846 case SID_FM_TIMEFIELD:
847 case SID_FM_NUMERICFIELD:
848 case SID_FM_FORMATTEDFIELD:
849 case SID_FM_SPINBUTTON:
854 bool bLayerLocked =
false;
868 case SID_FM_FILTER_NAVIGATOR_CONTROL:
870 if (
GetImpl()->isInFilterMode_Lock())
875 case SID_FM_FIELDS_CONTROL:
876 case SID_FM_PROPERTY_CONTROL:
884 case SID_FM_FMEXPLORER_CONTROL:
885 case SID_FM_DATANAVIGATOR_CONTROL :
893 case SID_FM_ADD_FIELD:
894 case SID_FM_SHOW_FMEXPLORER:
895 case SID_FM_SHOW_PROPERTIES:
896 case SID_FM_FILTER_NAVIGATOR:
897 case SID_FM_SHOW_DATANAVIGATOR:
899 if (
GetViewShell()->GetViewFrame()->KnowsChildWindow(nWhich) )
905 case SID_FM_SHOW_PROPERTY_BROWSER:
911 case SID_FM_CTL_PROPERTIES:
915 if (
GetImpl()->IsSelectionUpdatePending_Lock())
916 GetImpl()->ForceUpdateSelection_Lock();
922 bool const bChecked =
GetImpl()->IsPropBrwOpen_Lock() && !
GetImpl()->isSolelySelected_Lock(
GetImpl()->getCurrentForm_Lock());
930 case SID_FM_PROPERTIES:
934 if (
GetImpl()->IsSelectionUpdatePending_Lock())
935 GetImpl()->ForceUpdateSelection_Lock();
941 bool const bChecked =
GetImpl()->IsPropBrwOpen_Lock() &&
GetImpl()->isSolelySelected_Lock(
GetImpl()->getCurrentForm_Lock());
945 case SID_FM_TAB_DIALOG:
948 if (
GetImpl()->IsSelectionUpdatePending_Lock())
949 GetImpl()->ForceUpdateSelection_Lock();
954 case SID_FM_DESIGN_MODE:
961 case SID_FM_RECORD_FIRST:
962 case SID_FM_RECORD_NEXT:
963 case SID_FM_RECORD_PREV:
964 case SID_FM_RECORD_LAST:
965 case SID_FM_RECORD_NEW:
966 case SID_FM_RECORD_DELETE:
967 case SID_FM_RECORD_ABSOLUTE:
968 case SID_FM_RECORD_TOTAL:
969 case SID_FM_RECORD_SAVE:
970 case SID_FM_RECORD_UNDO:
971 case SID_FM_FORM_FILTERED:
972 case SID_FM_REMOVE_FILTER_SORT:
974 case SID_FM_SORTDOWN:
975 case SID_FM_ORDERCRIT:
976 case SID_FM_FILTER_START:
977 case SID_FM_AUTOFILTER:
979 case SID_FM_REFRESH_FORM_CONTROL:
980 case SID_FM_VIEW_AS_GRID:
984 case SID_FM_CHANGECONTROLTYPE:
990 if (!
GetImpl()->canConvertCurrentSelectionToControl_Lock(
"ConvertToFixed"))
996 case SID_FM_CONVERTTO_FILECONTROL :
997 case SID_FM_CONVERTTO_CURRENCY :
998 case SID_FM_CONVERTTO_PATTERN :
999 case SID_FM_CONVERTTO_IMAGECONTROL :
1000 case SID_FM_CONVERTTO_SCROLLBAR :
1001 case SID_FM_CONVERTTO_NAVIGATIONBAR :
1002 case SID_FM_CONVERTTO_IMAGEBUTTON :
1003 case SID_FM_CONVERTTO_EDIT :
1004 case SID_FM_CONVERTTO_BUTTON :
1005 case SID_FM_CONVERTTO_FIXEDTEXT :
1006 case SID_FM_CONVERTTO_LISTBOX :
1007 case SID_FM_CONVERTTO_CHECKBOX :
1008 case SID_FM_CONVERTTO_RADIOBUTTON :
1009 case SID_FM_CONVERTTO_GROUPBOX :
1010 case SID_FM_CONVERTTO_COMBOBOX :
1011 case SID_FM_CONVERTTO_DATE :
1012 case SID_FM_CONVERTTO_TIME :
1013 case SID_FM_CONVERTTO_NUMERIC :
1014 case SID_FM_CONVERTTO_FORMATTED :
1015 case SID_FM_CONVERTTO_SPINBUTTON :
1034 if ( !
GetImpl()->getNavController_Lock().is()
1038 || !
GetImpl()->getActiveForm_Lock().is()
1039 ||
GetImpl()->isInFilterMode_Lock()
1044 bool bEnable =
false;
1049 case SID_FM_VIEW_AS_GRID:
1050 if (
GetImpl()->getHostFrame_Lock().is() &&
GetImpl()->getNavController_Lock().is())
1053 bool bDisplayingCurrent =
1054 GetImpl()->getInternalForm_Lock(
1055 Reference<XForm>(
GetImpl()->getNavController_Lock()->getModel(), UNO_QUERY)
1056 ) ==
GetImpl()->getExternallyDisplayedForm_Lock();
1063 Reference<css::beans::XPropertySet>
const xNavSet(
GetImpl()->getActiveForm_Lock(), UNO_QUERY);
1067 case SID_FM_RECORD_ABSOLUTE:
1068 case SID_FM_RECORD_TOTAL:
1070 FeatureState aState;
1071 GetImpl()->getNavControllerFeatures_Lock()->getState( nWhich, aState );
1072 if ( SID_FM_RECORD_ABSOLUTE == nWhich )
1074 sal_Int32 nPosition = 0;
1075 aState.State >>= nPosition;
1078 else if ( SID_FM_RECORD_TOTAL == nWhich )
1080 OUString sTotalCount;
1081 aState.State >>= sTotalCount;
1084 bEnable = aState.Enabled;
1090 case SID_FM_RECORD_FIRST:
1091 case SID_FM_RECORD_PREV:
1092 case SID_FM_RECORD_NEXT:
1093 case SID_FM_RECORD_LAST:
1094 case SID_FM_RECORD_NEW:
1095 case SID_FM_RECORD_SAVE:
1096 case SID_FM_RECORD_UNDO:
1097 case SID_FM_RECORD_DELETE:
1098 case SID_FM_REFRESH:
1099 case SID_FM_REFRESH_FORM_CONTROL:
1100 case SID_FM_REMOVE_FILTER_SORT:
1102 case SID_FM_SORTDOWN:
1103 case SID_FM_AUTOFILTER:
1104 case SID_FM_ORDERCRIT:
1105 bEnable =
GetImpl()->IsFormSlotEnabled( nWhich,
nullptr );
1108 case SID_FM_FORM_FILTERED:
1110 FeatureState aState;
1111 bEnable =
GetImpl()->IsFormSlotEnabled( nWhich, &aState );
1117 case SID_FM_FILTER_START:
1118 bEnable =
GetImpl()->getActiveControllerFeatures_Lock()->canDoFormFilter();
1174 bool bForms =
GetImpl()->hasForms_Lock();
1186 return GetImpl()->GetY2KState_Lock(nReturn);
1216 m_pImpl->ExecuteTextAttribute_Lock(_rReq);
1222 m_pImpl->GetTextAttributeState_Lock(_rSet);
1228 return m_pImpl->IsActiveControl_Lock(
false);
1234 m_pImpl->ForgetActiveControl_Lock();
1240 m_pImpl->SetControlActivationHandler_Lock(_rHdl);
1246 SdrUnoObj* lcl_findUnoObject(
const SdrObjList& _rObjList,
const Reference< XControlModel >& _rxModel )
1249 while ( aIter.IsMore() )
1257 if ( !xControlModel.is() )
1260 if ( _rxModel == xControlModel )
1275 const bool bHasControlFocus =
GetImpl()->HasControlFocus_Lock();
1277 if ( bHasControlFocus )
1280 OSL_ENSURE( pWindow,
"FmFormShell::ToggleControlFocus: I need a Window, really!" );
1286 Reference< XControl > xControl;
1288 Reference< XWindow > xControlWindow( xControl, UNO_QUERY );
1289 if ( xControlWindow.is() )
1290 xControlWindow->setFocus();
1307 ,m_rDevice( i_rDevice )
1318 Reference< XControl > xControl = pUnoObj->
GetUnoControl( m_rView, m_rDevice );
1331 ::std::unique_ptr< svx::ISdrObjectFilter > pFilter;
1334 pFilter.reset(
new FocusableControlsFilter( i_rView, i_rDevice ) );
1342 if ( !_rxModel.is() )
1348 OSL_ENSURE( pPage,
"FmFormShell::GetFormControl: no page displayed in the given view!" );
1352 SdrUnoObj* pUnoObject = lcl_findUnoObject( *pPage, _rxModel );
1355 _out_rxControl = pUnoObject->
GetUnoControl( _rView, _rDevice );
1359#if OSL_DEBUG_LEVEL > 0
1366 for ( sal_uInt16 page = 0; page < pageCount; ++page )
1368 pPage = pModel->
GetPage( page );
1369 OSL_ENSURE( pPage,
"FmFormShell::GetFormControl: NULL page encountered!" );
1373 pUnoObject = lcl_findUnoObject( *pPage, _rxModel );
1374 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...
SdrModel * GetModel() const
SdrPageView * GetSdrPageView() 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