24 #include <com/sun/star/sdb/SQLContext.hpp>
25 #include <com/sun/star/sdbc/XConnection.hpp>
26 #include <com/sun/star/form/XLoadable.hpp>
44 #include <com/sun/star/lang/XServiceInfo.hpp>
48 #include <svx/svxids.hrc>
60 using namespace ::
svx;
78 DBG_ASSERT( dynamic_cast<const FmFormModel*>( pModel) !=
nullptr,
"Wrong model" );
79 if( dynamic_cast<const FmFormModel*>( pModel) ==
nullptr )
return;
91 DBG_ASSERT( !bInitDesignMode,
"FmFormView::Init: doesn't the model default to FALSE anymore?" );
94 bInitDesignMode =
true;
98 if ( pObjShell && pObjShell->
GetMedium() )
104 bInitDesignMode = aComponentData.
getOrDefault(
"ApplyFormDesignMode", bInitDesignMode );
119 pImpl->notifyViewDying();
139 if (
pImpl->m_pMarkedGrid &&
pImpl->m_pMarkedGrid != pObj )
141 pImpl->m_pMarkedGrid =
nullptr;
142 if (
pImpl->m_xWindow.is() )
145 pImpl->m_xWindow =
nullptr;
161 for ( sal_uInt32 window = 0; window < pPageView->
PageWindowCount(); ++window )
184 const SdrPageWindow* pPageWindow = findPageWindow(
this, pNewWin );
186 pImpl->addWindow( *pPageWindow );
192 const SdrPageWindow* pPageWindow = findPageWindow(
this, pNewWin );
275 if (bForceControlFocus)
310 pFormShellImpl->UpdateForms_Lock(
true);
354 pImpl->addWindow(rPageWindow);
374 return pImpl->implCreateFieldControl( _rColumnDescriptor );
380 return pImpl->implCreateXFormsControl(_rDesc);
387 OUString sDataSource = rFieldDesc.getToken(0,
u'\x000B', nIdx);
388 OUString sObjectName = rFieldDesc.getToken(0,
u'\x000B', nIdx);
389 sal_uInt16 nObjectType =
static_cast<sal_uInt16
>(rFieldDesc.getToken(0,
u'\x000B', nIdx).toInt32());
390 OUString sFieldName = rFieldDesc.getToken(0,
u'\x000B', nIdx);
392 if (sFieldName.isEmpty() || sObjectName.isEmpty() || sDataSource.isEmpty())
395 ODataAccessDescriptor aColumnDescriptor;
396 aColumnDescriptor.setDataSource(sDataSource);
397 aColumnDescriptor[ DataAccessDescriptorProperty::Command ] <<= sObjectName;
398 aColumnDescriptor[ DataAccessDescriptorProperty::CommandType ] <<= nObjectType;
399 aColumnDescriptor[ DataAccessDescriptorProperty::ColumnName ] <<= sFieldName;
401 return pImpl->implCreateFieldControl( aColumnDescriptor );
420 pImpl->addWindow(rPageWindow);
431 pImpl->removeWindow( xCC );
439 pImpl->suspendTabOrderUpdate();
447 pImpl->resumeTabOrderUpdate();
469 Reference< awt::XWindow > xWindow( pObj->GetUnoControl( *
this, *pWin ), UNO_QUERY );
472 pImpl->m_pMarkedGrid = pObj;
473 pImpl->m_xWindow = xWindow;
503 Reference< css::awt::XControl> xControl(
pImpl->m_xWindow,UNO_QUERY);
504 bool bRet = !xControl.is() || !_xSource.is() || _xSource != xControl->getModel();
529 FmFormObj* pFormObject =
nullptr;
539 Reference< XServiceInfo > xServInfo( pFormObject->GetUnoControlModel(), UNO_QUERY );
541 pFormObject =
nullptr;
552 std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpLabel,
553 std::unique_ptr<SdrUnoObj, SdrObjectFreeOp>& _rpControl )
556 *_pOutDev, _nXOffsetMM, _nYOffsetMM,
557 _rxField, _rxNumberFormats,
558 _nControlObjectID,
u"", _nInventor, _nLabelObjectID,
566 return pImpl->getFormController( _rxForm, _rDevice );
SfxViewFrame * GetViewFrame() const
size_t GetMarkCount() const
virtual void DeleteWindowFromPaintView(OutputDevice *pOldWin) override
void SetDesignMode(bool bOn=true)
virtual bool MouseButtonDown(const MouseEvent &rMEvt, OutputDevice *pWin) override
VALUE_TYPE getOrDefault(const char *_pAsciiValueName, const VALUE_TYPE &_rDefault) const
bool IsDesignMode() const
void HideSdrPage() override
css::uno::Reference< css::awt::XControlContainer > const & GetControlContainer(bool _bCreateIfNecessary=true) const
sal_uInt16 GetCode() const
SdrMark * GetMark(size_t nNum) const
virtual SdrPaintWindow * BeginCompleteRedraw(OutputDevice *pOut)
SdrHitKind PickAnything(const MouseEvent &rMEvt, SdrMouseEventKind nMouseDownOrMoveOrUp, SdrViewEvent &rVEvt) const
void Invalidate(sal_uInt16 nId)
virtual void MarkListHasChanged() override
SdrPageWindow * GetPageWindow(sal_uInt32 nIndex) const
SdrPageView * ShowSdrPage(SdrPage *pPage) override
SdrObject * GetMarkedSdrObj() const
Everything a View needs to know about a selected object.
SfxItemState GetItemState(sal_uInt16 nWhich, bool bSrchInParent=true, const SfxPoolItem **ppItem=nullptr) const
#define DBG_ASSERT(sCon, aError)
SfxBindings & GetBindings()
const SdrMarkList & GetMarkedObjectList() const
void ActionChanged() const
SfxItemSet * GetItemSet() const
SfxViewShell * GetViewShell() const
constexpr sal_uInt16 KEY_RETURN
const vcl::KeyCode & GetKeyCode() const
Derived class of SdrView to edit 3D objects.
SdrPage * GetPage() const
#define FM_SUN_COMPONENT_GRIDCONTROL
SdrPaintWindow & GetPaintWindow() const
bool KeyInput(const KeyEvent &rKEvt, vcl::Window *pWin) override
virtual void AddWindowToPaintView(OutputDevice *pNewWin, vcl::Window *pWindow) override
std::unique_ptr< SdrObject, SdrObjectFreeOp > SdrObjectUniquePtr
SdrPageView * GetSdrPageView() const
A SdrPage contains exactly one SdrObjList and a description of the physical page dimensions (size / m...
SdrModel * GetModel() const
OutputDevice & GetOutputDevice() const
virtual void EndCompleteRedraw(SdrPaintWindow &rPaintWindow, bool bPaintFormLayer)
sal_uInt32 PageWindowCount() const
SfxMedium * GetMedium() const